8

この質問に関連するリソースはかなり見つかりましたが、Zend Frameworkを使用した多言語CMSへの回答はありません。zendフレームワークを使用した多言語コンテンツ管理Webサイト(CMS)

zendフレームワークで利用可能なz end translate adaptersが多数あります。しかし、データベース(mysql)主導のウェブサイトに最も必要なもの(zend SQLアダプタ)はまだリリースされていません。

データベース駆動型ではないこれらの多言語ウェブサイトの場合、コンテンツはファイル(xml、moなど)に配置でき、正しい言語を表示するためにコンテンツを処理するためにzend翻訳アダプタの1つが使用されます。

データベースドリブンの多言語ウェブサイトはどのように扱うのですか?これまでは、必要なすべての翻訳があるテーブルに各記事(ページ)を保管して、うまく設計された多言語データベースを使用してPHPを使用することに慣れていました。もし私たちがzendフレームワークを使って同じことをするなら、それはウェブを殺すか遅くするのでしょうか?私たちはまだzendキャッシュを使って高速化していますが、zend translateを利用することはできません。後で、sqlのzend翻訳アダプタを利用できるようになると、zend translateを使用して、多言語コンテンツ管理システムを簡単に切り替えることができます。

誰でもこれを試しましたか?プロとコーンは何ができますか?

もう1つの解決策は、多言語データベースの設計を維持し、管理領域でGUIを使用して変更するたびにxmlベースの言語ファイルを生成することです。そして、これらのxmlファイルを処理するためにzend translateアダプターの1つを使用してください。私はそれが大砲で鳥を殺すことを余計にするかもしれないと思います:)

私はデータベースにページ全体のコンテンツを置くことについて話しています。 b、span、br、pなどのhtmlタグを含めることができます。zend translateはコンテンツをhtmlタグでどの程度うまく処理できますか?

すでにこれを実装している人がいれば、zendフレームワークを使って多言語コンテンツ管理Webサイトを扱う最良の方法は何でしょうか。

いずれかの専門家の意見は!

答えて

1

zend framworkには多くのzend translateアダプターがあります。しかし、データベース(mysql)主導のウェブサイトに最も必要なもの(zend SQLアダプタ)はまだリリースされていません。

データベース駆動型ではないこれらの多言語ウェブサイトの場合、コンテンツはファイル(xml、moなど)に配置でき、正しい言語を表示するためにコンテンツを処理するためにzend翻訳アダプタの1つが使用されます。

これらは間違った前提です。それは、DB駆動型アプリケーションは、DB駆動型翻訳システムを使用する必要があるとは言われていません。静的ファイルシステムを簡単に使用できます。

データベースドリブンの多言語ウェブサイトはどのように扱うのですか?これまでは、必要なすべての翻訳があるテーブルに各記事(ページ)を保管して、うまく設計された多言語データベースを使用してPHPを使用することに慣れていました。

私はあなたが少し間違っていると思います。あなたのページ(記事)の動的コンテンツに翻訳を使用したいと思います。翻訳は、静的コンテンツであるビューを国際化するために設計されています。ログインまたはレジスタまたはウェルカムテキストなどのようなものです。これらは、巨大な負荷がかかるため、DBではなくファイル内に存在する必要があります(DBはとにかくキャッシュされます)。 DBに格納されている記事は別のものですが、達成したいのは多言語のページコンテンツです。翻訳することなく簡単に処理できます(翻訳はビューに適しています)。単に、国/言語のフラグをテーブルに追加し、モデルを通じて適切な(特定の言語に対してフィルタリングされた)データを検索します。それは本当に簡単で、翻訳にバックエンドは必要ありません。

翻訳の仕組みがわかりませんが、言語をチェックして翻訳ファイル全体を読み込んでコレクション(または単純な連想配列)としてスクリプトメモリに格納すると仮定すると、 (すべてのキーがメモリに格納されるため、各キーごとにDBまたはファイルを呼び出す必要はありません)。ページごとに1〜2つの記事(なぜメモリを浪費するのか?)と、時には何百ものローカライズされたビュー文字列が必要なので、この方法でページ全体を保持することは意味をなさないでしょう。

もう1つの解決策は、管理領域でGUIを使用して、管理者が変更するたびに、多言語データベースを設計し、xmlベースの言語ファイルを生成することです。そして、これらのxmlファイルを処理するためにzend translateアダプターの1つを使用してください。私は大砲で鳥を殺す、それはやり過ぎかもしれないと思います:)

静的コンテンツの翻訳について話している場合 - それは本当に非常に一般的なソリューションです:簡単にアクセス/変更のためのDBでの翻訳を維持し、生成しますXML/CSV /変更が発生したときのファイル。

私は、ページ全体のコンテンツをデータベースに配置することについて話しています。 b、span、br、pなどのhtmlタグを含めることができます。zend translateはコンテンツをhtmlタグでどの程度うまく処理できますか?

これはおそらくうまくいくでしょうが、それでも動的コンテンツについては考えています。静的コンテンツは、ビュー内でフォーマットする必要があります。だから、デッドエンドだと思う。

ボトムライン:それは大砲で鳥を殺すことになる、あなたが言及したことのすべてに翻訳:)

+1

あなたはこのhttp://framework.zend.com/manual/en/zendを読みになりました使用。 translate.adapter.html。他の* .sqlアダプタが将来実装される可能性がありますか? – Developer

+0

彼らはそうであっても、そうでなくてもよい。それは、あなたが使いたいと思ったものを使っていることは、非常に悪いデザインと実践であるということに変わりはありません。それは翻訳の意味ではありません。 – jacek

関連する問題