Revising content translations using shared translation databases

A method, system, and computer usable program product for revising content translations using shared translation databases are provided in the illustrative embodiments. A translation of some content is presented to a user. A revision to a first portion of the translation is received from the user. A second portion of the translation is identified using the shared translation database, the second portion being a candidate for revising using the revision. The second portion is suggested for revision. The second portion may be identified without user interaction. The revision may be submitted for review along with user-selected portions, and an approval may be received. The user's access to the shared translation database may be controlled such that the user is able to interact with the shared translation database to identify the second portion but the user may be unable to modify the shared translation database.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to an improved data processing system, and in particular, to a computer implemented method for managing text translations. Still more particularly, the present invention relates to a computer implemented method, system, and computer usable program code for revising content translations using shared translation databases.

2. Description of the Related Art

Many types of books, publications, and other documents are available to users in electronic form. Making documents available in electronic form, such as over a data network, allows users of those documents easy access to those documents. Publishers of those documents also find it cost effective and easier to distribute the documents to their target audience.

Often, a need exists for translating books, publications, and other documents from an original language to one or more other languages. An original language or a source language of a document is a language in which an author created the original content of the document. Other language or a target language of a document is a language to which the original content of the document is translated, such as for users of that target language.

Presently, many documents that are available in electronic form are available in a variety of languages. Presently, a user of particular language can receive the contents of a document in that language provided the publisher of that document has created a translation of the document in that language. Users of different languages can similarly access different translations of a common document over a data network.

Presently, for providing translated documents, publishers maintain one or more translation database to provide translations of a document in desired one or more target languages. A translated document is a document whose content is a target language translation of an original content. A translation database is a data structure that contains translations of words or phrases from a source language to a target language. A translation memory is a type of translation database used in the electronic publishing industry.

SUMMARY OF THE INVENTION

The illustrative embodiments provide a method, system, and computer usable program product for revising content translations using shared translation databases. A translation of some content is presented to a user. A revision to a first portion of the translation is received from the user. A second portion of the translation is identified using the shared translation database, the second portion being a candidate for revising using the revision. The second portion is suggested for revision.

In one embodiment, the second portion may be identified without user interaction. Further, suggesting the second portion may include suggesting to the user, suggesting to a reviewing authority, or suggesting to a combination of the user and the reviewing authority.

In another embodiment, the first and the second portions collectively form instances. Additionally, an input may be received from the user, the input corresponding to a selection of an instance from the instances.

In another embodiment, the revision may be submitted along with submitting the first portion, the second portion, or a combination of the first and the second portions, for review. An approval may be received for revising the first portion, the second portion, or a combination of the first and the second portions, according to the revision. The shared translation database may be revised according to the approval. In another embodiment, receiving the approval may include receiving a substitute revision.

In another embodiment, the user's access to the shared translation database may be controlled such that the user is able to suggest the revision, interact with the shared translation database to identify the second portion, or select the second portion for revising. However, the user may be unable to modify the shared translation database.

In another embodiment, the translation may be a first translation. a third portion may be located, the third portion being a candidate for revising based on the revision. The third portion may be in a second translation in the shared translation database. The third portion may be suggested for revision to a reviewing authority.

In another embodiment, the first translation may be a translation of an original content in a first language, and the second translation is a translation of an original content in a second language. Further, the first and the second translations may be distinct from one another. Additionally, the first translation may be stored in the shared translation database and the second translation may be stored in a second translation database.

In another embodiment, a reward corresponding to the revision may be computed. The user may be credited with the reward.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The illustrative embodiments recognize that a publisher may use certain translators for creating translations of content into various languages. A translator may be a person who is skilled in a particular language, or a system or software programmed to translate input content to a particular language.

The illustrative embodiments further recognize that a publisher's intellectual property, such as copyright, lies in not only the original content in the source language but also the translations of that content in target languages. Thus, the illustrative embodiments recognize that a publisher may find it desirable to maintain control over the translation databases that provide translated content in electronic form to the users.

