web-dev-qa-db-ja.com

Node翻訳対エンティティ(フィールド)翻訳

皆さんが多言語サイトに推奨することを知りたいのですが。たとえば、次のケースを検討してください。ページとそのコンテンツは、3つの言語(ドイツ語、英語、スペイン語など)で利用できる必要があります。サイトでは、1つのプロファイルタイプ、複数のコンテンツタイプとビュー、分類法、分類法参照、ノード参照、ユーザーとフィールド参照、フィールドコレクション、メニューなどを使用します。この情報はすべて翻訳可能である必要があります。

私の知る限り、これを取得するには2つの方法があります。 Entity Translation と「ノードベース」の方法、または Internationalization モジュールとl10nを使用する通常の方法。

どの方法を選ぶべきですか?どの場合に、なぜ私は他の方法ではなく方法を検討する必要がありますか?

26
Lance

ランディフェイは最近 post を作成し、エンティティの翻訳によって実現できる可能性について議論しました。ここで Gabor Hojtsyがコメント を検討するいくつかの考慮事項について:

[古き良き]ノード翻訳によって提供されるいくつかの優れた点には、個別のノードコメントのサポートが含まれます(たとえば、ドイツ語と英語のコメントは混在しません)。言語ごとのリビジョンのサポート。公開ワークフロー(たとえば、英語が既に公開されている場合、ドイツ語ノードは公開前の改訂ワークフローにあることができます。調整されたアクションは、ワークフローの特定のステップに到達したときに、複数の言語バージョンを公開できます); Drupalの過度のノードアクセスシステムなどのおかげで、さまざまなアクセス許可の処理(たとえば、特定の人々はドイツ語の翻訳のみを編集でき、英語のオリジナルは編集できません)。メニューについて考えてください。ほとんどのサイトでは、すべての翻訳バージョンで1対1のメニュー構造にする予定はありません。

Content/Entity/field-level Translationで見た主な注意点は、その時代の古いDrupalismの特殊なケースに要約されます:ノードタイトル...実際にはフィールドではないため、別のモジュールなしでは翻訳できず、潜在的にいくつかのパッチが機能します。今のところ、フィールド翻訳はまだ非常に「実験的な」根拠だと思いますが、あなたが新しい領域に前進するためのより多くの力があります。

8
JamesWilson

私はNode翻訳を使用しましたが、試した後 Entity Translation を使用しました。これは間違いなく私のお気に入りの翻訳です!

Drupalコミュニティで長い議論があるため、主な問題はEntity Translationのインポート関数だと思います。それ以外の場合、新しいモジュールについて読みましたが、まだ試していません。でも後でフィードバックします!

Entity Translationを Title モジュールと組み合わせると、すべてを翻訳できます。また、モジュール " Localization update "も好みます。

したがって、これらの提供されたモジュールをインストールして有効にする必要があります。

そして、あなたはこれらのコアモジュールを有効にする必要があります:

  • ロケール。
  • コンテンツ翻訳。

幸運を!

5
weristsam

スザンヌケネディとフロリアンロレタンのプレゼンテーション DrupalConデンバーでこの質問に対処しました。エンティティの翻訳は未来の道であり、少なくとも部分的にはコアへの統合が予定されているようです。

彼らの推奨は、リビジョンのサポートが必要でない限り、エンティティの翻訳を使用することでした。

5
Patrick Kenny

私はここで死者を起こしていることを知っていますが、

私が言うことができることから、6スタイルのノード翻訳方法(各翻訳は新しいノードです)は、コンテンツを翻訳する唯一の有用な方法であり、誰もが慣れているものであり、機能的に完全であるという利点があります。 (ノードのタイトルは7ではフィールドではないため、他のばかげた欠点の中でフィールド変換することはできません。)

常にi18n/localeを使用します。唯一の選択肢(これは実際には選択肢ではありません)は、ノードレベルまたはフィールドレベルの変換であり、ノード変換のみが有用である可能性があります。

編集:これが書かれてから、エンティティ翻訳+タイトルモジュールはフィールドレベルの翻訳を非常に効果的にしました。それらを使用できる場合は、使用する必要があります。

2
lotyrin

エンティティ変換は、ほとんどの場合、ノード変換よりもはるかに理にかなっています。しかし残念なことに、多くのモジュールがまだサポートしていないため、D7にとって実際に実行可能なオプションではありません。プレゼンテーションを行い、その素晴らしさを示す人々は、非常に単純な仕事をしているだけです。たとえば、フィールドコレクションと同じくらい一般的で人気のあるものは、まだETでサポートされていません。

私たちが新しい多言語サイトを始めるとき、それは素晴らしいアイデアなので、常にETから始めます。互換性のないものに関する多くの問題が見つかるまでそれを使い続けます。その後、最終的に古いD6メソッドに切り替えます。

1
liquidcms