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?


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.


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.


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.


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í

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.