Как перевести строки в шаблоны Twig?

31

Я работаю над (моим первым) проектом Drupal 8 - многоязычным сайтом. Drupal 8 действительно обеспечивает собственную поддержку перевода контента. Тем не менее, у меня есть несколько строк, установленных в некоторых, если файлы шаблона темы .Twig распечатаны как ex.

{{ 'Read more'|trans }}

Я действительно застрял в том, где обрабатывать перевод для таких строк в установке Drupal 8.

Какие шаги мне нужно предпринять, чтобы иметь возможность переводить эти строки на язык, выбранный в настоящее время на сайте? Нужны ли мне какие-либо дополнительные модули, кроме тех, которые включены в ядро ​​Drupal 8?

Шаги, которые я предпринял:

  • Активированы модули перевода контента и перевода интерфейса
  • Добавлены строки Twig, такие как {{'Read more' | trans}}
  • Сброшенный кеш и обновленные страницы, содержащие строки
  • Проверено admin / config / region / translate для строк без результата
Henkealg
источник
3
Вы пробовали использовать |tвместо |trans?
Вагнер
@Vagner Я добавил строки, как показано в моем вопросе, где к строке добавлен | trans
Henkealg

Ответы:

34

Вам нужно посетить страницу на языке, который не является английским, чтобы их подобрали. Этого должно быть достаточно.

Berdir
источник
1
Цифры, что это должно быть так просто. Я перезагрузил страницу на нескольких языках, но не на том, на котором у меня была эта проблема. Как вы сказали, строки можно переводить, когда вы заходите на страницу с использованием этой языковой настройки. Благодарность!
Henkealg
15

Вы можете использовать {% trans %}тег Twig, доступный в Drupal 8:

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

Смотрите следующую ссылку для получения более подробной информации: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations

dinopmi
источник
Спасибо за ваш ответ. Я также прочитал эту статью, но, к сожалению, она не охватывает, где я обрабатываю перевод строк, добавленных в файлы шаблонов, используя {% trans%} или | trans, или | t. : S
Henkealg
Спасибо за пост. Это работа для меня. После добавления этого кода: {% trans%} Categories {% endtrans%} я очистил кеш и перехожу на страницу admin / config / region / translate. Где я искал свое ключевое слово «Категории» и получил текстовое поле для перевода слова на французский (в качестве примера) язык. После этого я получаю переведенное слово в нужном месте.
У меня тоже сработало!
Achraf JEDAY
2

Вот пример, который я использовал, где представлен язык, а также контекст. Таким образом, я смог дважды перевести жало «фон», так как в английском это означало «из» или «от».

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

Рафаэль
источник
1

Кажется, в Drupal пользовательские переведенные строки называются «Перевод интерфейса пользователя». Чтобы перевести их, установите «Перевод пользовательского интерфейса», а затем найдите «Перевод пользовательского интерфейса» в разделе «Конфигурация». Есть длинный список строк, но ваши строки должны находиться в последнем разделе.

Toukonen
источник
1

этот помог мне

{{ 'Read more'|trans }}

после этого зайдите на страницу на языке, отличном от оригинального, чтобы Drupal мог подобрать их.

/admin/config/regional/translate

вот и все.

Хмад АмЭдур
источник