|
Posted by Jochem Maas on 04/08/05 11:07
Denis Gerasimov wrote:
> Hello list,
>
> I need to develop a multilingual web site and I am looking for the best way
> of handling this task. There are three main issues I know:
>
> 1. Storing multilingual data in a database. Possible solutions I know:
> a. many tables, one per each supported language, e.g. news_en, news_de.
> b. one table having many columns with translations, e.g. (id, date, text_en,
> text_de)
> We use MySQL 4.1 as a back-end.
what about 1 table, 3 columns:
translatekey (varchar) - string to translate
lang - lang code/id/name
translation (varchar/text) - translated string
>
> 2. Multilingual HTML templates, possible solutions:
> a. one generic template for everything, one per each language, like
> contents_en.tpl.html, contents_de.tpl.html
> b. many localized templates for each page, e.g news_en.tpl.html,
> news_de.tpl.html
> Template engine is Smarty.
using Smarty I sometimes assign an assoc array of translated strings:
$Lang['yes'] = 'yessiree';
$Lang['no'] = 'nocando';
then in Smarty:
<div class="LangExample">
'yes' is {$Lang.yes},
'no' is {$Lang.no}
</div>
>
> 3. Storing current language variable, possible solutions:
> a. inside the URL like /en/news/
best in terms of SEO.
> b. using cookies
handy for presistence.
> c. using sessions
provides cleaner URLS.
I see no reason to do all 3.
> Web server is Apache2+mod_rewrite with PHP5
>
> What are pros and cons for each solution? What are other possible solutions
> for the above issues?
>
> Best regards, Denis Gerasimov
> Outsourcing Services Manager,
> VEKOS, Ltd.
> www.vekos.ru
>
Navigation:
[Reply to this message]
|