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

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ć.


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


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' }) }}


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.