Babel bubbles

A “Babel bubble” is a group of linguistic versions of the same user object, i.e. a group of object “instances” with the same Object_ID and Type_ID values. Indeed, all these object instances represent the same “logical” user object, but the Babel bubble concept allows the user to choose among them to read the textual content in a specific language.

FIG. 5

FIG. 5 is a graphical representation of an example of a Babel bubble 500 with three instances of the same user object 310. All those instances have the same Type_ID (1004) and Object_ID (89), but differ in the Lang_ID (2, 3 and 10), which means that they are written in Spanish, English and German, respectively. Moreover, the three instances share the same locator 400, which has Object_ID = 127. Since the Lang_ID 430 of this locator is 2, it implies that the name 460 and description 465 of the user object are written in Spanish. If there are {other fields} 440 with textual content, such as the date of creation, they will also be expressed in Spanish.

To allow locators to contain textual fields in other languages, there is another data structure called “Babel Bubble Descriptor” (BBD), a list of which is contained in the field 450 of the locator. The fields of each BBD are exemplified in the instances BBD 0 510 and BBD 1 515. Basically, they consist of a Lang_ID field 530 that indicates the language of the BBD, a Name 560 and Description 565 fields, for describing the user object in the referred language, and a {other fields} placeholder 540 for all metadata attributes of the locator that may need be translated to the referred language.

The list of BBDs not only enable to write the textual fields of the locator in several languages, but also to identify the several linguistic instances of the user object referred by the Ref_Object_ID and Ref_Type_ID fields 480 of the locator. In fact, the inventive system combines these reference fields with the Lang_ID field of the locator itself and the Lang_ID fields of the available BBDs in an Object_ID/Type_ID/Lang_ID triplet that points to each object instance. In FIG. 5, there are three combinations 520, 521 and 522 that point to the three versions of the user object. The inventive system is responsible for generating the corresponding BBDs and to query the database manager with the correct triplet for accessing the required linguistic version of an object.

In the case that the content and metadata attributes of the user object are language-independent, e.g. an image, there will be only one instance of the object with Lang_ID = 0, although the name and description fields of the corresponding locator will be expressed in one specific language and there may be several BBDs for other versions. Thus, the inventive system must generate the same triplet (with Lang_ID = 0) in spite of the multiple descriptive versions referring the same user object. Furthermore, the system will not permit to have other linguistic instances of a language-independent object.

To end this discussion about Babel bubbles, let us add another drawing (not present in the US Patent) for illustrating how should it be possible to change the linguistic version of a text:

Babel bubble interface 

When moving the cursor on top of a text, some kind of mark must indicate that there are several linguistic versions (e.g., a circle with an L). Clicking once on that symbol may show a menu with all possibilities, with the current one ticked (on the left, Latin). Then, the user can select among the available versions and the text must change immediately (on the right, English).

Of course, this mechanism should work for entire documents, so that the user can change the linguistic versions of all objects inside the document with just one selection. However, some of the objects may not include the selected version available. In this case, those objects may show up in the language that is closer to the selected one for its parent objects (e.g. the document), or in one of the languages preferred by the user.