Bagaimana cara menerjemahkan string dalam template Twig?

31

Saya sedang mengerjakan penyihir proyek Drupal 8 (pertama saya) adalah situs multibahasa. Drupal 8 benar-benar memberikan dukungan asli untuk terjemahan konten. Namun, saya memiliki beberapa string yang diatur secara langsung dalam beberapa jika tema. File templat cetakan dicetak seperti ex.

{{ 'Read more'|trans }}

Saya benar-benar terjebak di mana harus menangani terjemahan untuk string seperti ini dalam instalasi Drupal 8.

Langkah apa yang harus saya ambil untuk dapat menerjemahkan string-string ini ke dalam bahasa yang saat ini dipilih untuk di situs? Apakah saya memerlukan modul tambahan selain yang termasuk dalam inti Drupal 8?

Langkah-langkah yang telah saya ambil:

  • Mengaktifkan modul Terjemahan Konten & Terjemahan Antarmuka
  • Menambahkan string Twig seperti {{'Read more' | trans}}
  • Tembolok yang disiram dan laman yang disegarkan berisi string
  • Admin / config / regional / translate diperiksa untuk string tanpa hasil
Henkealg
sumber
3
Apakah Anda mencoba menggunakan |tbukan |trans?
Vagner
@ Vagner Saya telah menambahkan string seperti yang ditunjukkan dalam pertanyaan saya, di mana string tersebut diakhiri dengan | trans
Henkealg

Jawaban:

34

Anda perlu mengunjungi halaman dalam bahasa yang bukan bahasa Inggris untuk dijemput. Itu sudah cukup.

Berdir
sumber
1
Angka yang harusnya begitu mudah. Saya memuat ulang halaman dalam beberapa bahasa tetapi tidak dalam bahasa yang saya gunakan untuk masalah ini. Seperti yang Anda katakan, string dapat diterjemahkan setelah Anda mengunjungi halaman menggunakan pengaturan bahasa itu. Terima kasih!
Henkealg
15

Anda dapat menggunakan {% trans %}tag Twig, tersedia di Drupal 8:

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

Lihat tautan berikut untuk detail lebih lanjut: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations

dinopmi
sumber
Terimakasih atas balasan anda. Saya telah membaca artikel itu juga tetapi sayangnya itu tidak mencakup di mana saya menangani terjemahan untuk string yang ditambahkan ke file template menggunakan {% trans%} atau | trans, atau | t. : S
Henkealg
Terima kasih untuk kirimannya. Ini bekerja untuk saya. Setelah menambahkan kode ini: {% trans%} Kategori {% endtrans%} Saya membersihkan cache dan pergi ke halaman admin / config / regional / translate. Di mana saya mencari kata kunci "Kategori" dan mendapatkan bidang teks untuk menerjemahkan kata dalam bahasa Prancis (sebagai contoh). Setelah ini, saya mendapatkan kata yang diterjemahkan di tempat yang diperlukan.
Bekerja untuk saya juga!
Achraf JEDAY
2

Berikut adalah contoh yang saya gunakan di mana bahasa itu disediakan, serta konteks. Seperti ini saya dapat menerjemahkan sengatan 'von' dua kali, seperti dalam bahasa Inggris yang berarti 'dari' atau 'dari'.

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

Rafael
sumber
1

Tampaknya Drupal melihat string yang diterjemahkan sebagai "Terjemahan antarmuka pengguna". Untuk menerjemahkan yang menginstal "terjemahan antarmuka pengguna" memperpanjang dan kemudian Anda menemukan "terjemahan antarmuka pengguna" dalam konfigurasi. Ada daftar panjang string tetapi string Anda harusnya terletak di bagian terakhir.

Toukonen
sumber
1

ini membantu saya

{{ 'Read more'|trans }}

setelah ini kunjungi halaman dalam bahasa yang bukan bahasa asli untuk dijemput oleh Drupal.

/admin/config/regional/translate

itu saja.

Hmad AmEdur
sumber