Làm cách nào để dịch chuỗi trong mẫu Twig?


31

Tôi đang làm việc với một phù thủy dự án Drupal 8 (đầu tiên của tôi) là một trang web đa ngôn ngữ. Drupal 8 thực sự mang đến sự hỗ trợ bản địa cho dịch nội dung. Tuy nhiên, tôi có một vài chuỗi được đặt trực tiếp trong một số nếu các tệp mẫu .Twig được in ra như ex.

{{ 'Read more'|trans }}

Tôi thực sự bế tắc về nơi xử lý bản dịch cho các chuỗi như thế này trong bản cài đặt Drupal 8.

Tôi cần thực hiện những bước nào để có thể dịch các chuỗi này sang ngôn ngữ hiện được chọn trên trang web? Tôi có cần bất kỳ mô-đun bổ sung nào ngoài các mô-đun được bao gồm trong lõi 8 Drupal không?

Các bước tôi đã thực hiện:

  • Đã kích hoạt các mô-đun Dịch thuật & Giao diện Nội dung
  • Đã thêm chuỗi Twig như {{'Đọc thêm' | trans}}
  • Xóa bộ nhớ cache và các trang được làm mới có chứa các chuỗi
  • Đã kiểm tra admin / config / khu vực / dịch cho các chuỗi không có kết quả

3
Bạn đã thử sử dụng |tthay vì |trans?
Vagner

@Vagner Tôi đã thêm các chuỗi như trong câu hỏi của mình, trong đó chuỗi được gắn với | trans
Henkealg

Câu trả lời:


34

Bạn cần truy cập trang bằng ngôn ngữ không phải tiếng Anh để chọn chúng. Thế là đủ.


1
Con số đó phải thật dễ dàng. Tôi đã tải lại trang bằng nhiều ngôn ngữ nhưng không phải ở nơi tôi gặp vấn đề này. Như bạn đã nói, các chuỗi có thể dịch được khi bạn truy cập trang bằng cài đặt ngôn ngữ đó. Cảm ơn!
Henkealg


15

Bạn có thể sử dụng {% trans %}thẻ Twig, có sẵn trong Drupal 8:

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

Xem liên kết sau để biết thêm chi tiết: http://getlevelten.com/blog/mark-carver/drupal-8-twig-temsheet-and-translations


Cảm ơn bạn đã trả lời của bạn. Tôi cũng đã đọc qua bài viết đó nhưng thật không may, nó không bao gồm nơi tôi xử lý bản dịch cho các chuỗi được thêm vào các tệp mẫu bằng cách sử dụng {% trans%} hoặc | trans hoặc | t. : S
Henkealg

Cảm ơn vì bài đăng. Công việc này cho tôi. Sau khi thêm mã này: {% trans%} Danh mục {% endtrans%} Tôi đã xóa bộ đệm và đi đến trang admin / config / khu vực / dịch. Nơi tôi đã tìm kiếm từ khóa "Danh mục" của mình và nhận được một trường văn bản để dịch từ bằng tiếng Pháp (làm ví dụ). Sau này, tôi nhận được từ dịch ở nơi cần thiết.

Làm việc cho tôi quá!
Achraf JEDAY

2

Dưới đây là một ví dụ tôi đã sử dụng khi ngôn ngữ được cung cấp, cũng như bối cảnh. Như thế này tôi đã có thể dịch sting 'von' hai lần, như trong tiếng Anh, nó có nghĩa là 'của' hoặc 'từ'.

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


1

Dường như Drupal xem các chuỗi dịch tùy chỉnh là "Bản dịch giao diện người dùng". Để dịch các cài đặt "Bản dịch giao diện người dùng" mở rộng và sau đó bạn tìm thấy "Bản dịch giao diện người dùng" trong chế độ cunfiguration. Có một danh sách dài các chuỗi nhưng các chuỗi của bạn sẽ nằm ở phần cuối.


1

cái này giúp tôi

{{ 'Read more'|trans }}

sau đó, hãy truy cập trang bằng ngôn ngữ không phải là ngôn ngữ gốc để được Drupal chọn.

/admin/config/regional/translate

đó là tất cả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.