web-dev-qa-db-ja.com

カスタムフィールドラベルを翻訳する方法

カスタムフィールドのラベルと説明をオランダ語に翻訳したいのですが、何をしようとしても常に英語(作成に使用する言語)のままにしておきます。なぜ機能しないのかわからないので、以下の手順が理にかなっていると思います。

(サイトの言語を英語に設定して)フィールドをプロファイル(プロファイル2モジュールを使用)またはアカウントに直接作成します。

次に、フィールドを編集し、翻訳ボタン(i18nのフィールド翻訳で提供)を使用してオランダ語の翻訳を追加します。しかし、サイトの言語をオランダ語に切り替えても、フィールドのラベルと説明は英語のままです。

(サイトの言語がまだオランダ語に設定されている状態で)フィールドを再度編集すると、翻訳タブにオランダ語の翻訳が表示され、ステータスがオリジナルと英語で「niet vertaald」または翻訳されていません。オランダ語の翻訳を編集すると、英語版が表示されます。

これを再びオランダ語のテキストに変更すると、正しく表示されます(オランダ語で)。いいですが、サイトを英語に戻してもフィールドはオランダのままです。フィールドを編集すると、翻訳タブにオランダ語のテキストが英語で表示されますが、英語のステータスは元に戻ります。

これの表と裏は作れません。私は何かを完全に欠落していますか、これはおそらくバグですか? Drupal 7.を使用しています。

6
Whiskey

テストするためにデフォルトの言語をオランダ語に変更しないでください。それ以降は、フィールド名(およびWebサイト内の他のすべてのもの)がオランダ語であると設定されます。

代わりに、「検出と選択」オプションを使用してブラウザーまたはユーザーを有効にし、オランダ語の他のブラウザーで、または言語がオランダ語に設定されている別のユーザーでテストすることをお勧めします。

より良い、より快適な方法は、Language Switcherブロックを使用して、検出と選択の設定でURLまたはセッションを有効にすることです。

そのため、ウェブサイトのデフォルト言語は英語のままで、誰かがオランダ語でウェブサイトを使用している場合、フィールドは翻訳されます。

6
Елин Й.

昨日、同じ問題でラベルとカスタムの説明を翻訳しました。これが私がそれを解決するためにしたことです。

  • I18nのi18_field「フィールド変換」サブモジュールを有効にする
  • admin/config/regional/translate/i18n_stringに移動
  • 「フィールド」をチェックし(適切にすべてをチェック)、「文字列を更新」をクリックします。
  • admin/config/regional/translate/translateに移動
  • 目的の文字列を検索し、他の言語に翻訳しました。
12
monymirza

この方法で翻訳されたフィールドラベルを印刷します(i18n_field.moduleを使用)。

$instance = field_info_instance('node', $my_field_name, $my_node_type);
$my_translated_label = i18n_field_translate_property($instance, 'label');

それが役に立てば幸い。

10
Jordan Austin

Admin/config/regional/i18n/stringsでオランダ語をデフォルト言語として維持し、英語をソース言語として設定することもできたと思います。

1
Sylvain DELBOSC

これを行う最も簡単な方法は、 ローカライズフィールド モジュールをインストールすることです。

次のものの翻訳を提供します。

  • すべてのコアフィールド、日付フィールド、フィールドのタイトルと説明
  • コレクションの接頭辞、接尾辞、および小数点記号
  • リストタイプのオプションラベル

i18n_fieldをインストールしても使用できます(フィールド変換)

1
Anas Kh