The illustrative embodiments further recognize that content is not just a collection of words, phrases, or symbols, but also an expression of thoughts and ideas. A translation of content has to not only translate the words, phrases, or symbols, but also convey the thought or idea of the content accurately.

The illustrative embodiments recognize that a translation may not be accurate as provided by a translator, as stored in a translation database, or as used by a user. For example, a translation of a phrase in an original content written in English may be translated differently in Spanish as used by a user in Spain and Spanish as used by a user in Latin America. As another example, a phrase in one language may be socially acceptable, but if translated word for word into a different language may be socially offensive. In such circumstances, an accurate translation would not be a verbatim translation but a translation of an idea conveyed by the phrase in the first language.

Many translations, although available from the publisher, may not be accurate. The illustrative embodiments further recognize that users of particular languages are often able to identify inaccuracies in translations in those languages that are created by translators.

However, the illustrative embodiments recognize that presently, a user who identifies an inaccuracy in a translation has limited options to communicate the inaccuracy, contribute a revision, or both, to the publisher. Presently, a user has to email the inaccuracy and a suggested revision to the publisher, or complete an online form that results in a similar communication to the publisher. The user has to repeat this process for each inaccuracy the user identifies in the translated document.

The illustrative embodiments further recognize that an inaccuracy may manifest itself in several places in a given translated document. Further, the inaccuracy may manifest itself in numerous instances across many documents. For example, while creating a users-manual for a particular model of a particular make of an automobile, an author may create approximately fifty percent of content from already existing content of other user-manuals. Furthermore, on average, approximately forty three percent of a document may comprise sentences, phrases, and words that are repeated. Approximately twenty percent of the text in a given document may have been already translated in another language in same or different context.

Presently, a user has to communicate each inaccuracy and a suggested revision to the publisher, such as by email or web-forms. The publisher has to consider each suggestion in isolation from the other suggestions. This process of suggesting revisions is inefficient for both the user and the publisher.

To address these and other problems associated with revising translated content, the illustrative embodiments provide for revising content translations using shared translation databases. Translation databases, such as a translation memory, are tools that facilitate translation of content. A feature of some translation databases is that once a phrase or word has been translated once, the translation can be reused for each recurrence of the word or phrase in same or different document.

A translation database according to the illustrative embodiments may include translation of any type of content, such as text, images, icons, symbols, or other audio visual content, from one language to another. Furthermore, a translation database of the illustrative embodiment may contain translation for one or more single target languages. Additionally, the translation database may be one or more databases. A database of a translation database may be a relational database, an object oriented database, a flat file, an index file, a data structure in memory, or any other data structure suitable for storing data.

The illustrative embodiments are described in some instances using particular technologies or data processing environments only as an example for the clarity of the description. The illustrative embodiments may be used in conjunction with other comparable or similarly purposed architectures.

FIG. 1depicts a pictorial representation of a network of data processing systems in which illustrative embodiments may be implemented. Data processing environment100is a network of computers in which the illustrative embodiments may be implemented. Data processing environment100includes network102. Network102is the medium used to provide communications links between various devices and computers connected together within data processing environment100. Network102may include connections, such as wire, wireless communication links, or fiber optic cables. Server104and server106couple to network102along with storage unit108.

Software applications may execute on any computer in data processing environment100. Server104may have database105executing thereon. Database105may be a translation database, such as a translation memory application. Server106may have access control component107executing thereon. Access control component107may be an application or a component thereof that may manage access to data processing systems and applications available over network102. For example, access control component107may control which users may access database105on server104.

In addition, clients110,112, and114couple to network102. Servers104and106, storage units108, and clients110,112, and114may couple to network102using wired connections, wireless communication protocols, or other suitable data connectivity. Clients110,112, and114may be, for example, personal computers or network computers.

Among other uses, data processing environment100may be used for implementing a client server environment in which the illustrative embodiments may be implemented. A client server environment enables software applications and data to be distributed across a network such that an application functions by using the interactivity between a client data processing system and a server data processing system. Data processing environment100may also employ a service oriented architecture where interoperable software components distributed across a network may be packaged together as coherent business applications.

