multilingual Databae design

  • Hi all

    I want to design a database which use in multilingual environment.

    according to my view we find these method for this type database.

    1. If we have two or three language then we can use column twice of three time in a table with language prefix like

    ID

    En_Name -- Use For English

    Fr_Name -- For french

    Here Id is a surrogate key and not a part of entity.so we not need to generate column for id according language.

    2. We Can Create One Table For Every Language like.

    ---------------For English

    EN_TABLE1

    ------------

    ID

    Name

    ---------------For French

    FR_Table1

    ---------

    ID

    Name

    please suggest me which is best

  • The last time I dealt with this there was a single table that held all the translations for all the tables.. It was structured like:

    MasterId int

    TableId int

    LanguageId int

    TranslatedText nvarchar(200)

    The master id is the id of the record from the base table, table id specifies which base table, and language id is the language the translated text is for. The base table usually had a column that showed the description in English, simply to make it easier from the backend, but it was never used by the app..

    We used a fairly simple "formula" (which I can't remember) to always return a value. We always had an English translation, so if we had not translated it to spanish yet, you would get English, and if you had done a partial translation then you would get a mix.

    CEWII

  • Thank for reply

    According your view the master table structure and record as follows

    Master Id Table Id Language Id Translated Text

    101 1 1 English

    102 2 2 French

    And This Is table Info Stucture

    Table Id Table Name

    -------------------

    1 EN_Emp

    2 FR_EMP

    This is Language Table

    Language Id Name

    -----------------------

    1 English

    2 French

    This structure help me for translate a record in other

    but query is generate run time this means this query can not used within function???????????

  • Close..

    According your view the master table structure and record as follows

    Master Id Table Id Language Id Translated Text

    95 2 1 Job Description in English

    95 2 2 Job Description in French

    101 1 1 Product Description in English

    101 1 2 Product Description in French

    And This Is table Info Stucture

    Table Id Table Name

    -------------------

    1 Products

    2 Job Descriptions

    This is Language Table

    Language Id Name

    -----------------------

    1 English

    2 French

    Not sure what you mean here,,

    This structure help me for translate a record in other

    but query is generate run time this means this query can not used within function???????????

    CEWII

  • For Example My Product Table Structure As Following

    Product

    -------------------

    ID Int

    Name nvarchar(500

    Description nvarchar(100)

    Now We have Two Field in product table which must be translate in two language.

    Now How we organize these two field in master table(translation table).

    Is There need a column id ???

  • I would say that you would simply create another table id for the second field. Also, at that point your product table (provided it only has 3 columns becomes a 2 column table, an id, and a local name.. The local name is never shown, it is used to make it easier for a troubleshooter to pick out records..

    CEWII

  • thanks............

    but a record is divide in several rows and may be create problem in select statement.

    also we have a condition on language id.

    any suggestion

  • but a record is divide in several rows and may be create problem in select statement.

    True but I don't see a big problem.. I'm thinking about a solution for you..

    also we have a condition on language id.

    Not sure what tht means..

    CEWII

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply