Magento 2 Traduzioni non funzionanti


10

Sto cercando di tradurre del testo nella pagina di pagamento:

"Il codice postale fornito non è valido."

Tuttavia, quando aggiungo frontend/..theme../Magento_Checkout/i18n/en_US.csve reinstallo quanto segue , la traduzione non è presente:

"Il codice postale fornito non è valido.", "Test".

Ho cancellato anche la cache. Che cosa sto facendo di sbagliato?


controlla la mia risposta aggiornata. Spero ora di lavorare per te.
Suresh Chikani,

Risposte:


15

Crea una directory app/i18n/Vendorname/en_US

Emetti comando:

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magentoQuesto raccoglierà tutte le frasi traducibili nel file CSV e lo posizionerà nel percorso specificato. Apporta le modifiche al file CSV secondo le tue esigenze e quando pronto invia il comando:

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

Questo distribuirà le traduzioni dal tuo file.

svuota la cache ecc. e dovresti vedere le tue modifiche.


Sembra promettente. Dice che il pacchetto linguistico è stato salvato con successo ma la traduzione non è ancora lì.
Torta

Quando eseguo nuovamente il comando collect-phrases, la traduzione torna a quello che era. Perché non sta salvando?
Torta

Questo è un comportamento normale, quando ricordi le frasi sovrascrive le tue modifiche perché Magento ha ricordato tutte le frasi predefinite. Il processo consiste nel raccogliere le frasi, apportare le modifiche e distribuirle, una volta distribuite è possibile accedere al modulo interessato, supponiamo che tu abbia apportato modifiche per Aggiungi al carrello per aggiungere al carrello, puoi andare al fornitore / modulo-catalogo / i18n / en_US. csv e cerca il tuo cambiamento. Ho appena riprovato e funziona come dovrebbe. Assicurati di modificare la seconda istanza nella traduzione e di svuotare correttamente la cache. Puoi anche provare a distribuire nuovamente contenuto statico.
Devtype,

Grazie mille, funziona davvero. Tuttavia, alcune traduzioni non arrivano. La traduzione "Esempio:" e "Campi obbligatori" non vengono tradotti. Come mai?
Torta

Trovato il problema Ho dovuto installare php bin / magento: upgrade. Dopo di che il mio sito è stato incasinato, ma poi la rappresentazione del tema lo ha riparato. Non ho idea del perché abbia funzionato. Grazie
Torta

4

È possibile modificare solo il testo scritto in traduzione

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

Testo suggerito non scritto nella traduzione, quindi non puoi cambiarlo con la traduzione.

Se vuoi cambiarlo, puoi trovarlo nel file JS che si trova:

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

Nota: devi sovrascrivere il file JS nel tuo tema.

Elimina pub / statico / *

Esegui comando:

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

Elimina la cache del browser.


Ho provato questo e non ha funzionato per qualche motivo.
Torta

Ho copiato quel file, modificato la traduzione e messo in app / design / frontend / <vendor> / <theme> / Magento_Checkout / web / js / model, ri-distribuito e ripulito dalla cache. Ma nessun cambiamento ..
Torta

controlla la mia risposta aggiornata. Spero ora di lavorare per te.
Suresh Chikani,

Questo ha davvero funzionato. Tuttavia, la soluzione fornita da Devtype soddisfa le mie esigenze in questo caso. Grazie per l'aiuto! :)
Torta

1

Ho avuto lo stesso problema sul mio sito Web Magento 2, ho provato tutti i tipi di suggerimenti su come risolverlo, ma l'unica cosa che ha funzionato per me è stata:

  1. vai a /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>

  2. Trova js-translation.jsoned eliminalo (creane una copia per ogni evenienza!)

  3. Torna alla cartella principale di Magento ed esegui php bin/magento setup:static-content:deploy pl_PL

  4. Quindi corri php bin/magento cache:flush

Questo è tutto. Se torni alla /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>cartella, nota che js-translation.jsonsono stati nuovamente generati.

Questo problema si verifica perché quando si esegue la distribuzione statica, magento genera il file js-translation.json con tutte le traduzioni inserite in questo file e lo chiama ogni volta che viene caricata la pagina. Quindi, quando è già generato e generalmente vuoto, non può sovrascriverlo con nuove informazioni. Eliminandolo e rigenerandolo risolverà il problema.

Spero che questo possa aiutare qualcuno.


Ciao @Pinky_P, nel mio caso js-translation.json viene aggiornato con la mia traduzione prevista. Ma non mostra in frontend. La prego di aiutarmi a risolvere questo problema.
Ramya,

0

🎗 Solo un promemoria ...

Magento memorizza alcuni dati di traduzione nella memoria del browser.

Potrebbe essere necessario pulire gli elementi di archiviazione del browser oltre alle cache interne di Magento.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.