In the depicted example, data processing system200employs a hub architecture including North Bridge and memory controller hub (NB/MCH)202and south bridge and input/output (I/O) controller hub (SB/ICH)204. Processing unit206, main memory208, and graphics processor210are coupled to north bridge and memory controller hub (NB/MCH)202. Processing unit206may contain one or more processors and may be implemented using one or more heterogeneous processor systems. Graphics processor210may be coupled to the NB/MCH through an accelerated graphics port (AGP) in certain implementations.

Instructions for the operating system, the object-oriented programming system, and applications or programs are located on storage devices, such as hard disk drive226, and may be loaded into main memory208for execution by processing unit206. The processes of the illustrative embodiments may be performed by processing unit206using computer implemented instructions, which may be located in a memory, such as, for example, main memory208, read only memory224, or in one or more peripheral devices.

With reference toFIG. 3, this figure depicts a block diagram of an example configuration of a translation database that may be adapted to revise translated content according to an illustrative embodiment. Translation database302may be implemented using database105inFIG. 1. Server304may be any data processing system depicted inFIG. 1, such as server104, server106, client110, client112, or client114.

Translation database302may be a set of translation databases. A set of translation databases is one or more translation databases. For example, translation database302or a part of translation database302may store translations of portions of text in one language. Translation database302or another part of translation database302may store translations of portions of text in a different language.

Publisher306may be a data processing system, such as a laptop computer of a person in the publishing business. Publisher306may provide, maintain, manage, control, or have rights to content308. Content308may be the content of a set of documents. A set of documents in one or more documents. Content308may be any type of content. For example, content308may be text, symbols, images, audio recordings, video recordings, or any combination thereof.

Translator310may be a set of translators that may provide translations to translation database302. A set of translators is one or more translators. According to an illustrative embodiment a translator in translator310may provide translation in a specific language. According to an illustrative embodiment, translator310may include several translators providing translation in a single language. According to another illustrative embodiment, translator310may include one translator providing translation in several languages.

Furthermore, some translators may provide translation services for certain type and subject matter of content308. For example, a translator may be capable of translating from English to French, but may be capable of performing that translation for general newsworthy content but not content pertaining to science or technology.

Translator310provides, controls, manipulates, or manages the data in translation database302. The ownership and intellectual property rights to the data in translation database302may or may not be subject to translator310's control.

Translation database302correlates the data contained therein with content308. For example, in one embodiment, translation database302may store English to French translation of a set of words, phrases, and sections of text. In correlating this content to a particular embodiment of content308, translation database302may identify all occurrences of a subset of those words, phrases, and sections of text in content308. Each such occurrence is called an instance. For example, each occurrence of the word “for” in content308is an instance of the word “for” in content308.

User312may access a translation of content308over network314. For example, content308may be a user's manual for a device, and user312may wish to download or read that manual in French.

Server304, using a software application, may combine content308and data in translation database302to result in a translated content requested by user312. Server304may serve the translated content over network314.

When user312identifies an inaccuracy in the translated content, user312may wish to have the translation revised to remove the inaccuracy. User312may email publisher306, or complete a web-form to notify publisher306of the inaccuracy. User312may also suggest a correction in such communication. Depending on publisher306's review and approval of such revisions, publisher306may have translator310perform the revision to translation database302.

Presently, user312has these email and web-forms alternatives for correcting inaccurate translations. Publisher306does not presently wish to expose translation database302to user312due to the risk of losing publisher306's intellectual property.

Other technologies for user contribution, such as Wiki websites, allow users to make changes directly but suffer from other disadvantages. For example, a wiki website does not correlate instances of a phrase in a particular document or documents available at the website. A user who contributes a correction, revision, or a new piece of information, contributes it for use at a specific location in the wiki website. That user-contribution is not propagated to other locations, instances, where the user-contributed revision may be similarly applicable. The user has to input the user provided revision at each such instance separately.

