[Dbix-class] Advices needed on creating multilingual application

Mark Lawrence nomad at null.net
Wed Sep 19 15:07:41 GMT 2007

On Wed Sep 19, 2007 at 04:16:32PM +0300, mbit at ukr.net wrote:
> mbit at ukr.net(mbit at ukr.net)@Wed, Sep 19, 2007 at 02:49:43PM +0300:
> > Mark Lawrence(nomad at null.net)@Wed, Sep 19, 2007 at 12:58:24PM +0200:
> > > On Wed Sep 19, 2007 at 11:50:26AM +0300, mbit at ukr.net wrote:
> > > The application might be 'easy', but the type of problem is not, otherwise
> > > I expect we would have seen the major blogging/CMS platforms do this long
> > > ago. Unfortunately I think the only ones who have made reasonable
> > > progress are Plone and the Gengo plugin for wordpress.
> Well, i did some research. For now i can say that in gengo (the code is awfull
> though =/, maybe because of php) they have a little different approach.

I didn't say they were *good* examples ;-) In fact I haven't looked at
their code at all, I just know both those groups have made progress.

> What do you think about that? Actually it is almost as adding a new
> post in different languages and then gluing translations together.
> So there is no such a thing like `not translatable fields', this way
> you have to type all the stuff again.

That sounds less than ideal. I think the non-translatable data should
be unique.

I expect Gengo is like this because it is a plugin, and is constrained by
the fact that there are other plugins (and/or the core code) that expect
the schema to be a certain way. And here lies the lesson for anyone
implementing any kind of multingual application, or who *might* want to
make their application multilingual in the future:

    "Plan for multilingual from day one"

It is almost impossible (or shall we say it requires an extreme amount
of effort) to convert a monolingual application to multi. There are just
too many assumptions built into code based on the data structure.

The strongest pressure from users is usually for other features.
Consequently multilingual support is continually put on the back-burner,
which means that even more code gets written under the mono-lingual
assumption and ironically the problem gets harder making it even less
likely to be worked on. Hence the reason why huge communities like
Drupal[1] or Wikipedia still have no good solution.


[1] The beta for Drupal v6 was just released which claims to have true
ML support, but I haven't seen it in action yet.

Mark Lawrence

More information about the DBIx-Class mailing list