如何翻译Twig模板中的字符串?


31

我正在(第一个)Drupal 8项目女巫中从事多语言站点的工作。Drupal 8实际上提供了对内容翻译的本地支持。但是,如果主题.Twig模板文件像ex一样打印出来,我会直接在其中设置一些字符串。

{{ 'Read more'|trans }}

我真的很纠结于在Drupal 8安装中如何处理此类字符串的翻译。

为了将这些字符串翻译成网站上当前选择的语言,我需要采取什么步骤?除了Drupal 8核心中包含的模块之外,我是否需要其他模块?

我已采取的步骤:

  • 激活了内容翻译和界面翻译模块
  • 添加了Twig字符串,例如{{'阅读更多'| trans}}
  • 刷新的缓存和包含字符串的刷新页面
  • 检查admin / config / regional / translate中的字符串,没有结果

3
您尝试使用|t代替|trans吗?
瓦格纳

@Vagner我已经添加了我的问题中所示的字符串,该字符串的后缀为| trans
Henkealg 2016年

Answers:


34

您需要使用非英语的语言来访问页面才能将其选中。那应该足够了。


1
数字应该很容易。我已经用几种语言重新加载了页面,但没有使用遇到此问题的一种语言。就像您说过的那样,一旦使用该语言设置访问页面,字符串就可以翻译。谢谢!
Henkealg '16


15

您可以使用{% trans %}Drupal 8中提供的Twig标签:

{% 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
Henkealg '16

感谢您的帖子。这项工作对我来说。添加以下代码后:{%trans%}类别{%endtrans%}我清除了缓存,然后转到admin / config / regional / translate页面。我在哪里搜索了“类别”关键字,并获得了一个文本字段,用于翻译法语(例如)语言中的单词。之后,我将翻译的单词放在所需的位置。

也为我工作!
Achraf JEDAY '18

2

这是我使用的示例,其中提供了明确的语言以及上下文。像这样,我能够将the“ von”号翻译两次,因为在英语中它意为“ of”或“ from”。

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


1

Drupal似乎将定制翻译的字符串视为“用户界面翻译”。要翻译这些内容,请扩展安装“用户界面翻译”,然后在“配置”中找到“用户界面翻译”。字符串列表很长,但您的字符串应位于最后一部分。


1

这个帮了我

{{ 'Read more'|trans }}

在此之后,请使用非原始语言访问页面,以使Drupal能够选择它们。

/admin/config/regional/translate

就这样。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.