WO2008090420A1 - System and method of content and translations management in multi-language enabled applications - Google Patents

System and method of content and translations management in multi-language enabled applications Download PDF

Info

Publication number
WO2008090420A1
WO2008090420A1 PCT/IB2007/050217 IB2007050217W WO2008090420A1 WO 2008090420 A1 WO2008090420 A1 WO 2008090420A1 IB 2007050217 W IB2007050217 W IB 2007050217W WO 2008090420 A1 WO2008090420 A1 WO 2008090420A1
Authority
WO
WIPO (PCT)
Prior art keywords
language
accordance
content
written
records
Prior art date
Application number
PCT/IB2007/050217
Other languages
French (fr)
Inventor
Adrian Vasiu
Original Assignee
Adrian Vasiu
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 Adrian Vasiu filed Critical Adrian Vasiu
Priority to PCT/IB2007/050217 priority Critical patent/WO2008090420A1/en
Publication of WO2008090420A1 publication Critical patent/WO2008090420A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory

Definitions

  • the present invention relates in general to the field of web-enabled applications, and in particular to systems and methods providing language translation and content management features in such applications.
  • Multi-language web-enabled applications allow users to view the displayed content in one of the available languages. Up to now developers have generated a separate file for each of the available translation making it difficult to apply changes or corrections when needed. None of the current applications were able to completely separate the content (default language text/ translation text) from the programming environment and text markup (like HTML or XML). Because of this, pages had to be duplicated for each translation to achieve same functionality.
  • This invention when integrated in a multi-language enabled application allows an architect/developer to manage (add/modify /delete) 'lists', 'sections' and 'elements' in a default language (spoken) and when complete have all saved values exported into an external file that can be given to a translator for processing. Any existing or new translation can be imported into the system with the click of a button and make the translation available to the application and ultimately the viewers.
  • All the content (textual material written in a predefined default language and any translations of the said textual material) is being stored in a database of choice that is configurable through the invention's setup terminal.
  • the invention includes programming code that enables a user to set default programming environment (like programming language, database software and displaying languages) as well as components used in the management of the translations and content structure.
  • the database can be chosen from a list of software applications capable of providing multi- language support [single and double byte character set (preferable UTF8) storage and sorting capabilities] in order to correctly manipulate the stored language translations.
  • the invention allows a person without programming experience to build and manage all the content in accordance with the design requirements. All the mentioned content groups (lists, sections and elements) have their own separate interface specifically designed to eliminate confusion and allow the user concentrate their attention on building the content. Each interface displays the already saved lists, sections or elements allowing the user to add/modify /delete them in accordance to needs.
  • Translations are only editable in the exported file and it should be done so by an authorized translator to ensure accuracy.
  • the invention would enter the default language content on the first column and the desired translated language on separate column (if no translation found for the individual item, the field would be left blank) so the translator will always have the default content in the same row as translation content.
  • the invention programmatically maintains structural integrity of all languages entered into the application automatically without having the user worry about it.
  • the content structure itself is completely designed and controlled by the user in charge of this activity and is done so through the changes made and assigned to the default language (spoken) only.
  • This structure is then transferred automatically to a translation after an export/import procedure. For example when a list is expanded or contracted in the default language, when exported for translation and then imported back into the ap- plication, the translated language list would inherit the structure of the list written in default language like the ID of each option in the list so it can be sorted in the same way in any language.
  • the invention automatically maintains proper relationships between records written in default language and translation records (written in any other language) so the content structure will always match regardless of number of imports or translations present.
  • a record written in default language is being deleted, all translations of that record will also be deleted so nothing will be left behind.
  • the invention checks any omitted translations for existing records and notifies the user before saving the new content so the number of records for a translation will always match the number of records for default language. This verification process is vital for maintaining the integrity and accuracy of the content in all languages.
  • the invention would make available to the programming interface all the variables, functions/methods and classes needed for implementation.
  • By calling a method using configured parameters will allow a developer to pass the value to another function or display it directly on page according to needs. For example when a 'list' (in HTML terms: select box) is needed, a reference to the list method is called (predetermined parameters must be entered) anywhere on the code. The same procedure would apply for calling 'sections' or 'elements' as many times as needed.
  • the invention possesses numerous benefits and advantages over known methods of handling translations. It allows the user to maintain a single structure or layout while adding an unlimited number of languages to the application. This was possible through the complete separation of content from the page and programming layout.
  • a practical example of the flexibility possessed by the invention resides in its ability to use the same displaying and processing page designed for the default language, for all the translations included in the application regardless of the content type. There would be no need to duplicate the same pages as many times as the number of translations making it possible to translate every single word present anywhere in the application.
  • [17] 'Lists' can be easily configured just by calling the list method and specifying the needed parameters (like list name, desired option name, value). It is so flexible that even JavaScript code can be added to the list which will allow the list enhance its functionality by performing a desired operation.
  • Fig. 1 contains basic relationships between the languages and desired content tables and Fig. 2 contains sample records that are stored in their respective tables.
  • the invention creates a new table for each one. For security reasons the invention uses the list name as part of the table name which is then saved as a single record in the 'Groups_Table'. In this way even if there is no physical relationship between the list table and groups table, the invention can verify if the called list is registered in the system before actually searching and retrieving data from the table.
  • First ID is the table's primary key which is automatically maintained by the database software
  • Second one contains the same ID as the primary key for records (of same table) set in the default language and for records set in additional languages is the ID of the default language record the translation is for; The only exception is found in the 'Language_Translation_Table' where the records for the default language are actually found in 'Language_Default_Table' and those are the IDs used
  • Third ID represents the ID of the language the record is written in ('Language ID' from 'Language_Default_Table').
  • the 'Language ID' field in all tables is the ID of the language name assigned in 'Language_Default_Table' in which all language names are written in (the default language).
  • 'List_l_Table' as an example,
  • First ID ('List 1 ID') is an auto-number which is assigned and controlled by the database software; • Second ID, 'List 1 ID Default' is identical to 'List 1 ID' column for elements written in default language and for the other records is the ID of the default language record this translation is for;
  • Third ID is 'Language ID' column and represents the ID of the language name the record is written in. The same rule applies for
  • the second and third IDs are monitored and controlled by the invention and do not require any user intervention. They are automatically added and/or passed to default language and subsequently to all translation records in accordance to the mentioned requirements. Their integrity is closely monitored by the invention using common programming and relational database techniques.
  • the 'List_l_Table' contains another two important columns: 'Option Label' and 'Option Value' fields represent user entered data that are needed in the creation of the list in question.
  • a style can be assigned to a list dynamically when calling the method (through an available parameter).
  • the ⁇ lements_Table' contains the three basic ID fields accompanied by another three important columns:
  • 'Group ID' represents the ID of the group set in 'Groups_Table' and is used to group elements that belong to same category. For example 'address', 'phone' and 'email' can be part of a group called 'contact' because they are almost always displayed on same page (not necessarily together; once called, the element can be placed anywhere on that page).
  • the 'Sections_Table' contains the three basic ID fields accompanied by: 'Group ID' - the ID of the group a certain record belongs to; this is needed because most sections contain more than one record and therefore need to be grouped in order to retrieve them all.
  • ID'Display Order' field tells the application the order in which current record must be displayed'HTML ID' field represents the HTML ID of the element that surrounds the value of the record; this is used to format the record value in accordance to user's preferences; a ⁇ TML_Table' containing all formatting used in the application must be maintained by the user'Section Value' field holds the actual text for the section record
  • the ⁇ TML_Table' is an auxiliary table and its main purpose is to allow a user assign a style to a section record ('Sections_Table') and has nothing to do with the translations themselves. Even though the style sheet (cascading style sheet) is not controlled by the invention, it is always there in web-enabled applications (either embedded or linked/external). Because a section can contain titles, paragraphs or other formatted text material, the actual formatting/style has to be applied at record level and not section level. Because of this, the invention maintains a table from which it can draw application/user defined style references from. All the records found in this table represent references (class names) to style elements defined in the style sheet.
  • the person in charge of designing a style for the application should maintain this table so the user creating the sections can have more style choices.
  • a set of default HTML tags (without class names attached) are already stored in this table and if the user decides to use them, the style can be applied directly to the tag without having to make any changes to this table. Because in complex applications the default records are not sufficient, the invention allows a user to modify this table according to their preferences.
  • the 'Groups_Table' is only used to keep track of all 'lists', 'sections' and 'element's' groups.
  • the invention uses 'Group ID' directly in the ⁇ lements_Table' and 'Sections_Table' by associating an element or section to a group name and indirectly for any 'List_x_Table' by registering the list name in this table and verifying its presence anytime a list request is made.

