CakePHP多语言=多数据库?

We're busy with a CakePHP project which needs to support multi languages. But there is one problem.... There are pages which are NOT supported for other languages. So there are Spanish pages which need to be hidden for the Italian version of the website. What is the better solution for this in CakePHP?

We can switch databases as soon as you switch languages, but the problem is that we will miss important data as users and such if we'll do that. And it may be overload to search a database with Spanish, Italian, German, English, Netherlands and Swedish posts, only for the Spanish posts. Or maybe it's not a problem if we index the language column... but I don't know.

So does anyone knows the better solution?

Definitely NOT multiple databases IMO. Instead, try to just keep your record separate from it's contents.

Example:

articles table contains non-language-specific data like article id, created date, modified date...etc

article_contents contains language-specific data like title, subtitle, content, authors...etc as well as an article_id field and a language field.

Then, if you're on the Italian site, you can pull with an INNER JOIN to the contents where it matches the language you want.

Or there are many ways depending on your setup on how you should pull data, but hopefully the idea for separation of generic data vs language-specific data helps.

instead of

 echo 'Localization';

do

 echo __('Localization');

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