Tôi đã thêm dịch vụ dịch cho dự án Symfony2 của mình. Tôi sử dụng cả hai trong bộ điều khiển và trong các mẫu twig. Nó được cấu hình tốt và tất cả các thẻ {% trans %}
hoạt động như ý của chúng. Nhưng trong một số trường hợp, tôi cần sử dụng thẻ {% transchoice %}
và không nhận được bản dịch. Đây là một ví dụ từ mã của tôi.Thẻ chuyển đổi Symfony2
{% transchoice post['comments']['count'] %}
{0} Comments| {1} Comment| ]1,Inf] Comments
{% endtranschoice %}
Cũng đã cố gắng viết điều này trong một dòng.
Tôi nhận được lựa chọn đúng cho số lượng nhận xét, nhưng bản thân từ đó không được dịch. Giống như người dịch không thể tìm thấy bản dịch tương ứng. Trong messages.de.yml Tôi có
Comment: "Kommentar"
Comments: "Kommentare"
Có điều gì đó sai với cú pháp transchoice của tôi? Có lẽ tôi cần phải đặt không gian ở đâu đó, hoặc bất cứ thứ gì như thế?
sẽ không chính xác cho lựa chọn dịch. Bằng cách này thậm chí không thể được phân tích cú pháp trong cành. – ArVan
Tại sao bạn nói điều này sẽ không chính xác? Tôi không quen thuộc với yml cho các bản dịch, nhưng tôi đã sử dụng với xliff, và nó hoạt động (và phân tích khá tốt). Có lẽ bạn sẽ phải điều chỉnh một số thứ. Bằng cách tôi tái sử dụng những gì bạn đã viết, vì vậy nếu nó không phân tích cú pháp, nó là * lỗi * của bạn. Và tôi nghĩ rằng nó không phân tích vì không gian giữa các đường ống và khung. Tôi sẽ cập nhật bài viết của tôi với một ví dụ xliff làm việc cho tôi, tôi hy vọng nó sẽ giúp bạn. – greg0ire
Bây giờ, nó hoạt động. Vấn đề duy nhất là trong trường hợp thiếu bản dịch, văn bản 'comment.summary' sẽ được hiển thị ... – ArVan