Abstract

An application component used to successfully manage all necessary content (including translations) of a full blown application that requires multi-language support. It can be integrated in any existing application (written in one of the supported programming languages) and can be configured to add, edit, delete, import and export an unlimited number of translations (distinct languages). The default and additional languages can be exported into and imported from an external file that can be given to a translator for processing. Translated text will replace default text when a new language is chosen from the list of available translations without having the need of creating separate layouts, pages, components and/or structures.

Description

Description
SYSTEM AND METHOD OF CONTENT AND TRANSLATIONS MANAGEMENT IN MULTI-LANGUAGE ENABLED APPLICATIONS
Technical Field
[1] The present invention relates in general to the field of web-enabled applications, and in particular to systems and methods providing language translation and content management features in such applications.
Background Art
[2] All existing web-enabled applications are using separate pages to display the content in various languages and therefore the functionality of the application must be transferred to all translation pages or just partially translate the pages. Disclosure of Invention
Technical Problem
[3] Multi-language web-enabled applications allow users to view the displayed content in one of the available languages. Up to now developers have generated a separate file for each of the available translation making it difficult to apply changes or corrections when needed. None of the current applications were able to completely separate the content (default language text/ translation text) from the programming environment and text markup (like HTML or XML). Because of this, pages had to be duplicated for each translation to achieve same functionality.
[4] Some applications even try to translate the content instantaneously using sophisticated methods but in order to be able to correctly translate any textual material from one language to an unlimited number of languages would be technically impossible since a language can have many dialects, jargons or even words with same meaning but when translated in a certain context can produce erroneous results. Because of this complexity and because in most serious applications translations are vital to their proper use, this invention will leave the actual task of translating the content to the rightful candidate: the translator - an authorized person having the credentials and experience to correctly translate a given document.
Technical Solution
[5] The key difference between today's web-enabled applications and this invention relies in the complete separation of content from the rest of the application and the way this data is being collected, sorted, manipulated and displayed. By categorizing the content into 'lists' (enumeration of text entities always displayed together as a group in a list box), 'sections' (entities of text displayed together in a predetermined sequence and formatted using any of the available HTML, XML or other markup languages) and 'elements' (single entities of text displayed independently anywhere on the page but grouped by subject to reduce processing time), the invention is able to completely identify and separate all possible content entities needed in any application.
[6] This invention when integrated in a multi-language enabled application allows an architect/developer to manage (add/modify /delete) 'lists', 'sections' and 'elements' in a default language (spoken) and when complete have all saved values exported into an external file that can be given to a translator for processing. Any existing or new translation can be imported into the system with the click of a button and make the translation available to the application and ultimately the viewers.
[7] All the content (textual material written in a predefined default language and any translations of the said textual material) is being stored in a database of choice that is configurable through the invention's setup terminal. The invention includes programming code that enables a user to set default programming environment (like programming language, database software and displaying languages) as well as components used in the management of the translations and content structure. The database can be chosen from a list of software applications capable of providing multi- language support [single and double byte character set (preferable UTF8) storage and sorting capabilities] in order to correctly manipulate the stored language translations.
[8] The invention allows a person without programming experience to build and manage all the content in accordance with the design requirements. All the mentioned content groups (lists, sections and elements) have their own separate interface specifically designed to eliminate confusion and allow the user concentrate their attention on building the content. Each interface displays the already saved lists, sections or elements allowing the user to add/modify /delete them in accordance to needs.
[9] Translations are only editable in the exported file and it should be done so by an authorized translator to ensure accuracy. When exporting the data for a new or existing translation, the invention would enter the default language content on the first column and the desired translated language on separate column (if no translation found for the individual item, the field would be left blank) so the translator will always have the default content in the same row as translation content.
[10] The invention programmatically maintains structural integrity of all languages entered into the application automatically without having the user worry about it. The content structure itself is completely designed and controlled by the user in charge of this activity and is done so through the changes made and assigned to the default language (spoken) only. This structure is then transferred automatically to a translation after an export/import procedure. For example when a list is expanded or contracted in the default language, when exported for translation and then imported back into the ap- plication, the translated language list would inherit the structure of the list written in default language like the ID of each option in the list so it can be sorted in the same way in any language.
[11] The invention automatically maintains proper relationships between records written in default language and translation records (written in any other language) so the content structure will always match regardless of number of imports or translations present. When a record written in default language is being deleted, all translations of that record will also be deleted so nothing will be left behind. Also, before an external file can be successfully imported into the database, the invention checks any omitted translations for existing records and notifies the user before saving the new content so the number of records for a translation will always match the number of records for default language. This verification process is vital for maintaining the integrity and accuracy of the content in all languages.
[12] Once the content (structure and textual material) for the default language is finalized, a programmer/developer would take over and integrate it in the application according to design requirements.
[13] Based on the programming language used in the application development, the invention would make available to the programming interface all the variables, functions/methods and classes needed for implementation. By calling a method using configured parameters will allow a developer to pass the value to another function or display it directly on page according to needs. For example when a 'list' (in HTML terms: select box) is needed, a reference to the list method is called (predetermined parameters must be entered) anywhere on the code. The same procedure would apply for calling 'sections' or 'elements' as many times as needed.
Advantageous Effects
[14] The invention possesses numerous benefits and advantages over known methods of handling translations. It allows the user to maintain a single structure or layout while adding an unlimited number of languages to the application. This was possible through the complete separation of content from the page and programming layout.
[15] In order to maintain translation accuracy suitable for any professionally designed application and the ability to manage and display an unlimited number of languages, the invention leaves the actual translation process to an authorized translator while focusing its attention in the proper management of its content.
[16] A practical example of the flexibility possessed by the invention resides in its ability to use the same displaying and processing page designed for the default language, for all the translations included in the application regardless of the content type. There would be no need to duplicate the same pages as many times as the number of translations making it possible to translate every single word present anywhere in the application.
[17] 'Lists' (or select boxes) can be easily configured just by calling the list method and specifying the needed parameters (like list name, desired option name, value). It is so flexible that even JavaScript code can be added to the list which will allow the list enhance its functionality by performing a desired operation.
[18] The most important characteristics of a 'section' are (a) the order in which individual items are being displayed and (b) their respective style (Cascading Style Sheet [CSS] - like font name, font size, font color, font style, alignment); because of this characterization, the formatting structure of each 'section' can be maintained separately from the content and therefore editable in one location and applied to all translations.
[19] Individual 'elements' must have the flexibility to be displayed anywhere on a page or passed to a programming variable when needed; its length can vary from a single word to a full paragraph. Starting from identifying these requirements the invention maintains a user assigned name and the group it belongs to (to allow same name be used in any number of groups instead of using unique names) which is automatically inherited by all translations and can be programmatically referenced using same name regardless of displaying language chosen by the viewer.
Description of Drawings
[20] Fig. 1 - Database Table relationship in a multi-language application
[21] Fig. 2 - Sample of Database Table data in a multi-language application
Best Mode for carrying out the Invention
[22] Having the content separated in three categories (lists', 'sections' and 'elements') now is time to find a way to store it into and then retrieve it from the database for the purpose of displaying it on any page in the application.
[23] In order to better understand the process we have created a sample database structure in which Fig. 1 contains basic relationships between the languages and desired content tables and Fig. 2 contains sample records that are stored in their respective tables.
[24] First thing to notice is a single 'elements' table because every group of individual items will always have same characteristics: one name to be called by, the group ID it belongs to and one value. The only situation when an extra table(s) is needed is when the saved records exceed maximum table size and therefore an additional table is automatically created.
[25] There will only be one 'sections' table because they all have a displaying order, assigned format and value columns (same table size constraints apply as in 'elements' table).
[26] Because 'lists' must be displayed separately from the rest and always as a group, and because a list may have additional characteristics that may be different from other lists, the invention creates a new table for each one. For security reasons the invention uses the list name as part of the table name which is then saved as a single record in the 'Groups_Table'. In this way even if there is no physical relationship between the list table and groups table, the invention can verify if the called list is registered in the system before actually searching and retrieving data from the table.
[27] The language names inserted in the default language table
('Language_Default_Table') are maintained separately from the rest of the translations (saved in 'Language_Translation_Table') because there is no need to propagate the features one language might have to all the translations since they are actually the same thing. The first record in this table will always represent the name of the default language and all other records are saved names written in this language. The 'Language_Active' column gives the user the ability to enable/disable languages as needed. The 'Language_ISO_Format' column contains ISO 8859 language codes that are used to properly display the character set the displaying language is written in. By having the tables separated this way, the invention allows a user to add additional columns to the 'Language_Default_Table' which may represent features of the language the invention did not consider but may be used for other purposes elsewhere in the parent application.
[28] In order to maintain a proper relationship between records saved for the default language (spoken) and records saved for additional translations, the invention uses a set of three ID's as follow:
• First ID is the table's primary key which is automatically maintained by the database software;
• Second one contains the same ID as the primary key for records (of same table) set in the default language and for records set in additional languages is the ID of the default language record the translation is for; The only exception is found in the 'Language_Translation_Table' where the records for the default language are actually found in 'Language_Default_Table' and those are the IDs used
• Third ID represents the ID of the language the record is written in ('Language ID' from 'Language_Default_Table').
[29] Explaining the same ID's using Fig. 2 (the sample data tables), the 'Language ID' field in all tables is the ID of the language name assigned in 'Language_Default_Table' in which all language names are written in (the default language). Considering 'List_l_Table' as an example,
• First ID ('List 1 ID') is an auto-number which is assigned and controlled by the database software; • Second ID, 'List 1 ID Default' is identical to 'List 1 ID' column for elements written in default language and for the other records is the ID of the default language record this translation is for;
• Third ID is 'Language ID' column and represents the ID of the language name the record is written in. The same rule applies for
'Language_Translation_Table', Εlements_Table', 'Sections_Table' or any 'List_x_Table'.
[30] Because the first ID is automatically controlled by the database software, the second and third IDs are monitored and controlled by the invention and do not require any user intervention. They are automatically added and/or passed to default language and subsequently to all translation records in accordance to the mentioned requirements. Their integrity is closely monitored by the invention using common programming and relational database techniques.
[31] Besides the ID columns explained above, the 'List_l_Table' contains another two important columns: 'Option Label' and 'Option Value' fields represent user entered data that are needed in the creation of the list in question. A style can be assigned to a list dynamically when calling the method (through an available parameter).
[32] The Εlements_Table' contains the three basic ID fields accompanied by another three important columns:
• 'Group ID' represents the ID of the group set in 'Groups_Table' and is used to group elements that belong to same category. For example 'address', 'phone' and 'email' can be part of a group called 'contact' because they are almost always displayed on same page (not necessarily together; once called, the element can be placed anywhere on that page). Even though is not necessary to group elements, it is a good idea to do so because a) it allows developers use same element names multiple times (if they belong in different group and have different meaning) and b) improves the speed of calling all these elements - load all the elements that belong to same group/page in one shot rather than one by one; the Group Name the element belongs to is determined and entered by the user but the ID fields are managed by the invention.
• 'Element Name' column is only used by the application developer to call an element by name rather than by ID (same as 'Group Name' in 'Groups_Table'); the value set for the default language is then transferred by the invention to all translations of that record so the element can be called using same name regardless of displaying language
• 'Element Value' is another user-entered field and contains the text to be displayed anywhere in the application
[33] The 'Sections_Table' contains the three basic ID fields accompanied by: 'Group ID' - the ID of the group a certain record belongs to; this is needed because most sections contain more than one record and therefore need to be grouped in order to retrieve them all. Also when a section is called, it is done so by using its group name (retrieved from 'Groups_Table' based on 'Group ID') rather than ID'Display Order' field tells the application the order in which current record must be displayed'HTML ID' field represents the HTML ID of the element that surrounds the value of the record; this is used to format the record value in accordance to user's preferences; a ΗTML_Table' containing all formatting used in the application must be maintained by the user'Section Value' field holds the actual text for the section record
[34] The ΗTML_Table' is an auxiliary table and its main purpose is to allow a user assign a style to a section record ('Sections_Table') and has nothing to do with the translations themselves. Even though the style sheet (cascading style sheet) is not controlled by the invention, it is always there in web-enabled applications (either embedded or linked/external). Because a section can contain titles, paragraphs or other formatted text material, the actual formatting/style has to be applied at record level and not section level. Because of this, the invention maintains a table from which it can draw application/user defined style references from. All the records found in this table represent references (class names) to style elements defined in the style sheet. In other words, the person in charge of designing a style for the application should maintain this table so the user creating the sections can have more style choices. A set of default HTML tags (without class names attached) are already stored in this table and if the user decides to use them, the style can be applied directly to the tag without having to make any changes to this table. Because in complex applications the default records are not sufficient, the invention allows a user to modify this table according to their preferences.
[35] The 'Groups_Table' is only used to keep track of all 'lists', 'sections' and 'element's' groups. The invention uses 'Group ID' directly in the Εlements_Table' and 'Sections_Table' by associating an element or section to a group name and indirectly for any 'List_x_Table' by registering the list name in this table and verifying its presence anytime a list request is made.
[36] The interface used by the invention is written using common programming language techniques and has the following features:
• Ability to integrate the invention in any external application written in one of the preconfigured programming languages: this allows the invention to transfer requested content from the database to the main application using a programming environment the main application understands
• Ability to add/edit/delete an unlimited number of 'lists', 'sections' and 'element written in a configurable default language (spoken). • Ability to add/edit/delete an unlimited number of languages (spoken) to the system and manage their characteristics: all translations use an export/import procedure that is very easy to handle; the invention also has the capability of disabling a language when necessary
• Ability to maintain constraints/relationships between records written in default language and records written in other languages
Mode for Invention [37]
Industrial Applicability [38]
Sequence List Text [39]