As another example, wiki technology allows a user to make revisions without a revision review process. Generally, when a website employs wiki technology, a user is either completely restricted out of certain areas of the website or completely free to contribute whatever the user wishes. This all or nothing scheme of wiki websites does not make room for reviewed revisions. Lack of review and approval before a user contributed revision affects the content causes a lack of credibility of the content provided by the wiki websites.

With reference toFIG. 4, this figure depicts a block diagram of an example configuration for revising a translation database according to an illustrative embodiment. Translation database402may be similar to translation database302inFIG. 3. Server404may be implemented using server304inFIG. 3. Publisher406may be analogous to publisher306, content408may be analogous to content308, and translator410may be analogous to translator310inFIG. 3respectively.

In accordance with an illustrative embodiment, user412may receive or download translated content from server404over network414. Translated content may be created using content408and translation database402in the manner described with respect toFIG. 3.

In addition, user412may have access to translation database402in order to contribute corrections or revisions to the translation stored therein. Access control component416may limit, monitor, grant, deny, or otherwise manipulate user412's access to translation database402, such that publisher406's intellectual property residing in translation database402, content408, and any other material is not compromised.

Any existing access control mechanism may be utilized for implementing access control component416. For example, a user identifier (user ID) and password based access control may allow a user with a certain user ID access to only a certain language translation, a certain set of documents, a certain portion of a document, certain types of subject matter of content, translations of a certain type of content, or some combination thereof. As another example, any user may be allowed to contribute to certain translations whereas certain portions of the data in translation database402may require pre-approved access permission. Of course, the specific access controls and methods thereof are only described here as examples and are not limiting on the illustrative embodiments. Many other access control schemes may be apparent from this disclosure and the same are contemplated within the scope of the illustrative embodiments.

Review and approval component418may intercept user412's contributions and subject them to a pre-determined review and approval process. In other words, while user412may have visibility and access to translation database402to provide corrections or revisions, user412's contributions may not become a part of translation database402without someone's review and/or approval. For example, review and approval component418may redirect user412's contributions to publisher406for review and approval. Alternatively, as another example, review and approval component418may redirect user412's contributions to translator410for review and publisher406for approval.

Any other entity, depicted or not depicted inFIG. 4, may participate in review and approval process. For example, a scholar in a particular subject matter may receive user412's contributions for review and approval through review and approval component418.

As another example, review and approval component418may itself review and approve certain user contributions. For example, certain pre-configured rules in review and approval component418may permit or reject certain contributions from user412to revise translation database402. As another example, review and approval component418may utilize a lexicon or a thesaurus to verify the accuracy of the user provided revision.

Furthermore, certain contributions, certain users, or contributions of certain users, may be allowed to bypass access control component416. Similarly, certain contributions, certain users, or contributions of certain users, may be allowed to bypass review and approval component418. For example, a spelling mistake correction contributed by user412can be easily verified using a dictionary. Publisher406may desire such revisions to become a part of translation database402as soon as possible and without extensive review or approval.

In one embodiment, access control component416, review and approval component418, or both components416and418may be combined with translation database402. For example, components416and418may be implemented as software code that is utilized or executed by other software code of translation database402.

With reference toFIG. 5, this figure depicts a flowchart of a process of correlating instances of content for revision in accordance with an illustrative embodiment. Process500may be implemented in a translation database, such as translation database402inFIG. 4.

Process500begins by receiving a change suggestion from a user (step502). A change suggestion may be a suggestion by a user to change, revise, or correct a translation existing in the translation database.

Process500locates other instances of content where the suggested change is also applicable (step504). Locating other instances of content may be implemented by searching an original text content, using a data structure in a translation database to locate sections that may be translated similarly to the section where the user has suggested the change, or any other method suitable for a particular implementation.

Process500suggests the other instances from step504to the user (step506). In one embodiment, step506may be omitted. In another embodiment, step506may not suggest the instances to the user but adopt the user suggested change of step502automatically for some or all of the other instances.

