gnumed-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnumed-devel] i18n.sql


From: Hilmar Berger
Subject: Re: [Gnumed-devel] i18n.sql
Date: Sun, 22 Dec 2002 12:47:43 +0100 (CET)

Hi,
On Sun, 22 Dec 2002, Karsten Hilbert wrote:

> create table i18n_trans (
>     id serial primary key,
>     lang character(2),
>     orig text,
>     trans text
> );
> insert into
>     table i18n_trans
>       (lang, orig, trans)
>     values
>       ('de', 'urgent', 'dringend');
>
> create table prio_level (
>     id serial primary key,
>     level_name varchar(20)
> );
> insert into
>     table prio_level (level_name)
>     values ('urgent');
>
> create view i18n_prio_level as
>     select
>       p.id,
>       i18.trans as level_name
>     from
>       prio_level p,
>       i18n_trans i18
>     where
>       i18.lang = 'de'
>           and
>       i18.orig = p.level_name;
>
> create table referral_letter (
>     id serial primary key,
>     id_receiver integer references identity,
>     id_sender integer references identity,
>
>     priority_level integer references i18n_prio_level(id),
                                        ^^^^^^^^^^^^^^^
I guess i18n_prio_level should return the untranslated version if no
translation is required, shouldn't it ?
That would mean that you have to pass the language as an parameter.
If not, you will always stay with only one language in one database.

I see two problems regarding multiple language support here:
1. you can't pass parameters to views/tables
2. functions take arguments, but if you use functions you will have to
create one per possible query you can do on a table.

I believe that the only feasible way to have multiple languages at once is
to translate text once the query has been comleted (that is, on client
side). That, however, wont work if just a part of the query will have to
be translated (unless you mark the part to translate some way).

Hilmar




reply via email to

[Prev in Thread] Current Thread [Next in Thread]