Claims

Claims
[1] A multi-language management application comprising: code for managing user- defined content; code for import/export translations of user-defined content; code for managing relational database storage needs and enforcement of referential integrity methods; code for transfer of user-defined content into a multi-language enabled application for the purpose of displaying it; and code for allowing viewer to change displaying language for the purpose of viewing the content in one of available languages.
[2] The multi-language management application in accordance with claim 1, wherein said user-defined content comprises textual material entered by said user through a user interface
[3] The multi-language management application in accordance with claim 2, wherein said user comprises a person responsible for administration of user- defined content in a multi-language enabled application
[4] The multi-language management application in accordance with claim 3 wherein multi-language enabled application comprises an application enabled to display content in multiple languages by integrating the multi-language management application as part of it
[5] The multi-language management application in accordance with claim 1 wherein export translation of user-defined content comprises the export of user-defined content written in default language and if present, content translated in a chosen language into an external file for the purpose of translating it
[6] The multi-language management application in accordance with claim 1 wherein import translation of user-defined content comprises the import of same external file in accordance with claim 5 containing the fully translated content into a multi-language enabled application
[7] The multi-language management application in accordance with claim 1 wherein managing relational database storage needs comprises an interface where said user can select the database software used as storage for the saved (entered or imported) content, the creation, modification or deletion of database tables and columns used to store said user-defined cont
[8] The multi-language management application in accordance with claim 1 wherein enforcement of referential integrity methods comprises the tracking of identification columns and accurately maintain relationships within tables and records in accordance with referential guidelines
[9] The multi-language management application in accordance with claim 1 wherein code for transfer of user-defined content comprises an interface capable of pro- grammatically communicating with a multi-language enabled application for the purpose of transferring the requested content to it
[10] The multi-language management application in accordance with claim 1 wherein change of displaying language comprises a selection made by a viewer of a multi-language enabled application from a list of available languages/translations with the purpose of changing the language in which displaying content is written in
[11] A method for the separation of content in a multi-language enabled application comprising: collection, storage, retrieval and display of user-defined content using lists, sections and elements
[12] The method for the separation of content in accordance with claim 11 wherein said user-defined content comprises textual material written in a language set as default by said user and an unlimited number of translations of same material
[13] The method for the separation of content in accordance with claim 12 wherein said unlimited number of translations comprises the translation of textual material in an unlimited number of distinct languages
[14] The method for the separation of content in accordance with claim 11 wherein said list comprises an enumeration of textual material saved and displayed together as a group
[15] The method for the separation of content in accordance with claim 11 wherein said section comprises a distinct part of textual material containing titles, paragraphs or other formatted structures and always saved and displayed in a predetermined order and as a group
[16] The method for the separation of content in accordance with claim 11 wherein said elements comprises single entities of textual material containing from one word to one phrase that could be saved and displayed independently from other elements
[17] The method for the separation of content in accordance with claim 11 wherein said collection, storage, retrieval and display of user-defined content comprises the use of lists, sections and elements in all aspects of management of user- defined content, from the collection and save phase to the retrieval and display phase
[18] A method for the creation of relationships between records written in default language and records written in a foreign language comprises: code for creation of necessary identification columns; code for assigning identification numbers for records written in default language; code for transfer of characteristics from records written in default language to records written in foreign language;
[19] The method for the creation of relationships between records in accordance with claim 18 wherein said record written in a foreign language comprises a record storing the translation of a record written in default language and the textual material is written in a foreign language
[20] The method for the creation of relationships between records in accordance with claim 18 wherein said default language comprises a language chosen by an administrator of a multi-language enabled application to be the default displaying language for the said user-defined content
[21] The method for the creation of relationships between records in accordance with claim 18 wherein said foreign language comprises a language other than default language
[22] The method for the creation of relationships between records in accordance with claim 18 wherein said code for creation of ID columns comprises the creation of three ID columns for each table containing records written in multiple languages as follow: first ID represents an auto-number column whose values are assigned automatically by the database software and are always unique; second ID column stores same value found in first ID column for records written in default language and for translation records (written in any foreign language), the value will be that of the first ID column the record is a translation of; third ID column stores the ID of the language the record is written into
[23] The method for the creation of relationships between records in accordance with claim 22 wherein said second ID column comprises a field storing a numeric value used to create relationships between records written in default language and their respective translations (written in any foreign language); records having same second ID and written in a foreign language (written language is determined through third ID) are translations of record written in default language
[24] The method for the creation of relationships between records in accordance with claim 18 wherein code for assigning identification numbers to records written in default language comprises the transfer of first ID column in accordance with claim 22 to second ID column and transfer of default language ID to third ID column anytime the record is modified
[25] The method for the creation of relationships between records in accordance with claim 18 wherein code for transfer of characteristics from records written in default language to records written in foreign language comprises two steps: a) the export into an external file of all records written in default and their translation in a chosen foreign language (if present) for the purpose of translating them; and b) the import of same external file containing both default language and translated foreign language records into the storage database
[26] The method for the creation of relationships between records in accordance with claim 25 wherein external file comprises a text file containing all textual material saved and used in a multi-language enabled application for both default language and chosen foreign language saved on two separate columns and unlimited number of rows
PCT/IB2007/050217 2007-01-23 2007-01-23 System and method of content and translations management in multi-language enabled applications WO2008090420A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2007/050217 WO2008090420A1 (en) 2007-01-23 2007-01-23 System and method of content and translations management in multi-language enabled applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2007/050217 WO2008090420A1 (en) 2007-01-23 2007-01-23 System and method of content and translations management in multi-language enabled applications

