3

このトピックが数回議論されたことは知っていますが、どれも私にとって究極の解決策ではありません。

状況 私は、後で多言語コンテンツを保持する必要があるリレーショナルmysqlデータベースを設計しています。これは、ウィキペディアまたはMicrosoftテクニカルサポートページからわかります。内容はすべての言語で同じである必要があります。たとえば、翻訳が欠落している場合、サイトは自動的に翻訳された、または情報が利用可能な言語で同じコンテンツを提供します。一部の値が設定されていない場合は、2番目またはデフォルトのブラウザ言語にフォールバックするか、たとえばgoogleを介して翻訳する必要があります。開発環境はZendです。

これまでの私の考えは、問題を解決するためのものです。

2つの主キー:(ID、言語)利点:データベース抽象化レイヤーを介した簡単なデータベースアクセス。問題:外部キー、リレーションシップ、フォールバック

言語の接尾辞が付いた列:利点:DBパフォーマンス、関係の問題なし。問題:データベース抽象化レイヤーはこれを処理できませんか?

ある概念がそれ自体を証明したか、または他の概念よりも好ましいですか?誰かがすでにこのようなものを作成していて、彼の経験を私と共有することができますか?この状況のた​​めに変更されたZendDBコントローラーは存在しますか?この情報をフォームにどのようにリンクしますか?

あなたの助け、ヒントと提案をありがとう!

敬具、

マヌエル

4

3 に答える 3

1

2番目のオプションは保守できません(これはマイナス側に追加する必要があります)。実際に別の言語を追加するには、テーブルと抽象化レイヤーを変更する必要があります。悪夢のように聞こえます。

最初のオプションははるかに有望に思えますが、残念ながら、それを機能させるためにやるべきことがたくさんあります。ただし、私の経験から、これはかなり典型的な解決策であるため、車輪の再発明はしません。
私が追加しなければならないのは、言語のフォールバックはZend側で実行する必要があり、データベースは一部の情報を見逃してしまうということです。コンテンツの一意のIDや使用可能な言語などの情報を保持するためのある種のインデックステーブルを考えることができます。何かを提供する必要がある場合は、そのようなレコードを読み取り、Accept Languagesと比較して、データベースに有効なコンテンツを再度要求します(最適な言語を使用)。唯一の問題は、何らかの方法でそのようなインデックステーブルを作成する必要があることです(私が見る最良の方法は、コンテンツをコンテンツテーブルに挿入するときにトリガーされることです)。

多くの作業がありますが、問題はそれほど簡単ではありません。

于 2011-07-06T08:15:00.380 に答える
0

私は今、まったく同じ問題に取り組んでいます。

どういうわけか、すべてを同じデータベースに追加することは私には意味がありません。極端に行き、約50の言語をサポートしたいとしましょう。これは、私のDBを肥大化させるだけです。そのため、メインDBをメイン言語のままにして、Zend_Translateの概念を導入する傾向があります。Zend_Translateは、探しているフォールバックソリューションを提供するはずです。メインのナビゲーションとコアデザインは私のWebサイトにとってそれほど問題ではありませんが、現在の私の最大の関心事は、すべてのメインコンテンツを保存する方法と、これらの要素にHTMLが含まれているために翻訳する方法です。メインコンテンツについては、おそらくいくつかの代替アプローチを使用し、言語ごとにテーブルを備えた個別のDBを使用します。

于 2011-07-06T14:00:48.147 に答える
0

私のプラットフォームは、コミュニティ主導のデータベースになります。だから私は実際にそれを翻訳する人間に頼るつもりです。とにかく情報を保存する必要があるので、私の最初の関心事はデータベースのサイズやパフォーマンスではなく、使いやすさです。これまでのところ、私の考えは、上記のような構造を実装することですが、それを教義で行うかどうかはまだわかりません。

言語の決定: 開始、アプリケーションはユーザーに事前設定された言語、第二言語、記事の英語の母国語を取得します。データベースから記事を取得するすべての列について次のことを確認します。1。主要言語は利用可能ですか。2.第二言語は利用できますか?3.どちらでもない場合は、記事をマザートンまたは英語で表示し、ユーザーにgoogletranslateapiからの提案を使用して翻訳するように提案します。コントローラーをコーティングして操作したり、これを行うビジネスモデルを構築したりするのはかなりのことになると思います。

@tawfekovは、このようなもの、または教義で簡単に実現できる類似のものですか?

于 2011-07-07T06:13:36.263 に答える