Jak tłumaczyć ciągi w szablonach Twig?

31

Pracuję nad (moim pierwszym) projektem Drupal 8, który jest wielojęzyczną stroną. Drupal 8 zapewnia naprawdę natywną obsługę tłumaczenia treści. Mam jednak kilka ciągów ustawionych bezpośrednio w niektórych, jeśli pliki szablonów motywu .Twig są drukowane jak np.

{{ 'Read more'|trans }}

Naprawdę utknąłem na tym, gdzie zająć się tłumaczeniem takich ciągów w instalacji Drupal 8.

Jakie kroki muszę wykonać, aby móc przetłumaczyć te ciągi na język aktualnie wybrany w witrynie? Czy potrzebuję dodatkowych modułów innych niż te zawarte w rdzeniu Drupal 8?

Kroki, które podjąłem:

  • Aktywowano moduły tłumaczenia treści i tłumaczenia interfejsów
  • Dodano ciągi gałązek, takie jak {{„Czytaj więcej” | trans}}
  • Opróżniono pamięć podręczną i odświeżono strony zawierające ciągi
  • Sprawdzone admin / config / regional / translate dla ciągów bez rezultatu
Henkealg
źródło
3
Czy próbowałeś użyć |tzamiast |trans?
Vagner
@Vagner Dodałem ciągi, jak pokazano w moim pytaniu, gdzie ciąg jest zakończony | trans
Henkealg

Odpowiedzi:

34

Musisz odwiedzić stronę w języku innym niż angielski, aby je odebrać. To powinno wystarczyć.

Berdir
źródło
1
Uważa, że ​​powinno to być takie łatwe. Ponownie załadowałem stronę w kilku językach, ale nie w tym, w którym miałem ten problem. Tak jak powiedziałeś, ciągi są tłumaczalne, gdy odwiedzasz stronę przy użyciu tego ustawienia języka. Dzięki!
Henkealg
15

Możesz użyć {% trans %}znacznika Twig, dostępnego w Drupal 8:

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

Zobacz następujący link, aby uzyskać więcej informacji: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations

dinopmi
źródło
Dziękuję za odpowiedź. Przeczytałem również ten artykuł, ale niestety nie obejmuje on tego, gdzie zajmuję się tłumaczeniem ciągów dodawanych do plików szablonów za pomocą {% trans%} lub | trans lub | t. : S
Henkealg
Dzięki za post. To praca dla mnie. Po dodaniu tego kodu: {% trans%} Kategorie {% endtrans%} Wyczyściłem pamięć podręczną i przejdź do strony admin / config / regional / translate. Gdzie przeszukałem moje słowo kluczowe „Kategorie” i otrzymałem pole tekstowe do tłumaczenia tego słowa na język francuski (jako przykład). Następnie tłumaczę słowo w wymagane miejsce.
Pracowałem też dla mnie!
Achraf JEDAY
2

Oto przykład, którego użyłem, gdy podany jest wyraźny język, a także kontekst. W ten sposób dwa razy przetłumaczyłem żądło „von”, ponieważ w języku angielskim oznaczało to „z” lub „z”.

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

Rafael
źródło
1

Wygląda na to, że Drupal widzi niestandardowe przetłumaczone ciągi jako „Tłumaczenie interfejsu użytkownika”. Aby je przetłumaczyć, rozszerz „Tłumaczenie interfejsu użytkownika”, a następnie w „Konfiguracji” znajdziesz „Tłumaczenie interfejsu użytkownika”. Istnieje długa lista ciągów, ale powinny one znajdować się w ostatniej sekcji.

Toukonen
źródło
1

ten pomógł mi

{{ 'Read more'|trans }}

następnie odwiedź stronę w języku innym niż język oryginalny, aby Drupal mógł je odebrać.

/admin/config/regional/translate

to wszystko.

Hmad AmEdur
źródło