CN104169872A - Translating application resources - Google Patents
Translating application resources Download PDFInfo
- Publication number
- CN104169872A CN104169872A CN201280069010.XA CN201280069010A CN104169872A CN 104169872 A CN104169872 A CN 104169872A CN 201280069010 A CN201280069010 A CN 201280069010A CN 104169872 A CN104169872 A CN 104169872A
- Authority
- CN
- China
- Prior art keywords
- language
- word
- user
- application
- resources
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
Abstract
Description
技术领域technical field
本发明一般来说涉及计算机应用程序的翻译。The present invention relates generally to translation of computer applications.
背景技术Background technique
用户在商业上可获得许多计算机应用程序或计算机程序。举例来说,许多人拥有能够运行计算机应用程序的移动装置,例如智能电话。Many computer applications or computer programs are commercially available to users. For example, many people own mobile devices, such as smart phones, that are capable of running computer applications.
然而,许多计算机应用程序或计算机程序仅可以几种语言使用。举例来说,许多计算机应用程序或计算机程序仅可以特定程序的开发者的本机语言使用。因此,并非所有计算机应用程序或计算机程序均可被所有人容易地使用。举例来说,不懂英语的人可能不会使用需要用户仅以英语使用或仅以英语与用户互动的计算机程序或计算机应用程序。However, many computer applications or computer programs are available in only a few languages. For example, many computer applications or computer programs are only available in the native language of the developer of the particular program. Accordingly, not all computer applications or computer programs may be readily available to all. For example, a person who does not understand English may not use a computer program or computer application that requires the user to use or interact with the user only in English.
因此,需要提供一种翻译计算机应用程序以供不同语言的用户使用所述应用程序的系统。Therefore, there is a need to provide a system for translating computer applications for use by users of different languages.
发明内容Contents of the invention
根据一个一般方面,一种系统包含识别模块、翻译模块及显示模块。所述识别模块经配置以识别在所述系统内运行的应用程序何时试图以第一语言将字显示给应用程序的用户。所述翻译模块经配置以将所述字从所述第一语言翻译成不同于所述第一语言的第二语言。所述显示模块经配置而以所述第二语言将字显示给所述用户。According to one general aspect, a system includes a recognition module, a translation module, and a display module. The recognition module is configured to recognize when an application running within the system attempts to display a word in a first language to a user of the application. The translation module is configured to translate the word from the first language to a second language different from the first language. The display module is configured to display words to the user in the second language.
根据另一个一般方面,一种方法包含:(1)识别应用程序何时试图将字显示给所述应用程序的用户,所述字呈第一语言;(2)将试图显示给所述用户的所述字从所述第一语言翻译成第二语言,所述第二语言不同于所述第一语言;及(3)以所述第二语言将所述字显示给所述用户。According to another general aspect, a method comprises: (1) identifying when an application attempts to display a word to a user of the application, the word being in a first language; (2) identifying when an application attempts to display to the user translating the word from the first language to a second language, the second language being different from the first language; and (3) displaying the word to the user in the second language.
根据另一个一般方面,一种计算机程序产品,所述计算机程序产品有形地体现于计算机可读媒体上且包含在执行时经配置以致使至少一个处理器进行以下操作的指令:(1)识别应用程序何时试图将字显示给所述应用程序的用户,所述字呈第一语言;(2)将试图显示给所述用户的所述字从所述第一语言翻译成第二语言,所述第二语言不同于所述第一语言;及(3)以所述第二语言将所述字显示给所述用户。根据另一个一般方面,一种由具有至少一个处理器及一存储器的计算装置执行的方法包含:从正由所述至少一个处理器执行的应用程序接收用以提供第一字以供由所述应用程序使用的请求,其中所述应用程序由实体发布且所述应用程序与存储于所述计算装置的所述存储器中且由所述实体发布的一或多个资源相关联;确定所述计算装置的默认语言;在所述计算装置的所述存储器中存取所述一或多个资源;确定所述一或多个资源是否包含呈所述默认语言的所述第一字;如果所述一或多个资源包含呈所述默认语言的所述第一字,那么将所述第一字提供到所述应用程序;及如果所述一或多个资源不包含呈所述默认语言的所述第一字,那么:将所述第一字及所述默认语言的指示传输到翻译服务器;从所述翻译服务器接收通过将所述第一字翻译成所述默认语言而获得的第二字;及将所述第二字提供到所述应用程序。According to another general aspect, a computer program product tangibly embodied on a computer-readable medium and comprising instructions that, when executed, are configured to cause at least one processor to: (1) identify an application When a program attempts to display a word to a user of the application, the word is in a first language; (2) translates the word that is attempting to display to the user from the first language to a second language, so the second language is different from the first language; and (3) displaying the word to the user in the second language. According to another general aspect, a method performed by a computing device having at least one processor and a memory includes receiving from an application being executed by the at least one processor to provide a first word for use by the at least one processor. a request for application usage, wherein the application is issued by an entity and the application is associated with one or more resources stored in the memory of the computing device and issued by the entity; determining that the computing a default language of the device; accessing the one or more resources in the memory of the computing device; determining whether the one or more resources include the first word in the default language; if the one or more resources include the first word in the default language, providing the first word to the application; and if the one or more resources do not include all the words in the default language said first word, then: transmitting said first word and an indication of said default language to a translation server; receiving from said translation server a second word obtained by translating said first word into said default language ; and providing the second word to the application.
根据另一个一般方面,一种具有至少一个处理器及一存储器的计算装置包含:接收模块,其经配置以从应用程序接收用以提供第一字以供由所述应用程序使用的请求,所述应用程序由实体发布且与存储于所述计算装置的所述存储器中且由所述实体发布的一或多个资源相关联;第一确定模块,其经配置以确定所述计算装置的默认语言;存取模块,其经配置以存取所述一或多个资源;第二确定模块,其经配置以确定所述一或多个资源是否包含呈所述默认语言的所述第一字;及传输模块,显示模块经配置以:如果所述一或多个资源包含呈所述默认语言的所述第一字,那么将呈所述默认语言的所述第一字传输到所述应用程序,所述传输模块经配置以将所述第一字及所述默认语言的指示传输到翻译服务器、从所述翻译服务器接收通过将所述第一字翻译成所述默认语言而获得的第二字及将所述第二字传输到所述应用程序。According to another general aspect, a computing device having at least one processor and a memory includes a receiving module configured to receive a request from an application to provide a first word for use by the application, the The application is published by an entity and is associated with one or more resources stored in the memory of the computing device and published by the entity; a first determining module configured to determine a default of the computing device a language; an access module configured to access the one or more resources; a second determination module configured to determine whether the one or more resources include the first word in the default language and a transmission module, a display module configured to: transmit the first word in the default language to the application if the one or more resources include the first word in the default language a program, the transmission module configured to transmit the first word and an indication of the default language to a translation server, receive from the translation server a second word obtained by translating the first word into the default language two words and transmitting the second word to the application.
根据另一个一般方面,一种计算机程序产品有形地体现于计算机可读媒体上且包括如果执行那么致使计算装置的至少一个处理器进行以下操作的指令:从正由所述至少一个处理器执行的应用程序接收用以提供第一字以供由所述应用程序使用的请求,其中所述应用程序由实体发布且所述应用程序与存储于所述计算装置的存储器中且由所述实体发布的一或多个资源相关联;确定所述计算装置的默认语言;在所述计算装置的所述存储器中存取所述一或多个资源;确定所述一或多个资源是否包含呈所述默认语言的所述第一字;如果所述一或多个资源包含呈所述默认语言的所述第一字,那么将所述第一字提供到所述应用程序;及如果所述一或多个资源不包含呈所述默认语言的所述第一字,那么:将所述第一字及所述默认语言的指示传输到翻译服务器;从所述翻译服务器接收通过将所述第一字翻译成所述默认语言而获得的第二字;及将所述第二字提供到所述应用程序。According to another general aspect, a computer program product is tangibly embodied on a computer-readable medium and includes instructions that, if executed, cause at least one processor of a computing device to: An application receives a request to provide a first word for use by the application, wherein the application is issued by an entity and the application is identical to a program stored in memory of the computing device and issued by the entity One or more resources are associated; determining a default language of the computing device; accessing the one or more resources in the memory of the computing device; determining whether the one or more resources include the the first word in a default language; if the one or more resources include the first word in the default language, providing the first word to the application; and if the one or a plurality of resources do not contain the first word in the default language, then: transmit the first word and an indication of the default language to a translation server; a second word translated into the default language; and providing the second word to the application.
根据另一个一般方面,一种方法由计算装置执行。所述方法包含:由所述计算装置识别在所述计算装置上执行的应用程序的优选语言,其中所述应用程序利用字;存取所述应用程序的一或多个资源;确定所述一或多个资源不包含呈所述优选语言的所述字;及将所述字及所述优选语言的指示传输到计算系统。According to another general aspect, a method is performed by a computing device. The method includes: identifying, by the computing device, a preferred language for an application executing on the computing device, wherein the application utilizes words; accessing one or more resources of the application; determining the one or more resources of the application or more resources do not include the word in the preferred language; and transmitting the word and an indication of the preferred language to a computing system.
根据另一个一般方面,一种计算装置包含:识别模块,其经配置以识别在所述计算装置上执行的应用程序的优选语言,其中所述应用程序利用字;存取模块,其经配置以存取所述应用程序的一或多个资源;确定模块,其经配置以确定所述一或多个资源不包含呈所述优选语言的所述字;及传输模块,其经配置以将所述字及所述优选语言的指示传输到计算系统。According to another general aspect, a computing device includes: an identification module configured to identify a preferred language of an application executing on the computing device, wherein the application utilizes a word; an access module configured to accessing one or more resources of the application; a determining module configured to determine that the one or more resources do not include the word in the preferred language; and a transmitting module configured to transfer the The word and an indication of the preferred language are transmitted to the computing system.
根据另一个一般方面,一种计算机程序产品有形地体现于计算机可读媒体上且包括如果执行那么致使计算装置的至少一个处理器进行以下操作的指令:识别在所述计算装置上执行的应用程序的优选语言,其中所述应用程序利用字;存取所述应用程序的一或多个资源;确定所述一或多个资源不包含呈所述优选语言的所述字;及将所述字及所述优选语言的指示传输到计算系统。According to another general aspect, a computer program product is tangibly embodied on a computer-readable medium and includes instructions that, if executed, cause at least one processor of a computing device to: identify an application program executing on the computing device wherein the application utilizes a word; accessing one or more resources of the application; determining that the one or more resources do not contain the word in the preferred language; and converting the word and an indication of said preferred language is transmitted to the computing system.
根据另一个一般方面,一种方法由计算装置执行。所述方法包含:从第一实体接收将在计算装置上运行的应用程序,所述应用程序包含至少一个资源,所述至少一个资源包含呈第一语言的字;从第二实体接收用以下载所述应用程序的请求,所述第二实体具有优选语言,所述优选语言不同于所述第一语言;及将所述字从所述第一语言翻译成所述优选语言。According to another general aspect, a method is performed by a computing device. The method includes: receiving from a first entity an application to be run on a computing device, the application comprising at least one resource comprising words in a first language; receiving from a second entity an application for downloading A request of the application, the second entity has a preferred language, the preferred language is different from the first language; and the word is translated from the first language to the preferred language.
在附图及下文说明中陈述一或多个实施方案的细节。从所述说明及图式且从权利要求书将明了其它特征。The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
附图说明Description of drawings
图1是根据一实施方案的用于翻译由应用程序提供的信息的系统的框图。1 is a block diagram of a system for translating information provided by an application, according to an embodiment.
图2是根据一实施方案的图解说明计算机程序产品的实例操作的流程图。2 is a flowchart illustrating example operation of a computer program product, according to an implementation.
图3是根据一实施方案的图解说明计算机程序产品的实例操作的流程图。3 is a flowchart illustrating example operation of a computer program product, according to an implementation.
图4是显示用户接口的应用程序的屏幕截图。Figure 4 is a screenshot of the application displaying the user interface.
图5是根据一实施方案的图解说明用于显示应用程序或计算机程序的文本的方法的流程图。5 is a flowchart illustrating a method for displaying text of an application or computer program, according to an implementation.
图6是根据一实施方案的系统的框图。6 is a block diagram of a system according to an embodiment.
图7是根据一实施方案的图解说明计算机程序产品的实例操作的流程图。7 is a flowchart illustrating example operation of a computer program product, according to an implementation.
图8是根据一实施方案的系统的框图。8 is a block diagram of a system according to an embodiment.
图9是根据一实施方案的图解说明计算机程序产品的实例操作的流程图。9 is a flowchart illustrating example operation of a computer program product, according to an implementation.
图10是根据一实施方案的图解说明计算机程序产品的实例操作的流程图。10 is a flowchart illustrating example operation of a computer program product, according to an implementation.
具体实施方式Detailed ways
图1是根据一实施方案的用于翻译由应用程序提供的信息的系统100的框图。系统100可由用户或消费者用于运行或执行程序或应用程序。举例来说,系统100可为例如手持式计算装置或个人计算机的计算装置或可并入到所述计算装置中。FIG. 1 is a block diagram of a system 100 for translating information provided by applications, according to one embodiment. System 100 can be used by users or consumers to run or execute programs or applications. For example, system 100 may be or may be incorporated into a computing device such as a handheld computing device or a personal computer.
在一些实施方案中,应用程序及计算机程序开发者可开发用于在系统100上或其内运行或执行的应用程序或计算机程序。在一些实施方案中,应用程序或计算机程序经配置以经由所写入语言或所写入字与应用程序或计算机程序的用户通信。在一些实施方案中,系统100经配置以翻译应用程序或计算机程序试图提供给用户的字。In some implementations, application and computer program developers may develop applications or computer programs to run or execute on or within the system 100 . In some implementations, the application or computer program is configured to communicate with a user of the application or computer program via a written language or written word. In some implementations, the system 100 is configured to translate words that an application or computer program attempts to provide to a user.
系统100包含识别模块110、翻译模块120、显示模块130及确定模块140。在一些实施方案中,系统100或本文中所揭示的其它系统或计算装置的组件或模块中的一或多者可为或可包含基于硬件的模块(例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器)、固件模块及/或基于软件的模块(例如,计算机代码模块、可由计算机执行的一组计算机可读指令)。举例来说,在一些实施方案中,识别模块110可为或可包含经配置用于由至少一个处理器(未展示)执行的软件模块。类似地,翻译模块120可为或可包含经配置用于由至少一个处理器(未展示)执行的软件模块。在一些实施方案中,模块或组件的功能性可包含于与图1中所展示的那些模块及/或组件不同的模块及/或组件中。举例来说,尽管未展示,但识别模块110的功能性可包含于与识别模块110不同的模块中或可划分成几个不同模块。The system 100 includes an identification module 110 , a translation module 120 , a display module 130 and a determination module 140 . In some embodiments, one or more of the components or modules of system 100 or other systems or computing devices disclosed herein may be or include hardware-based modules (e.g., digital signal processors (DSPs), field programmable gate array (FPGA), memory), firmware modules, and/or software-based modules (eg, computer code modules, a set of computer-readable instructions executable by a computer). For example, in some implementations, identification module 110 may be or may include a software module configured for execution by at least one processor (not shown). Similarly, translation module 120 may be or include a software module configured for execution by at least one processor (not shown). In some implementations, the functionality of a module or component may be included in different modules and/or components than those shown in FIG. 1 . For example, although not shown, the functionality of the identification module 110 may be included in a different module than the identification module 110 or may be divided into several different modules.
识别模块110操作地耦合到应用程序105及确定模块140。识别模块110经配置以识别应用程序何时试图以除用户理解或优选的语言之外的语言与用户通信。举例来说,如果用户喜欢以日语通信且应用程序105正试图以英语将字显示给用户,那么识别模块将识别此不一致或差异。The identification module 110 is operatively coupled to the application 105 and the determination module 140 . The recognition module 110 is configured to recognize when an application attempts to communicate with the user in a language other than the user's understood or preferred language. For example, if the user prefers to communicate in Japanese and the application 105 is attempting to display words to the user in English, the recognition module will identify this inconsistency or difference.
翻译模块120操作地耦合到识别模块110。翻译模块120经配置以翻译应用程序105正试图显示给用户U的一或若干个字。举例来说,在一些实施方案中,翻译模块130经配置以将所述一或若干个字翻译成若干种不同语言(例如汉语、日语、德语、西班牙语等)。The translation module 120 is operatively coupled to the recognition module 110 . The translation module 120 is configured to translate the word or words that the application 105 is attempting to display to the user U. For example, in some implementations, translation module 130 is configured to translate the one or several words into several different languages (eg, Chinese, Japanese, German, Spanish, etc.).
在一些实施方案中,翻译模块120包含经配置以翻译一或若干个字的软件。在其它实施方案中,翻译模块120经配置以与第三方(例如经由网络)通信以请求或以其它方式获取所述一或若干个字的翻译。In some implementations, translation module 120 includes software configured to translate one or several words. In other implementations, the translation module 120 is configured to communicate with a third party (eg, via a network) to request or otherwise obtain a translation of the word or words.
翻译模块120操作地耦合到显示模块130。显示模块130经配置以将输出提供给用户U。举例来说,在一些实施方案中,显示模块130经配置以(例如)经由显示屏将视觉输出提供给用户U。在一些实施方案中,显示模块130经配置以输出已由翻译模块120翻译的一或若干个字。The translation module 120 is operatively coupled to the display module 130 . The display module 130 is configured to provide output to the user U. For example, in some implementations, the display module 130 is configured to provide visual output to the user U, eg, via a display screen. In some implementations, the display module 130 is configured to output the word or words that have been translated by the translation module 120 .
确定模块140经配置以确定用户U的优选语言。举例来说,在一些实施方案中,确定模块140经配置以确定用户U的本机语言。在一些实施方案中,确定模块140经配置以通过确定用户的位置(例如国家)及使优选语言确定以所述位置或国家所使用的语言为基础而确定用户的优选语言。在一些实施方案中,确定模块140经配置以基于如由用户U设定的装置、系统或应用程序的设定而确定用户U的优选语言。The determination module 140 is configured to determine the user U's preferred language. For example, in some implementations, the determination module 140 is configured to determine the native language of the user U. In some implementations, the determination module 140 is configured to determine the user's preferred language by determining the user's location (eg, country) and basing the preferred language determination on the language used in the location or country. In some implementations, the determination module 140 is configured to determine the user U's preferred language based on device, system, or application settings as set by the user U.
在一些实施方案中,确定模块140包含查询模块142及接收模块144。查询模块142经配置以将查询提供给用户。在一些实施方案中,查询请求用户U提供用户U的优选语言的指示。在此些实施方案中,接收模块144经配置以接收对如由用户U提供的查询的响应。In some implementations, the determining module 140 includes a querying module 142 and a receiving module 144 . The query module 142 is configured to provide queries to users. In some embodiments, the query requests user U to provide an indication of user U's preferred language. In such implementations, the receiving module 144 is configured to receive responses to queries as provided by user U.
在一些实施方案中,装置或系统100的操作系统或平台经配置以辨识或识别程序或应用程序何时使用所写入字与用户通信。举例来说,在一些实施方案中,操作系统经配置以辨识程序或应用程序105何时试图将菜单或其它用户接口项提供给用户。接着,操作系统或平台可经配置以识别菜单或其它用户接口项的语言且可将经翻译菜单或其它用户接口项提供到应用程序(以用于提供给用户)或直接提供给用户。在一些实施方案中,操作系统或平台经配置以与第三方翻译服务通信以获取菜单或其它用户接口项的必需翻译。在其它实施方案中,操作系统或平台本身可经配置以翻译菜单或其它用户接口项。In some implementations, the operating system or platform of the device or system 100 is configured to recognize or recognize when a program or application uses written words to communicate with a user. For example, in some implementations, the operating system is configured to recognize when a program or application 105 attempts to provide a menu or other user interface item to the user. The operating system or platform can then be configured to recognize the language of the menu or other user interface item and can provide the translated menu or other user interface item to the application (for presentation to the user) or directly to the user. In some implementations, the operating system or platform is configured to communicate with a third-party translation service to obtain the necessary translations of menus or other user interface items. In other implementations, the operating system or platform itself may be configured to translate menus or other user interface items.
在其它实施方案中,程序或应用程序105可经配置以将用以提供菜单或其它用户接口项的翻译的请求提供到操作系统或提供到平台。In other implementations, the program or application 105 may be configured to provide a request to provide a translation of a menu or other user interface item to the operating system or to the platform.
在其它实施方案中,辅助程序或应用程序可为作用的且可经配置以识别或辨识主要程序或应用程序何时试图使用所写入字与装置的用户通信。在此些实施方案中,辅助程序或应用程序可经配置以中断主要程序与用户之间的通信。接着,辅助程序可与第三方翻译服务通信以获取任何必需翻译或可提供翻译功能。接着,辅助应用程序可将经翻译菜单或其它用户接口项提供到主要程序或应用程序105(以用于提供给用户)或可将翻译直接提供给用户。In other implementations, a secondary program or application may be active and may be configured to recognize or recognize when a primary program or application attempts to communicate with a user of the device using written words. In such implementations, the secondary program or application can be configured to interrupt communication between the primary program and the user. The helper program may then communicate with the third-party translation service to obtain any necessary translations or may provide translation functionality. The secondary application may then provide the translated menu or other user interface item to the main program or application 105 (for provision to the user) or may provide the translation directly to the user.
图2是根据一实施方案的图解说明方法200的流程图。在一些实施方案中,方法200允许应用程序或计算机程序的用户以所述用户的优选语言与应用程序或计算机程序通信或互动。举例来说,如果应用程序或计算机程序试图经由将包含呈并非用户优选或用户的本机语言的语言的一或若干个字的显示与用户通信,那么方法200可用于在将所述一或若干个字显示给用户之前将此或此些字翻译成用户优选的语言。FIG. 2 is a flowchart illustrating a method 200 according to an embodiment. In some embodiments, method 200 allows a user of the application or computer program to communicate or interact with the application or computer program in the user's preferred language. For example, if an application or computer program attempts to communicate with a user via a display that will contain one or several words in a language that is not the user's preferred or user's native language, the method 200 can be used to translate the word or words into the user's preferred language before displaying the word to the user.
在一些实施方案中,计算机程序产品有形地体现于计算机可读媒体上且包含在执行时经配置以致使至少一个处理器实施方法200的指令。In some implementations, a computer program product is tangibly embodied on a computer-readable medium and includes instructions that, when executed, are configured to cause at least one processor to implement the method 200 .
在210处,做出关于应用程序或计算机程序产品是否试图将显示提供给用户的确定。举例来说,在210处,方法识别应用程序或计算机程序产品何时试图将包含一字或一组字的显示提供给用户。举例来说,在210处,如果应用程序或计算机程序试图通过向用户提供查询而与用户通信或互动或如果应用程序或计算机程序产品正向用户提供口头指令或信息,那么所述方法识别应用程序。At 210, a determination is made as to whether the application or computer program product is attempting to provide a display to the user. For example, at 210, the method identifies when an application or computer program product attempts to provide a display comprising a word or group of words to a user. For example, at 210, the method identifies if the application or computer program is attempting to communicate or interact with the user by providing queries to the user or if the application or computer program product is providing verbal instructions or information to the user. .
在220处,防止应用程序或计算机程序产品向用户提供显示。举例来说,在一些实施方案中,中断应用程序或计算机程序产品。具体来说,在一些实施方案中,用户的装置(例如手持式装置或个人计算机)的系统或者另一应用程序或计算机程序可中断或截获应用程序或计算机程序产品向用户提供显示的尝试。At 220, the application or computer program product is prevented from providing a display to the user. For example, in some implementations, an application or computer program product is interrupted. Specifically, in some implementations, the system of the user's device (eg, a handheld device or personal computer) or another application or computer program may interrupt or intercept an attempt by the application or computer program product to provide a display to the user.
在230处,做出关于应用程序试图显示给用户的一或若干个字的语言是否呈用户的优选语言的确定。举例来说,可做出关于一或若干个字的语言是否是用户的本机语言的确定。在一些实施方案中,可使用公共可用资源来确定一或若干个字的语言。At 230, a determination is made as to whether the language of the word or words that the application is attempting to display to the user is in the user's preferred language. For example, a determination may be made as to whether the language of the word or words is the user's native language. In some implementations, publicly available resources may be used to determine the language of one or several words.
如果显示的一或若干个字不呈用户的语言,那么在240处,确定用户是否允许所述一或若干个字的翻译。如果用户允许搜索结果的翻译,那么在250处,翻译一或若干个字,且在260处,将经翻译显示(具有一或若干个经翻译字)提供给用户。如果用户不允许一或若干个字的翻译,那么不执行翻译且将呈原始语言的一或若干个字提供给用户。If the word or words displayed are not in the user's language, then at 240, it is determined whether the user allows translation of the word or words. If the user allows translation of the search results, then at 250 the word or words are translated and at 260 a translated display (with the translated word or words) is provided to the user. If the user does not allow translation of the word or words, no translation is performed and the word or words in the original language are provided to the user.
在一些实施方案中,用户可调整或设定指示用户是否期望或允许搜索结果的翻译的设定。另外,在一些实施方案中,用户可提供用户的优选语言的指示。在其它实施方案中,可向用户提供用以允许用户指示用户是否期望翻译搜索结果的提示或请求。In some implementations, the user may adjust or set a setting indicating whether the user desires or allows translation of search results. Additionally, in some implementations, the user may provide an indication of the user's preferred language. In other implementations, a prompt or request may be provided to the user to allow the user to indicate whether the user wishes to translate the search results.
图3是根据一实施方案的图解说明方法300的流程图。在一些实施方案中,方法300允许应用程序或计算机程序的用户以装置的用户的优选语言与应用程序或计算机程序通信或互动。图4图解说明以多种语言(装置的用户可能不理解所述语言)提供字或与装置的用户通信的应用程序的屏幕截图。举例来说,如果应用程序或计算机程序试图经由将包含呈并非用户优选或理解或者用户的本机语言的语言的一或若干个字的显示与用户通信,那么方法300可用于在将所述一或若干个字显示给用户之前将此字或此些字翻译成用户优选的语言。FIG. 3 is a flowchart illustrating a method 300 according to an embodiment. In some embodiments, the method 300 allows a user of the application or computer program to communicate or interact with the application or computer program in the preferred language of the user of the device. Figure 4 illustrates a screenshot of an application that provides words or communicates with a user of the device in multiple languages that the user of the device may not understand. For example, if an application or computer program attempts to communicate with a user via a display that will contain one or several words in a language that is not the user's preferred or understood or the user's native language, the method 300 can be used to The word or words are translated into the user's preferred language before the word or words are displayed to the user.
在一些实施方案中,计算机程序产品有形地体现于计算机可读媒体上且包含在执行时经配置以致使至少一个处理器实施方法300的指令。In some implementations, a computer program product is tangibly embodied on a computer-readable medium and includes instructions that, when executed, are configured to cause at least one processor to implement the method 300 .
在310处,方法包含识别应用程序或计算机程序何时试图将包含呈不同于用户的优选或本机语言的语言的字的显示提供给用户。在一些实施方案中,使用公共可用资源(例如经由因特网可获得的资源)来确定应用程序或计算机程序试图显示给用户的一或若干个字的语言。At 310, the method includes identifying when an application or computer program attempts to provide a display to a user that includes words in a language other than the user's preferred or native language. In some implementations, publicly available resources, such as those available via the Internet, are used to determine the language of the word or words that the application or computer program is attempting to display to the user.
在一些实施方案中,装置的操作系统或平台经配置以辨识或识别程序或应用程序何时使用所写入字与用户通信。举例来说,在一些实施方案中,操作系统经配置以辨识程序或应用程序何时试图将菜单或其它用户接口项提供给用户。接着,操作系统或平台可经配置以识别菜单或其它用户接口项的语言且可将经翻译菜单或其它用户接口项提供到应用程序(以用于提供给用户)或直接提供给用户。在一些实施方案中,操作系统或平台经配置以与第三方翻译服务通信以获取菜单或其它用户接口项的必需翻译。在其它实施方案中,操作系统或平台本身可经配置以翻译菜单或其它用户接口项。In some implementations, the operating system or platform of the device is configured to recognize or recognize when a program or application uses written words to communicate with a user. For example, in some implementations, the operating system is configured to recognize when a program or application attempts to provide a menu or other user interface item to the user. The operating system or platform can then be configured to recognize the language of the menu or other user interface item and can provide the translated menu or other user interface item to the application (for presentation to the user) or directly to the user. In some implementations, the operating system or platform is configured to communicate with a third-party translation service to obtain the necessary translations of menus or other user interface items. In other implementations, the operating system or platform itself may be configured to translate menus or other user interface items.
在其它实施方案中,程序或应用程序可经配置以将用以提供菜单或其它用户接口项的翻译的请求提供到操作系统或提供到平台。In other implementations, a program or application may be configured to provide a request to provide a translation of a menu or other user interface item to the operating system or to the platform.
在其它实施方案中,辅助程序或应用程序可为作用的且可经配置以识别或辨识主要程序或应用程序何时试图使用所写入字与装置的用户通信。在此些实施方案中,辅助程序或应用程序可经配置以中断主要程序与用户之间的通信。接着,辅助程序可与第三方翻译服务通信以获取任何必需翻译或可提供翻译功能。接着,辅助应用程序可将经翻译菜单或其它用户接口项提供到主要程序或应用程序(以用于提供给用户)或可将翻译直接提供给用户。In other implementations, a secondary program or application may be active and may be configured to recognize or recognize when a primary program or application attempts to communicate with a user of the device using written words. In such implementations, the secondary program or application can be configured to interrupt communication between the primary program and the user. The helper program may then communicate with the third-party translation service to obtain any necessary translations or may provide translation functionality. The secondary application may then provide the translated menu or other user interface item to the main program or application for provision to the user or may provide the translation directly to the user.
在一些实施方案中,用户提供用户的优选语言的指示。举例来说,在一些实施方案中,方法300包含向用户请求优选语言的指示。在一些实施方案中,优选语言是用户的本机语言。In some embodiments, the user provides an indication of the user's preferred language. For example, in some implementations, method 300 includes requesting an indication of a preferred language from a user. In some embodiments, the preferred language is the user's native language.
在一些实施方案中,中断应用程序或计算机程序以免将具有呈其原始语言的字的显示提供给用户。举例来说,在一些实施方案中,用户的装置的操作系统或其它程序中断应用程序或计算机程序以免将具有呈其原始语言的字的显示提供给用户。In some implementations, the application or computer program is interrupted from providing a display with words in its original language to the user. For example, in some implementations, the operating system or other program of the user's device interrupts the application or computer program from providing a display with words in its original language to the user.
在320处,翻译显示中的并非呈用户的优选语言的字。举例来说,如果用户的优选语言是汉语且字的原始语言是英语,那么将把字翻译成汉语。在一些实施方案中,可使用公共可用翻译服务来翻译字。举例来说,可使用经由因特网可获得的翻译服务来将字翻译成用户的优选语言。在330处,将包含经翻译字的显示提供给用户。At 320, words in the display that are not in the user's preferred language are translated. For example, if the user's preferred language is Chinese and the original language of the word is English, then the word will be translated into Chinese. In some implementations, words can be translated using publicly available translation services. For example, translation services available via the Internet may be used to translate words into the user's preferred language. At 330, a display including the translated word is provided to the user.
图5是根据一实施方案的用于以不同语言显示应用程序或计算机程序的文本(例如菜单)的方法500的流程图。在此实例中,基于资源的文本串可经翻译且显示给装置的用户。5 is a flowchart of a method 500 for displaying text (eg, menus) of an application or computer program in different languages, according to an implementation. In this example, the resource-based text string can be translated and displayed to the user of the device.
举例来说,在一些实施方案中,以下是菜单项的实施方案及此菜单项的显示。For example, in some implementations, the following is an implementation of a menu item and the display of this menu item.
OverrideOverride
public boolean onCreateOptionsMenu(final Menu menu){public boolean onCreateOptionsMenu(final Menu menu){
final boolean result=super.onCreateOptionsMenu(menu);final boolean result = super.onCreateOptionsMenu(menu);
String menuTitle=getString(R.string.menu_title);String menuTitle = getString(R.string.menu_title);
MenuItem item=menu.add(menuTitle);MenuItem item = menu.add(menuTitle);
return result&&item!=null;return result && item! = null;
另外,含有R.string.menu_title的串资源目录可如下文。In addition, the string resource directory containing R.string.menu_title can be as follows.
values/string.xmlvalues/string.xml
values-mcc232-de/strings.xmlvalues-mcc232-de/strings.xml
values-en/string.xmlvalues-en/string.xml
values-fr-rCA/string.xmlvalues-fr-rCA/string.xml
values-en-port/string.xmlvalues-en-port/string.xml
values-en-notouch-12key/string.xmlvalues-en-notouch-12key/string.xml
方法500可用于以装置的用户的优选语言显示菜单。在所图解说明实施方案中,在510处,确定本地资源,例如values/string.xml。具体来说,在512处,定位用于给定资源的所有资源目录。在514处,消除与装置配置相矛盾的资源文件。在516处,识别限定符。在518处,消除不包含指定限定符的资源目录。重复项516及518直到剩余仅一个目录(例如values/string.xml)为止。Method 500 may be used to display menus in the preferred language of a user of the device. In the illustrated embodiment, at 510, a local resource, such as values/string.xml, is determined. Specifically, at 512, all resource directories for a given resource are located. At 514, resource files that contradict the device configuration are eliminated. At 516, a qualifier is identified. At 518, resource directories that do not contain the specified qualifier are eliminated. Items 516 and 518 are repeated until only one directory remains (eg, values/string.xml).
在520处,装置的平台可确定或检测是否已请求自动翻译。如果尚未请求,那么完成所述过程。如果已请求自动翻译,那么在530处,确定或检测本地资源的语言是否与用户的优选语言相同。如果是,那么完成所述过程。如果否,那么在540处,可使用翻译服务来翻译所述资源。举例来说,可使用翻译服务来将资源(其是以任何语言)的串翻译成用户的优选语言(任何其它语言)。At 520, the platform of the device may determine or detect whether an automatic translation has been requested. If not already requested, the process is completed. If automatic translation has been requested, then at 530, it is determined or detected whether the language of the local resource is the same as the user's preferred language. If yes, then complete the process. If not, then at 540, the resource can be translated using a translation service. For example, a translation service may be used to translate strings of resources (which are in any language) into the user's preferred language (any other language).
在一些实施方案中,翻译服务可为在装置本身上运行的程序,或装置可与第三方翻译服务(例如可经由因特网接达的翻译服务)通信。In some implementations, the translation service can be a program running on the device itself, or the device can communicate with a third-party translation service, such as a translation service accessible via the Internet.
在一些实施方案中,装置经配置以识别或检测用户的优选语言。举例来说,在一些实施方案中,可请求用户提供优选语言。在其它实施方案中,装置经配置以检测用户的位置或区域设置并选择用户的位置或区域设置的语言作为用户的优选语言。In some implementations, the device is configured to recognize or detect the user's preferred language. For example, in some implementations, the user may be asked to provide a preferred language. In other implementations, the device is configured to detect the user's location or locale and select the language of the user's location or locale as the user's preferred language.
在一些实施方案中,可改变或修改应用程序编程接口(API)以支持方法500。举例来说,API可经修改如下。In some embodiments, an application programming interface (API) may be changed or modified to support method 500 . For example, the API can be modified as follows.
可将“String getString(int resourceId)”修改为“String getString(int resourceId,booleanautoTranslateWhenNeeded)”。"String getString(int resourceId)" can be changed to "String getString(int resourceId,booleanautoTranslateWhenNeeded)".
因此,依据以上实例,可将“String menuTitle=getString(R.string.menu_title)”修改为“String menuTitle=getString(R.string.menu_title,true)”。Therefore, according to the above example, "String menuTitle=getString(R.string.menu_title)" can be changed to "String menuTitle=getString(R.string.menu_title,true)".
在一些实施方案中,文本串或资源识别语言。举例来说,在一些实施方案中,文本串或资源识别文本串的语言。在其它实施方案中,装置、应用程序或程序包含经配置以识别文本串的默认语言的识别符。In some implementations, a text string or resource identifies a language. For example, in some implementations, a text string or resource identifies the language of the text string. In other implementations, the device, application or program includes an identifier configured to recognize a default language of the text string.
在一些实施方案中,应用程序或程序包含用于应用程序的文本串的语言翻译的高速缓存。在此些实施方案中,可查找或识别经翻译文本串而非执行文本串的新翻译。In some implementations, the application or program includes a cache of language translations for the application's text strings. In such implementations, translated text strings may be looked up or identified rather than performing new translations of the text strings.
在一些实施方案中,装置的应用程序或平台包含启用或停用自动翻译特征的选项。在此些实施方案中,用户可确定应用程序或程序是否应提供经翻译文本串。In some implementations, the device's application or platform includes an option to enable or disable the automatic translation feature. In such implementations, a user can determine whether an application or program should provide translated text strings.
在一些实施方案中,应用程序或程序的开发者可指定一目标语言或一种以上目标语言。接着,可将资源及文本串全部翻译成所有目标语言。在此些实施方案中,在应用程序的运行时间期间不需要进行资源或文本串的实际翻译。In some implementations, a developer of an application or program may specify a target language or more than one target language. Then, resources and text strings can be fully translated into all target languages. In such implementations, no actual translation of resources or text strings need be done during runtime of the application.
在一些实施方案中,可翻译位于应用程序或计算机程序的代码内的文本串。举例来说,将显示的文本串可如下。In some implementations, text strings located within the code of an application or computer program may be translated. For example, the text string to be displayed can be as follows.
myTextView.setText(“Hello World”);myTextView.setText("Hello World");
API可经修改如下。The API may be modified as follows.
TextView::setText(String text,Language language,Boolean autoTranslateWhenNeeded);TextView::setText(String text,Language language,Boolean autoTranslateWhenNeeded);
参数“语言”可指定给定串的语言。如果未指定串的语言,那么翻译服务可分析串并提供所述语言。如果串的语言不与用户的优选语言相同,那么应用程序或计算机程序可联系翻译服务(例如经由因特网)以将串翻译成优选语言。接着可将呈用户的优选语言的串显示或呈现给用户。The parameter "language" may specify the language of the given string. If the language of the string is not specified, the translation service can analyze the string and provide that language. If the language of the string is not the same as the user's preferred language, the application or computer program can contact a translation service (eg, via the Internet) to translate the string into the preferred language. The string in the user's preferred language may then be displayed or presented to the user.
在一些实施方案中,可使用以下伪代码。In some implementations, the following pseudocode can be used.
String text=“hello world”;String text = "hello world";
String textTranslated=getTranslateService().translate(text,String textTranslated=getTranslateService().translate(text,
originalLanguage,targetLanguage);originalLanguage, targetLanguage);
myTextView.setText(textTranslated);myTextView.setText(textTranslated);
在此些实施方案中,装置的平台使应用程序或计算机程序的开发者知悉翻译服务。如需要,应用程序或计算机程序的开发者可使用翻译服务。In such implementations, the platform of the device makes the developer of the application or computer program aware of the translation service. Developers of applications or computer programs may use translation services if required.
如图6中所图解说明,在一些实施方案中,例如计算机系统或计算装置的系统600包含处理器610及存储器620。所述系统还包含接收模块630、第一确定模块640、存取模块650、第二确定模块660及传输模块670。As illustrated in FIG. 6 , in some implementations, a system 600 such as a computer system or computing device includes a processor 610 and a memory 620 . The system further includes a receiving module 630 , a first determining module 640 , an accessing module 650 , a second determining module 660 and a transmitting module 670 .
接收模块630经配置以从应用程序接收用以提供第一字以供由应用程序使用的请求。举例来说,在一些实施方案中,应用程序可存储于存储器620中。应用程序可正请求所述字,使得所述字可显示或呈现给系统或装置600的用户。在一些实施方案中,应用程序由实体发布或分配或以其它方式提供到装置600。应用程序可与存储于存储器620中的资源(例如文本文件或代码(例如经编译代码))相关联。由应用程序请求的第一字可为位于所述资源中的一者中或与所述资源中的一者相关联的字。在一些实施方案中,资源也由提供应用程序的实体发布或分配。The receiving module 630 is configured to receive a request from the application to provide the first word for use by the application. For example, in some implementations, applications may be stored in memory 620 . An application may be requesting the word so that the word may be displayed or presented to a user of the system or device 600 . In some embodiments, applications are published or distributed or otherwise provided to device 600 by an entity. Applications may be associated with resources stored in memory 620 , such as text files or code (eg, compiled code). The first word requested by the application may be a word located in or associated with one of the resources. In some embodiments, resources are also published or allocated by the entity providing the application.
接收模块630操作地耦合到第一确定模块640。第一确定模块640经配置以确定系统或计算装置600的默认语言。在一些实施方案中,第一确定模块640经配置以经由装置或系统600中的设定而识别默认语言。在其它实施方案中,第一确定模块640经配置以向装置600的用户提供用以确定默认或优选语言的查询。The receiving module 630 is operatively coupled to a first determining module 640 . The first determination module 640 is configured to determine a default language of the system or computing device 600 . In some implementations, the first determination module 640 is configured to identify a default language via a setting in the device or system 600 . In other implementations, the first determination module 640 is configured to provide a query to a user of the device 600 to determine a default or preferred language.
存取模块650经配置以存取应用程序的资源。所述资源可位于经编译代码中或存储于文本型文件中。第二确定模块660经配置以确定应用程序的资源是否包含呈默认或优选语言的一或若干个字。The access module 650 is configured to access resources of an application. The resources may be located in compiled code or stored in text-type files. The second determination module 660 is configured to determine whether the application's resources include one or several words in a default or preferred language.
如果资源的一或若干个字呈优选或默认语言,那么传输模块670经配置以将所述一或若干个字传输到应用程序。If one or several words of the resource are in a preferred or default language, transmission module 670 is configured to transmit the one or several words to the application.
如果资源的一或若干个字不呈优选或默认语言,那么传输模块670经配置以将所述一或若干个字的翻译提供到应用程序。在一些实施方案中,传输模块670经配置以将一或若干个字及默认或优选语言的指示传输到翻译服务器,例如可经由因特网公共地获得的翻译服务器或服务。在此些实施方案中,传输模块670还经配置以接收翻译的结果且将此些结果(一或若干个经翻译字)提供到应用程序。If the word or words of the resource are not in a preferred or default language, transmission module 670 is configured to provide a translation of the word or words to the application. In some implementations, the transmission module 670 is configured to transmit the one or several words and an indication of the default or preferred language to a translation server, such as a translation server or service publicly available via the Internet. In such implementations, the transport module 670 is also configured to receive the results of the translation and provide such results (the translated word or words) to the application.
图7是根据一实施方案的方法700的流程图。方法700可由包含至少一个处理器及一存储器的计算装置执行。方法700包含:在710处,接收用以提供字以供由应用程序使用的请求。在一些实施方案中,应用程序正在装置的处理器上执行。应用程序由实体发布或分配且与也由所述实体发布或提供的资源(例如经编译代码或文本文件)相关联。在一些实施方案中,与应用程序相关联的资源存储于装置700的存储器中。FIG. 7 is a flowchart of a method 700 according to an embodiment. Method 700 may be performed by a computing device including at least one processor and a memory. Method 700 includes, at 710, receiving a request to provide a word for use by an application. In some embodiments, the application is executing on a processor of the device. An application is published or distributed by an entity and is associated with resources (such as compiled code or text files) that are also published or provided by the entity. In some implementations, resources associated with the application are stored in memory of device 700 .
在720处,在装置的存储器中存取包含所请求字的一或多个资源。在730处,确定所请求字是否呈装置的默认语言或优选语言。在一些实施方案中,此确定包含确定装置的默认或优选语言。举例来说,在一些实施方案中,方法包含向装置的用户提供请求或确定装置(或装置的用户)的默认或优选语言的查询。At 720, one or more resources including the requested word are accessed in memory of the device. At 730, it is determined whether the requested word is in the default or preferred language of the device. In some implementations, this determination includes determining a default or preferred language of the device. For example, in some implementations, a method includes providing a query to a user of a device that requests or determines a default or preferred language for the device (or a user of the device).
在740处,将字传输或提供到应用程序。在一些实施方案中,如果字呈装置的默认语言,那么将字提供到应用程序。在一些实施方案中,如果字不呈默认语言,那么将字翻译成默认语言且将所述字(第二字)提供到应用程序。在一些实施方案中,方法700包含将第一字及默认语言的指示传输到翻译服务器或服务。举例来说,可经由因特网将第一字及默认语言的指示提供到翻译服务。在此些实施方案中,方法700还包含从翻译服务或服务器接收第二字(第一字被翻译成默认语言的结果)及将所述第二字提供到应用程序。At 740, the word is transmitted or provided to the application. In some implementations, the word is provided to the application if the word is in the default language of the device. In some implementations, if the word is not in the default language, the word is translated into the default language and the word (the second word) is provided to the application. In some implementations, method 700 includes transmitting the first word and an indication of the default language to a translation server or service. For example, an indication of the first word and default language may be provided to a translation service via the Internet. In such implementations, the method 700 also includes receiving a second word (the result of the first word being translated into the default language) from a translation service or server and providing the second word to the application.
如图8中所图解说明,在一些实施方案中,系统或计算装置800包含识别模块810、存取模块820、确定模块830及传输模块840。在一些实施方案中,系统800还可包含一或多个处理器及一或多个存储器。As illustrated in FIG. 8 , in some implementations, a system or computing device 800 includes an identification module 810 , an access module 820 , a determination module 830 , and a transmission module 840 . In some implementations, system 800 may also include one or more processors and one or more memories.
识别模块810经配置以识别正在装置800上执行的应用程序的默认或优选语言。在一些实施方案中,应用程序利用一或若干个字。举例来说,应用程序可通过在装置的显示器上显示一或若干个字而与装置800的用户通信。所述一或若干个字可位于应用程序的代码中或其可位于及存储于应用程序所使用的其它资源(例如文本文件)中。Recognition module 810 is configured to recognize a default or preferred language of applications being executed on device 800 . In some implementations, an application utilizes one or several words. For example, an application may communicate with a user of device 800 by displaying one or several words on the device's display. The word or words may be located in the application's code or it may be located and stored in other resources used by the application, such as text files.
存取模块820经配置以存取正在装置800上执行的应用程序所使用的一或多个资源。确定模块830经配置以确定一或若干个字是否呈装置800的默认或优选语言。如果一或若干个字不呈默认或优选语言,那么传输模块840经配置以传输所述一或若干个字及优选语言的指示。举例来说,在一些实施方案中,可将一或若干个字及优选或默认语言传输到经配置以将所述一或若干个字翻译成优选或默认语言的系统,例如计算系统。在一些实施方案中,呈优选语言的字存储于计算装置的存储器或高速缓冲存储器中。Access module 820 is configured to access one or more resources used by applications executing on device 800 . The determination module 830 is configured to determine whether the word or words are in the default or preferred language of the device 800 . If the one or several words are not in the default or preferred language, transmission module 840 is configured to transmit the one or several words and an indication of the preferred language. For example, in some implementations, the one or several words and the preferred or default language may be transmitted to a system, such as a computing system, configured to translate the one or several words into the preferred or default language. In some implementations, the words in the preferred language are stored in memory or cache memory of the computing device.
在一些实施方案中,系统800经配置以确定一或若干个字是否应被自动翻译成优选语言。In some implementations, the system 800 is configured to determine whether one or several words should be automatically translated into the preferred language.
图9是根据一实施方案的方法900的流程图。方法900可由计算装置执行。方法900包含:在910处,识别在计算装置上执行的应用程序的优选语言。在一些实施方案中,应用程序利用字。举例来说,在一些实施方案中,应用程序利用字来与计算装置的用户通信(举例来说,通过将字显示给计算装置的用户)。FIG. 9 is a flowchart of a method 900 according to an embodiment. Method 900 may be performed by a computing device. Method 900 includes, at 910, identifying a preferred language for an application executing on a computing device. In some implementations, the application utilizes words. For example, in some implementations, an application utilizes words to communicate with a user of the computing device (eg, by displaying the words to the user of the computing device).
在一些实施方案中,应用程序与一或多个资源相关联。一或多个资源可包含由应用程序利用的一或若干个字。举例来说,在一些实施方案中,一或多个资源是存储于装置的存储器中的编译代码或文本文件。在920处,存取应用程序的一或多个资源。In some implementations, an application is associated with one or more resources. One or more resources may contain one or several words utilized by the application. For example, in some implementations, the one or more resources are compiled code or text files stored in memory of the device. At 920, one or more resources of the application are accessed.
在930处,做出关于一或多个资源是否包含呈用户或装置的优选语言的字的确定。在一些实施方案中,方法包含向用户提供用以确定优选语言的查询。At 930, a determination is made as to whether the one or more resources contain words in the preferred language of the user or device. In some implementations, the method includes providing a user with a query to determine a preferred language.
在940处,将字及优选语言的指示提供到计算系统。在一些实施方案中,提供字及优选语言的指示以允许将所述字翻译成优选语言。在一些实施方案中,计算系统是本地计算系统。在其它实施方案中,计算系统是远程计算系统,且字及优选语言的指示可经由因特网传输。At 940, an indication of the word and preferred language is provided to the computing system. In some implementations, an indication of the word and preferred language is provided to allow translation of the word into the preferred language. In some embodiments, the computing system is a local computing system. In other embodiments, the computing system is a remote computing system, and the word and indication of the preferred language can be transmitted via the Internet.
在一些实施方案中,方法900包含确定计算系统的存储器或高速缓冲存储器是否包含呈优选语言的字。In some implementations, method 900 includes determining whether a computing system's memory or cache contains words in a preferred language.
在一些实施方案中,在编译时、发行时、下载时或管理时可进行将显示给装置的用户的文本或文本串的翻译。In some implementations, translation of text or text strings to be displayed to a user of the device may occur at compile time, release time, download time, or management time.
在一些实施方案中,在编译时进行文本的翻译。应用程序或计算机程序的开发者可提供默认资源及其语言信息。在编译代码时,开发者可指定几种语言。接着,编译器可将默认资源自动翻译成指定语言且将其封装为二进制,使得在具有匹配目标语言的优选语言的用户使用应用程序时,应用程序将呈用户的优选语言的文本提供或显示给用户。在此实施方案中,在运行时可不需要网络连接。In some embodiments, the translation of the text occurs at compile time. A developer of an application or computer program may provide default resources and their language information. When compiling code, developers can specify several languages. The compiler can then automatically translate the default resource into the specified language and package it into a binary, so that when a user with a preferred language matching the target language uses the application, the application will serve or display text in the user's preferred language to the user. In this embodiment, no network connection may be required at runtime.
在一些实施方案中,在发行时进行文本的翻译。类似于上文,在将应用程序或计算机程序发行到市场时,开发者可指定目标语言。在此实施方案中,额外资源封装可由市场持有者而非开发者签订。In some embodiments, translation of the text occurs at the time of publication. Similar to the above, when releasing an application or computer program to the market, a developer can designate a target language. In this embodiment, additional resource packages may be contracted by market holders rather than developers.
在一些实施方案中,可在用户下载应用程序或计算机程序时翻译文本或文本的串的翻译。举例来说,当用户下载应用程序或计算机程序时,市场或市场提供者可检测应用程序在本机是否支持用户的优选语言。如果应用程序不支持用户的优选语言,那么市场或市场提供者可提示用户可将应用程序翻译成其语言(或可指定较多语言)。接着,用户可接受所述建议,且相关资源将被下载或翻译成用户的优选语言且被下载。In some implementations, the translation of the text or string of text can be translated when the user downloads the application or computer program. For example, when a user downloads an application or computer program, the marketplace or marketplace provider can detect whether the application natively supports the user's preferred language. If the application does not support the user's preferred language, the marketplace or marketplace provider can prompt the user that the application can be translated into their language (or more languages can be specified). The user can then accept the suggestion and the relevant resource will be downloaded or translated into the user's preferred language and downloaded.
图10是根据一实施方案的方法1000的流程图。方法1000可在具有一或多个处理器及一或多个存储器的计算装置上执行。所述方法包含:在1010处,从第一实体接收将在计算装置上运行的应用程序。举例来说,计算系统可包含经配置以从第一实体接收应用程序的接收模块。在一些实施方案中,应用程序包含具有呈第一语言的字的至少一个资源。在一些实施方案中,资源可为编译代码。在其它实施方案中,资源可为文本文件。在一些实施方案中,应用程序使用字来与应用程序的用户通信。FIG. 10 is a flowchart of a method 1000 according to an embodiment. Method 1000 may be executed on a computing device having one or more processors and one or more memories. The method includes, at 1010, receiving an application to run on a computing device from a first entity. For example, a computing system can include a receiving module configured to receive an application from a first entity. In some implementations, the application includes at least one resource having words in a first language. In some implementations, the resource may be compiled code. In other implementations, the resource may be a text file. In some implementations, the application uses words to communicate with the user of the application.
在1010处,从第二实体接收用以下载应用程序的请求。举例来说,第二实体可为与第一实体不同的实体或个体。第二实体具有优选语言,例如第二实体所说或所理解的主要语言。At 1010, a request to download an application is received from a second entity. For example, the second entity may be a different entity or individual than the first entity. The second entity has a preferred language, eg, a primary language spoken or understood by the second entity.
在一些实施方案中,计算系统包含经配置以从第二实体接收请求的第二接收模块。第二接收模块可为经配置以将应用程序提供或分配给消费者的市场的组件。In some implementations, the computing system includes a second receiving module configured to receive a request from a second entity. The second receiving module may be a component of a marketplace configured to provide or distribute the application to consumers.
在1020处,将字从第一语言翻译成优选语言。在一些实施方案中,方法包含将字从第一语言在本地翻译成第二语言。举例来说,翻译软件可在计算装置上执行以将字从第一语言翻译成优选语言。在其它实施方案中,可(例如)经由因特网将字及优选语言的指示传输到翻译服务或服务器。At 1020, the word is translated from the first language to the preferred language. In some implementations, the method includes locally translating the word from the first language to the second language. For example, translation software can be executed on a computing device to translate words from a first language to a preferred language. In other implementations, the word and an indication of the preferred language may be transmitted to a translation service or server, eg, via the Internet.
在一些实施方案中,方法1000包含向第二实体提供用以确定是否应将字翻译成优选语言的查询。In some implementations, the method 1000 includes providing a query to the second entity to determine whether the word should be translated into the preferred language.
在一些实施方案中,可在管理时翻译文本或文本串。举例来说,如上文关于在编译时进行翻译所论述,应用程序管理者或提供者可指定用于应用程序的目标语言(或一种以上语言)。应用程序管理者或提供者可请求脱机翻译文本或文本串。在此实施方案中,在运行时不进行翻译。In some implementations, text or strings of text can be translated at the time of administration. For example, as discussed above with respect to translation at compile time, an application manager or provider may specify a target language (or languages) for the application. An application manager or provider may request offline translation of text or text strings. In this embodiment, no translation occurs at runtime.
本文中所描述的各种技术的实施方案可以数字电子电路或者以计算机硬件、固件、软件或以其组合来实施。实施方案可实施为计算机程序产品,即,有形地体现于信息载体中(例如,体现于机器可读存储装置(计算机可读媒体)中或体现于所传播信号中)的计算机程序,以用于由数据处理设备(例如,可编程处理器、一计算机或多个计算机)处理或控制所述数据处理设备的操作。可以任何形式的编程语言(包含编译语言或解译语言)来写入计算机程序(例如,上文所描述的计算机程序),且可以任何形式来部署所述计算机程序,包含部署为独立程序或部署为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序可经部署以在一个计算机上或在位于一个位点处或跨越多个位点而分布且由通信网络互连的多个计算机上处理。Embodiments of the various techniques described herein may be implemented in digital electronic circuitry or in computer hardware, firmware, software, or combinations thereof. Embodiments can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, for example, in a machine-readable storage device (computer-readable medium) or in a propagated signal, for The operation of said data processing device is processed or controlled by a data processing device (eg, a programmable processor, a computer or computers). Computer programs such as those described above can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a is a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be processed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
方法步骤可由执行计算机程序的一或多个可编程处理器执行,以通过对输入数据进行操作并产生输出来执行功能。方法步骤还可由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(特殊应用集成电路))执行,且设备可实施为所述专用逻辑电路。Method steps can be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps can also be performed by, and apparatus can be implemented as, special purpose logic circuitry, such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
以实例方式,适于处理计算机程序的处理器包含通用微处理器及专用微处理器两者,以及任何种类的数字计算机的任何一或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令及数据。计算机的元件可包含用于执行指令的至少一个处理器及用于存储指令及数据的一或多个存储器装置。通常,计算机还可包含用于存储数据的一或多个大容量存储装置(例如,磁盘、磁光盘或光盘)或可经操作地耦合以从所述一或多个大容量存储装置接收数据或将数据传送到所述一或多个大容量存储装置或者既接收数据又传送数据。适合体现计算机程序指令及数据的信息载体包含所有形式的非易失性存储器,以实例方式,包含:半导体存储器装置,例如EPROM、EEPROM及快闪存储器装置;磁盘,例如内部硬盘或可移除磁盘;磁光盘;以及CD-ROM及DVD-ROM磁盘。所述处理器及存储器可由专用逻辑电路补充或并入专用逻辑电路中。Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer may also include or be operatively coupled to receive data from one or more mass storage devices (e.g., magnetic, magneto-optical, or optical disks) for storing data or Data is transferred to the one or more mass storage devices or both received and transferred. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory including, by way of example: semiconductor memory devices such as EPROM, EEPROM and flash memory devices; magnetic disks such as internal hard disks or removable disks ; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory can be supplemented by or incorporated in special purpose logic circuitry.
为提供与用户的互动,实施方案可实施于计算机上,所述计算机具有用于向用户显示信息的显示装置(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器)及用户可通过其向计算机提供输入的键盘及指针装置(例如,鼠标或轨迹球)。也可使用其它种类的装置来提供与用户的交互;举例来说,提供给用户的反馈可为任何形式的感观反馈,例如,视觉反馈、听觉反馈或触觉反馈;且来自用户的输入可以任何形式来接收,包含声音、语音或触觉输入。To provide for interaction with the user, embodiments may be implemented on a computer having a display device (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor) for displaying information to the user and the user may display information via A keyboard and pointing device (such as a mouse or trackball) that provide input to a computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and the input from the user may be any input in any form, including sound, speech, or tactile input.
实施方案可实施于计算系统(包含后端组件,例如,作为数据服务器;或包含中间件组件,例如,应用程序服务器;或包含前端组件,例如,具有用户可经由其与实施方案互动的图形用户接口或Web浏览器的客户端计算机)或此类后端、中间件或前端组件的任一组合中。组件可由任何数字数据通信形式或媒体(例如,通信网络)互连。通信网络的实例包含局域网络(LAN)及广域网络(WAN),例如因特网。Embodiments may be implemented in a computing system (comprising back-end components, e.g., as data servers; or containing middleware components, e.g., application servers; or containing front-end components, e.g., having a graphical user interface through which a user can interact with the embodiments. interface or web browser client computer) or any combination of such back-end, middleware or front-end components. Components can be interconnected by any form or medium of digital data communication (eg, a communication network). Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.
虽然如本文中所描述,已图解说明了所描述实施方案的一些特征,但所属领域的技术人员现在将能想出许多修改、替代、改变及等效形式。因此,应理解,所附权利要求书打算涵盖归属于实施方案的范围内的所有此类修改及改变。应理解,已仅以实例方式而非限制方式呈现所述实施方案,且可做出形式及细节的各种改变。本文中所描述的设备及/或方法的任一部分可以任一组合形式来组合,互斥组合除外。本文中所描述的实施方案可包含所描述的不同实施方案的功能、组件及/或特征的各种组合及/或子组合。While some features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the scope of the embodiments. It should be understood that the described embodiments have been presented by way of example only, not limitation, and that various changes in form and detail may be made. Any portion of the apparatus and/or methods described herein may be combined in any combination, except mutually exclusive combinations. The implementations described herein can comprise various combinations and/or sub-combinations of the functions, components and/or features of the different implementations described.
Claims (58)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2012/000142 WO2013113135A1 (en) | 2012-02-03 | 2012-02-03 | Translating application resources |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104169872A true CN104169872A (en) | 2014-11-26 |
| CN104169872B CN104169872B (en) | 2018-07-31 |
Family
ID=48904350
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201280069010.XA Expired - Fee Related CN104169872B (en) | 2012-02-03 | 2012-02-03 | Translation application resource |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP2810160A4 (en) |
| CN (1) | CN104169872B (en) |
| WO (1) | WO2013113135A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109254963A (en) * | 2017-07-12 | 2019-01-22 | 金脑数位股份有限公司 | Message processing device |
| CN110414011A (en) * | 2019-06-21 | 2019-11-05 | 北京三快在线科技有限公司 | Multilingual translation device, method, electronic equipment and storage medium |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10162819B2 (en) | 2016-08-17 | 2018-12-25 | Netflix, Inc. | Change detection in a string repository for translated content |
| CN112632212B (en) * | 2019-10-08 | 2024-03-15 | 腾讯科技(深圳)有限公司 | Method, device, equipment and medium for updating to-be-translated entry |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1474312A (en) * | 2003-06-04 | 2004-02-11 | 无敌科技(西安)有限公司 | Device capable of supporting multiple languages and its display method |
| US20060117304A1 (en) * | 2004-11-23 | 2006-06-01 | Microsoft Corporation | Method and system for localizing a package |
| US20060271352A1 (en) * | 2005-05-26 | 2006-11-30 | Microsoft Corporation | Integrated native language translation |
| CN1928813A (en) * | 2006-09-22 | 2007-03-14 | 华为技术有限公司 | Translation method and system for man/machine interaction interface of application program |
| US20120022851A1 (en) * | 2010-07-23 | 2012-01-26 | International Business Machines Corporation | On-demand translation of application text |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6993568B1 (en) * | 2000-11-01 | 2006-01-31 | Microsoft Corporation | System and method for providing language localization for server-based applications with scripts |
| US7437704B2 (en) * | 2003-08-28 | 2008-10-14 | Ines Antje Dahne-Steuber | Real-time generation of software translation |
| CN100447743C (en) * | 2005-06-24 | 2008-12-31 | 国际商业机器公司 | System and method for localizing JAVA GUI applications without modifying source code |
| US8347287B2 (en) * | 2008-10-03 | 2013-01-01 | Hewlett-Packard Development Company, L.P. | System and method for localizing a server application using a client-side translator |
-
2012
- 2012-02-03 CN CN201280069010.XA patent/CN104169872B/en not_active Expired - Fee Related
- 2012-02-03 WO PCT/CN2012/000142 patent/WO2013113135A1/en not_active Ceased
- 2012-02-03 EP EP12867194.8A patent/EP2810160A4/en not_active Withdrawn
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1474312A (en) * | 2003-06-04 | 2004-02-11 | 无敌科技(西安)有限公司 | Device capable of supporting multiple languages and its display method |
| US20060117304A1 (en) * | 2004-11-23 | 2006-06-01 | Microsoft Corporation | Method and system for localizing a package |
| US20060271352A1 (en) * | 2005-05-26 | 2006-11-30 | Microsoft Corporation | Integrated native language translation |
| CN1928813A (en) * | 2006-09-22 | 2007-03-14 | 华为技术有限公司 | Translation method and system for man/machine interaction interface of application program |
| US20120022851A1 (en) * | 2010-07-23 | 2012-01-26 | International Business Machines Corporation | On-demand translation of application text |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109254963A (en) * | 2017-07-12 | 2019-01-22 | 金脑数位股份有限公司 | Message processing device |
| CN110414011A (en) * | 2019-06-21 | 2019-11-05 | 北京三快在线科技有限公司 | Multilingual translation device, method, electronic equipment and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104169872B (en) | 2018-07-31 |
| EP2810160A1 (en) | 2014-12-10 |
| EP2810160A4 (en) | 2015-10-28 |
| WO2013113135A1 (en) | 2013-08-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7018463B2 (en) | Managing the delivery of code and dependent data using the application container | |
| US9805027B2 (en) | Translating application resources | |
| US10091628B2 (en) | Message based application state and card sharing methods for user devices | |
| US10248401B1 (en) | Multiplatform and multichannel distribution of web applications across devices | |
| US9141360B1 (en) | Web application module translation service | |
| US9311407B2 (en) | Native application search results | |
| US20160004858A1 (en) | Security-Enhanced Web Application Module Translation | |
| US10417248B2 (en) | Field extension in database system | |
| US9146972B2 (en) | Ranking of presentation modes for particular content | |
| US10262155B1 (en) | Disabling features using feature toggle | |
| US11782773B2 (en) | Automated application programing interface importation | |
| US11500893B2 (en) | System and method for dynamically finding database nodes and replication state | |
| CN104169872B (en) | Translation application resource | |
| US11755546B2 (en) | Attribute aware relationship-based access control on row and field levels in a relational database | |
| US11556608B2 (en) | Caching for single page web applications | |
| US9210209B2 (en) | Extensible browser plugin interface | |
| US12204875B2 (en) | Rapid prototyping of user experience components and related application functionality | |
| US9756149B2 (en) | Machine-specific instruction set translation | |
| EP4143720B1 (en) | Efficient api with privacy protection | |
| US20220245346A1 (en) | Synthetic crafting of training and test data for named entity recognition | |
| CN118466924A (en) | A service development method, device, equipment and storage medium | |
| HK1224729B (en) | Apparatus, systems, and methods for crowdsourcing domain specific intelligence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| CB02 | Change of applicant information |
Address after: California, USA Applicant after: Google Inc. Address before: California, USA Applicant before: Google Inc. |
|
| CB02 | Change of applicant information | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180731 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |