Patent ID: 7711548

Claim:
A computer-implemented method for enabling persistent storage of textual data in multiple languages, concurrently, in a single database instance, and retrieval for presentation of that data in a language appropriate for a specified locale, the method comprising the steps of: a computer capturing a piece of data in a first language in a database structure in a computer readable storage media; a computer translating the piece of data into a plurality of additional languages, each of said first language and said additional languages being associated with a specified locale, said locale being identified by a combination of a specified language and a specified geographic region; a computer storing the piece of data in the first language and all of said additional languages in one text table instance in the database structure in the computer readable storage media, for retrieval and presentation in any of a group of supported languages, said one text table instance including a plurality of rows, said storing including the step of storing in each row of the text table a unique combination of language and country codes, and storing in each row of the text table a copy of the data item, in a respective one of the first and additional languages, as determined by said unique combination of languages and country codes in said each row; and a computer providing said piece of data to a user computer in one of said pre-translated, stored languages by (i) identifying a locale of the user computer based on a combination of a given language and a given geographic region for the user computer, (ii) using the locale of the user computer, as identified by the combination of the given language and the given geographic region, to identify one of the languages stored in the one text table instance and retrieving from the one text table instance the pre-stored piece of data in the identified one of the languages, and (iii) displaying on the user computer the retrieved piece of data in the identified one of the languages; and performing the capturing, translating and storing steps, a plurality of times to obtain a plurality of groups of translations for a group of data items, including storing each group of translations in a respective one text table, providing each of the text tables with a respective one text Group ID, and storing all of the text Group IDs in a text Group Table.