Come traduco le stringhe nei template di Twig?


31

Sto lavorando ad un (il mio primo) progetto Drupal 8, la strega è un sito multilingue. Drupal 8 offre davvero in termini di supporto nativo per la traduzione di contenuti. Tuttavia, ho alcune stringhe impostate direttamente in alcune se il tema .Twig template file stampati come ex.

{{ 'Read more'|trans }}

Sono davvero bloccato su dove gestire la traduzione di stringhe come queste all'interno dell'installazione di Drupal 8.

Quali passi devo prendere per essere in grado di tradurre queste stringhe nella lingua attualmente selezionata sul sito? Ho bisogno di moduli aggiuntivi diversi da quelli inclusi nel core Drupal 8?

I passaggi che ho preso:

  • Attivati ​​i moduli di traduzione del contenuto e traduzione dell'interfaccia
  • Aggiunte stringhe Twig come {{'Leggi di più' | trans}}
  • Cache svuotata e pagine aggiornate contenenti le stringhe
  • Controllato admin / config / regional / translate per le stringhe senza risultato

3
Hai provato a usare |tinvece di |trans?
Vagner,

@Vagner Ho aggiunto le stringhe come mostrato nella mia domanda, dove la stringa è suffissata con | trans
Henkealg

Risposte:


34

È necessario visitare la pagina in una lingua che non è l'inglese per averli raccolti. Questo dovrebbe essere abbastanza.


1
Calcola che dovrebbe essere così facile. Ho ricaricato la pagina in diverse lingue ma non in quella in cui ho riscontrato questo problema. Proprio come hai detto, le stringhe sono traducibili una volta che visiti la pagina usando quella lingua. Grazie!
Henkealg,


15

Puoi usare il {% trans %}tag Twig, disponibile in Drupal 8:

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

Vedere il seguente collegamento per maggiori dettagli: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations


Grazie per la risposta. Ho letto anche quell'articolo, ma sfortunatamente non copre dove gestisco la traduzione per le stringhe aggiunte ai file modello usando {% trans%} o | trans, o | t. : S
Henkealg,

Grazie per il post. Questo lavoro per me. Dopo aver aggiunto questo codice: {% trans%} Categorie {% endtrans%} Ho cancellato la cache e vai alla pagina admin / config / regional / translate. Dove ho cercato la mia parola chiave "Categorie" e ho trovato un campo di testo per tradurre la parola in francese (come esempio). Dopo questo, ottengo la parola tradotta nel posto richiesto.

Ha funzionato anche per me!
Achraf JEDAY

2

Ecco un esempio che ho usato in cui viene fornita la lingua esplicita, nonché un contesto. In questo modo sono stato in grado di tradurre due volte la puntura "von", poiché in inglese significava "of" o "from".

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


1

Sembra che Drupal veda le stringhe tradotte personalizzate come "Traduzione dell'interfaccia utente". Per tradurre l'installazione di "Traduzione dell'interfaccia utente", estendere e quindi trovare "Traduzione dell'interfaccia utente" in configurazione. C'è un lungo elenco di stringhe ma le stringhe dovrebbero trovarsi nell'ultima sezione.


1

questo mi ha aiutato

{{ 'Read more'|trans }}

dopo questa visita la pagina in una lingua che non è la lingua originale per farli raccogliere da Drupal.

/admin/config/regional/translate

È tutto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.