Terjemahan Magento 2 tidak berfungsi

10

Saya mencoba menerjemahkan beberapa teks di halaman checkout:

"Kode Pos / Kode Pos yang diberikan tampaknya tidak valid."

Namun, ketika saya menambahkan berikut ini frontend/..theme../Magento_Checkout/i18n/en_US.csvdan menggunakan kembali, terjemahan tidak ada di sana:

"Kode Pos / Kode Pos yang diberikan tampaknya tidak valid.", "Tes."

Saya membersihkan cache juga. Apa yang saya lakukan salah?

kue
sumber
periksa jawaban saya yang diperbarui. Saya harap sekarang bekerja untuk Anda.
Suresh Chikani

Jawaban:

15

Buat direktori app/i18n/Vendorname/en_US

Perintah masalah:

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magentoIni akan mengumpulkan semua frasa yang dapat diterjemahkan dalam file csv dan menempatkannya di jalur yang ditentukan. Buat perubahan pada file csv sesuai kebutuhan Anda dan saat siap mengeluarkan perintah:

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

Ini akan menyebarkan terjemahan dari file Anda.

hapus cache dll dan Anda akan melihat perubahan Anda.

Jenis layanan
sumber
Ini terlihat menjanjikan. Dikatakan paket bahasa berhasil disimpan tetapi terjemahannya masih belum ada ..
Kue
Ketika saya melakukan perintah collect-phrases lagi, terjemahannya kembali seperti semula. Kenapa tidak ditabung?
Kue
Itu perilaku normal, ketika Anda mengingat kembali frasa itu menimpa perubahan Anda karena Magento telah mengingat kembali semua frasa default. Prosesnya adalah Anda mengumpulkan frasa, membuat perubahan, dan menyebarkannya, setelah digunakan, Anda dapat masuk ke modul yang bersangkutan, misalkan Anda membuat perubahan untuk Add to Cart ke Add to Bag, Anda bisa pergi ke vendor / module-catalog / i18n / en_US. csv dan cari perubahan Anda. Coba lagi ini dan berfungsi sebagaimana mestinya. Pastikan Anda mengubah instance kedua dalam terjemahan dan membersihkan cache dengan benar. Anda juga dapat mencoba menggunakan konten statis sekali lagi.
Devtype
Terima kasih banyak, ini memang berhasil. Namun, beberapa terjemahan tidak sampai. 'Contoh:' terjemahan dan 'Bidang wajib' tidak diterjemahkan. Bagaimana bisa?
Kue
Menemukan masalahnya. Saya harus setup php bin / magento: upgrade. Setelah itu situs saya berantakan, tetapi kemudian menempatkan tema memperbaikinya. Tidak tahu mengapa ini berhasil. Terima kasih
Kue
4

Anda hanya dapat mengubah teks yang ditulis dalam terjemahan

Suka : $this->__("Sample Taxt");

Teks yang disarankan tidak ditulis dalam terjemahan sehingga Anda tidak dapat mengubahnya dengan terjemahan.

Jika Anda ingin mengubahnya, Anda dapat menemukannya di file JS yang berlokasi:

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

Catatan: Anda harus mengganti file JS ke dalam tema Anda.

Hapus pub / statis / *

Jalankan Perintah:

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

Hapus cache browser.

Suresh Chikani
sumber
Saya mencoba ini dan itu tidak berhasil karena suatu alasan.
Kue
Saya menyalin file itu, mengubah terjemahan, dan meletakkannya di app / design / frontend / <vendor> / <theme> / Magento_Checkout / web / js / model, digunakan kembali dan dibersihkan cache. Tapi tidak ada perubahan ..
Kue
periksa jawaban saya yang diperbarui. Saya harap sekarang bekerja untuk Anda.
Suresh Chikani
Ini memang berhasil. Namun, solusi yang disediakan oleh Devtype lebih sesuai dengan kebutuhan saya dalam hal ini. Terima kasih untuk bantuannya! :)
Kue
1

Punya masalah yang sama di situs web Magento 2 saya, mencoba segala macam saran cara memperbaikinya tetapi satu-satunya hal yang berhasil bagi saya adalah -

  1. pergi ke /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>

  2. Temukan js-translation.jsondan hapus (buat salinannya untuk berjaga-jaga!)

  3. Kembali ke folder root magento Anda dan jalankan php bin/magento setup:static-content:deploy pl_PL

  4. Lalu lari php bin/magento cache:flush

Itu dia. Jika Anda kembali ke /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>folder, pemberitahuan yang js-translation.jsontelah dihasilkan lagi.

Masalah ini terjadi karena ketika Anda menjalankan penyebaran statis, magento menghasilkan file js-translation.json dengan semua terjemahan Anda dimasukkan ke dalam file yang satu ini dan menyebutnya setiap kali halaman dimuat. Jadi ketika sudah dibuat dan biasanya kosong, itu tidak dapat menimpanya dengan informasi baru. Dengan menghapusnya dan membuatnya kembali akan menyelesaikan masalah.

Semoga ini bisa membantu seseorang.

Pinky_P
sumber
Hai @Pinky_P, dalam kasus saya js-translation.json diperbarui dengan terjemahan yang saya harapkan. Tapi itu tidak muncul di frontend. Bisakah Anda membantu saya menyelesaikan masalah ini?
Ramya
0

UstHanya sebuah pengingat ...

Magento menyimpan beberapa data terjemahan dalam penyimpanan browser.

Anda mungkin harus membersihkan item penyimpanan browser selain cache internal Magento.

masukkan deskripsi gambar di sini

Ricardo Martins
sumber