Multilingual TranslationsDatabase Support Multilingual data variants for attributes of an object type are stored in a dedicated database table which must be created for an object type at the moment when at least one of its attributes is specified as 'translated'. This means that a dedicated translation table exists in the database for each object type with at least one translated attribute. See topic 'Generating The Database Support'.
Main Language of Data Before actual translations are created for the first time, it is necessary to select the main language of data. This tells the application which language (i.e. values in which language) will be stored in the main database table of the object type as opposed to 'other' (supplementary) languages which will be stored in the dedicated translations table, as depicted in the 'Structure of multilingual support' image above. Supplementary Languages, Current Language The translated object type is expanded by a transient 'current language' attribute displaying the translated value from the translations table. What exactly is displayed is subject to a calculation (performed at the SQL level) which can also handle situations such as missing translation in a given language (in which case the main language value is displayed). To sum up, the following "types" of languages can be distinguished:
The Translate action Actual translation is performed using the 'Translate' action. The action needs to be added to a suitable GUI location, for instance to a catalog of the object type which contains one or more translated attributes. See topic 'Adding the Translate Action to GUI'. Customization Considerations From the customization point of view, it is important to distinguish between two basic types of users:
See topic 'Customization Considerations' for more on this issue. Technical Considerations Chapter 'Technical Considerations' delves into more technical issues such as conditions which must be met for an attribute to be translatable, attribute size limitations or technical aspects of main and supplementary languages. | ||||||