[go: up one dir, main page]

CN104169872A - Translating application resources - Google Patents

Translating application resources Download PDF

Info

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
Application number
CN201280069010.XA
Other languages
Chinese (zh)
Other versions
CN104169872B (en
Inventor
吴根清
冯汉平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN104169872A publication Critical patent/CN104169872A/en
Application granted granted Critical
Publication of CN104169872B publication Critical patent/CN104169872B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use 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

According to one general aspect, a system includes an identification module, a translation module, and a display module. The identification module is configured to identify when an application running within the system attempts to display a work to a user of the application in a first language. The translation module is configured to translate the word from the first language to a second language different than the first language. The display module is configured to display the word in the second language to the user.

Description

翻译应用程序资源Translate application resources

技术领域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)

1.一种由具有至少一个处理器及一存储器的计算装置执行的方法,所述方法包括:1. A method performed by a computing device having at least one processor and a memory, the method comprising: 从正由所述至少一个处理器执行的应用程序接收用以提供第一字以供由所述应用程序使用的请求,其中:receiving a request from an application program being executed by the at least one processor to provide a first word for use by the application program, wherein: 所述应用程序由实体发布,且said application is published by the entity, and 所述应用程序与存储于所述计算装置的所述存储器中且由所述实体发布的一或多个资源相关联;the application is associated with one or more resources stored in the memory of the computing device and published by the entity; 确定所述计算装置的默认语言;determining a default language for 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 first word in the default language; 如果所述一或多个资源包含呈所述默认语言的所述第一字,那么将所述第一字提供到所述应用程序;及providing the first word to the application if the one or more resources include the first word in the default language; and 如果所述一或多个资源不包含呈所述默认语言的所述第一字,那么:If said one or more resources do not contain said first word in said default language, then: 将所述第一字及所述默认语言的指示传输到翻译服务器;transmitting the first word and an indication of the default language to a translation server; 从所述翻译服务器接收通过将所述第一字翻译成所述默认语言而获得的第二字;及receiving a second word obtained by translating the first word into the default language from the translation server; and 将所述第二字提供到所述应用程序。The second word is provided to the application. 2.根据权利要求1所述的方法,其中所述一或多个资源包含存储为文本文件的资源。2. The method of claim 1, wherein the one or more resources comprise resources stored as text files. 3.根据权利要求1所述的方法,其中所述在所述计算装置的所述存储器中存取所述一或多个资源包含在所述计算装置的所述存储器中存取存储为文本文件的一或多个资源。3. The method of claim 1 , wherein said accessing said one or more resources in said memory of said computing device comprises accessing in said memory of said computing device stored as a text file One or more resources for . 4.根据权利要求1所述的方法,其中所述一或多个资源包含存储于经编译代码内的资源。4. The method of claim 1, wherein the one or more resources comprise resources stored within compiled code. 5.根据权利要求1所述的方法,其中所述在所述计算装置的所述存储器中存取所述一或多个资源包含在所述计算装置的所述存储器中存取存储于经编译代码内的一或多个资源。5. The method of claim 1 , wherein said accessing said one or more resources in said memory of said computing device comprises accessing in said memory of said computing device stored in compiled One or more resources within the code. 6.根据权利要求1所述的方法,其中所述默认语言是所述计算装置的用户的优选语言。6. The method of claim 1, wherein the default language is a preferred language of a user of the computing device. 7.根据权利要求1所述的方法,其中所述确定所述装置的默认语言包含向所述装置的所述用户提供用以识别所述装置的所述默认语言的查询。7. The method of claim 1, wherein the determining a default language of the device comprises providing the user of the device with a query to identify the default language of the device. 8.一种具有至少一个处理器及一存储器的计算装置,其包括:8. A computing device having at least one processor and a memory, comprising: 接收模块,其经配置以从应用程序接收用以提供第一字以供由所述应用程序使用的请求,所述应用程序由实体发布且与存储于所述计算装置的所述存储器中且由所述实体发布的一或多个资源相关联;a receiving module configured to receive a request from an application issued by an entity and stored in the memory of the computing device with the application to provide a first word for use by the application associated with one or more resources published by said entity; 第一确定模块,其经配置以确定所述计算装置的默认语言;a first determining module configured to determine a default language of the computing device; 存取模块,其经配置以存取所述一或多个资源;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 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 program, 所述传输模块经配置以将所述第一字及所述默认语言的指示传输到翻译服务器、从所述翻译服务器接收通过将所述第一字翻译成所述默认语言而获得的第二字及将所述第二字传输到所述应用程序。The transmission module is 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 and transmitting the second word to the application. 9.根据权利要求8所述的计算装置,其中所述一或多个资源包含存储为文本文件的资源。9. The computing device of claim 8, wherein the one or more resources comprise resources stored as text files. 10.根据权利要求8所述的计算装置,其中所述一或多个资源包含存储于经编译代码内的资源。10. The computing device of claim 8, wherein the one or more resources comprise resources stored within compiled code. 11.根据权利要求8所述的计算装置,其中所述默认语言是所述计算装置的用户的优选语言。11. The computing device of claim 8, wherein the default language is a preferred language of a user of the computing device. 12.根据权利要求8所述的计算装置,其中所述第一确定模块包含经配置以向所述装置的所述用户提供用以识别所述装置的所述默认语言的查询的查询模块。12. The computing device of claim 8, wherein the first determining module comprises a query module configured to provide the user of the device with a query to identify the default language of the device. 13.一种计算机程序产品,其有形地体现于计算机可读媒体上且包括如果执行那么致使计算装置的至少一个处理器进行以下操作的指令:13. A computer program product tangibly embodied on a computer-readable medium and comprising instructions that, if executed, cause at least one processor of a computing device to: 从正由所述至少一个处理器执行的应用程序接收用以提供第一字以供由所述应用程序使用的请求,其中:receiving a request from an application program being executed by the at least one processor to provide a first word for use by the application program, wherein: 所述应用程序由实体发布,且said application is published by the entity, and 所述应用程序与存储于所述计算装置的存储器中且由所述实体发布的一或多个资源相关联;the application is associated with one or more resources stored in memory of the computing device and published by the entity; 确定所述计算装置的默认语言;determining a default language for 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 first word in the default language; 如果所述一或多个资源包含呈所述默认语言的所述第一字,那么将所述第一字提供到所述应用程序;及providing the first word to the application if the one or more resources include the first word in the default language; and 如果所述一或多个资源不包含呈所述默认语言的所述第一字,那么:If said one or more resources do not contain said first word in said default language, then: 将所述第一字及所述默认语言的指示传输到翻译服务器;transmitting the first word and an indication of the default language to a translation server; 从所述翻译服务器接收通过将所述第一字翻译成所述默认语言而获得的第二字;及receiving a second word obtained by translating the first word into the default language from the translation server; and 将所述第二字提供到所述应用程序。The second word is provided to the application. 14.根据权利要求13所述的计算机程序产品,其中所述一或多个资源包含存储为文本文件的资源。14. The computer program product of claim 13, wherein the one or more resources comprise resources stored as text files. 15.根据权利要求13所述的计算机程序产品,其中所述一或多个资源包含存储于经编译代码内的资源。15. The computer program product of claim 13, wherein the one or more resources comprise resources stored within compiled code. 16.根据权利要求13所述的计算机程序产品,其中所述默认语言是所述计算装置的用户的优选语言。16. The computer program product of claim 13, wherein the default language is a preferred language of a user of the computing device. 17.根据权利要求13所述的计算机程序产品,其进一步包括如果执行那么致使所述至少一个处理器向所述装置的所述用户提供用以识别所述装置的所述默认语言的查询的指令。17. The computer program product of claim 13 , further comprising instructions that, if executed, cause the at least one processor to provide a query to the user of the device to identify the default language of the device . 18.一种由计算装置执行的方法,所述方法包括:18. A method performed by a computing device, the method comprising: 由所述计算装置识别在所述计算装置上执行的应用程序的优选语言,其中所述应用程序利用字;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 that the one or more resources do not contain the word in the preferred language; and 将所述字及所述优选语言的指示传输到计算系统。The word and an indication of the preferred language are transmitted to a computing system. 19.根据权利要求18所述的方法,其进一步包括:19. The method of claim 18, further comprising: 确定所述字是否将被自动翻译成所述优选语言。It is determined whether the word is to be automatically translated into the preferred language. 20.根据权利要求18所述的方法,其进一步包括:20. The method of claim 18, further comprising: 确定所述计算装置的高速缓冲存储器是否包含呈所述优选语言的所述字。It is determined whether a cache memory of the computing device contains the word in the preferred language. 21.根据权利要求18所述的方法,其中所述一或多个资源包含存储为文本文件的资源。21. The method of claim 18, wherein the one or more resources comprise resources stored as text files. 22.根据权利要求18所述的方法,其中所述存取一或多个资源包含存取存储为文本文件的一或多个资源。22. The method of claim 18, wherein the accessing one or more resources comprises accessing one or more resources stored as text files. 23.根据权利要求18所述的方法,其中所述一或多个资源包含存储于经编译代码内的资源。23. The method of claim 18, wherein the one or more resources comprise resources stored within compiled code. 24.根据权利要求18所述的方法,其中所述存取所述一或多个资源包含存取存储于经编译代码内的一或多个资源。24. The method of claim 18, wherein the accessing the one or more resources comprises accessing one or more resources stored within compiled code. 25.根据权利要求18所述的方法,其中所述识别包含向所述装置的用户提供用以识别所述优选语言的查询。25. The method of claim 18, wherein the identifying comprises providing a user of the device with a query to identify the preferred language. 26.一种计算装置,其包括:26. A computing device comprising: 识别模块,其经配置以识别在所述计算装置上执行的应用程序的优选语言,其中所述应用程序利用字;an identification module configured to identify a preferred language of an application executing on the computing device, wherein the application utilizes words; 存取模块,其经配置以存取所述应用程序的一或多个资源;an access module configured to access 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 transmission module configured to transmit the word and an indication of the preferred language to a computing system. 27.根据权利要求26所述的计算装置,其中所述一或多个资源包含存储为文本文件的资源。27. The computing device of claim 26, wherein the one or more resources comprise resources stored as text files. 28.根据权利要求26所述的计算装置,其中所述一或多个资源包含存储于经编译代码内的资源。28. The computing device of claim 26, wherein the one or more resources comprise resources stored within compiled code. 29.一种计算机程序产品,其有形地体现于计算机可读媒体上且包括如果执行那么致使计算装置的至少一个处理器进行以下操作的指令:29. A computer program product tangibly embodied on a computer-readable medium and comprising instructions that, if executed, cause at least one processor of a computing device to: 识别在所述计算装置上执行的应用程序的优选语言,其中所述应用程序利用字;identifying 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 that the one or more resources do not contain the word in the preferred language; and 将所述字及所述优选语言的指示传输到计算系统。The word and an indication of the preferred language are transmitted to a computing system. 30.根据权利要求29所述的计算机程序产品,其进一步包括如果执行那么致使所述至少一个处理器确定所述字是否将被自动翻译成所述优选语言的指令。30. The computer program product of claim 29, further comprising instructions that if executed cause the at least one processor to determine whether the word is to be automatically translated into the preferred language. 31.根据权利要求29所述的计算机程序产品,其进一步包括如果执行那么致使所述至少一个处理器确定所述计算装置的高速缓冲存储器是否包含呈所述优选语言的所述字的指令。31. The computer program product of claim 29, further comprising instructions that if executed cause the at least one processor to determine whether a cache memory of the computing device contains the word in the preferred language. 32.根据权利要求29所述的计算机程序产品,其中所述一或多个资源包含存储为文本文件的资源。32. The computer program product of claim 29, wherein the one or more resources comprise resources stored as text files. 33.根据权利要求29所述的计算机程序产品,其中所述一或多个资源包含存储于经编译代码内的资源。33. The computer program product of claim 29, wherein the one or more resources comprise resources stored within compiled code. 34.根据权利要求29所述的计算机程序产品,其进一步包括如果执行那么致使所述至少一个处理器向所述装置的用户提供用以识别所述优选语言的查询的指令。34. The computer program product of claim 29, further comprising instructions that if executed cause the at least one processor to provide a query to identify the preferred language to a user of the device. 35.一种由计算装置执行的方法,所述方法包括:35. A method performed by a computing device, the method comprising: 从第一实体接收将在计算装置上运行的应用程序,所述应用程序包含至少一个资源,所述至少一个资源包含呈第一语言的字;receiving an application to run on a computing device from a first entity, the application comprising at least one resource comprising words in a first language; 从第二实体接收用以下载所述应用程序的请求,所述第二实体具有优选语言,所述优选语言不同于所述第一语言;及receiving a request to download the application from a second entity, the second entity having a preferred language that is different from the first language; and 将所述字从所述第一语言翻译成所述优选语言。Translating the word from the first language to the preferred language. 36.根据权利要求41所述的方法,其进一步包括:36. The method of claim 41 , further comprising: 向所述第二实体提供用以确定是否应将所述字翻译成所述优选语言的查询。A query is provided to the second entity to determine whether the word should be translated into the preferred language. 37.根据权利要求41所述的方法,其中所述字存储为文本文件。37. The method of claim 41, wherein the words are stored as text files. 38.根据权利要求41所述的方法,其中所述字存储于经编译代码内。38. The method of claim 41, wherein the word is stored within compiled code. 39.一种系统,其包括:39. A system comprising: 识别模块,其经配置以识别在系统内运行的应用程序何时试图以第一语言向所述应用程序的用户显示字,a recognition module 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, 翻译模块,其经配置以将所述字从所述第一语言翻译成不同于所述第一语言的第二语言;及a translation module configured to translate the word from the first language to a second language different from the first language; and 显示模块,其经配置而以所述第二语言向所述用户显示所述字。a display module configured to display the word to the user in the second language. 40.根据权利要求39所述的系统,其中所述第二语言是所述用户的优选语言。40. The system of claim 39, wherein the second language is the user's preferred language. 41.根据权利要求39所述的系统,其进一步包括:41. The system of claim 39, further comprising: 确定模块,其经配置以确定所述用户的优选语言。a determination module configured to determine a preferred language of the user. 42.根据权利要求39所述的系统,其进一步包括:42. The system of claim 39, further comprising: 确定模块,其经配置以确定所述用户的优选语言,所述确定模块包含经配置以提供关于所述用户的优选语言的查询的查询模块。A determination module configured to determine a preferred language of the user, the determination module including a query module configured to provide a query regarding the user's preferred language. 43.根据权利要求39所述的系统,其进一步包括:43. The system of claim 39, further comprising: 确定模块,其经配置以确定所述用户的优选语言,所述确定模块包含查询模块及接收模块,所述查询模块经配置以提供关于所述用户的优选语言的查询,所述接收模块经配置以从所述用户接收对所述查询的响应。a determining module configured to determine a preferred language of the user, the determining module comprising a query module configured to provide a query regarding the user's preferred language, and a receiving module configured to to receive a response to the query from the user. 44.一种计算机程序产品,其有形地体现于计算机可读媒体上且包括在执行时经配置以致使至少一个处理器进行以下操作的指令:44. A computer program product tangibly embodied on a computer-readable medium and comprising instructions configured, when executed, to cause at least one processor to: 识别应用程序何时试图将字显示给所述应用程序的用户,所述字呈第一语言;identifying when an application attempts to display a word to a user of the application, the word being in the first language; 将试图显示给所述用户的所述字从所述第一语言翻译成第二语言,所述第二语言不同于所述第一语言;及translating the word attempted to be displayed to the user from the first language to a second language, the second language being different from the first language; and 以所述第二语言将所述字显示给所述用户。The word is displayed to the user in the second language. 45.根据权利要求44所述的计算机程序产品,其中所述第二语言是所述用户的优选语言。45. The computer program product of claim 44, wherein the second language is the user's preferred language. 46.根据权利要求44所述的计算机程序产品,其进一步包括在执行时经配置以致使所述至少一个处理器进行以下操作的指令:46. The computer program product of claim 44, further comprising instructions that, when executed, are configured to cause the at least one processor to: 确定所述第一语言是否为所述用户的优选语言,且如果所述第一语言不是所述用户的所述优选语言,那么将试图显示给所述用户的所述字从所述第一语言翻译成所述第二语言。determining whether the first language is the preferred language of the user, and if the first language is not the preferred language of the user, changing the word attempted to be displayed to the user from the first language translated into said second language. 47.根据权利要求44所述的计算机程序产品,其进一步包括在执行时经配置以致使所述至少一个处理器进行以下操作的指令:47. The computer program product of claim 44, further comprising instructions that, when executed, are configured to cause the at least one processor to: 向所述用户提供用以确定所述用户的优选语言的查询。A query is provided to the user to determine the user's preferred language. 48.根据权利要求44所述的计算机程序产品,其进一步包括在执行时经配置以致使所述至少一个处理器进行以下操作的指令:48. The computer program product of claim 44, further comprising instructions that, when executed, are configured to cause the at least one processor to: 确定所述用户的优选语言。Determine the user's preferred language. 49.根据权利要求44所述的计算机程序产品,其中所述字为字群组中的一者。49. The computer program product of claim 44, wherein the word is one of a group of words. 50.根据权利要求44所述的计算机程序产品,其进一步包括在执行时经配置以致使所述至少一个处理器进行以下操作的指令:50. The computer program product of claim 44, further comprising instructions that, when executed, are configured to cause the at least one processor to: 从所述用户接收用以确定所述用户的优选语言的输入。Input is received from the user to determine a preferred language for the user. 51.一种方法,其包括:51. A method comprising: 识别应用程序何时试图将字显示给所述应用程序的用户,所述字呈第一语言;identifying when an application attempts to display a word to a user of the application, the word being in the first language; 将试图显示给所述用户的所述字从所述第一语言翻译成第二语言,所述第二语言不同于所述第一语言;及translating the word attempted to be displayed to the user from the first language to a second language, the second language being different from the first language; and 以所述第二语言将所述字显示给所述用户。The word is displayed to the user in the second language. 52.根据权利要求51所述的方法,其中所述第二语言是所述用户的优选语言。52. The method of claim 51, wherein the second language is the user's preferred language. 53.根据权利要求51所述的方法,其进一步包括:53. The method of claim 51 , further comprising: 确定所述第一语言是否为所述用户的优选语言,且如果所述第一语言不是所述用户的所述优选语言,那么将试图显示给所述用户的所述字从所述第一语言翻译成所述第二语言。determining whether the first language is the preferred language of the user, and if the first language is not the preferred language of the user, changing the word attempted to be displayed to the user from the first language translated into said second language. 54.根据权利要求51所述的方法,其进一步包括:54. The method of claim 51 , further comprising: 向所述用户提供用以确定所述用户的优选语言的查询。A query is provided to the user to determine the user's preferred language. 55.根据权利要求51所述的方法,其进一步包括:55. The method of claim 51 , further comprising: 确定所述用户的优选语言。Determine the user's preferred language. 56.根据权利要求51所述的方法,其中所述字为字群组中的一者。56. The method of claim 51, wherein the word is one of a group of words. 57.根据权利要求51所述的方法,其进一步包括:57. The method of claim 51 , further comprising: 从所述用户接收用以确定所述用户的优选语言的输入。Input is received from the user to determine a preferred language for the user. 58.根据权利要求51所述的方法,其中所述显示包含在视觉显示器上显示所述字。58. The method of claim 51, wherein the displaying includes displaying the word on a visual display.
CN201280069010.XA 2012-02-03 2012-02-03 Translation application resource Expired - Fee Related CN104169872B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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