Publications (1)

Publication Number Publication Date
WO2008090420A1 true WO2008090420A1 (en) 2008-07-31

Family

ID=39644159

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2007/050217 WO2008090420A1 (en) 2007-01-23 2007-01-23 System and method of content and translations management in multi-language enabled applications

Country Status (1)

Country Link
WO (1) WO2008090420A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8993943B2 (en) 2010-10-20 2015-03-31 Trumpf Huettinger Gmbh + Co. Kg Systems for operating multiple plasma and/or induction heating systems and related methods
US9503006B2 (en) 2010-10-20 2016-11-22 Trumpf Huettinger Gmbh + Co. Kg Plasma and induction heating power supply systems and related methods
CN110704154A (en) * 2019-10-12 2020-01-17 杭州行至云起科技有限公司 Multi-language template issuing method and system
CN112181550A (en) * 2020-08-31 2021-01-05 福州智象信息技术有限公司 UI multi-language conversion method and system for smart television operating system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583761A (en) * 1993-10-13 1996-12-10 Kt International, Inc. Method for automatic displaying program presentations in different languages
US20020156688A1 (en) * 2001-02-21 2002-10-24 Michel Horn Global electronic commerce system
US20020162093A1 (en) * 2001-04-30 2002-10-31 Ming Zhou Internationalization compiler and process for localizing server applications
US20030074481A1 (en) * 2001-10-17 2003-04-17 International Business Machines Corporation Uniform handling of external resources within structured documents
US20030135360A1 (en) * 2002-01-14 2003-07-17 International Business Machines Corporation System and method for managing translatable strings displayed on console interfaces
US7016977B1 (en) * 1999-11-05 2006-03-21 International Business Machines Corporation Method and system for multilingual web server
WO2006055686A2 (en) * 2004-11-18 2006-05-26 Sue Ellen Reager Global localization and customization system and process

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583761A (en) * 1993-10-13 1996-12-10 Kt International, Inc. Method for automatic displaying program presentations in different languages
US7016977B1 (en) * 1999-11-05 2006-03-21 International Business Machines Corporation Method and system for multilingual web server
US20020156688A1 (en) * 2001-02-21 2002-10-24 Michel Horn Global electronic commerce system
US20020162093A1 (en) * 2001-04-30 2002-10-31 Ming Zhou Internationalization compiler and process for localizing server applications
US20030074481A1 (en) * 2001-10-17 2003-04-17 International Business Machines Corporation Uniform handling of external resources within structured documents
US20030135360A1 (en) * 2002-01-14 2003-07-17 International Business Machines Corporation System and method for managing translatable strings displayed on console interfaces
WO2006055686A2 (en) * 2004-11-18 2006-05-26 Sue Ellen Reager Global localization and customization system and process

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8993943B2 (en) 2010-10-20 2015-03-31 Trumpf Huettinger Gmbh + Co. Kg Systems for operating multiple plasma and/or induction heating systems and related methods
US9503006B2 (en) 2010-10-20 2016-11-22 Trumpf Huettinger Gmbh + Co. Kg Plasma and induction heating power supply systems and related methods
CN110704154A (en) * 2019-10-12 2020-01-17 杭州行至云起科技有限公司 Multi-language template issuing method and system
CN112181550A (en) * 2020-08-31 2021-01-05 福州智象信息技术有限公司 UI multi-language conversion method and system for smart television operating system

