[interchange-i18n] Core Team Smalltalk about i18n development between Ton and Racke

Stefan Hornburg Racke racke at linuxia.de
Sat Aug 3 10:12:00 UTC 2002


Ton Verhagen <ton at verhagen.net> writes:

[...]

> 
> Have you decided on the structure that you are going to use for localising
> the demo catalog?
> 

As it is likely that we support quite a bunch of languages (depending on
the number of translators), I plan to add a locales database for any
of the existing databases with information which is to be localized,
e.g. products, cat, area, mv_metadata.

To illustrate this, look at a possible setup for the mv_metadata database
and the German language:

Database mv_metadata mv_metadata.asc TAB
Database mv_metadata MAP label de_DE meta_locales::label_de_DE
Database mv_metadata MAP help de_DE meta_locales::help_de_DE
Database mv_metadata MAP prepend de_DE meta_locales::prepend_de_DE
Database mv_metadata MAP append de_DE meta_locales::append_de_DE

So, if the locale is de_DE, the label is read from the column
label_de_DE of the database meta_locales instead of from
the column label of the database mv_metadata.
 
> 
> What is the purpose of the Shadow database?

To get more flexibility in access to the databases with miniscule
impact on the performance of the existing databases. For now there
is only one extra if-condition in Vend::Data and a configuration
section in Vend::Config.

The Shadow database is a virtual database sitting on top of a
regular Interchange database (SQL, LDAP, Text, Memory, ...).
All data comes from the underlying database except for
the field/locales combination in the MAP parameters. The Shadow
code queries the configured database/column then.

The database configuration code detects automatically which database is a
Shadow database because of the MAP parameters.

For catalogs with only a few extra languages, an Interchange developer
may decide to keep them in the same table. This is fine as well, in
this case you would add lines like that to your configuration:

Database products MAP description de_DE description_de

Not implemented or planned to so, but cogitable is:

Database products MAP description "select description from descriptions
where lang = %s and code = %s"

One problem that I didn't investigate further yet is how to display
Shadow databases in the UI. 

> What are the plans regarding the demo catalog. I mean are there going to be
> many 'structural' changes in 4.9.x?

There are plans to redo the options stuff. Besides that, Mike Heins
has improved the content editing and related functionality. I don't
expect fundamental changes in the demo catalog, though. We'll keep
foundation as demo catalog and don't change that much in the structure,
mostly adding things. Backward compatibility will be a major concern,
but not at any cost.

IMHO, the Shadow database and the changes to the foundation catalog
will help many non-English interchange developers to reduce the
development time for an Interchange catalog. Than there will be
no need anymore for every company to do the translation. 

If we manage to rework the documentation on i18n, developers creating
from scratch will get a clear guideline to run catalogs in multiple
languages with a clean setup.

This is definitely the upside of all this, the downside is that it probably
will take quite some time to finish the implementation given the current
speed. 

It would be extremely helpful for the Interchange i18n project to get
sponsoring from Interchange developers and companies working with
Interchange, even with small amounts of money. If you are inclined
to support the Interchange i18n project in this way, please contact
me by email (racke at linuxia.de).

With regards
        Racke

-- 
Prolific Interchange Consulting (Excellent German Quality !).
Take a look at Materialboerse (http://www.materialboerse.de/), WITT 
(http://www.witt-weiden.de/), Boxmover (http://shop.boxmover.ch/) or 
Passionshop (http://www.passionshop.com/racke). Need a shop ? Contact us.



More information about the interchange-i18n mailing list