[orm-devel] How to handle multi language?

Werner F. Bruhin werner.bruhin at free.fr
Tue Jun 21 13:18:58 CEST 2005

Hi Diedrich,

Diedrich Vorberg wrote:

> Hi Werner!
>> All your suggestions got me thinking.  Whenever you or anyone else  
>> has a moment to look at the attached, I would be greatful for  
>> comments/critics - this is nothing urgent.
>> Any hints, comments, critic (but be nice, please!) is very welcome
> Thank you very much for sharing your ideas with the list!
> I'd like to make two remarks, though:
> 1. I don't think it is a good idea to have several rows per language  
> in the same table. This is going to make SELECT queries less streight  
> forward, because you always have to exclude those entries you don't  
> want for the current language. (If the parent table is the only one  
> you do SELECTs on that's not a problem, of course).

All the "multi language" tables are what I call master data (Stamm 
Daten) type tables, they don't change much and they are not that often 
used in SELECT queries except in cases to fill e.g. a combobox but in 
that case I have to select the appropriate language anyhow, so I either 
do a SELECT with a where clause or decide which column to use.

> Anyway, I'd like  to have one row per country, though dispite the face 
> that there are  three country names, it's only one country.

You are right there should only be one row per thing (country in this 
case), I am not really happy with my solution nor with your's, so it is 
probably back to the drawing board.

I use gettext for the program labels, maybe one could base it on their 

The text to translate becomes the "ID" to find the translation, i.e. 
have a column type "TRANSLATE" which does a lookup in a table containing 
translations if the language ID is found for the "ID" that entry is used 
otherwise the "ID" is used.

> 2. Just a small one: I think lang_2oneColumn can be optimized by  
> using a JOIN so you don't need to run two queries.
> Have a nice weekend!
> Diedrich
Hope you had a nice weekend, here it was a bit too hot for my taste but 
very nice evenings.

See you

More information about the orm-devel mailing list