Process500receives one or more user inputs indicating which instances should be changed as suggested in step502(step508). Process500ends thereafter. A user may indicate the selection of instances to be changed in any manner suitable for a particular implementation. For example, a user may be presented with a list of checkboxes, each checkbox representing an instance, and the user may check zero or more checkboxes. As another example, a display of the translated content may include highlighted instances that can be changed as suggested, and the user can select zero or more highlighted instances.

With reference toFIG. 6, this figure depicts a flowchart of a process of rewarding a user for contributing revisions in accordance with an illustrative embodiment. Process600may be implemented in a translation database, such as translation database inFIG. 4. Process600may also be implemented in another application, such as a software application executing on or accessible to server404inFIG. 4.

Process600begins by receiving a change suggestion from a user (step602). Step602may be implemented similar to step502inFIG. 5. Process600may apply the suggested change based on a determination of appropriateness of the change or an instruction of the user (step604). For example, process600may apply the change if a publisher approves the change as an appropriate change. As another example, process600may apply the change if the change has already been reviewed and approved and the user has instructed to apply the same change to other instances.

Process600computes a reward for the user's contribution (step606). When users contribute to a publisher's intellectual property, the publisher may decide to implement a reward system to encourage the users to contribute more revisions in the future. A reward for user contributions may be any reward suitable for a particular implementation. For example, in one embodiment, a user may collect points for the user's contributions, the points being redeemable for merchandise or services. In another embodiment, a user may receive accumulate discounts on merchandise or services for the user's contributions. In another embodiment, the user may receive a cash reward for the user's contributions. These reward configurations are only some examples of the reward system of process600and are not intended to be limiting on the illustrative embodiments. Many other methods of computing and awarding rewards for user contributions will be apparent from this disclosure.

Process600credits the user with the reward computed in step606(step608). Process600ends thereafter.

With reference toFIG. 7, this figure depicts a flowchart of a review and approval process for revisions according to an illustrative embodiment. Process700may be implemented in review and approval component418inFIG. 4.

Process700begins by receiving a change and an instruction selecting the instances to revise from the user (step702). Process700may receive the changes or revisions from the user in a manner similar to step502inFIG. 5or step602inFIG. 6. Process700may receive an instruction about which instances to change in a manner similar to step508in process500.

Process700presents the change and the selected instances for review (step704). As an example, process700may present the user suggested change and the instances where the change may be applicable to a publisher or another authority for review.

Process700receives the results of the review (step706). In one embodiment, the results of step706may be in the form of an approval or rejection of the change. In another embodiment, the results may include approval or rejection of the applicability of the change to certain instances. In another embodiment, the results may include a suggested modification to the user-suggested change. In some embodiments, results of step706may be available to process700while the user is interacting with process700. In other embodiments, results of step706may occur sometime after the user has provided the revisions, asynchronously with the user's inputs.

Process700may apply the results to the translation database (step708). Process700ends thereafter. For example, if the results of step706include an approval for revising some instances, process700revises those instances in the translation database in step708. If none of the revisions is approved for none of the instances, process700applies those results by leaving the translation database unchanged.

With reference toFIG. 8, this figure depicts a flowchart of a process of propagating a user suggested change across documents and translations in accordance with an illustrative embodiment. Process800may be implemented in translation database402inFIG. 4.

Process800begins by receiving a change from a user (step802). Process800identifies other instances in the translated content that the user is using that can also change according to the user-suggested change (step804).

Process800may also identify content in other translations that can also benefit from the user-suggested change (step806). For example, an original text in English language may have been translated in Mandarin. Subsequently, the Mandarin translation may have been used to create a Cantonese translation. If a user suggests a change to the Mandarin translation, process800may identify not only instances of the text in the Mandarin translation but also corresponding text sections of the Cantonese translation that may be revised according to the user's suggestion. In this manner, a user-suggested revision to one translation may trigger revisions in other translations of which the user may not even be aware.

