ฉันจะแปลสตริงในเทมเพลต Twig ได้อย่างไร


31

ฉันกำลังทำงานกับแม่มดโครงการ Drupal 8 เป็นเว็บไซต์พูดได้หลายภาษา Drupal 8 ให้การสนับสนุนตามท้องถิ่นสำหรับการแปลเนื้อหา อย่างไรก็ตามฉันมีการตั้งค่าสตริงบางอย่างโดยตรงในบางกรณีถ้าไฟล์เทมเพลต. Theme ชุดรูปแบบที่พิมพ์ออกมาเช่น ex

{{ 'Read more'|trans }}

ฉันติดอยู่ตรงจุดที่จะจัดการการแปลสำหรับสตริงเช่นนี้ในการติดตั้ง Drupal 8

ฉันต้องทำตามขั้นตอนใดบ้างเพื่อให้สามารถแปลสตริงเหล่านี้เป็นภาษาที่เลือกไว้บนไซต์ในปัจจุบัน ฉันต้องการโมดูลเพิ่มเติมนอกเหนือจากที่รวมอยู่ใน Drupal 8 core หรือไม่?

ขั้นตอนที่ฉันได้ทำ:

  • เปิดใช้งานโมดูลการแปลเนื้อหา & การแปลส่วนต่อประสาน
  • เพิ่มสตริง Twig เช่น {{'อ่านเพิ่มเติม' | trans}}
  • ล้างแคชและรีเฟรชหน้าเว็บที่มีสตริง
  • ตรวจสอบ admin / config / region / translate สำหรับสตริงที่ไม่มีผลลัพธ์

3
คุณเคยลองใช้|tแทน|transไหม?
Vagner

@Vagner ฉันได้เพิ่มสตริงตามที่แสดงในคำถามของฉันซึ่งสตริงต่อท้ายด้วย | trans
Henkealg

คำตอบ:


34

คุณต้องไปที่หน้าในภาษาที่ไม่ใช่ภาษาอังกฤษเพื่อให้พวกเขาหยิบขึ้นมา นั่นควรจะเพียงพอ


1
ตัวเลขที่ควรจะง่าย ฉันโหลดหน้านี้ซ้ำในหลายภาษา แต่ไม่ใช่ในที่ที่ฉันมีปัญหานี้ เช่นเดียวกับที่คุณพูดสตริงสามารถแปลได้เมื่อคุณเยี่ยมชมหน้าโดยใช้การตั้งค่าภาษานั้น ขอบคุณ!
Henkealg


15

คุณสามารถใช้{% trans %}แท็ก Twig ที่มีอยู่ใน Drupal 8:

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

ดูลิงค์ต่อไปนี้สำหรับรายละเอียดเพิ่มเติม: http://getlevelten.com/blog/mark-carver/drupal-8-twig-templates-and-translations


ขอบคุณสำหรับการตอบกลับของคุณ. ฉันได้อ่านบทความนั้นด้วย แต่น่าเสียดายที่มันไม่ครอบคลุมที่ฉันจัดการการแปลสำหรับสตริงที่เพิ่มลงในไฟล์เทมเพลตโดยใช้ {% trans%} หรือ | trans หรือ | t : S
Henkealg

ขอบคุณสำหรับการโพสต์ งานนี้สำหรับฉัน หลังจากเพิ่มรหัสนี้: {% trans%} หมวดหมู่ {% endtrans%} ฉันล้างแคชแล้วไปที่หน้าผู้ดูแลระบบ / กำหนดค่า / ภูมิภาค / แปล ที่ฉันค้นหาคำหลักของฉัน "หมวดหมู่" และรับ textfield สำหรับการแปลคำในภาษาฝรั่งเศส (เป็นตัวอย่าง) หลังจากนี้ฉันจะได้คำแปลที่ต้องการ

ทำงานให้ฉันด้วย!
Achraf JEDAY

2

นี่คือตัวอย่างที่ฉันใช้เมื่อมีการอธิบายภาษาพร้อมกับบริบท เช่นนี้ฉันสามารถแปลฟอนต่อย 'สองครั้งในภาษาอังกฤษมันหมายถึง' จาก 'หรือ' จาก '

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


1

ดูเหมือนว่า Drupal จะเห็นสตริงที่แปลเองว่า "การแปลส่วนต่อประสานผู้ใช้" ในการแปลผู้ติดตั้ง "การแปลอินเทอร์เฟซผู้ใช้" ขยายและจากนั้นคุณพบ "การแปลอินเทอร์เฟซผู้ใช้" ใน cunfiguration มีรายการสตริงที่ยาว แต่สตริงของคุณควรอยู่ในส่วนสุดท้าย


1

อันนี้ช่วยฉันได้

{{ 'Read more'|trans }}

หลังจากนี้ไปที่หน้าในภาษาที่ไม่ใช่ภาษาต้นฉบับเพื่อให้พวกเขาหยิบขึ้นมาโดย Drupal

/admin/config/regional/translate

นั่นคือทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.