我们正在忙于一个需要支持多种语言的CakePHP项目。但是有一个问题......有些页面支持其他语言 NOT 。因此,对于意大利语版本的网站,需要隐藏西班牙语页面。 CakePHP中有什么更好的解决方案?
我们可以在切换语言后立即切换数据库,但问题是我们会错过重要数据作为用户,如果我们这样做的话。搜索西班牙语,意大利语,德语,英语,荷兰语和瑞典语的数据库可能会超载,仅限于西班牙语帖子。或者,如果我们索引语言列,这可能不是问题......但我不知道。
所以有人知道更好的解决方案吗?
答案 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