web-dev-qa-db-ja.com

翻訳された用語の名前をブロック内の公開形式で表示する方法

特定のコンテンツタイプのノードのリストを表示するビューページがあります。このビューでは、ブロックでフィルターフォームが公開されています。

フォーム内の一部のフィルターは語彙です。 [〜#〜] bef [〜#〜] モジュールを使用して、デフォルトの選択リストの代わりに、各語彙の用語をチェックボックスとして表示しています。

用語は翻訳されています-そのためにi18ntaxonomyを使用しています、語彙はこのオプションが選択されています:用語をローカライズします。用語はすべての言語に共通ですが、その名前と説明はローカライズされる場合があります。

問題は、サイトがデフォルトの言語とは異なる他の言語で表示されている場合、フォームの用語が翻訳されないことです。

モジュールを無効にすると、用語が翻訳されないままになるため、問題はBEFにあるのではないと思います。

この問題をデバッグ/解決する方法に関するアドバイスを探しています。

これは間違いなく正しい方法ではありませんが、プロジェクトの締め切りは明日なので、ビューモジュールのソースコードをハックする以外に選択肢はありません。

--- a/htdocs/sites/all/modules/views/modules/taxonomy/views_handler_filter_term_node_tid.inc
+++ b/htdocs/sites/all/modules/views/modules/taxonomy/views_handler_filter_term_node_tid.inc
@@ -122,7 +122,7 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on
           $result = db_query("SELECT td.* FROM {term_data} td INNER JOIN {vocabulary} v ON td.vid = v.vid ORDER BY v.weight, v.name, td.weight, td.name");
         }
         while ($term = db_fetch_object($result)) {
-          $options[$term->tid] = $term->name;
+          $options[$term->tid] = i18ntaxonomy_translate_term_name($term);
         }
       }

ビューモジュールのパッチは受け入れられないと思います。どのようにすればこれを続行できますか?

2
mmartinov

マーティンによると、それはBEFの問題ではありません。私はこれに苦労していて、インストール後に http://drupal.org/project/i18nviews 私の見解では、次のオプションが表示されました:プロフィール:国(field_academy_country)(翻訳済み)->ケースはコンテンツタイプ:フィールドタイトル(field_name)(翻訳済み)になります。これにより、翻訳された用語が表示されたフィルターが提供されます。お役に立てれば。

1
jdflorezPA

BEFモジュールを無効にして用語が正しく翻訳されないことを確認した後、ビューを使用して 問題を開く を行うのが最善の方法です。

私は この問題 がBEFのキューの翻訳に関連していることを発見しましたが、それはわずかに異なるか、またはあなたの問題の一部にしか見えません。

残念ながら、contribモジュールのメンテナーは、たまたま独自の多言語サイトを実行しない限り、複数の言語でモジュールをテストすることは困難です。そのため、コミュニティに問題を認識させ、パッチのテストを支援する必要があります。

http://drupal.org/project/i18nviews もご覧ください。

1
Mark Ferree