¿Cómo traduzco cadenas en plantillas Twig?


31

Estoy trabajando en un (mi primer) proyecto Drupal 8 que es un sitio multilingüe. Drupal 8 realmente ofrece en términos de soporte nativo para la traducción de contenido. Sin embargo, tengo algunas cadenas configuradas directamente en algunas si el tema. Archivos de plantilla impresos como ex.

{{ 'Read more'|trans }}

Estoy realmente atascado en dónde manejar la traducción de cadenas como estas dentro de la instalación de Drupal 8.

¿Qué pasos debo seguir para poder traducir estas cadenas al idioma seleccionado actualmente en el sitio? ¿Necesito módulos adicionales además de los incluidos en Drupal 8 core?

Pasos que he tomado:

  • Se activaron los módulos de traducción de contenido y traducción de interfaz.
  • Se agregaron cadenas Twig como {{'Leer más' | trans}}
  • Caché vaciado y páginas renovadas que contienen las cadenas
  • Comprobado admin / config / regional / translate para las cadenas sin resultado

3
¿Has probado usar en |tlugar de |trans?
Vagner

@Vagner He agregado las cadenas como se muestra en mi pregunta, donde la cadena tiene el sufijo | trans
Henkealg

Respuestas:


34

Debes visitar la página en un idioma que no sea inglés para que los recojas. Eso debería bastar.


1
Cifras que debería ser tan fácil. He recargado la página en varios idiomas pero no en el que tuve este problema. Tal como dijiste, las cadenas son traducibles una vez que visitas la página usando esa configuración de idioma. ¡Gracias!
Henkealg


15

Puede usar la {% trans %}etiqueta Twig, disponible en Drupal 8:

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

Consulte el siguiente enlace para obtener más detalles: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations


Gracias por su respuesta. También he leído ese artículo, pero desafortunadamente no cubre dónde manejo la traducción de las cadenas agregadas a los archivos de plantilla usando {% trans%} o | trans, o | t. : S
Henkealg

Gracias por la publicacion. Este trabajo para mi. Después de agregar este código: {% trans%} Categorías {% endtrans%} Borré el caché y voy a la página admin / config / regional / translate. Donde busqué mi palabra clave "Categorías" y obtuve un campo de texto para traducir la palabra al idioma francés (como ejemplo). Después de esto, obtengo la palabra traducida en el lugar requerido.

¡Trabajó para mí también!
Achraf JEDAY

2

Aquí hay un ejemplo que utilicé donde se proporciona explícitamente el lenguaje, así como un contexto. Así pude traducir el aguijón 'von' dos veces, ya que en inglés significaba 'de' o 'de'.

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


1

Parece que Drupal ve cadenas traducidas personalizadas como "Traducción de interfaz de usuario". Para traducirlos, instale "Traducción de interfaz de usuario" y luego encuentre "Traducción de interfaz de usuario" en cunfiguration. Hay una larga lista de cadenas, pero sus cadenas deben ubicarse en la última sección.


1

este me ayudó

{{ 'Read more'|trans }}

después de esto, visite la página en un idioma que no sea el idioma original para que Drupal los recoja.

/admin/config/regional/translate

eso es todo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.