Twigテンプレートの文字列を翻訳するにはどうすればよいですか?


31

私は(最初の)Drupal 8プロジェクトに取り組んでいます。魔女は多言語サイトです。Drupal 8は、コンテンツ翻訳のネイティブサポートという点で本当に優れています。ただし、テーマ.Twigテンプレートファイルがexのように出力される場合、いくつかの文字列が直接設定されます。

{{ 'Read more'|trans }}

Drupal 8のインストール内で、このような文字列の翻訳をどこで処理するか、本当に行き詰っています。

これらの文字列をサイトで現在選択されている言語に翻訳できるようにするには、どのような手順が必要ですか?Drupal 8コアに含まれるモジュール以外の追加モジュールが必要ですか?

私がとったステップ:

  • コンテンツ翻訳モジュールとインターフェース翻訳モジュールを有効にしました
  • {{'続きを読む' | trans}}のようなTwig文字列を追加しました
  • フラッシュされたキャッシュと文字列を含む更新されたページ
  • admin / config / regional / translateで結果のない文字列をチェックしました

3
|t代わりに使用してみました|transか?
ヴァグナー

@Vagner私は質問に示されているように文字列を追加しました。文字列の末尾には| trans
Henkealg

回答:


34

英語以外の言語でページにアクセスして、それらをピックアップする必要があります。それで十分でしょう。


1
それはとても簡単であるべきだという数字。いくつかの言語でページをリロードしましたが、この問題が発生した言語ではリロードしていません。あなたが言ったように、その言語設定を使用してページにアクセスすると、文字列は翻訳可能です。ありがとう!
ヘンキールグ


15

使用できます {% trans %} Drupalの8で利用可能小枝タグを、:

{% trans %}
  Submitted by {{ author.username }} on {{ node.created }}
{% endtrans %}

詳細については、次のリンクを参照してください。http//getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations


お返事ありがとうございます。私もその記事を読みましたが、残念ながら、{%trans%}または| transまたは| tを使用してテンプレートファイルに追加された文字列の翻訳を処理する場所についてはカバーしていません。:S
ヘンキールグ

投稿いただきありがとうございます。これは私のために働きます。このコードを追加した後:{%trans%}カテゴリ{%endtrans%}キャッシュをクリアし、admin / config / regional / translateページに移動します。キーワード "Categories"を検索し、フランス語(例)の言語で単語を翻訳するためのテキストフィールドを取得しました。この後、必要な場所に翻訳された単語を取得します。

私のためにも働いた!
Achraf JEDAY

2

以下は、言語が明示的に提供されている場合に使用した例とコンテキストです。このように、私は英語の「of」または「from」を意味するように、スティング「von」を2回翻訳することができました。

{{ 'von'|t([],{'langcode': currentLanguageCode,'context':'Seitenzahl PDF' }) }}


1

Drupalは、カスタム翻訳された文字列を「ユーザーインターフェイスの翻訳」と見なしているようです。それらを翻訳するには、「ユーザーインターフェイスの翻訳」をインストールしてから、設定に「ユーザーインターフェイスの翻訳」を見つけます。文字列の長いリストがありますが、文字列は最後のセクションに配置する必要があります。


1

これは私を助けました

{{ 'Read more'|trans }}

この後、元の言語ではない言語のページにアクセスして、Drupalでそれらをピックアップします。

/admin/config/regional/translate

それで全部です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.