Las traducciones de Magento 2 no funcionan

10

Estoy tratando de traducir algo de texto en la página de pago:

"El código postal proporcionado parece ser inválido".

Sin embargo, cuando agrego lo siguiente frontend/..theme../Magento_Checkout/i18n/en_US.csvy lo vuelvo a implementar, la traducción no está allí:

"El código postal proporcionado parece no ser válido", "Prueba".

También borré el caché. ¿Qué estoy haciendo mal?

pastel
fuente
Comprueba mi respuesta actualizada. Espero ahora trabajar para ti.
Suresh Chikani

Respuestas:

15

Crea un directorio app/i18n/Vendorname/en_US

Emitir comando:

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magentoEsto recopilará todas las frases traducibles en el archivo csv y lo colocará en la ruta especificada. Realice cambios en el archivo csv según sus requisitos y cuando esté listo emita el comando:

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

Esto desplegará las traducciones de su archivo.

borre el caché, etc. y debería ver sus cambios.

Devtype
fuente
Esto parece prometedor. Dice que el paquete de idioma se guardó con éxito, pero la traducción aún no está disponible ..
Cake
Cuando vuelvo a hacer el comando de recopilar frases, la traducción vuelve a ser lo que era. ¿Por qué no está ahorrando?
Pastel
Ese es el comportamiento normal, cuando recuerdas frases, anula tus cambios porque Magento ha recogido todas las frases predeterminadas. El proceso consiste en recopilar frases, realizar sus cambios y desplegarlos. Una vez implementado, puede ingresar al módulo en cuestión, digamos que realizó un cambio para Agregar al carrito para Agregar a la bolsa, puede ir a vendor / module-catalog / i18n / en_US. csv y busca tu cambio. Solo volví a probar esto y funciona como debería. Asegúrate de cambiar la segunda instancia en la traducción y borrar la caché correctamente. También puede intentar implementar contenido estático una vez más.
Devtype
Muchas gracias, funciona de hecho. Sin embargo, algunas traducciones no llegan. El 'Ejemplo:' traducción y 'Campos obligatorios' no están traducidos. ¿Cómo?
Pastel
Encontró el problema. Tuve que configurar php bin / magento: actualizar. Después de eso, mi sitio estaba en mal estado, pero luego el problema se solucionó. No tengo idea de por qué esto funcionó. Gracias
Cake
4

Solo puede cambiar el texto escrito en la traducción.

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

Texto sugerido que no está escrito en la traducción, por lo que no puede cambiarlo con la traducción.

Si desea cambiarlo, puede encontrarlo en el archivo JS que se encuentra:

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

Nota: debe anular el archivo JS en su tema.

Eliminar pub / static / *

Ejecutar comando:

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

Eliminar el caché del navegador.

Suresh Chikani
fuente
Intenté esto y no funcionó por alguna razón.
Pastel
Copié ese archivo, cambié la traducción y lo puse en app / design / frontend / <vendor> / <theme> / Magento_Checkout / web / js / model, volví a implementar y limpié el caché. Pero no hay cambio ..
Pastel
Comprueba mi respuesta actualizada. Espero ahora trabajar para ti.
Suresh Chikani
Esto de hecho funcionó. Sin embargo, la solución proporcionada por Devtype se adapta más a mis necesidades en este caso. ¡Gracias por la ayuda! :)
Pastel
1

Tuve el mismo problema en mi sitio web Magento 2, probé todo tipo de sugerencias sobre cómo solucionarlo, pero lo único que funcionó para mí fue:

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

  2. Encuéntralo js-translation.jsony elimínalo (¡haz una copia por si acaso!)

  3. Regrese a su carpeta raíz de magento y ejecute php bin/magento setup:static-content:deploy pl_PL

  4. Entonces corre php bin/magento cache:flush

Eso es. Si vuelve a la /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>carpeta, observe que js-translation.jsonse han generado nuevamente.

Este problema ocurre porque cuando ejecuta la implementación estática, magento genera el archivo js-translation.json con todas sus traducciones insertadas en este archivo y lo llama cada vez que se carga la página. Entonces, cuando ya está generado y generalmente está vacío, no puede sobrescribirlo con nueva información. Al eliminarlo y regenerarlo resolverá el problema.

Espero que esto ayude a alguien.

Pinky_P
fuente
Hola @Pinky_P, en mi caso, js-translation.json se actualiza con mi traducción esperada. Pero no se muestra en la interfaz. ¿Podría ayudarme a resolver este problema?
Ramya
0

🎗Solo un recordatorio ...

Magento almacena algunos datos de traducción en el almacenamiento del navegador.

Puede que tenga que limpiar los elementos de almacenamiento del navegador además de los cachés internos de Magento.

ingrese la descripción de la imagen aquí

Ricardo Martins
fuente