Multilingual CMS (was Re: GNOME Logo Branding Guidelines Concerns)



Hi!

While this isn't really a CMS-related thread the language part of
branding touches multilingual CMS discussion, and so I'm replying here
with some technical info...

On 10/28/06, Thilo Pfennig <tpfennig gmail com> wrote:
The same question could be asked about french or spanish content. I
would suggest that we rather split sites, so that translation stuff
and country stuff are seperated. And that translations stuff only gets
organized under

[LANGUAGE-CODE].gnome.org .

This is technically easy at least with Midgard. Midgard considers each
language version of a site its own "host", that can run either in its
own domain, subdomain, or directory. This means you have multiple
options to utilize here, like:

fi.gnome.org
www.gnome.fi
gnome.org/fi

Inside Midgard we can then quite easily get a list of different
language versions of same site quite easily:

$qb = new midgard_query_builder('midgard_host');
$qb->add_constraint('root', '=', $_MIDGARD['page']);
$language_versions = $qb->execute();
foreach ($language_versions as $host)
{
   echo "<a href=\"http://{$host->name}{$host->prefix}\">Site in
language \"{$host->lang}\"</a>\n";
}

But while this is easy in Midgard for populating stuff like "select
language" link lists, I believe some consistency would be a good idea
so that the URLs are more like an API for users ("The URL is
http://en.gnome.org, so if I change the 'en' to 'de' I should get to
German version").

GNOME-LOGO.png [de]
oder
GNOME-LOGO.png [fr]

You can do a bit more here, even. In Midgard a site style is split to
multiple elements ("header" and "footer" for example, but these can be
anything that makes sense in a particular layout), and each of these
can be overridden in site's language version.

This means that you can easily localize any area of the layout, not only images.

Thilo

/Henri

--
Henri Bergius
Motorcycle adventures and Open Source Software
http://bergie.iki.fi/

Skype: henribergius
Jabber: henri bergius gmail com



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