CakePHP多语言=多数据库?

时间:2013-11-08 16:30:03

标签: php cakephp

我们正在忙于一个需要支持多种语言的CakePHP项目。但是有一个问题......有些页面支持其他语言 NOT 。因此,对于意大利语版本的网站,需要隐藏西班牙语页面。 CakePHP中有什么更好的解决方案?

我们可以在切换语言后立即切换数据库,但问题是我们会错过重要数据作为用户,如果我们这样做的话。搜索西班牙语,意大利语,德语,英语,荷兰语和瑞典语的数据库可能会超载,仅限于西班牙语帖子。或者,如果我们索引语言列,这可能不是问题......但我不知道。

所以有人知道更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

绝对不是多个数据库IMO。相反,试着让你的记录与它的内容分开。

示例:

articles表包含非特定语言的数据,如文章ID,创建日期,修改日期......等等

article_contents包含特定于语言的数据,如标题,副标题,内容,作者等,以及article_id字段和language字段。

然后,如果您在意大利网站上,可以使用INNER JOIN获取与您想要的语言相匹配的内容。

或者,根据您对如何提取数据的设置,有很多方法,但希望将通用数据与特定语言数据分离的想法有所帮助。

答案 1 :(得分:-1)

而不是

 echo 'Localization';

 echo __('Localization');

http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html