Como eu traduzo strings em templates Twig?

31

Estou trabalhando em um (meu primeiro) projeto Drupal 8, que é um site multilíngue. O Drupal 8 realmente oferece suporte em termos nativos para tradução de conteúdo. No entanto, tenho algumas seqüências de caracteres definidas diretamente em algumas, se o tema .Twig arquivos de modelo impressos como ex.

{{ 'Read more'|trans }}

Estou realmente empolgado em onde lidar com a tradução de strings como estas na instalação do Drupal 8.

Quais etapas eu preciso seguir para poder traduzir essas seqüências para o idioma atualmente selecionado no site? Preciso de outros módulos além dos incluídos no núcleo do Drupal 8?

Etapas que tomei:

  • Ativou os módulos Tradução de Conteúdo e Tradução de Interface
  • Adicionadas strings Twig como {{'Read more' | trans}}
  • Cache liberado e páginas atualizadas contendo as seqüências
  • Marcado admin / config / regional / translate para as strings sem resultado
Henkealg
fonte
3
Você já tentou usar em |tvez de |trans?
Vagner
@ Vagner Eu adicionei as strings como mostrado na minha pergunta, onde a string é sufixada com | trans
Henkealg

Respostas:

34

Você precisa visitar a página em um idioma que não seja o inglês para buscá-las. Isso deve ser o suficiente.

Berdir
fonte
1
Números que devem ser tão fáceis. Recarreguei a página em vários idiomas, mas não naquele em que tive esse problema. Assim como você disse, as seqüências de caracteres são traduzíveis quando você visita a página usando essa configuração de idioma. Obrigado!
Henkealg 25/02
15

Você pode usar a {% trans %}tag Twig, disponível no Drupal 8:

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

Consulte o link a seguir para obter mais detalhes: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations

dinopmi
fonte
Obrigado por sua resposta. Também li esse artigo, mas, infelizmente, não cobre onde lida com a tradução das strings adicionadas aos arquivos de modelo usando {% trans%} ou | trans, ou | t. : S
Henkealg
Obrigado pelo post. Este trabalho para mim. Depois de adicionar este código: {% trans%} Categorias {% endtrans%} limpei o cache e vá para a página admin / config / regional / translate. Onde pesquisei minha palavra-chave "Categorias" e obtenha um campo de texto para traduzir a palavra no idioma francês (como exemplo). Depois disso, recebo a palavra traduzida no local necessário.
Trabalhou para mim também!
Achraf JEDAY
2

Aqui está um exemplo que eu usei onde a linguagem é explicitamente fornecida, bem como um contexto. Assim eu consegui traduzir o ferrão 'von' duas vezes, pois em inglês significava 'de' ou 'de'.

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

Rafael
fonte
1

Parece que o Drupal vê seqüências traduzidas personalizadas como "Tradução da interface do usuário". Para traduzir esses itens, instale "Tradução da interface do usuário" e estenda e encontre "Tradução da interface do usuário" na configuração. Há uma lista longa de strings, mas suas strings devem estar localizadas na última seção.

Toukonen
fonte
1

esse me ajudou

{{ 'Read more'|trans }}

depois disso, visite a página em um idioma que não seja o idioma original para que eles sejam escolhidos pelo Drupal.

/admin/config/regional/translate

Isso é tudo.

Hmad AmEdur
fonte