Re: Multilingual Web application - how to?
| From: | Jochem Maas | Date: | Fri, 08 Apr 2005 08:07:15 +0000 |
| Subject: | Re: Multilingual Web application - how to? | ||
| References: | 1 | Groups: | php.general php.i18n |
| Request: | Send a blank email to php-general+get-212625@lists.php.net to get a copy of this message | ||
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/nametranslation (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 cookieshandy for presistence.
c. using sessionsprovides 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