Process800suggests other instances that may also be candidates for similar revision in the translation that the user is using (step808). In one embodiment, process800may additionally suggest instances that may use the revision in translations other that the one the user may be using (step810). In another embodiment, process810may identify such instances in other translations, as in step806, but omit suggesting those instances to the user in step810. The translations that may be subject to steps808and810may exist in one translation database or several translation databases.

Depending on the implementation of step810, process800may collect user's selection of instances to be revised from the translation in use and other translations (step812). For example, if step810displays instances in other translations to the user, step812may receive inputs for user selections in multiple translations. If, on the other hand, step810does not present the instances in other translations to the user, step812may receive user inputs selecting instances in only the translation the user may be using.

Process800may submit the user suggested change and the user selected instances for review and approval (step814). In one embodiment, process800may send the change and the instances for a particular translation to a particular reviewing and approving authority. For example, if a user suggested revision in Mandarin translation of a text results in suggested changes to a Cantonese translation of the same text as well, process800may send the changes and instances in Mandarin translation to a Mandarin expert and the changes and instances in Cantonese translation to a Cantonese expert.

In another embodiment, process800may send all or some of the changes and instances in all or some of the translations to a common reviewing and approving authority. For example, using the above example, process800may send the changes and instances in both Mandarin and Cantonese translations to a single reviewing authority, such as the publisher or a translator who may be fluent in both Mandarin and Cantonese.

Process800may receive the results of the review and approval on the user suggested changes and instances (step816). In one embodiment, steps814and816may be omitted in process800and a review and approval process may be implemented separately as described with respect toFIG. 7. In another embodiment, steps814-816may be implemented in process800such that a translation database implementing process800and having access to a review and approval component may execute steps814-816using the review and approval component.

Process800may apply the approved changes to the approved instances in one or more translations that may exist in one or more translation databases (step820). Process800ends thereafter.

The components in the block diagrams and the steps in the flowcharts described above are described only as examples. The components and the steps have been selected for the clarity of the description and are not limiting on the illustrative embodiments. For example, a particular implementation may combine, omit, further subdivide, modify, augment, reduce, or implement alternatively, any of the components or steps without departing from the scope of the illustrative embodiments. Furthermore, the steps of the processes described above may be performed in a different order within the scope of the illustrative embodiments.

Thus, a computer implemented method, apparatus, and computer program product are provided in the illustrative embodiments for revising content translations using shared translation databases. Using the illustrative embodiments, a translation database, such as a translation memory, is shared with a user. The user is granted controlled access to the translation database such that the user is able to contribute revisions to the contents of the translation database.

The user's contributions may correct mistakes or inaccuracies in one or more translations of an original content. According to some illustrative embodiments, the user-suggested revisions may be subjected to review and approval before such revisions are made part of the translation database.

Furthermore, a user's suggestion in one translation may trigger suggestions of revisions in other translations. The revisions for each translation may be reviewed and approved by one or more reviewing authority. additionally, the review and approval process may be asynchronous with the user-contribution process.

According to some illustrative embodiments, a user may be rewarded for making suggestions of changes to the translated content. A reward system for contributions may be mutually beneficial for the owner of the content and the user.

Further, a computer storage medium may contain or store a computer-readable program code such that when the computer-readable program code is executed on a computer, the execution of this computer-readable program code causes the computer to transmit another computer-readable program code over a communications link. This communications link may use a medium that is, for example without limitation, physical or wireless.

A data processing system may act as a server data processing system or a client data processing system. Server and client data processing systems may include data storage media that are computer usable, such as being computer readable. A data storage medium associated with a server data processing system may contain computer usable code. A client data processing system may download that computer usable code, such as for storing on a data storage medium associated with the client data processing system, or for using in the client data processing system. The server data processing system may similarly upload computer usable code from the client data processing system. The computer usable code resulting from a computer usable program product embodiment of the illustrative embodiments may be uploaded or downloaded using server and client data processing systems in this manner.