CN114201978A - 一种对应用程序的界面进行翻译的方法及相关设备 - Google Patents
一种对应用程序的界面进行翻译的方法及相关设备 Download PDFInfo
- Publication number
- CN114201978A CN114201978A CN202010990248.2A CN202010990248A CN114201978A CN 114201978 A CN114201978 A CN 114201978A CN 202010990248 A CN202010990248 A CN 202010990248A CN 114201978 A CN114201978 A CN 114201978A
- Authority
- CN
- China
- Prior art keywords
- text
- control
- interface
- text content
- software module
- 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 title claims abstract description 106
- 238000013519 translation Methods 0.000 claims abstract description 277
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 28
- 238000009877 rendering Methods 0.000 claims description 18
- 238000012015 optical character recognition Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 abstract description 14
- 238000012545 processing Methods 0.000 description 102
- 230000006870 function Effects 0.000 description 101
- 238000007726 management method Methods 0.000 description 59
- 238000004891 communication Methods 0.000 description 34
- 230000006854 communication Effects 0.000 description 34
- 239000010410 layer Substances 0.000 description 34
- 230000008569 process Effects 0.000 description 29
- 238000010295 mobile communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 239000003973 paint Substances 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种对应用程序的界面进行翻译的方法,电子设备中的第一软件模块从第一应用程序获取第一布局文件,根据所述第一布局文件绘制所述第一应用程序的第一界面;所述电子设备显示所述第一界面,所述第一界面中显示所述第一文本内容;所述电子设备检测到第一操作;所述第一软件模块根据所述第一文本内容获取翻译后的第二文本内容;所述第一软件模块根据所述第一布局文件和所述第二文本内容绘制所述第一应用程序的第二界面;响应于所述第一操作,所述电子设备显示所述第二界面,所述第二界面中显示所述第二文本内容。本申请提供的一些实施例可以直接在显示翻译结果的界面中进行交互操作,从而可以提升用户体验。
Description
技术领域
本申请实施例涉及终端设备技术领域,尤其涉及一种对应用程序的界面进行翻译的方法及相关设备。
背景技术
随着科技全球化的发展,电子设备中安装的应用程序为了向使用不同语言的用户提供服务,需要提供不同语言的应用程序的界面。现有技术中,电子设备先对应用程序的原始界面中的原始文本进行截图,对截图通过OCR(Optical Character Recognition,光学字符识别)技术识别原始文本,再对原始文本进行翻译并获得译文文本后,通过覆盖在原始界面上的悬浮层或新窗口显示译文文本,可以理解为通过一个覆盖在原始界面上的额外的译文界面来显示译文文本。采用上述方法对应用程序的界面进行翻译时,当用户需要与应用程序的译文界面中的控件进行交互操作时,例如点击页面上的按钮,用户操作上需要从译文界面回到原始界面上才能进行交互操作,用户需要看译文文本时,用户操作上又要从原始界面切换到对应的译文界面,用户操作步骤繁琐,人机交互效率低下。
发明内容
本申请实施例提供了一种对应用程序的界面进行翻译的方法,按照该方法对应用程序的界面进行翻译后,可以直接在显示翻译结果的界面中进行交互操作,从而简化了用户操作,提升了人机交互效率,提升了用户体验。
本申请实施例第一方面提供了一种对应用程序的界面进行翻译的方法,包括:电子设备中的第一软件模块从第一应用程序获取第一布局文件,所述第一布局文件用于绘制所述第一应用程序的第一界面,所述第一布局文件包括第一文本内容;所述第一软件模块根据所述第一布局文件绘制所述第一界面;所述电子设备显示所述第一界面,其中,所述第一界面中显示所述第一文本内容;所述电子设备检测到第一操作;响应于所述第一操作,所述第一软件模块将所述第一文本内容发送至所述电子设备中的第二软件模块用于翻译,所述第一软件模块从所述第二软件模块获取第二文本内容,所述第一软件模块根据所述第一布局文件和所述第二文本内容绘制所述第一应用程序的第二界面,其中,所述第二文本内容为对所述第一文本内容进行翻译后获得的;响应于所述第一操作,所述电子设备显示所述第二界面,其中,所述第二界面中显示所述第二文本内容;所述电子设备检测到在所述第二界面的第一区域的第二操作,所述第一区域位于所述第二文本内容附近;响应于所述第二操作,所述电子设备显示所述第一应用程序的第三界面,其中,所述第三界面与所述第一文本内容相关联。
根据以上实施例,电子设备从第一应用程序获取的第一布局文件包括的第一文本内容是原始语言版本的原文,然后电子设备可以根据原文获得译文,不需要第一应用程序额外提供不同语言包来给用户提供不同语言版本的应用程序界面,降低了应用程序开发者的开发难度。进一步地,用于显示译文(第二文本内容)的所述第二界面是所述电子设备(具体可以是电子设备的系统中的用于绘制界面的第一软件模块)根据所述第一布局文件和所述第二文本内容绘制的,该第二界面与所述第一界面相比,主要是将第一界面里的第一文本内容更新绘制并显示为第二文本内容(可以理解为,电子设备通过用于绘制第一应用程序的界面的第一软件模块在绘制阶段对获得的待绘制的文本内容进行了更新,电子设备绘制原文界面与绘制译文界面两个不同阶段从第一应用程序获得的信息相同,均只获得了原文界面相关的信息,不需要第一应用程序做改动),第二界面包括的其他的信息(如用于与用户进行交互操作的信息)可以与第一界面中包括的其他的信息基本上相同,该第二界面可以理解为是属于第一应用程序的一个界面,不是覆盖在应用程序原始界面上的一个额外的悬浮层或新窗口,因为第二界面包括了第一界面中包括的与用户进行交互操作的信息,用户可以在第二界面(译文界面)与界面中的元素进行直接的交互操作。具体地,当用户在所述第二界面的第一区域进行了第二操作,所述第一区域位于所述第二文本内容附近;响应于所述第二操作,所述电子设备可以显示所述第一应用程序的第三界面,其中,所述第三界面与所述第一文本内容相关联,可以理解为,用户在第二界面中对与译文关联的界面元素进行了交互操作后显示的第三界面是与用户在第一界面中对对应的原文关联的界面元素进行了交互操作后显示的界面为相同的界面,从而该方法使得用户在译文界面能直接进行与在原文界面相同的交互操作,不需要在原文界面和译文界面之间来回切换来进行交互操作,从而简化了用户操作,提升了人机交互效率,提升了用户体验。
进一步地,该实施例提供的方法可以是电子设备的操作系统中的所述第一软件模块和所述第二软件模块来实现根据一个应用程序的原文界面获得译文界面,并在译文界面能让用户直接进行交互操作,该方法提供了一种系统级的对界面进行翻译的改进方案,可以应用于电子设备中安装的任一个应用程序,实现了跨应用程序的界面翻译功能,不需要各应用程序开发者额外提供不同语言包来给用户提供不同语言版本的应用程序界面,降低了应用程序开发者的开发难度。
在本申请实施例第一方面的一种可能的实现方式中,所述第一界面包括第一文本控件,所述第一布局文件包括第一信息,所述第一信息包括所述第一文本内容,所述第一信息用于绘制所述第一文本控件;所述电子设备中的第一软件模块根据所述第一布局文件绘制所述第一界面包括:所述电子设备中的第一软件模块根据所述第一信息绘制所述第一文本控件;所述电子设备显示所述第一界面,其中,所述第一界面中显示所述第一文本内容,包括:所述电子设备显示所述第一文本控件,其中,所述第一文本控件中显示所述第一文本内容;所述第一软件模块根据所述第一布局文件和所述第二文本内容绘制所述第二界面包括:所述第一软件模块根据所述第一信息和所述第二文本内容绘制第二文本控件;所述电子设备显示所述第二界面,其中,所述第二界面中显示所述第二文本内容,包括:所述电子设备显示所述第二文本控件,其中,所述第二文本控件中显示所述第二文本内容;所述第一区域位于所述第二文本内容附近包括:所述第一区域位于所述第二文本控件附近;所述第三界面与所述第一文本内容相关联包括:所述第三界面与所述第一文本控件相关联。
根据以上实施例,电子设备通过在文本控件的绘制过程进行了改进,在绘制过程中对于需要待翻译的文本进行翻译,利用翻译结果替换原始文本,使得翻译结果显示在第一控件的原始界面上,同时,并不更改应用程序的布局文件,提高了翻译功能的适用性。
在本申请实施例第一方面的一种可能的实现方式中,所述第三界面与所述第一文本控件相关联包括:所述第三界面为所述第一文本控件所链接的界面;或,所述第三界面为所述第一文本控件相关联的图片控件所链接的界面,所述图片控件位于所述第一区域。在该实现方式中,考虑到可用于与用户进行交互操作的链接(如用户在第一界面上的某个控件的可操作区域内进行点击,就可以进入到该控件所链接的界面)可能被设置在所述第一文本控件中,或者,可能被设置在所述第一文本控件相关联的图片控件(如所述第一文本控件用于对所述图片控件的功能进行提示)中,所述第一区域可以是所述第一文本控件对应的可操作区域或所述第一文本控件相关联的图片控件对应的可操作区域,这样可以提高用户操作的多样性和电子设备对用户操作的兼容性。
在本申请实施例第一方面的一种可能的实现方式中,所述第一布局文件为可扩展标记语言XML文件,所述XML文件包括所述第一信息。
在本申请实施例第一方面的一种可能的实现方式中,在本申请实施例第一方面的一种可能的实现方式中,所述第一文本控件和所述第二文本控件为以下中的任一项:文本视图textview控件,列表视图listview控件。textview控件是文本类控件的一种,其名称也可以取其他的名称,只要功能相同即可,例如,可以称之为文本框控件等。
在本申请实施例第一方面的一种可能的实现方式中,所述第一软件模块和所述第二软件模块属于所述电子设备的应用程序框架层。所述第一软件模块和所述第二软件模块可以是所述电子设备的操作系统中的软件模块,具体地,可以属于所述电子设备的操作系统的应用程序框架层。所述电子设备的操作系统可以是例如安卓android操作系统。
在本申请实施例第一方面的一种可能的实现方式中,所述第一软件模块将所述第一文本内容发送至所述电子设备中的第二软件模块用于翻译,所述第一软件模块从所述第二软件模块获取第二文本内容,包括:所述第一软件模块将所述第一文本内容发送至所述第二软件模块;所述第二软件模块对所述第一文本内容进行翻译,得到所述第二文本内容;所述第二软件模块将所述第二文本内容发送至所述第一软件模块。
在本申请实施例第一方面的一种可能的实现方式中,所述第一文本内容为第一语言,所述第二文本内容为第二语言;所述第二软件模块中设置有存储模块;所述第二软件模块对所述第一文本内容进行翻译得到所述第二文本内容包括:根据所述第一应用程序的标识及所述第二语言,确定所述存储模块中存储有第一存储单元,所述第一存储单元与所述第一应用程序的标识及所述第二语言相对应,所述第一存储单元中存储有所述第一文本内容对应的所述第二文本内容;从所述第一存储单元获取所述第一文本内容对应的所述第二文本内容。在该实施例中,当电子设备中存储有之前已经翻译好的所述第二文本内容,则电子设备可以直接获取该第二文本内容而不需要再对所述第一文本内容进行重复的翻译,提高了电子设备获取译文的效率,降低了电子设备的功耗。
在本申请实施例第一方面的一种可能的实现方式中,所述第一文本内容为第一语言,所述第二文本内容为第二语言;所述第二软件模块中设置有存储模块及翻译引擎;所述第二软件模块对所述第一文本内容进行翻译,得到所述第二文本内容包括:根据所述第一应用程序的标识及所述第二语言,判断所述存储模块中是否存储有第一存储单元,所述第一存储单元与所述第一应用程序的标识及所述第二语言相对应;当所述存储模块中没有存储所述第一存储单元,则在所述存储模块中新建所述第一存储单元;通过所述翻译引擎对所述第一文本内容进行翻译,并获得所述第一文本内容对应的所述第二文本内容;将所述第一文本内容及对应的所述第二文本内容保存在所述新建的所述第一存储单元中。
根据以上实施例,电子设备可以将翻译结果按应用程序标识和目标语言(要翻译成的译文对应的语言)存储在翻译缓存中,以供后续翻译阶段直接获取译文不用再次进行翻译,可以避免现有技术中每次翻译都需要调用服务器端进行翻译导致翻译用时较长,而造成翻译页面显示卡顿,减少了翻译处理的时间,加快了译文界面的显示速度,提高了系统运行的效率。
在本申请实施例第一方面的一种可能的实现方式中,所述第一布局文件还包括所述第一文本控件的第一参数以及第二参数,所述第一参数包括所述第一文本内容的格式参数,所述第二参数包括所述第一文本控件对应的外观参数;所述电子设备显示所述第二界面之前,所述方法还包括:所述第一软件模块根据所述第一参数和所述第二参数这两种参数中的至少一种,获取第三参数,所述第三参数包括所述第二文本内容的格式参数;所述第一软件模块根据所述第二参数和所述第三参数绘制所述第二文本控件。
根据以上实施例,通过对于文本内容的格式参数的调整,避免了文本控件中的字体变形或混乱,优化了应用程序的界面显示效果,提升了应用程序的操作体验。
在本申请实施例第一方面的一种可能的实现方式中,所述第一文本内容的格式参数或第二文本内容的格式参数包括以下参数中的一项或多项:字体参数,字号参数,字间距参数,行间距参数,每行字数参数及行数参数。
在本申请实施例第一方面的一种可能的实现方式中,所述第一布局文件还包括第四参数,所述第四参数用于指示所述第一文本控件是否包含安全信息;所述第一软件模块将所述第一文本内容发送至所述第二软件模块之前,所述方法还包括:所述第一软件模块根据所述第四参数确认所述第一文本控件不包含安全信息。
根据以上实施例,通过第四参数识别出包括安全信息的文本控件,对于包括安全信息的控件,并不执行翻译过程,以达到保护用户信息安全的目的。
在本申请实施例第一方面的一种可能的实现方式中,所述第一界面包括第一图片控件,所述第一布局文件还包括第三信息,所述第三信息包括对应于第一图片的路径,所述第一图片包括第三文本内容,所述第三信息用于绘制所述第一图片控件;所述电子设备中的第一软件模块根据所述第一布局文件绘制所述第一界面包括:所述电子设备中的第一软件模块根据所述第三信息获得所述第一图片并绘制所述第一图片控件;所述电子设备显示所述第一界面包括:所述电子设备显示所述第一图片控件,其中,所述第一图片控件中显示有所述第一图片,所述第一图片中显示有所述第三文本内容;响应于所述第一操作,所述方法还包括:所述第一软件模块通过OCR方法从所述第一图片中获取所述第三文本内容,所述第一软件模块将所述第三文本内容发送至所述第二软件模块用于翻译,所述第一软件模块从所述第二软件模块获取第四文本内容,所述第四文本内容为对所述第三文本内容进行翻译后获得的,所述第一软件模块将所述第一图片中的所述第三文本内容替换为所述第四文本内容,获得包括所述第四文本内容的第二图片,所述第一软件模块根据所述第一布局文件和所述第二图片绘制所述第二图片控件;所述电子设备显示所述第二界面包括:所述电子设备显示所述第二图片控件,其中,所述第二图片控件中显示所述第二图片,所述第二图片中显示有所述第四文本内容。
在本申请实施例第一方面的一种可能的实现方式中,所述第一界面包括第一网页控件,所述第一布局文件包括所述第一网页控件的第五信息,所述方法还包括:所述电子设备中的第一软件模块根据所述第五信息从所述第一应用程序获取所述第一网页控件对应的第一URL(Uniform Resource Locator,统一资源定位符),根据所述第一URL获取所述第一URL对应的第一HTML(HyperText Markup Language,超文本标记语言)文件,所述第一HTML文件包括第五文本内容,所述第一HTML文件用于绘制所述第一网页控件;所述第一软件模块根据所述第一布局文件绘制所述第一界面包括:所述第一软件模块根据所述第一HTML文件获得所述第一HTML文件对应的第一文档对象模型DOM(Document Object Model)树,并从所述第一DOM树中获得所述第五文本内容,根据所述第五文本内容绘制所述第一网页控件;所述电子设备显示所述第一界面包括:所述电子设备显示所述第一网页控件,其中,所述第一网页控件中显示所述第五文本内容;响应于所述第一操作,所述方法还包括:所述第一软件模块将所述第五文本内容发送至所述第二软件模块用于翻译,所述第一软件模块从所述第二软件模块获取第六文本内容,所述第六文本内容为对所述第五文本内容进行翻译后获得的,所述第一软件模块将所述第一DOM树中的所述第一文本内容替换为所述第二文本内容,获得包括所述第二文本内容的第二DOM树,所述第一软件模块根据所述第一布局文件和所述第二DOM树绘制所述第二网页控件;所述电子设备显示所述第二界面包括:所述电子设备显示所述第二网页控件,其中,所述第二网页控件中显示所述第六文本内容。
根据以上实施例,通过将应用程序中的图片控件及网页控件中的文字内容进行翻译,实现了电子设备对于应用程序中所有文字内容均进行翻译的技术效果,提高了应用程序整体显示语言的一致性,提升了用户的体验。
在本申请实施例第一方面的一种可能的实现方式中,所述第二软件模块对所述第一文本内容进行翻译,得到所述第二文本内容包括:所述第二软件模块将第一内容发送至服务器,并从服务器获取第二文本内容。
在本申请实施例第一方面的一种可能的实现方式中,所述第一软件模块根据所述第一参数以及所述第一文本,获取所述第三参数包括:根据所述第一文本和所述第一参数获取所述第一文本的宽度;根据所述第一文本的宽度以及所述第二文本,获得所述第三参数。
在本申请实施例第一方面的一种可能的实现方式中,所述第一文本控件对应的外观参数包括所述所述第一文本控件的边框宽度和/或高度;所述第一软件模块根据所述第一参数以及所述第一文本内容,获取所述第三参数包括:所述第一软件模块根据所述第一参数、所述第二参数、所述第一文本内容及所述第二文本内容,获得所述第三参数。
在本申请实施例第一方面的一种可能的实现方式中,所述响应于所述第二操作,所述电子设备显示所述第一应用程序的第三界面包括:所述电子设备显示所述第三界面,所述第三界面显示第七文本内容,其中,所述第七文本内容和所述第二文本内容为同一语言。
本申请实施例第一方面的一种可能的实现方式中,所述电子设备检测到第四操作,所述第四操作用于跳转至电子设备的桌面应用程序;响应于所述第四操作,所述电子设备显示所述电子设备的第四界面,所述第四界面用于显示所述电子设备的桌面应用程序的一个界面,所述第四界面显示第八文本内容,所述第八文本内容和所述第二文本内容为同一语言。
本申请实施例第一方面的一种可能的实现方式中,所述第一文本内容的宽度与所述第二文本内容的宽度相同。
本申请实施例第二方面提供了一种对应用程序的界面进行翻译的方法,电子设备显示第一应用程序的第一界面,所述第一界面包括第一文本控件,所述第一文本控件包括第一文本内容,其中,所述第一文本内容被显示在所述第一界面中,所述第一应用程序为被安装在所述电子设备中的任一应用程序,所述第一文本控件为所述第一界面中的任一文本控件,所述任一文本控件不涉及安全信息;所述电子设备检测到第一操作,所述第一操作用于指示所述电子设备对所述第一应用程序界面中包括的文本内容执行翻译;响应于所述第一操作,所述电子设备显示所述第一应用程序的第二界面,所述第二界面包括第二文本控件,所述第二文本控件包括第二文本内容,其中,所述第二文本内容为所述第一文本内容的翻译结果,所述第二文本内容被显示在所述第二界面中;所述电子设备检测到在所述第二界面的第一区域的第二操作,所述第一区域位于所述第二文本控件附近;响应于所述第二操作,所述电子设备显示所述第一应用程序的第三界面,其中,所述第三界面与所述第一文本控件相关联。
本申请实施例第二方面的一种可能的实现方式中,响应于所述第二操作,所述电子设备显示第一应用程序的第三界面包括:所述电子设备显示所述第三界面,所述第三界面包括第三文本控件,所述第三文本控件包括第三文本内容,其中,所述第三文本内容被显示在所述第三界面中,所述第三文本内容和所述第二文本内容为同一语言。
本申请实施例第二方面的一种可能的实现方式中,所述任一应用程序包括所述电子设备的桌面应用程序。
本申请实施例第二方面的一种可能的实现方式中,所述第一文本控件为以下中的任一项:文本视图textview控件,列表视图listview控件。
本申请实施例第二方面的一种可能的实现方式中,所述第三界面与所述第一文本控件相关联包括:所述第三界面为所述第一文本控件所链接的界面;或,所述第三界面为所述第一文本控件相关联的图片控件所链接的界面,所述图片控件位于所述第一区域。
本申请实施例第二方面的一种可能的实现方式中,所述方法还包括:响应于所述第一操作,所述电子设备对所述第一文本内容进行翻译,并获取第二文本内容包括:响应于所述第一操作,所述电子设备的应用程序框架层对所述第一文本内容进行翻译,并获取所述第二文本内容。
可以理解的是,第二方面提供的实施例可以用于实现前述第一方面及其实现方式提供的方法,具体可以参考前述第一方面及其实现方式提供的方法。
本申请实施例第三方面提供了一种对应用程序的界面进行翻译的方法,包括:
所述电子设备获取第一布局文件,所述第一布局文件用于绘制第一应用程序的第一界面,所述第一布局文件包括第一信息,所述第一信息用于绘制所述第一界面中的第一文本控件,所述第一文本控件包括第一文本内容,所述第一信息中包括所述第一文本内容;
所述电子设备根据所述第一布局文件显示所述第一界面,其中,所述第一文本内容被显示在所述第一界面中;
所述电子设备检测到第一操作,所述第一操作用于指示所述电子设备对至少包括所述第一界面的所述第一应用程序的界面中包括的文本内容进行翻译;
响应于所述第一操作,所述电子设备对所述第一文本内容进行翻译,并获取第二文本内容,所述第二文本内容为所述第一文本内容的翻译结果;
响应于所述第一操作,所述电子设备根据所述第一布局文件及所述第二文本内容显示所述第一应用程序的第二界面,所述第二界面包括第二文本控件,所述第二文本控件包括所述第二文本内容,其中,所述第二文本内容被显示在所述第二界面中;
所述电子设备检测到在所述第二界面的第一区域的第二操作,所述第一区域位于所述第二文本控件附近;
响应于所述第二操作,所述电子设备显示所述第一应用程序的第三界面,其中,所述第三界面与所述第一文本控件相关联。
在第三方面的一些可能的实现方式中,所述电子设备可以通过所述电子设备的系统层来对所述第一文本内容进行翻译,具体可以在所述电子设备的系统层在准备对所述第一应用程序的界面进行绘制时,通过对获取到(如可以是电子设备的系统层的用于绘制界面的软件模块,如上述各方面提到的第一软件模块)的该界面中的文本控件包括的文本内容进行翻译获得译文,然后在绘制时用译文进行绘制。因为在界面绘制阶段,所述第一应用程序会将待绘制界面的信息发给电子设备的系统层的用于绘制界面的软件模块,所以用于绘制界面的软件模块能够从中获得文本控件所包括的原文文本,进而可以根据原文文本去进行翻译获得译文文本(如可以是上述各方面提到的第二软件模块),然后将译文文本用于绘制。
可以理解的是,第三方面提供的实施例可以用于实现前述各方面提供的方法,具体可以参考前述各方面提供的方法。
本申请实施例第四方面提供了一种电子设置,电子设备包括第一软件模块,第二软件模块,显示模块及检测模块;
所述第一软件模块用于:从第一应用程序获取第一布局文件,其中,所述第一布局文件用于绘制所述第一应用程序的第一界面,所述第一布局文件包括第一文本内容;
所述第一软件模块还用于:根据所述第一布局文件绘制所述第一界面;
所述显示模块用于:显示所述第一界面,其中,所述第一界面中显示所述第一文本内容;
所述检测模块用于:检测到第一操作;
所述第一软件模块还用于:响应于所述第一操作,将所述第一文本内容发送至所述电子设备中的第二软件模块用于翻译,从所述第二软件模块获取第二文本内容,根据所述第一布局文件和所述第二文本内容绘制所述第一应用程序的第二界面,其中,所述第二文本内容为对所述第一文本内容进行翻译后获得的;
所述显示模块还用于:响应于所述第一操作,显示所述第二界面,其中,所述第二界面中显示所述第二文本内容;
所述检测模块还用于:检测到在所述第二界面的第一区域的第二操作,所述第一区域位于所述第二文本内容附近;
所述显示模块还用于:响应于所述第二操作,显示所述第一应用程序的第三界面,其中,所述第三界面与所述第一文本内容相关联。
可以理解的是,第四方面提供的各实施例可以用于实现前述各方面提供的方法,具体可以参考前述各方面及其实现方式提供的方法。
本申请实施例第五方面提供了一种电子设备,包括一个或多个触摸屏,一个或多个存储器,一个或多个处理器;其中所述一个或多个储存器存储有一个或多个程序;当所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现上述各方面及其实现方式中任一所述的方法。
本申请实施例第六方面提供了一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如上述各方面及其实现方式中任一所述的方法。
本申请实施例第七方面提供了一种计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如上述各方面及其实现方式中任一项所述的方法。
第八方面,本申请实施例提供了一种装置,该装置包含在电子设备中,该装置具有实现上述方面及上述方面的可能实现方式中电子设备行为的功能,该装置可以为电子设备中的一个元件,如芯片或芯片系统。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,显示模块或单元、检测模块或单元、处理模块或单元等。
第九方面,本申请实施例提供了一种电子设备上的图形用户界面系统,所述电子设备具有显示屏、存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行如上述各方面及其实现方式中任一所述的方法时显示的图形用户界面。
从以上技术方案可以看出,通过本申请提供的一些实施例,使得用户在译文界面能直接进行与在原文界面相同的交互操作,不需要在原文界面和译文界面之间来回切换来进行交互操作,从而简化了用户操作,提升了人机交互效率,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种提供的电子设备的结构示意图;
图2为本申请实施例提供的一种电子设备的软件结构框图;
图3-1-1至图3-5-2为本申请实施例提供的一种对应用程序的界面进行翻译的界面示意图;
图4-1至图4-11为本申请实施例提供的一种对应用程序的界面中的文本控件进行翻译的示意图;
图5-1至图5-7为本申请实施例提供的一种对应用程序的界面中的图片类控件及网页类控件进行翻译的示意图;
图6为本申请实施例提供的一种多线程对应用程序的界面进行翻译的工作流程示意图;
图7-1至图7-4为本申请实施例提供的一种翻译模块的软件结构及工作流程示意图;
图8为本申请实施例提供的一种对应用程序的界面进行翻译的工作流程示意图;
图9-1至图9-2为本申请实施例提供的一种电子设备中软件和硬件的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合在一种可能的实现方式中的附图,对在一种可能的实现方式中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,都属于本发明保护的范围。
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下介绍了电子设备、用于这样的电子设备的用户界面、和用于使用这样的电子设备的实施例。在一些实施例中,电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载iOS、Android、Microsoft或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如具有触敏表面或触控面板的膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是具有触敏表面或触控面板的台式计算机。
下面首先介绍本申请以下实施例中提供的示例性电子设备100。图1示出了电子设备100的结构示意图电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(应用程序lication processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短信息应用图标时,执行查看短信息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短信息应用图标时,执行新建短信息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示信息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本发明实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(应用程序licationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,翻译模块,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
翻译模块包括存储在系统本地的用于执行翻译功能的翻译引擎或APK文件等。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的信息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,信息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
在一些实施例中,如图3-1-1所示,S311,电子设备显示第一应用程序的第一界面,所述第一界面中显示第一文字内容及第一图片,所述第一图片包括第二文字内容及第一图片内容,其中,所述第一文字内容和第二文字内容均为中文。其中,所述第一文字内容可以为第一界面中任意的文字内容(不包括显示在图片上的文字),所述第一图片内容可以为第一界面中任意的图片内容。
在本实施例中,S312,电子设备检测到用户在第一应用程序的第一界面上的预设手势,电子设备显示新建的第二窗口,所述第二窗口中显示“当前页面翻译”“应用程序翻译(本次)”及“应用程序翻译(退出后不景响)”的界面;所述预设手势可以为点击屏幕的某些位置,长按屏幕,或在屏幕上按预设图形移动等。在一些实施例中,所述第二窗口可以浮动显示在原始应用程序窗口上,或者在显示屏的侧边(包括四个侧边)、或者中间显示。
在本实施例中,S313,在用户可以选择“应用程序翻译(本次)”之后,显示语言列表,在语言列表中为应用程序选择执行翻译功能的目标语言。
在本实施例中,如图3-1-2所示,S314,当用户设置完毕后,系统检测到用户开启了翻译功能,电子设备显示第一应用程序的第二界面,所述第二界面中显示第三文字内容及第二图片,所述第二图片包括第四文字内容及第一图片内容,其中,所述第三文字内容为第一文字内容对应的翻译结果,所述第四文字内容为第三文字内容对应的翻译结果,所述第三文字内容及所述第四文字内容均为目标语言。
在本实施例中,S315,用户可以直接点击第二界面中的用户头像,电子设备显示第一应用程序的第三界面,所述第三界面中显示第五文字内容及第三图片,所述第三图片包括第六文字内容及第三图片内容,所述第五文字内容及所述第六文字内容均为目标语言,所述第五文字内容可以为第三界面中任意的文字内容(不包括显示在图片上的文字),所述第三图片内容可以为第三界面中任意的图片内容。由于用户选择“应用程序翻译(本次)”,由于第一应用程序并未退出,电子设备对第一应用程中多个界面中的文字内容进行翻译,当用户将第一应用程序切换到新的第三界面后,电子设备对于第三界面中的内容直接执行翻译,并显示翻译后的文字内容。
在一些实施例中,如图3-2-1所示,本实施例中的步骤S321及S322与上一实施例所述步骤S311-S312相同,在此不再赘述。
在本实施例中,S323,在用户可以选择“当前页面翻译”之后,显示语言列表,在语言列表中为应用程序选择执行翻译功能的目标语言。
在本实施例中,如图3-2-2所示,本实施例中的步骤S324与上一实施例S314相同,在此不再赘述。
在本实施例中,S325,用户可以直接点击第二界面中的用户头像,电子设备显示第一应用程序的第三界面,所述第三界面中显示第五文字内容及第三图片,所述第三图片包括第六文字内容及第三图片内容,所述第五文字内容及所述第六文字内容均为原始语言,所述第五文字内容可以为第三界面中任意的文字内容(不包括显示在图片上的文字),所述第三图片内容可以为第三界面中任意的图片内容。由于用户选择“当前页面翻译”,电子设备对第一界面中的文字内容进行翻译,所述第一界面为用户通过预设手势触发翻译功能的界面,当用户将第一应用程序切换到新的第三界面后,电子设备对于第三界面中的内容不执行翻译。
在一些实施例中,如图3-3-1所示,本实施例中的步骤S331及S332与上一实施例所述步骤S311-S312相同,在此不再赘述。
在本实施例中,S333,在用户可以选择“应用程序翻译(退出后不影响)”之后,显示语言列表,在语言列表中为应用程序选择执行翻译功能的目标语言。
在本实施例中,如图3-3-2所示,本实施例中的步骤S334与上一实施例S314相同,在此不再赘述。
在本实施例中,S335,用户双击系统的返回按钮,退出当前应用程序,电子设备显示第三界面,所述第三界面为电子设备的桌面,所述第三界面中显示第五文字内容及第三图片,所述第三图片包括第六文字内容及第三图片内容,所述第五文字内容及所述第六文字内容均为原始语言。其中,所述第五文字内容可以为第三界面中任意的文字内容(不包括显示在图片上的文字),所述第三图片内容可以为第三界面中任意的图片内容。
在本实施例中,S336,用户选择第一应用程序(头条)的图标,电子设备显示第四界面,所述第四界面为第一应用程序的首页,所述第四界面中显示第七文字内容及第四图片,所述第四图片包括第八文字内容及第四图片内容,所述第七文字内容及所述第八文字内容均为目标语言。由于用户选择“应用程序翻译(退出后不影响)”,因此,退出第一应用程序并不会关闭第一应用程序的翻译功能,电子设备对第一应用程中多个界面中的文字内容进行翻译,当用户重新打开第一应用程序后,电子设备对于第一应用程序的首页执行翻译,并显示翻译后的文字内容。
在一些实施例中,用户在所述第二窗口中选择开启应用程序的翻译功能后,电子设备接收到该信息后,电子设备将打开翻译功能。在一些实施例中,当用户选择“当前页面翻译”功能后,电子设备会根据预设的触发操作,电子设备将关闭翻译功能,例如,当接收到用户的翻页,下滑或点击链接等操作,电子设备将关闭翻译功能,并且对于第一应用程序后续显示的用户界面并不执行翻译。在一些实施例中,当用户选择“应用程序翻译(本次)”功能后,电子设备接收到用户退出第一应用程序的操作指示后,电子设备将关闭翻译功能,对于下一次打开的第一应用程序中的界面并不执行翻译。
在一些实施例中,如图3-4-1所示,S341.用户打开电子设备的系统设置界面,用户可以在系统中选择“应用翻译”菜单,对于应用程序的翻译功能进行设置。
S342,电子设备的界面显示应用程序列表,所述应用程序列表包括“全部应用”及每个应用程序的图标;用户选择“全部应用”,电子设备的界面显示语言列表,在语言列表中为应用程序选择执行翻译功能的目标语言。在一些实施例中,所述全部应用为电子设备的全部应用程序,包括电子设备的桌面程序。
在本实施例中,S343,如图3-4-2所示,用户点击系统的返回桌面,电子设备显示第一界面,所述第一界面为电子设备的桌面,所述第一界面中显示第一文字内容及第一图片,所述第一图片包括第二文字内容及第一图片内容,所述第一文字内容及所述第二文字内容均为目标语言。由于用户选择“全部应用”,因此,电子设备对桌面中的文字内容执行翻译,并显示翻译后的文字内容。其中,所述第一文字内容可以为第一界面中任意的文字内容(不包括显示在图片上的文字),所述第一图片内容可以为第一界面中任意的图片内容。
在本实施例中,S344,用户选择第一应用程序(头条)的图标,电子设备显示第二界面,所述第二界面为第一应用程序的首页,所述第二界面中显示第三文字内容及第二图片,所述第二图片包括第四文字内容及第二图片内容,所述第三文字内容及所述第四文字内容均为目标语言。由于用户将“全部应用”的翻译功能开启,因此,电子设备对第一应用程中多个界面中的文字内容进行翻译,当用户打开第一应用程序后,电子设备对于第一应用程序的首页执行翻译,并显示翻译后的文字内容。
在一些实施例中,如图3-5-1所示,实施例中的步骤S351与上一实施例所述步骤S341相同,在此不再赘述。
S352,电子设备的界面显示应用程序列表,所述应用程序列表包括“全部应用”及每个应用程序的图标;用户选择第一应用程序“头条”,电子设备的界面显示语言列表,在语言列表中为应用程序选择执行翻译功能的目标语言。
在本实施例中,S353,如图3-5-2所示,用户点击系统的返回桌面,电子设备显示第一界面,所述第一界面为电子设备的桌面,所述第一界面中显示第一文字内容及第一图片,所述第一图片包括第二文字内容及第一图片内容,所述第一文字内容及所述第二文字内容均为原始语言。
在本实施例中,S354,用户选择第一应用程序(头条)的图标,电子设备显示第二界面,所述第二界面为第一应用程序的首页,所述第二界面中显示第三文字内容及第二图片,所述第二图片包括第四文字内容及第二图片内容,所述第三文字内容及所述第四文字内容均为目标语言。由于用户将第一应用程序“头条”的翻译功能开启,因此,电子设备对第一应用程中多个界面中的文字内容进行翻译,当用户打开第一应用程序后,电子设备对于第一应用程序的首页执行翻译,并显示翻译后的文字内容。
在一些实施例中,用户在语言列表中选择应用程序的目标语言后,可以认为应用程序的翻译功能开启。
在一些实施例中,如图4-1及图4-5所示,
S401文本控件绘制模块从第一应用程序中获取第一文本控件的第一信息,所述第一信息包括应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数,及第一文本控件的控件图形参数。
在一些实施例中,格式参数包括以下参数中的一项或多项:格式参数,字号参数,字间距参数,行间距参数,每行字数参数及行数参数。
在一些实施例中,文本控件绘制模块包括文本控件数据获取模块,第一文本控件绘制模块,及文本处理模块。所述文本控件绘制模块通过调用视图系统中的ondraw()程序接口,从应用程序中获取绘制文本控件时需要的参数,根据所述参数实现对于文本控件的刷新显示。
在一些实施例中,电子设备根据刷新频率(例如60fps即每秒刷新60次),定时触发应用程序界面的刷新和绘制;所述文本控件绘制定时从第一应用程序获取第一文本控件的第一信息。
在一些实施例中,如图4-1所示,第一应用程序的界面为窗口40(window),窗口40中包括第一图片控件41,第二图片控件42,第三图片控件43,第四图片控件44,第五图片控件45,第六图片控件46,第七图片控件47,第八图片控件48。
第一图片控件41中包括:用于显示移动通信信号的运营商文本控件41a,用于显示移动通信信号的图片控件41b,用于显示移动通信信号的图片控件41c,用于显示无线网格信号的图片控件41d,用于显示电池状态的图片控件41f,用于当前时间的图片控件41g。
第二图片控件42中包括:用于显示当前应用程序标识的文本控件42a,用于显示搜索的图片控件42b,用于显示添加的图片控件42c。
第三图片控件43中包括:用于显示当前对话聊天对象头像的图片控件43a,用于显示当前聊天对象名称标识的文本控件43b,用于显示聊天信息的文本控件43c,用于显示信息发送时间的文本控件43d。
第四图片控件44,第五图片控件45,第六图片控件46,第七图片控件47与第三图片控件43中的控件内容类似,在此不再赘述。在本实施例中,44c,47c显示聊天的信息内容,43c,45c,46c显示聊天信息的类型或提醒信息。
第八图片控件48中包括:用于显示聊天界面标识的图片控件48a,用于显示“微信”的文本控件48b,用于显示联系人界面标识的图片控件48a,用于显示“联系人”的文本控件48c,用于显示发现界面标识的图片控件48a,用于显示“发现”的文本控件48b,用于显示我的设置界面标识的图片控件48a,用于显示“我的”的文本控件48c。
在一些实施例中,第一应用程序的界面中控件的显示内容保存在XML(ExtensibleMarkup Language,可扩展标记语言)文件中。如图4-4所示,所述布局文件包括多个控件的布局内容,所述多个控件显示于显示第一应用程序中的第一界面中。文本控件的XML文件中包含:文本控件的大小(android:layout_width="wrap_content";android:layout_height="wrap_content"),显示文字的内容(Android:text=”中国移动”),显示文字的格式参数(Android:text=”中国移动”)等,图片控件的XML文件中包含图片控件的大小(android:layout_width="wrap_content";android:layout_height="wrap_content"),显示图片的内容(android:src="picture41")等。
应用程序的XML文件是由开发人员在设计应用程序界面时形成的程序代码。开发人员可以选择由Android系统提供的View或者自己开发的View,组成应用程序需要显示的内容。在一些实施例中,View按照提供方可以区分为系统View和三方View。系统View由Android系统提供,可以供每一个开发人员在设计用户界面时使用。三方View由应用程序开发方提供。一般地,电子设备可以从View的类型名称中识别出属于系统View还是三方View。例如,系统View的类型名称可以是“android.widget.Textview”,系统View类型名称的前缀为“android”。三方View的类型名称可以是“com.sina.weibo.feed.view.MBlogListItemButtonsView”,三方View类型名称的前缀是应用程序的名称,如“com.sina.weibo”。
如图4-3所示,在一些实施例中,根据XML文件可解析出控件之间的相互关系,XML文件中的每一个节点对应描述一个控件。在XML文件中,如果一个节点有上一级的节点,则该节点的上一级节点为该节点的父节点。该节点为上一级节点的子节点。所述控件为节点处所包括的xml文件经绘制后显示的界面元素。
界面绘制时,根据各个控件的xml文件绘制控件内容,并根据控件之间的按照父子关系嵌套成待显示用户界面。应用程序界面绘制过程完成后,电子设备可以得到一个由所有待显示控件组成的待显示应用程序窗口界面。
在一些实施例中,所述第一文本控件包括可以用于显示文本内容的原生安卓控件(不包括webveiw),所述第一控件包括buttonview,listview,Textview等。
在一些实施例中,所述文本控件数据获取模块从应用程序中获取到第一文本控件中的xml文件,利用xml文件获取应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数,及第一文本控件的控件图形参数。
在一些实施例中,文本控件数据获取模块通过getResources().getXml()获的XML原始文件(或通过其它类似的指令),得到XmlResourceParser对象,通过对xml进行的属性进行解析后,得到每个控件的xml文件的内容。
如图4-4所示,在本实施例中,以下为第一文本控件48b的xml文件的一部分:
<TextView
Android:layout_width=”match_parent”
Android:layout_height=”wrap_content”
Android:textSize=”24sp”
Android:text=”微信”/>
在一些实施例中,可以通过String src=text获取原文文本“微信”;原文格式参数可通过int weight=paint.measureText(src)获取到原文格式参数,通过LayoutParamsparams=this.getLayoutParams()获取到secure_flag敏感参数,通过对xml文件分析获取应用程序标识。
S4011文本控件数据获取模块将应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数发送给文本处理模块。
S4012文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
S402文本控件模块将应用程序标识发送至翻译管理模块。
S403.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能关闭。
S404.翻译模块将翻译功能关闭的信息发送至文本处理模块。
S4041.文本处理模块获取所述翻译功能关闭的信息,将原文文本及原文格式参数发送至第一文本控件绘制模块。
S405.第一文本控件绘制模块根据原文文本、原文格式及原文文本及控件图形参数绘制第一文本控件。在一些实施例中,第一文本控件绘制模块可通过canvas.drawText(Text,x,y,paint)绘制第一文本控件中的文字内容。
S406第一文本控件绘制模块将第一文本控件待显示内容发送至显示器。在一些实施例中,所述待显示用户界面经过渲染之后为用户可见的界面,所述渲染过程会用到系统库中,例如字体库,三维图形处理库,二维图形处理库,表面管理器,图片库等。
S407.显示器显示第一文本控件。电子设备的GPU(图形处理器graphicsprocessing unit,GPU)将绘制完成的包括第一文本控件的待显示界面处理为多维图形,将图形纹理化、图形光栅化(将图形转换为一系列像素点的过程称为光栅化),将光栅化的图形投射到显示屏上。这样,就可以得到用户可以看到的用户界面。
S4101.翻译管理模块接收到开启翻译功能的指示,所述翻译功能的指示可以通过如上述实施例所述的S313,S323,S333,S342,S352等方式开启翻译功能。
S410翻译管理模块接收到开启翻译功能的指示,并保存翻译功能开启及目标语言的相关信息。
S411.文本控件绘制模块从第一应用程序中获取第一文本控件的第二信息,所述第一信息包括应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数,及第一文本控件的控件图形参数。在一些实施例中,由于文本控件绘制模块为定时刷新机制,因此,所述第二信息与第一信息可以包括相同的信息或不同的信息,在本实施例中,所述第二信息与第一信息包括相同信息。
S4111文本控件数据获取模块将应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数发送给文本处理模块。
S4112文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
S412文本控件模块将应用程序标识发送至翻译管理模块。
S413.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能开启,所述翻译管理模块根据应用程序标识获取第一应用程序的目标语言。
S414.翻译模块将目标语言发送至文本处理模块。
S415.所述文本处理模块根据原文文本获取到原文语言,并判断目标语言与原文语言是否相同。在本实施例中,目标语言与原文语言不相同。
S416.所述文本处理模块根据敏感参数,判断第一文本控件是否包括敏感信息。在本实施例中,所述第一文本控件不包括敏感信息。
在一些实施例中,在一些实施例中,由于用户手机上显示的部分内容可能是敏感信息(如密码等),安卓系统内提供了对应的安全机制,第三方应用程序可以通过为控件设置FLAG_SECURE属性(敏感参数),来通知系统此界面包含敏感信息。
FLAG_SECURE
A电子设备ed in API level 1
public static final int FLAG_SECURE
Window flag:treat the content of the window as secure,preventing itfrom应用程序earing in screenshots or from being viewed on non-securedisplays.
在一些实施例中,通过获取控件的Secure_Flag属性,获取当前的界面是否为敏感信息。在一些实施例中,通过判断当前页面的Secure_Flag属性与包含敏感信息默认Secure_Flag是否相同,判断当前界面不包含敏感参数;若当前页面的Secure_Flag属性与包含敏感信息默认Secure_Flag相同,判断当前界面包含敏感参数,若当前页面的Secure_Flag属性与包含敏感信息默认Secure_Flag不相同,判断当前界面不包含敏感参数。
在本实施例中,在获取到secure_flag敏感参数后,通过if((params.flags&WindowManager.LayoutParams.FLAG_SECURE)=0)判断当前参数是否包括敏感参数,当上述语句值为0,则secure_flag的参数不包括敏感参数,否则,secure_flag的参数包括敏感参数。
S417.第一文本控件绘制模块将原文文本及目标语言发送至翻译模模块。
S418.翻译模块根据目标语言,对原文文本进行翻译,获取到译文文本。
在一些实施例中,所述翻译模块可以为应用框架层中的翻译程序,具体来说,所述翻译程序可以为存储在系统本地的APK文件等;在一些实施例中,所述翻译程序可以为应用程序,具体来说,可以为存储在云端的文件,或第三方的应用程序。在一些实施例中,将原文文本,目标语言输入翻译模块,得到译文文本;在本实施例中,通过String dst=engine.translate(src)调用翻译引擎engine,从翻译引擎中获得译文文本,其中,所述scr为原文文本,所述dst为译文文本,
S419所述翻译模块将译文文本发送至文本处理模块。
S420.文本处理模块根据原文文本,原文格式参数,计算原始文本区域的宽度。
在一些实施例中,通过int weight=paint.measureText(src)以获取原始文本区域的宽度,其中,src为原文文本,paint.measureText为根据原文文本获取宽度的方法。
S421在一些实施例中,文本处理模块根据原始文本区域的宽度,以及译文文本,计算出译文文本的格式参数。
S4211文本处理模块将译文文本及译文文本的格式参数发送至第一文本控件绘制模块。
S422在一些实施例中,所述第一文本控件绘制模块根据译文文本,译文格式参数及控件图形参数绘制刷新后的第一文本控件。
在一些实施例中,在本实施例中,所述第一模块通过调用canvas.drawText(dst,x,y,paint)实现文字的绘制,其中dst为译文文本,x,y为原文文本的第一个字符相对于view的坐标,Paint用于确定字体的样式和大小,其中,FontMetrics为Paint一个内部类,用于定义原文格式参数和对应参数。所述Paint的参数可以通过译文文本格式参数获得,在一些实施例中,通过paint.setTextSize(scrTextSize)获取原文文本的格式参数。
S423第一文本控件绘制模块将第一文本控件显示内容发送至显示器。
S424.显示器显示刷新的第一文本控件。
在一些实施例中,如图4-2,4-6所示,所述步骤S401-S406,S410-S415与上述实施例相同,在此不再赘述。
S416.所述文本处理模块根据敏感参数,判断第一文本控件是否包括敏感信息。在本实施例中,所述第一文本控件包括敏感信息。
S417.第一文本控件绘制模块根据原文文本、原文格式及原文文本及控件图形参数绘制第一文本控件。在一些实施例中,第一文本控件绘制模块可通过canvas.drawText(Text,x,y,paint)绘制第一文本控件中的文字内容。
后续的送至显示器中进行显示的步骤与上述实施例相同,在此不再赘述。
在一些实施例中,S491先将译文格式参数设置为第一预设值,所述第一预设值包括字号大小,字间距,在本实施例中y,将译文文本的字体大小40.0f,字间距为默认值。
S492计算译文文本的宽度。
S493判断所述译文文本的宽度是否大于原始文字文本的宽度或控件显示宽度
S494若译文文本的宽度大于原始文本的宽度,调整第一预设值,例如将字号减小,或字间距减小,并重新执行S491.
S495.若译文文本的宽度不大于原始文本的宽度,将当前的译文格式参数设定为绘制第一控件时的译文格式参数。
在一些实施例中,如图4-1,4-7所示,所述方法包括:
S501文本控件绘制模块从第一应用程序中获取第一文本控件的第一信息,所述第一信息包括应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度,第一文本控件的敏感参数,及第一文本控件的控件图形参数。
在一些实施例中,所述文本控件数据获取模块通过调用getMaxWidth()程序接口获得所述第一控件的宽度。
S5011文本控件数据获取模块将应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度,第一文本控件的敏感参数发送给文本处理模块。
S5012文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
在一些实施例中,后续步骤S506-S506与上述实施例中S402-S407类似,不再赘述。
S5101.翻译管理模块接收到开启翻译功能的指示,所述翻译功能的指示可以通过如上述实施例所述的S313,S323,S333,S342,S352等方式开启翻译功能。
S510.翻译管理模块接收到开启翻译功能的指示,并保存翻译功能开启及目标语言的相关信息。
S511.文本控件绘制模块从第一应用程序中获取第一文本控件的第二信息,所述第一信息包括应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度,第一文本控件的敏感参数,及第一文本控件的控件图形参数。在一些实施例中,由于文本控件绘制模块为定时刷新机制,因此,所述第二信息与第一信息可以包括相同的信息或不同的信息,在本实施例中,所述第二信息与第一信息包括相同信息。
S5111文本控件数据获取模块将应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度,第一文本控件的敏感参数发送给文本处理模块。
S5112文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
在一些实施例中,后续步骤S512-S519与上述实施例中S412-S419类似,不再赘述。
S520.文本处理模块根据控件的宽度,以及译文文本,计算出译文文本的格式参数。
S5211文本处理模块将译文文本及译文文本的格式参数发送至第一文本控件绘制模块。
在一些实施例中,后续步骤S521-S523与上述实施例中S422-S424类似,不再赘述。
在一些实施例中,如图4-1,4-8所示,所述方法包括:
S601文本控件绘制模块从第一应用程序中获取第一文本控件的第一信息,所述第一信息包括应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度和高度,第一文本控件的敏感参数,及第一文本控件的控件图形参数。
在一些实施例中,所述文本控件数据获取模块通过调用getMaxWidth()程序接口获得所述第一控件的宽度和高度。
S6011文本控件数据获取模块将应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度和高度,第一文本控件的敏感参数发送给文本处理模块。
S6012文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
在一些实施例中,后续步骤S506-S506与上述实施例中S402-S407类似,不再赘述。
S6101.翻译管理模块接收到开启翻译功能的指示,所述翻译功能的指示可以通过如上述实施例所述的S313,S323,S333,S342,S352等方式开启翻译功能。
S610.翻译管理模块接收到开启翻译功能的指示,并保存翻译功能开启及目标语言的相关信息。
S611.文本控件绘制模块从第一应用程序中获取第一文本控件的第二信息,所述第一信息包括应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度和高度,第一文本控件的敏感参数,及第一文本控件的控件图形参数。在一些实施例中,由于文本控件绘制模块为定时刷新机制,因此,所述第二信息与第一信息可以包括相同的信息或不同的信息,在本实施例中,所述第二信息与第一信息包括相同信息。
S6111文本控件数据获取模块将应用程序标识,第一文本控件的原文文本,第一文本控件的原文格式参数,第一控件的宽度和高度,第一文本控件的敏感参数发送给文本处理模块。
S6112文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
在一些实施例中,后续步骤S612-S619与上述实施例中S412-S419类似,不再赘述。
S620.文本处理模块根据控件的宽度和高度,以及译文文本,计算出译文文本的格式参数及译文行数。
S6211文本处理模块将译文文本,译文文本的格式参数,译文行数发送至第一文本控件绘制模块。
S621.在一些实施例中,所述第一文本控件绘制模块根据译文文本,译文格式参数,译文行数及控件图形参数绘制刷新后的第一文本控件。
在一些实施例中,后续步骤S622-S523与上述实施例中S423-S424类似,不再赘述。
如图4-9及4-10所示,在一些实施例中,以上译文文本的格式参数可通过getTextSize()方法获得。所述getTextSize()可以为getTextSize(TextView tv,intw,String str),表示根据需要显示译文文本str及区域宽度为W,获得译文文本的格式参数。
所述getTextSize()具体为:
在一些实施例中,如图4-11所示,S4910将译文格式参数设置为第一预设值,所述第一预设值包括字号大小,字间距。
S4911将译文的行数为第二预设值,根据第一预设值及第二预设值计算译文文本的宽度。
S4912判断所述译文文本的宽度是否大于控件显示宽度或原文文本的宽度。
S4913若所述译文文本的宽度是否大于控件显示宽度或原文文本的宽度,所述第二预设值加一,重复执行S4911。
S4914.若所述译文文本的宽度是否不大于控件显示宽度或原文文本的宽度,判断所述译文显示的高度是否大于控件的高度,或者原文文本显示的高度。
S4915.若所述译文显示的高度大于预设的高度调整第一预设值,例如字号减小,或字间距减小,重复执行S4911。
S4916.若所述译文显示的高度不大于预设的高度调整第一预设值,将当前的译文格式参数设定为绘制第一控件时的译文格式参数。
在本实施例中,对于第一控件的翻译,通过更改应用框架层的第一文本控件绘制模块的执行过程,所述第一文本控件绘制模块为采用ondraw()的对第一控件进行绘制,在所述绘制过程中使用译文文本直接替换应用程序发送的原文文本,将译文文本显示在第一控件的原始界面上,并且通过格式参数的调整,避免了第一控件上的字体变形或混乱,提升了翻译后应用程序的操作体验。另外,对于大量未提供多语言菜单的应用程序,无需在应用程序提供翻译语言包,并且无需在应用程序内修改原文文本,可通过电子设备系统级的应用框架层实现第一控件全局翻译的效果,避免了应用程序占用较大的存储空间,并且为不同语言的使用者提供接近于原生多语言能力的体验。
在一些实施例中,如图5-1及图5-5所示,应用程序的控件还包括第一图片控件用于显示图片内容,所述方法还包括:
S801图片控件绘制模块从第一应用程序中获取第一图片控件的第一信息,所述第一信息包括应用程序标识,第一图片控件的原始图片,及第一图片控件的控件图形参数。
在一些实施例中,如图5-1所示,第一应用程序的界面为窗口50(window),窗口50中包括第一图片控件41,第二图片控件61,第三图片控件62,第四图片控件63,第一网页控件70,第二网页控件710,第三网页控件72,第四网页控件73。
第一图片控件41中包括:用于显示移动通信信号的运营商文本控件41a,用于显示移动通信信号的图片控件41b,用于显示移动通信信号的图片控件41c,用于显示无线网格信号的图片控件41d,用于显示电池状态的图片控件41f,用于当前时间的图片控件41g。
第二图片控件60中包括:用于显示搜索标识的图片控件60a,用于显示搜索框的图片控件60b,用于显示搜索按钮的文字控件60c,所述文字控件60c可以为textview或button控件,均属于显示文字的文字控件。
第三图片控件61中包括:用于显示各栏目标识的文字控件61a-61g,用于显示更多内容标识的图片控件61h。
如图5-7在本实施例中,以下为第一图片控件62的xml文件的一部分:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="picture62"
/>
在一些实施例中,可以图片可以通过getDrawable()方法或ContextCompat.getDrawable()获取第三控件中的图片(drawable)。
S8011图片控件数据获取模块将应用程序标识,第一图片控件的原始图片发送给图片处理模块。
S8012图片控件数据获取模块将控件图形参数发送给第一图片控件绘制模块。
S802图片控件模块将应用程序标识发送至翻译管理模块。
S803.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能关闭。
S804.翻译模块将翻译功能关闭的信息发送至图片处理模块。
S8041.图片处理模块获取所述翻译功能关闭的信息,将原始图片发送至第一图片控件绘制模块。
S805.第一图片控件绘制模块根据原始图片及控件图形参数绘制第一图片控件。
在一实施例中,先将图片转化为位图(bitmap),再将位图在画布中显示。可以通过以下程序语言来实现:
Bitmap DrawableToBitmap(Drawable drawable)
Canvas canvas=new Canvas(bitmap);
drawable.draw(canvas);
S806第一图片控件绘制模块将第一图片控件待显示内容发送至显示器。
S807.显示器显示第一图片控件。
S810翻译管理模块接收到开启翻译功能的指示,并保存翻译功能开启及目标语言的相关信息。
S811.图片控件绘制模块从第一应用程序中获取第一图片控件的第二信息,所述第二信息包括应用程序标识,第一图片控件的原始图片,及第一图片控件的控件图形参数。在一些实施例中,由于图片控件绘制模块为定时刷新机制,因此,所述第二信息与第一信息可以包括相同的信息或不同的信息,在本实施例中,所述第二信息与第一信息包括相同信息。
S8111图片控件数据获取模块将应用程序标识,第一图片控件的原始图片发送给图片处理模块。
S8112图片控件数据获取模块将控件图形参数发送给第一图片控件绘制模块。
S812图片控件模块将应用程序标识发送至翻译管理模块。
S813.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能开启,所述翻译管理模块根据应用程序标识获取第一应用程序的目标语言。
S814.翻译模块将目标语言发送至图片处理模块。
S815.通过OCR(Optical Character Recognition光学字符识别)技术从原始图片中获取原文文本,所述原始图片的内容包括原文文本内容及第一图片内容。。
S816.所述图片处理模块根据原文文本获取到原文语言,并判断目标语言与原文语言是否相同。在本实施例中,目标语言与原文语言不相同。
S817.第一图片控件绘制模块将原文文本及目标语言发送至翻译模模块。
S818.翻译模块根据目标语言,对原文文本进行翻译,获取到译文文本。
S819所述翻译模块将译文文本发送至图片处理模块。
S820.将原始图片中的原文文本替换为译文文本,生成包括译文文本的第二图片,所述第二图片的内容包括译文文本内容及第一图片内容。
S821图片处理模块将第二图片发送至第一图片控件绘制模块。
S822在一些实施例中,所述第一图片控件绘制模块根据第二图片及控件图形参数绘制刷新后的第一图片控件。
S823第一图片控件绘制模块将第一图片控件显示内容发送至显示器。
S824.显示器显示刷新的第一图片控件。
在一些实施例中,如图5-2,5-3,5-4及图5-6所示,应用程序的控件还包括第一网页控件用于显示网页内容,所述方法还包括:
S901网页控件绘制模块从第一应用程序中获取第一网页控件的第一信息,所述第一信息包括第一网页控件的待显示的原始HTML文件。控件图形参数。
在本实施例中,以下为第一网页控件62的xml文件的一部分:
在一些实施例中,如图5-7所示,网页控件数据获取模块可以通过webView.loadurl(“http://www.huawei.com”)从服务器获取HTML文件,或者,可以通过webView.loadurl(“android_asset/xx.html”)获取本地的HTML文件,本地的HTML文件存储在Android程序的asset文件夹中。
S9011网页控件数据获取模块将应用程序标识,第一网页控件的原始HTML文件发送给网页处理模块。
S9012网页控件数据获取模块将控件图形参数发送给第一网页控件绘制模块。
S902网页控件模块将应用程序标识发送至翻译管理模块。
S903.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能关闭。
S904.翻译模块将翻译功能关闭的信息发送至网页处理模块。
S905网页处理模块获取所述翻译功能关闭的信息,将原始HTML文件根据HTML中的标识转化为第一DOM树,如附图5-3所示。
S905.第一网页控件绘制模块根据第一DOM树,依次生成RenderObject树,及RenderLayer树,并绘制第一网页控件。
S906第一网页控件绘制模块将第一网页控件待显示内容发送至显示器。
S907.显示器显示第一网页控件。
S9101.翻译管理模块接收到开启翻译功能的指示,所述翻译功能的指示可以通过如上述实施例所述的S313,S323,S333,S342,S352等方式开启翻译功能。
S910翻译管理模块接收到开启翻译功能的指示,并保存翻译功能开启及目标语言的相关信息。
S911.网页控件绘制模块从第一应用程序中获取第一网页控件的第二信息,所述第二信息包括原始HTML文件。在一些实施例中,由于网页控件绘制模块为定时刷新机制,因此,所述第二信息与第一信息可以包括相同的信息或不同的信息,在本实施例中,所述第二信息与第一信息包括相同信息。
S9111网页控件数据获取模块将应用程序标识,原始HTML文件发送给网页处理模块。
S9112网页控件数据获取模块将控件图形参数发送给第一网页控件绘制模块。
S912网页控件模块将应用程序标识发送至翻译管理模块。
S913.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能开启,所述翻译管理模块根据应用程序标识获取第一应用程序的目标语言。
S914.翻译模块将目标语言发送至网页处理模块。
S915.网页处理模块将原始HTML文件根据HTML中的标识转化为第一DOM树,如附图5-3所示,并获取待翻译的原文文本。
在一些实施例中,所述识别出待翻译的原文文本的方法包括:通过扫描HTML文件的DOM树以找出待翻译原文文本。DOM是万维网联盟定义的标准,在加载HTML内容时,自动产生DOM树,DOM树将文档表示为节点对象树。在DOM树中,每一个节点对应于文档的一部分。节点可以是各种类型的,包括例如根节点、元素节点、属性节点、文本节点和脚本节点,可通过识别HTML中的注释<title>代表标题元素节点,<p>代表文本节点。根据节点类型确定各个节点对应的内容的类型,并且将文本、标题,人名、表格等内容容确定为待翻译的原文文本。
S916.所述网页处理模块根据原始文本获取到原文语言,并判断目标语言与原文语言是否相同。在本实施例中,目标语言与原文语言不相同。
S917.第一网页控件绘制模块将原文文本及目标语言发送至翻译模模块。
S918.翻译模块根据目标语言,对原文文本进行翻译,获取到译文文本。
S919所述翻译模块将译文文本发送至网页处理模块。
S920.将第一DOM树中的原文文本替换为译文文本,生成包括译文文本的第二DOM树。
S921网页处理模块将第二DOM树发送至第一网页控件绘制模块。
S922在一些实施例中,所述第一网页控件绘制模块根据第二DOM树依次生成RenderObject树,及RenderLayer树,并绘制刷新后的第一网页控件。
S923第一网页控件绘制模块将第一网页控件显示内容发送至显示器。
S924.显示器显示刷新的第一网页控件。
如图6所示,在一些实施例中,S411.文本控件绘制模块从第一应用程序中获取第一文本控件的第二信息,所述第一信息包括应用程序标识,第一文本控件的第一原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数,及第一文本控件的控件图形参数。
S4111文本控件数据获取模块将应用程序标识,第一文本控件的第一原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数发送给文本处理模块。
S4112文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
S412文本控件模块将应用程序标识发送至翻译管理模块。
S413.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能开启,所述翻译管理模块根据应用程序标识获取第一应用程序的目标语言。
S414.翻译模块将目标语言发送至文本处理模块。
S415.所述文本处理模块根据第一原文文本获取到原文语言,并判断目标语言与原文语言是否相同。在本实施例中,目标语言与原文语言不相同。
S416.所述文本处理模块根据敏感参数,判断第一文本控件是否包括敏感信息。在本实施例中,所述第一文本控件不包括敏感信息。
S417.第一文本控件绘制模块将第一原文文本及目标语言发送至翻译模模块。
S418.翻译模块根据目标语言,对第一原文文本进行翻译,获取到第一译文文本。
S419所述翻译模块将第一译文文本发送至文本处理模块。
S420.文本处理模块根据第一原文文本,原文格式参数,计算原始文本区域的宽度。
S421在一些实施例中,文本处理模块根据原始文本区域的宽度,以及第一译文文本,计算出第一译文文本的格式参数。
S4211文本处理模块将第一译文文本及第一译文文本的格式参数发送至第一文本控件绘制模块。
S422在一些实施例中,所述第一文本控件绘制模块根据第一译文文本,译文格式参数及控件图形参数绘制刷新后的第一文本控件。
S423第一文本控件绘制模块将第一文本控件显示内容发送至显示器。
S424.显示器显示刷新的第一文本控件。
S411.文本控件绘制模块从第一应用程序中获取第一文本控件的第三信息,所述第一信息包括应用程序标识,第一文本控件的第二原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数,及第一文本控件的控件图形参数。在一些实施例中,由于文本控件绘制模块为定时刷新机制,因此,所述第二信息与第一信息可以包括相同的信息或不同的信息,在本实施例中,所述第二信息与第一信息包括相同信息。
S4111文本控件数据获取模块将应用程序标识,第一文本控件的第二原文文本,第一文本控件的原文格式参数,第一文本控件的敏感参数发送给文本处理模块。
S4112文本控件数据获取模块将控件图形参数发送给第一文本控件绘制模块。
S412文本控件模块将应用程序标识发送至翻译管理模块。
S413.翻译管理模块根据应用程序标识判断第一应用程序是否开启翻译功能。在本实施例中,所述第一应用程序的翻译功能开启,所述翻译管理模块根据应用程序标识获取第一应用程序的目标语言。
S414.翻译模块将目标语言发送至文本处理模块。
S4350.判断第二原文文本与第一原文文本是否相同。
S435,若第二原文文本与第一原文文本相同。
S4351,文本处理模块将第一译文文本及第一译文文本的格式参数发送至第一文本控件绘制模块。
其中,电子设备在执行完上一次刷新后,将所述第一译文文本及第一译文文本的格式参数存在电子设备系统的缓存中;在进行第二次刷新时,可直接调用上次刷新时使用的所述第一译文文本及第一译文文本的格式参数。
后续步骤S436-S438与上述实施例中S422-S424类似。
S445,若第二原文文本与第一原文文本不相同。
S446所述文本处理模块根据敏感参数,判断第一文本控件是否包括敏感信息。在本实施例中,所述第一文本控件不包括敏感信息。
S447.第一文本控件绘制模块将第一第二原文文本及目标语言发送至翻译模模块。
S448.翻译模块根据目标语言,对第一第二原文文本进行翻译,获取到第一第二译文文本。
S449所述翻译模块将第一第二译文文本发送至文本处理模块。
S450.文本处理模块根据第一第二原文文本,原文格式参数,计算原始文本区域的宽度。
S451在一些实施例中,文本处理模块根据原始文本区域的宽度,以及第一第二译文文本,计算出第一第二译文文本的格式参数。
S4511文本处理模块将第一第二译文文本及第一第二译文文本的格式参数发送至第一文本控件绘制模块。
S452在一些实施例中,所述第一文本控件绘制模块根据第一第二译文文本,译文格式参数及控件图形参数绘制刷新后的第一文本控件。
S453第一文本控件绘制模块将第一文本控件显示内容发送至显示器。
S454.显示器显示刷新的第一文本控件。
在一些实施例中,由于电子设备刷新频率较快,而在每次刷新时均执行翻译会加重电子设备的运行负担,考虑到用户通常是每隔一段时间会在电子设备进行交互操作,因此,通过增加对于原文文本内容判断,减少重复的翻译工作,减轻电子设备的运行负担。
在一些实施例中,在所述S417之后,所述步骤S418包括:
当所述翻译模块接收到原文文本及目标语言后,翻译模块在对原文文本进行翻译时,S700,第一模块根据应用程序的标识及目标语言,查询cache中是否有对应的存储单元。
如图7-3所示,将cache按应用程序标识和目标语言将cache分成了不同的存储单元,每个存储单元存储有原始语言及目标语言之间的对应翻译,所述原始语言为应用程序根据文本内容检测到的应用程序当前应用的语言;当应用程序需要调用翻译结果时,可通过应用程序+目标语言来调用对应的存储单元。在一些实施例中,所述应用程序为应用程序的名称,或应用程序的全局唯一标识等。所述目标语言的标识可以为预设字符,例如中文为CN,英文为EN,日文为JP等。
在一些实施例中,如图7-4所示,将cache按应用程序标识、原始语言和目标语言将cache分成了不同的存储单元。在一些实施例中,当应用当前语言改变时,用户可通过在应用程序内选择不同的语言版本对当前应用程序的语言进行改变,例如,检索到用户将应用程序当前语言从中文改为英文时,此时,cache按照英文+应用程序标识+目标语言建立新的存储单元,防止与原始的存储单元混淆,而导致无法正常翻译。
在一些实施例中,当应用程序从电子设备中移除时,cache中按照应用程序的标识,将所述应用程序对应的存储单元删除。当电子设备卸载应用程序时,电子设备的会通过应用框架层的信息管理器将应用程序卸载的信息进行广播,所述信息中包括有应用程序标识,当cache监听到系统发出的所述广播时,根据所述应用程序标识,cache删除所述应用程序对应的存储单元。
在本实施例中,本实施例提供的翻译方法可以对手机内所有的应用程序界面进行翻译,而若将翻译结果全部加载至内容,会占用较大小的内存空间。将翻译结果按存储单元存储在cache中时,可以避免传统的翻译方法通过调用内存进行翻译而造成页面卡顿,减少了翻译处理的时间,加快了文本的显示速度,提高了系统运行的效率。
如图7-1所示,S701若Cache中有对应的存储单元,翻译模块根据应用程序标识和目标语言判断有对应的存储单元,从所述对应的存储单元中获取译文文本。
后续步骤为执行S419。
如图7-2所示,S702若Cache中没有对应的存储单元,根据应用程序标识和目标语言新建第二存储单元,所述第一存储单元可以以应用程序为目标语言为标识。
S703所述翻译模块将原文文本及目标语言发送至翻译引擎中。
S704翻译引擎根据目标语言,对原文文本进行翻译,得到译文文本。
S705将原文及译文文本保存至第二存储单元。
后续步骤为执行S419。
在本申请提供的技术方案中,由于所述翻译是在控件的显示过程中进行,需要系统在翻译时提供比较快的响度速度,通过使用cache缓存来加快应用程序界面翻译和文本显示的速度,减少翻译处理时间,避免由于翻译量过大而导致界面卡顿。
如图8所示,在一些实施例中,当电子设备的文本处理模块判断出需要调用翻译模块进行翻译时,电子设备同时调用两个不同的线程,第一线程用于根据原文文本绘制控件,第二线程用于执行翻译过程,这样,避免了由翻译带来的电子设备的界面显示卡顿或空白显示的问题。
在一些实施例中,第一线程执行上述实施例中的S411-S416。
S460,在S416结束后,当文本处理模块判断出需要调用翻译模块进行翻译时,第一文本控件绘制模块根据原文文本,及原文格式参数及控件图形参数绘制第一文本控件。
S423第一文本控件绘制模块将第一文本控件显示内容发送至显示器。
S424.显示器显示刷新的第一文本控件。
同时,电子设备将所述原文文本和目标语言发送至第二线程中的翻译模块中。
在第二线程中,S418.翻译模块根据目标语言,对原文文本进行翻译,获取到译文文本。
S419所述翻译模块翻译完成后,将译文文本发送至第一线程中的文本处理模块。
第一线程中的文本处理模块在接收到译文文本后,再继续执行上述的S420-S424。
在本实施例中,通过同时利用不同的线程处理绘制和翻译工作,避免了由于翻译时间较长而导致的显示卡顿的情况,提升了用户的体验。
如图9-1至图9-2所示,示例性说明本申请的方法在电子设备100的软件和硬件的工作流程。
在一些实施例中,视图管理器获取应用层中APP的XML文件,具体地,视图管理器解析第一APP中的第一文本控件的XML,第一图片控件的XML,并且,通过webview.loadurl()获取webview中的显示内容。
在一些实施例中,视图管理器中包括文本控件绘制模块,图片控件绘制模块,网页控件绘制模块。其中,文本控件绘制模块用于绘制可以显示文本内容的原生安卓控件(不包括webveiw),例如buttonview,listview,Textview等;图片控件绘制模块用于绘制imageview控件;网页控件绘制模块用于绘制webview控件。
如图9-1所示,所述第一软件模块包括文本控件绘制模块、图片控件绘制模块及网页控件绘制模块;所述第二软件模块包括翻译模块及翻译管理模块。
在一些实施例中,文本控件绘制模块包括文本控件数据获取模块,第一文本控件绘制模块,文本处理模块。其中,文本处理模块用于对原文文本进行处理,所述文本处理模块通过与翻译管理模块及翻译模块的交互,获取译文文本,为本申请提供的一些实施例中新增的软件模块。第一文本控件绘制模块用于绘制包括原文文本或包括译文文本的文本控件,第一文本控件绘制模块与现有技术中的绘制模块的功能有所区别,文本控件数据获取模块用于获取在显示过程中需要的数据,文本控件数据获取模块与现有技术中的数据获取模块的功能有所区别。
在一些实施例中,图片控件绘制模块包括图片控件数据获取模块,第一图片控件绘制模块,图片处理模块,其中,图片处理模块用于对原文文本进行处理,所述图片处理模块通过与翻译管理模块及翻译模块的交互,并获取译文文本,为本申请提供的一些实施例中新增的软件模块,第一图片控件绘制模块用于绘制包括原文文本或包括译文文本的图片控件,第一图片控件绘制模块与现有技术中的绘制模块的功能有所区别,图片控件数据获取模块用于获取在显示过程中需要的数据,图片控件数据获取模块与现有技术中的数据获取模块的功能有所区别。
在一些实施例中,网页控件绘制模块包括网页控件数据获取模块,第一网页控件绘制模块,网页处理模块,其中,网页处理模块用于对原文文本进行处理,所述网页处理模块通过与翻译管理模块及翻译模块的交互,获取译文文本,为本申请提供的一些实施例中新增的软件模块,第一网页控件绘制模块用于绘制包括原文文本或包括译文文本的网页控件,第一网页控件绘制模块与现有技术中的绘制模块的功能有所区别,网页控件数据获取模块用于获取在显示过程中需要的数据,网页控件数据获取模块与现有技术中的数据获取模块的功能有所区别。
如图9-2所示,所述第一软件模块包括文本控件绘制模块、图片控件绘制模块、网页控件绘制模块、文本控件处理模块、图片处理绘制模块及网页控件处理模块;所述第二软件模块包括翻译模块及翻译管理模块。
在一些实施例中,文本处理模块用于对原文文本进行处理,所述文本处理模块通过与翻译管理模块及翻译模块的交互,获取译文文本,文本处理模块包括第一文本控件数据获取模块及第一文本处理模块;为本申请提供的一些实施例中新增的软件模块。文本控件绘制模块包括文本控件数据获取模块及第一文本控件绘制模块;文本控件绘制模块与与现有技术中的绘制模块的功能类似:文本控件数据获取模块用于获取在显示过程中需要的数据,第一文本控件绘制模块用于绘制文本控件,所述文本控件的数据通过文本控件数据获取模块获取得到。
在一些实施例中,图片处理模块用于对原文文本进行处理,所述图片处理模块通过与翻译管理模块及翻译模块的交互,并获取译文文本,图片处理模块包括第一图片控件数据获取模块及第一图片处理模块;为本申请提供的一些实施例中新增的软件模块。图片控件绘制模块包括图片控件数据获取模块及第一图片控件绘制模块,图片控件绘制模块与与现有技术中的绘制模块的功能类似:图片控件数据获取模块用于获取在显示过程中需要的数据,第一图片控件绘制模块用图片控件,图片控件通过图片控件数据获取模块获取得到。
在一些实施例中,网页处理模块用于对原文文本进行处理,所述网页处理模块通过与翻译管理模块及翻译模块的交互,获取译文文本,网页处理模块包括第一网页控件数据获取模块及第一网页处理模块;为本申请提供的一些实施例中新增的软件模块。网页控件绘制模块包括网页控件数据获取模块及第一网页控件绘制模块,网页控件绘制模块与与现有技术中的绘制模块的功能类似:网页控件数据获取模块用于获取在显示过程中需要的数据,第一网页控件绘制模块用于绘制网页控件,网页控件通过网页控件数据获取模块获取得到。
在一些实施例中,系统库将视图管理模块绘制得到包括多个控件的APP界面,渲染之后为用户可见的界面,所述渲染过程会用到系统库中,例如字体库,三维图形处理库,二维图形处理库,表面管理器,图片库等。
在一些实施例中,通过显示屏,显示系统库渲染好的待显示的APP界面,使得用户可以在显示屏中看到刷新后的APP界面。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。本申请的各实施方式可以任意进行组合,以实现不同的技术效果。
本申请中各方法实施例之间相关部分可以相互参考;各装置实施例所提供的装置用于执行对应的方法实施例所提供的方法,故各装置实施例可以参考相关的方法实施例中的相关部分进行理解。
本申请中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,“a,b,或c中的至少一项(个)”,或,“a,b,和c中的至少一项(个)”,均可以表示:a,b,c,a-b(即a和b),a-c,b-c,或a-b-c,其中a,b,c分别可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,部分或全部步骤可以并行执行或先后执行,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述各种消息、请求和终端,但这些消息、请求和终端不应限于这些术语。这些术语仅用来将消息、请求和终端彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一终端也可以被称为第二终端,类似地,第二终端也可以被称为第一终端。
取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请中一些实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本申请提供的一些实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关硬件来完成,所述的程序可以存储于一个设备的可读存储介质中,该程序在执行时,包括上述全部或部分步骤,所述的存储介质,如:FLASH、EEPROM等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,网络设备或者终端设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (17)
1.一种对应用程序的界面进行翻译的方法,其特征在于,包括:
电子设备中的第一软件模块从第一应用程序获取第一布局文件,所述第一布局文件用于绘制所述第一应用程序的第一界面,所述第一布局文件包括第一文本内容;
所述第一软件模块根据所述第一布局文件绘制所述第一界面;
所述电子设备显示所述第一界面,其中,所述第一界面中显示所述第一文本内容;
所述电子设备检测到第一操作;
响应于所述第一操作,所述第一软件模块将所述第一文本内容发送至所述电子设备中的第二软件模块用于翻译,所述第一软件模块从所述第二软件模块获取第二文本内容,所述第一软件模块根据所述第一布局文件和所述第二文本内容绘制所述第一应用程序的第二界面,其中,所述第二文本内容为对所述第一文本内容进行翻译后获得的;
响应于所述第一操作,所述电子设备显示所述第二界面,其中,所述第二界面中显示所述第二文本内容;
所述电子设备检测到在所述第二界面的第一区域的第二操作,所述第一区域位于所述第二文本内容附近;
响应于所述第二操作,所述电子设备显示所述第一应用程序的第三界面,其中,所述第三界面与所述第一文本内容相关联。
2.根据权利要求1所述的方法,其特征在于,所述第一界面包括第一文本控件,所述第一布局文件包括第一信息,所述第一信息包括所述第一文本内容,所述第一信息用于绘制所述第一文本控件;
所述电子设备中的第一软件模块根据所述第一布局文件绘制所述第一界面包括:所述电子设备中的第一软件模块根据所述第一信息绘制所述第一文本控件;
所述电子设备显示所述第一界面,其中,所述第一界面中显示所述第一文本内容,包括:所述电子设备显示所述第一文本控件,其中,所述第一文本控件中显示所述第一文本内容;
所述第一软件模块根据所述第一布局文件和所述第二文本内容绘制所述第二界面包括:所述第一软件模块根据所述第一信息和所述第二文本内容绘制第二文本控件;
所述电子设备显示所述第二界面,其中,所述第二界面中显示所述第二文本内容,包括:所述电子设备显示所述第二文本控件,其中,所述第二文本控件中显示所述第二文本内容;
所述第一区域位于所述第二文本内容附近包括:所述第一区域位于所述第二文本控件附近;
所述第三界面与所述第一文本内容相关联包括:所述第三界面与所述第一文本控件相关联。
3.根据权利要求2所述的方法,其特征在于,所述第三界面与所述第一文本控件相关联包括:所述第三界面为所述第一文本控件所链接的界面;或,所述第三界面为所述第一文本控件相关联的图片控件所链接的界面,所述图片控件位于所述第一区域。
4.根据权利要求1-3任一所述的方法,其特征在于,所述第一布局文件为可扩展标记语言XML文件,所述XML文件包括所述第一信息。
5.根据权利要求1-4任一所述的方法,其特征在于,所述第一文本控件和所述第二文本控件为以下中的任一项:文本视图textview控件,列表视图listv i ew控件。
6.根据权利要求1-5任一所述的方法,其特征在于,
所述第一软件模块和所述第二软件模块属于所述电子设备的应用程序框架层。
7.根据权利要求1-6任一所述的方法,其特征在于,所述第一软件模块将所述第一文本内容发送至所述电子设备中的第二软件模块用于翻译,所述第一软件模块从所述第二软件模块获取第二文本内容,包括:
所述第一软件模块将所述第一文本内容发送至所述第二软件模块;
所述第二软件模块对所述第一文本内容进行翻译,得到所述第二文本内容;
所述第二软件模块将所述第二文本内容发送至所述第一软件模块。
8.根据权利要求7所述的方法,其特征在于,所述第一文本内容为第一语言,所述第二文本内容为第二语言;
所述第二软件模块中设置有存储模块;
所述第二软件模块对所述第一文本内容进行翻译得到所述第二文本内容包括:
根据所述第一应用程序的标识及所述第二语言,确定所述存储模块中存储有第一存储单元,所述第一存储单元与所述第一应用程序的标识及所述第二语言相对应,所述第一存储单元中存储有所述第一文本内容对应的所述第二文本内容;
从所述第一存储单元获取所述第一文本内容对应的所述第二文本内容。
9.根据权利要求7所述的方法,其特征在于,所述第一文本内容为第一语言,所述第二文本内容为第二语言;
所述第二软件模块中设置有存储模块及翻译引擎;
所述第二软件模块对所述第一文本内容进行翻译,得到所述第二文本内容包括:
根据所述第一应用程序的标识及所述第二语言,判断所述存储模块中是否存储有第一存储单元,所述第一存储单元与所述第一应用程序的标识及所述第二语言相对应;
当所述存储模块中没有存储所述第一存储单元,则在所述存储模块中新建所述第一存储单元;
通过所述翻译引擎对所述第一文本内容进行翻译,并获得所述第一文本内容对应的所述第二文本内容;
将所述第一文本内容及对应的所述第二文本内容保存在所述新建的所述第一存储单元中。
10.根据权利要求2-9任一所述的方法,其特征在于,所述第一布局文件还包括所述第一文本控件的第一参数以及第二参数,所述第一参数包括所述第一文本内容的格式参数,所述第二参数包括所述第一文本控件对应的外观参数;
所述电子设备显示所述第二界面之前,所述方法还包括:
所述第一软件模块根据所述第一参数和所述第二参数这两种参数中的至少一种,获取第三参数,所述第三参数包括所述第二文本内容的格式参数;
所述第一软件模块根据所述第二参数和所述第三参数绘制所述第二文本控件。
11.根据权利要求10所述的方法,其特征在于,所述第一文本内容的格式参数或第二文本内容的格式参数包括以下参数中的一项或多项:字体参数,字号参数,字间距参数,行间距参数,每行字数参数及行数参数。
12.根据权利要求2-11任一所述的方法,其特征在于,所述第一布局文件还包括第四参数,所述第四参数用于指示所述第一文本控件是否包含安全信息;
所述第一软件模块将所述第一文本内容发送至所述第二软件模块之前,所述方法还包括:
所述第一软件模块根据所述第四参数确认所述第一文本控件不包含安全信息。
13.根据权利要求1-12任一所述的对应用程序的界面进行翻译的方法,其特征在于,所述第一界面包括第一图片控件,所述第一布局文件还包括第三信息,所述第三信息包括对应于第一图片的路径,所述第一图片包括第三文本内容,所述第三信息用于绘制所述第一图片控件;
所述电子设备中的第一软件模块根据所述第一布局文件绘制所述第一界面包括:所述电子设备中的第一软件模块根据所述第三信息获得所述第一图片并绘制所述第一图片控件;
所述电子设备显示所述第一界面包括:所述电子设备显示所述第一图片控件,其中,所述第一图片控件中显示有所述第一图片,所述第一图片中显示有所述第三文本内容;
响应于所述第一操作,所述方法还包括:
所述第一软件模块通过光学字符识别OCR方法从所述第一图片中获取所述第三文本内容,
所述第一软件模块将所述第三文本内容发送至所述第二软件模块用于翻译,
所述第一软件模块从所述第二软件模块获取第四文本内容,所述第四文本内容为对所述第三文本内容进行翻译后获得的,
所述第一软件模块将所述第一图片中的所述第三文本内容替换为所述第四文本内容,获得包括所述第四文本内容的第二图片,
所述第一软件模块根据所述第一布局文件和所述第二图片绘制所述第二图片控件;
所述电子设备显示所述第二界面包括:所述电子设备显示所述第二图片控件,其中,所述第二图片控件中显示所述第二图片,所述第二图片中显示有所述第四文本内容。
14.根据权利要求1-13任一所述的方法,其特征在于,所述第一界面包括第一网页控件,所述第一布局文件包括所述第一网页控件的第五信息,所述方法还包括:所述电子设备中的第一软件模块根据所述第五信息从所述第一应用程序获取所述第一网页控件对应的第一统一资源定位符URL,根据所述第一URL获取所述第一URL对应的第一超文本标记语言HTML文件,所述第一HTML文件包括第五文本内容,所述第一HTML文件用于绘制所述第一网页控件;
所述第一软件模块根据所述第一布局文件绘制所述第一界面包括:所述第一软件模块根据所述第一HTML文件获得所述第一HTML文件对应的第一文档对象模型DOM树,并从所述第一DOM树中获得所述第五文本内容,根据所述第五文本内容绘制所述第一网页控件;
所述电子设备显示所述第一界面包括:所述电子设备显示所述第一网页控件,其中,所述第一网页控件中显示所述第五文本内容;
响应于所述第一操作,所述方法还包括:
所述第一软件模块将所述第五文本内容发送至所述第二软件模块用于翻译,所述第一软件模块从所述第二软件模块获取第六文本内容,所述第六文本内容为对所述第五文本内容进行翻译后获得的,
所述第一软件模块将所述第一DOM树中的所述第一文本内容替换为所述第二文本内容,获得包括所述第二文本内容的第二DOM树,
所述第一软件模块根据所述第一布局文件和所述第二DOM树绘制所述第二网页控件;
所述电子设备显示所述第二界面包括:所述电子设备显示所述第二网页控件,其中,所述第二网页控件中显示所述第六文本内容。
15.一种电子设备,包括一个或多个触摸屏,一个或多个存储器,一个或多个处理器;其中所述一个或多个储存器存储有一个或多个程序;其特征在于,当所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如权利要求1至14任一项所述的方法。
16.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-14中任一项所述的方法。
17.一种计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-14中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010990248.2A CN114201978A (zh) | 2020-09-18 | 2020-09-18 | 一种对应用程序的界面进行翻译的方法及相关设备 |
EP21868711.9A EP4195095A4 (en) | 2020-09-18 | 2021-09-17 | METHOD FOR TRANSLATING AN APPLICATION INTERFACE AND ASSOCIATED DEVICE |
PCT/CN2021/119028 WO2022057889A1 (zh) | 2020-09-18 | 2021-09-17 | 一种对应用程序的界面进行翻译的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010990248.2A CN114201978A (zh) | 2020-09-18 | 2020-09-18 | 一种对应用程序的界面进行翻译的方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114201978A true CN114201978A (zh) | 2022-03-18 |
Family
ID=80645275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010990248.2A Pending CN114201978A (zh) | 2020-09-18 | 2020-09-18 | 一种对应用程序的界面进行翻译的方法及相关设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4195095A4 (zh) |
CN (1) | CN114201978A (zh) |
WO (1) | WO2022057889A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185245A (zh) * | 2023-04-28 | 2023-05-30 | 荣耀终端有限公司 | 一种页面显示方法及电子设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117331559B (zh) * | 2023-11-06 | 2024-05-03 | 久方智能(广东)有限公司 | 一种前端无代码生成应用界面的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286725A (zh) * | 2018-10-15 | 2019-01-29 | 华为技术有限公司 | 翻译方法及终端 |
CN110597512A (zh) * | 2019-08-23 | 2019-12-20 | 华为技术有限公司 | 显示用户界面的方法及电子设备 |
WO2020034227A1 (zh) * | 2018-08-17 | 2020-02-20 | 华为技术有限公司 | 一种多媒体内容同步方法及电子设备 |
CN111046680A (zh) * | 2018-10-15 | 2020-04-21 | 华为技术有限公司 | 一种翻译方法及电子设备 |
CN111626383A (zh) * | 2020-05-29 | 2020-09-04 | Oppo广东移动通信有限公司 | 字体识别方法及装置、电子设备、存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307349B2 (en) * | 2008-01-31 | 2012-11-06 | International Business Machines Corporation | Methods, systems, and computer program products for internationalizing user interface control layouts |
US9092674B2 (en) * | 2011-06-23 | 2015-07-28 | International Business Machines Corportion | Method for enhanced location based and context sensitive augmented reality translation |
CN104375808B (zh) * | 2013-07-11 | 2018-07-20 | 上海携程商务有限公司 | 界面显示方法及装置 |
CN104346153B (zh) * | 2013-07-31 | 2018-04-17 | 国际商业机器公司 | 用于翻译应用程序的文本信息的方法和系统 |
US9514376B2 (en) * | 2014-04-29 | 2016-12-06 | Google Inc. | Techniques for distributed optical character recognition and distributed machine language translation |
US10235363B2 (en) * | 2017-04-28 | 2019-03-19 | Sap Se | Instant translation of user interfaces of a web application |
CN107943796B (zh) * | 2017-11-17 | 2022-03-04 | 珠海市魅族科技有限公司 | 一种翻译方法和装置、终端、可读存储介质 |
CN109445886A (zh) * | 2018-09-05 | 2019-03-08 | 百富计算机技术(深圳)有限公司 | 一种界面显示方法、系统及终端设备 |
-
2020
- 2020-09-18 CN CN202010990248.2A patent/CN114201978A/zh active Pending
-
2021
- 2021-09-17 EP EP21868711.9A patent/EP4195095A4/en active Pending
- 2021-09-17 WO PCT/CN2021/119028 patent/WO2022057889A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020034227A1 (zh) * | 2018-08-17 | 2020-02-20 | 华为技术有限公司 | 一种多媒体内容同步方法及电子设备 |
CN109286725A (zh) * | 2018-10-15 | 2019-01-29 | 华为技术有限公司 | 翻译方法及终端 |
CN111046680A (zh) * | 2018-10-15 | 2020-04-21 | 华为技术有限公司 | 一种翻译方法及电子设备 |
CN110597512A (zh) * | 2019-08-23 | 2019-12-20 | 华为技术有限公司 | 显示用户界面的方法及电子设备 |
CN111626383A (zh) * | 2020-05-29 | 2020-09-04 | Oppo广东移动通信有限公司 | 字体识别方法及装置、电子设备、存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185245A (zh) * | 2023-04-28 | 2023-05-30 | 荣耀终端有限公司 | 一种页面显示方法及电子设备 |
CN116185245B (zh) * | 2023-04-28 | 2023-09-26 | 荣耀终端有限公司 | 一种页面显示方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP4195095A4 (en) | 2024-02-21 |
WO2022057889A1 (zh) | 2022-03-24 |
EP4195095A1 (en) | 2023-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597512B (zh) | 显示用户界面的方法及电子设备 | |
CN114397979B (zh) | 一种应用显示方法及电子设备 | |
WO2021129326A1 (zh) | 一种屏幕显示方法及电子设备 | |
CN113645351B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN110362244B (zh) | 一种分屏方法及电子设备 | |
CN111669459B (zh) | 键盘显示方法、电子设备和计算机可读存储介质 | |
CN110119296B (zh) | 切换父页面和子页面的方法、相关装置 | |
CN111078091A (zh) | 分屏显示的处理方法、装置及电子设备 | |
CN113994317A (zh) | 一种用户界面布局方法及电子设备 | |
CN113961157B (zh) | 显示交互系统、显示方法及设备 | |
CN111970401B (zh) | 一种通话内容处理方法、电子设备和存储介质 | |
CN111221453A (zh) | 启动功能的方法及电子设备 | |
CN109857401B (zh) | 电子设备的显示方法、图形用户界面及电子设备 | |
CN113986070B (zh) | 一种应用卡片的快速查看方法及电子设备 | |
CN112068907A (zh) | 一种界面显示方法和电子设备 | |
CN114363462A (zh) | 一种界面显示方法及相关装置 | |
CN113448658A (zh) | 截屏处理的方法、图形用户接口及终端 | |
CN114253491A (zh) | 显示方法及电子设备 | |
CN114077365A (zh) | 分屏显示方法和电子设备 | |
WO2022057889A1 (zh) | 一种对应用程序的界面进行翻译的方法及相关设备 | |
CN110286975B (zh) | 一种前景元素的显示方法和电子设备 | |
CN113885973B (zh) | 翻译结果显示方法、装置及电子设备 | |
CN114513575A (zh) | 一种收藏处理的方法及相关装置 | |
CN115050058A (zh) | 一种指纹识别方法及电子设备 | |
CN117311580A (zh) | 分屏方法和可折叠电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |