Magento 2 Dịch không hoạt động


10

Tôi đang cố gắng dịch một số văn bản trong trang thanh toán:

"Mã Zip / Bưu điện được cung cấp dường như không hợp lệ."

Tuy nhiên, khi tôi thêm các mục sau vào frontend/..theme../Magento_Checkout/i18n/en_US.csvvà triển khai lại, bản dịch không có ở đó:

"Mã Zip / Bưu điện được cung cấp dường như không hợp lệ.", "Kiểm tra."

Tôi cũng xóa bộ nhớ cache. Tôi đang làm gì sai?


kiểm tra câu trả lời cập nhật của tôi Tôi hy vọng bây giờ làm việc cho bạn.
Suresh Chikani

Câu trả lời:


15

Tạo một thư mục app/i18n/Vendorname/en_US

Lệnh phát hành:

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magentoĐiều này sẽ thu thập tất cả các cụm từ có thể dịch trong tệp csv và đặt nó trong đường dẫn đã chỉ định. Thay đổi tệp csv theo yêu cầu của bạn và khi có lệnh phát hành sẵn sàng:

bin/magento i18n:pack app/i18n/Vendorname/en_US/en_US.csv -d en_US

Điều này sẽ triển khai các bản dịch từ tập tin của bạn.

xóa bộ nhớ cache vv và bạn sẽ thấy những thay đổi của bạn.


Điều này có vẻ đầy hứa hẹn. Nó nói gói ngôn ngữ đã được lưu thành công nhưng bản dịch vẫn chưa có ..
Bánh

Khi tôi thực hiện lại lệnh coll-cụm từ, bản dịch sẽ trở lại như cũ. Tại sao nó không tiết kiệm?
Bánh

Đó là hành vi bình thường, khi bạn nhớ lại các cụm từ, nó sẽ ghi đè các thay đổi của bạn vì Magento đã thu hồi tất cả các cụm từ mặc định. Quá trình là bạn thu thập các cụm từ, thực hiện các thay đổi của mình và triển khai chúng, sau khi triển khai, bạn có thể đi vào mô-đun liên quan, giả sử bạn đã thực hiện thay đổi cho Thêm vào giỏ hàng để thêm vào túi, bạn có thể đi đến nhà cung cấp / mô-đun danh mục / i18n / en_US. csv và tìm kiếm sự thay đổi của bạn. Chỉ cần kiểm tra lại và nó hoạt động như nó cần. Hãy chắc chắn rằng bạn đang thay đổi phiên bản thứ hai trong bản dịch và xóa bộ đệm đúng cách. Bạn cũng có thể thử triển khai nội dung tĩnh một lần nữa.
Devtype

Cảm ơn rất nhiều, nó hoạt động thực sự. Tuy nhiên, một số bản dịch không được thông qua. 'Ví dụ:' bản dịch và 'Các trường bắt buộc' không được dịch. Làm thế nào mà?
Bánh

Tìm thấy vấn đề. Tôi đã phải thiết lập php bin / magento: nâng cấp. Sau đó, trang web của tôi đã bị rối, nhưng sau đó, chủ đề đã sửa nó. Không biết tại sao điều này làm việc. Cảm ơn
Bánh

4

Bạn chỉ có thể thay đổi văn bản được viết trong bản dịch

Giống : $this->__("Sample Taxt");

Văn bản được đề xuất không được viết trong bản dịch để bạn không thể thay đổi nó bằng bản dịch.

Nếu bạn muốn thay đổi nó, bạn có thể tìm thấy nó trong tệp JS được đặt:

vendor/magento/module-checkout/view/frontend/web/js/model/shipping-rates-validator.js

Lưu ý: Bạn phải ghi đè tệp JS vào chủ đề của mình.

Xóa quán rượu / tĩnh / *

Chạy lệnh:

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

Xóa bộ nhớ cache của trình duyệt.


Tôi đã thử điều này và nó không hoạt động vì một số lý do.
Bánh

Tôi đã sao chép tệp đó, thay đổi bản dịch và đặt nó vào ứng dụng / thiết kế / frontend / <nhà cung cấp> / <theme> / Magento_Checkout / web / js / model, triển khai lại và xóa bộ nhớ cache. Nhưng không thay đổi ..
Bánh

kiểm tra câu trả lời cập nhật của tôi Tôi hy vọng bây giờ làm việc cho bạn.
Suresh Chikani

Điều này thực sự đã làm việc. Tuy nhiên, giải pháp được cung cấp bởi Devtype phù hợp với nhu cầu của tôi hơn trong trường hợp này. Cảm ơn đã giúp đỡ! :)
Bánh

1

Có cùng một vấn đề trên trang web Magento 2 của tôi, đã thử tất cả các loại đề xuất cách khắc phục nhưng điều duy nhất hiệu quả với tôi là -

  1. đi đến /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>

  2. Tìm js-translation.jsonvà xóa nó (tạo một bản sao của nó chỉ trong trường hợp!)

  3. Quay trở lại thư mục gốc magento của bạn và chạy php bin/magento setup:static-content:deploy pl_PL

  4. Sau đó chạy php bin/magento cache:flush

Đó là nó. Nếu bạn quay lại /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>thư mục, thông báo js-translation.jsonđã được tạo lại.

Vấn đề này xảy ra bởi vì khi bạn chạy triển khai tĩnh, magento tạo tệp js-dịch.json với tất cả các bản dịch của bạn được chèn vào một tệp này và gọi nó mỗi khi trang được tải. Vì vậy, khi nó đã được tạo và thường trống, nó không thể ghi đè lên nó với thông tin mới. Bằng cách xóa nó và tái tạo nó sẽ giải quyết vấn đề.

Hy vọng điều này sẽ giúp được ai đó.


Xin chào @Pinky_P, trong trường hợp của tôi, js-dịch.json được cập nhật với bản dịch dự kiến ​​của tôi. Nhưng nó không hiển thị ở frontend. Bạn có thể vui lòng giúp tôi giải quyết vấn đề này.
Ramya

0

UstChỉ cần một lời nhắc nhở ...

Magento lưu trữ một số dữ liệu dịch trong bộ lưu trữ trình duyệt.

Bạn có thể phải dọn dẹp các mục lưu trữ trình duyệt bên cạnh bộ nhớ trong Magento.

nhập mô tả hình ảnh ở đây

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.