October 20, 2009 at 12:37 am
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
October 20, 2009 at 12:46 am
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
October 20, 2009 at 10:50 pm
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???????????
October 20, 2009 at 11:06 pm
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
October 21, 2009 at 12:12 am
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 ???
October 21, 2009 at 12:16 am
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
October 21, 2009 at 12:39 am
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
October 21, 2009 at 7:42 am
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