MULTILIZER - The Software Globalization Company
PRODUCTSCOMPANYPARTNERSSTOREFree TrialsSupportContact Us
Developer Zone

Databases

3. Row Localization

In row localization (also known as "single table localization") there is a table created for localized data.

Essential is that the primary key of the data table contains one column dedicated to the language ID. Multilizer will use the ISO codes for the language (ISO-369) and country (ISO-3166) combination for every RDBMS*. The name of the column can be chosen freely as long as it is a string type and at least 5 characters long**.

Translations are entered to the same table and same column where the native data is. The language ID column separates the different language rows.



Picture 1: Native "Dialogs" table without localizable columns.

 


Picture 2: Dialogs data table with language ID column "Language" and sample data in native English (en) and Japanese (ja).

Example SQL script to get dialog information in Japanese:

SELECT Dialogs.Dialog, Dialogs.Control,
   Dialogs
.Property, Dialogs_DATA.Value
FROM
Dialogs, Dialogs_DATA
WHERE
Dialogs.Id = Dialogs_DATA.Id
AND
Dialogs_DATA.Language LIKE 'ja';

TIP: You don't neccessary need to create a dedicated table for translations. All the data, native and translated, can be in one single table. This technique is preferred if the table structure is relatively small, the non-localizable data is not frequently chnaged and the database size doesn't need to be optimized.



Picture 3: The same sample table mixed with non-localizable data, native English (en) and Japanese (ja) strings.

Example SQL script to get dialog information in Japanese:

SELECT Dialog, Control, Property, Value
FROM
Dialogs WHERE Language LIKE 'ja';

*) Except in Oracle where Oracle's own NLS codes are used instead. So where Oracle will contain the code "US" for English (United States) rows, all other databases will contain "en_US".

**) Except in Oracle where the maximum length will probably be 3 characters.

<< Back | Index | Next >>

Localization Techniques
Field Localization
Table Localization
Row Localization
Database Cloning
Comparison Matrix