1

私たちは、多言語をサポートする必要がある CakePHP プロジェクトで忙しくしています。しかし、1 つ問題があります....他の言語ではサポートされていないページがあります。そのため、イタリア語版のウェブサイトでは非表示にする必要があるスペイン語のページがあります。CakePHP でのこれに対するより良い解決策は何ですか?

言語を切り替えるとすぐにデータベースを切り替えることができますが、そうするとユーザーなどの重要なデータが失われるという問題があります。また、スペイン語、イタリア語、ドイツ語、英語、オランダ、スウェーデン語の投稿でデータベースを検索すると、スペイン語の投稿のみを検索するのは過負荷になる可能性があります。あるいは、言語列に索引を付ければ問題ないのかもしれませんが、わかりません。

それで、誰もがより良い解決策を知っていますか?

4

2 に答える 2

1

間違いなく複数のデータベース IMO ではありません。代わりに、記録をその内容から切り離して保管してください。

例:

articlesテーブルには、記事 ID、作成日、変更日などの言語固有でないデータが含まれています。

article_contentsタイトル、サブタイトル、コンテンツ、作成者などの言語固有のデータと、article_idフィールドとフィールドが含まれていlanguageます。

次に、イタリアのサイトにいる場合は、INNER JOIN を使用して、必要な言語に一致するコンテンツにプルできます。

または、データをプルする方法については、セットアップに応じて多くの方法がありますが、一般的なデータと言語固有のデータを分離するというアイデアが役立つことを願っています。

于 2013-11-16T22:11:27.313 に答える