Similar Documents

Publication Publication Date Title
US9613003B1 (en) Identifying topics in a digital work
US8887044B1 (en) Visually distinguishing portions of content
US8370352B2 (en) Contextual searching of electronic records and visual rule construction
KR101298415B1 (en) Annotating documents in a collaborative application with data in disparate information systems
Aitchison et al. The thesaurus: a historical viewpoint, with a look to the future
US9639518B1 (en) Identifying entities in a digital work
US6279005B1 (en) Method and apparatus for generating paths in an open hierarchical data structure
US7370270B2 (en) XML schema evolution
CN114616572A (en) Cross-document intelligent writing and processing assistant
US9449526B1 (en) Generating a game related to a digital work
EP3358470B1 (en) Method of preparing documents in markup languages
US20090210828A1 (en) Methods and apparatus for improved navigation among controlled terms in one or more user documents
WO2009007181A1 (en) A method, system and computer program for intelligent text annotation
JP6160006B2 (en) Electronic file structure, computer-readable storage medium, electronic file generation device, electronic file generation method, electronic file
Hienert et al. Extraction of historical events from wikipedia
US11526484B2 (en) Methods and systems for creating and managing micro content from an electronic document
US7711548B2 (en) Method and structures to enable national language support for dynamic data
Will The ISO 25964 data model for the structure of an information retrieval thesaurus
US8799256B2 (en) Incorporated web page content
WO2008090420A1 (en) System and method of content and translations management in multi-language enabled applications
US7689631B2 (en) Method for utilizing audience-specific metadata
US7657511B2 (en) Multi-layered data model for generating audience-specific documents
US7100126B2 (en) Electrical form design and management method, and recording medium
CN100456285C (en) Method and device for accessing a database
Will Thesaurus consultancy

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07705698

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07705698

Country of ref document: EP

Kind code of ref document: A1