Subject | Feature request - Multilanguage fields |
---|---|
Author | Ales Kahanek |
Post date | 2003-10-14T06:51:02Z |
Please, consider the following feature request, I think that this could
be very nice, unique and appreciated feature for creating international
applications. I would like to know your opinion - do you think that this
is worth to discuss?
It would be very useful to tell the server, that some CHAR or VARCHAR
fields are multilanguage. When connecting to database, user would
specify what language he wants to use (or default would be used if none
language is specified). Then when selecting or updating such field,
server would update only that field which belongs to specified language.
Example:
CREATE TABLE (
ID INTEGER,
NAME VARCHAR(50) MULTILANGUAGE
)
Server will create 1 field for each defined language, for example the
resulted table could be like
CREATE TABLE (
ID INTEGER,
NAME VARCHAR(50), /*this is the default language*/
NAME$EN VARCHAR(50) , /*this is alternate field for English*/
NAME$RU VARCHAR(50), /*this is alternate field for Russian, etc.*/
NAME$FR VARCHAR(50)
)
After adding new language, server should alter all tables with
multilanguage field and add corresponing fields to the tables.
When the user connects to database with lang RU, server will do all DML
with NAME$RU.
This is very raw idea, but we can discuss it.
It would enable to easily create multilanguage applications with
multilanguage fields maintained by user (not the developer) in the
runtime. For example: when you want to print an invoice in foreign
language, you can TRANSLATE THE FIELD NAMES and the printout looks nice,
but it still contains some untranslated information which comes from the
FIELD VALUES (payment terms, delivery terms, etc.).
This behaviour IMHO can be simulated by selecting, updating the tables
via stored procedures and CASE statement but this seems to me a little
bit unproductive and increases the maintaining costs rapidly.
What is your opinion?
Ales Kahanek
be very nice, unique and appreciated feature for creating international
applications. I would like to know your opinion - do you think that this
is worth to discuss?
It would be very useful to tell the server, that some CHAR or VARCHAR
fields are multilanguage. When connecting to database, user would
specify what language he wants to use (or default would be used if none
language is specified). Then when selecting or updating such field,
server would update only that field which belongs to specified language.
Example:
CREATE TABLE (
ID INTEGER,
NAME VARCHAR(50) MULTILANGUAGE
)
Server will create 1 field for each defined language, for example the
resulted table could be like
CREATE TABLE (
ID INTEGER,
NAME VARCHAR(50), /*this is the default language*/
NAME$EN VARCHAR(50) , /*this is alternate field for English*/
NAME$RU VARCHAR(50), /*this is alternate field for Russian, etc.*/
NAME$FR VARCHAR(50)
)
After adding new language, server should alter all tables with
multilanguage field and add corresponing fields to the tables.
When the user connects to database with lang RU, server will do all DML
with NAME$RU.
This is very raw idea, but we can discuss it.
It would enable to easily create multilanguage applications with
multilanguage fields maintained by user (not the developer) in the
runtime. For example: when you want to print an invoice in foreign
language, you can TRANSLATE THE FIELD NAMES and the printout looks nice,
but it still contains some untranslated information which comes from the
FIELD VALUES (payment terms, delivery terms, etc.).
This behaviour IMHO can be simulated by selecting, updating the tables
via stored procedures and CASE statement but this seems to me a little
bit unproductive and increases the maintaining costs rapidly.
What is your opinion?
Ales Kahanek