Hace ya un tiempo hablamos sobre cómo crear nuestras propias traducciones para Magento, utilizando los archivos csv. Cuando hablamos de traducciones en la plataforma, no sólo tenemos como recurso esos archivos.
Si prestan atención, dentro de los themes, ya sea para el Backend como para el Frontend, vamos a encontrar una carpeta llamada, casualmente, locale. Dentro sólo veremos un único archivo.
Las ubicaciones son:
- adminhtml: /app/design/adminhtml/default/default/locale/en_US/translate.csv
- frontend: /app/design/frontend/default/default/locale/en_US/translate.csv
Antes de seguir, unas pequeñas aclaraciones.
- En ambos casos, estoy considerando que se trabajaba con el paquete Default y el tema Default.
- Sólo para el ejemplo, y utilizando lo que provee la plataforma por defecto, el locale usado es en_US.
- El nombre del paquete, tema o locale; deberá ser aquel al que quieran aplicarle ésta regla de traducción.
- El archivo que deben usar es el indicado, solamente.
Hasta ahora sabemos dónde están estos archivos adicionales, entendimos que los valores de skin e idioma son de ejemplo, ¿pero para que sirve?.
La objetivo de éste archivo es sobreescribir la traducción que tengamos definida en el Locale principal. Para hacer un poco más claro esto, vamos a referirnos con Locale principal al que se ubica en /app/locale y por Locale específicos a los ubicados dentro de cada skin.
Bien, entonces, sabemos que podemos pisar una traducción del Locale principal con una del Locale específico. Vamos a poner un poco de color con algunas capturas de pantalla.
Si accedemos a la home de una instalación limpia, ésto es lo que vemos en el cuadro del Carrito.
Lo que vamos a probar, y en esto radica ésta funcionalidad, es implementar una traducción específica para un template, sin tocar las traducciones del Locale principal.
Esto podría permitirnos, además de no perder nuestras traducciones por idioma, darle mayor personalización a cada template.
Para continuar con el ejemplo, voy a sobreescribir la key de traducción “You have no items in your shopping cart.” que se encuentra en el archivo /app/locale/en_US/Mage_Checkout.csv, en la línea 222.
Como supondrán, la traducción no la voy a hacer en ese archivo, sino en /app/design/frontend/default/default/locale/en_US/translate.csv.
Cuando abramos el archivo translate.csv sólo vamos a encontrar una key, que se utiliza para ejemplo. Alcanza con agregar debajo nuestra traducción. En mi caso, ésto es lo que agrego:
“You have no items in your shopping cart.”,”You have 0 items.”
Siempre el primer valor contenido por las comillas, funciona como la clave a traducir, y el segundo, como el valor a mostrar.
Grabamos el archivo, limpiamos el caché de Magento (o borramos a mano la carpeta /var/cache) y recargamos la página.
Ya el cambio se hizo efectivo. Tenemos una traducción específica para nuestro template, sin por eso afectar a la traducción principal.


La tabla core_translate es la que gestiona las traducciones hechas a travez de Inline y no translate.csv.
Espero comentarios.
Saludos
@Danton
Es correcto, pero no se en qué momento se dice lo contrario. Es más, en ningún momento hablo de traducciones inline ni de la base de datos.
En que version de Magento. En la 1,4 el translate solo dice:
“Keep your eyes open for our special Back to School items and save A LOT!”,”Keep your eyes open for our special Back to School items and save A LOT!”
@rafael
Lo que hacen esos archivos archivos es modificar uan traducción para un theme, aún cuando la traducción de /app/locale/[locale] diga otra cosa.
Esto te permite que, si bien puedas tener una traducción completa para un idioma dado, para un skin, puedas aplicar una traudcción que se ajuste mejor. Esa es la finalidad de ese archivo.
Si lo que buscás es la traducción a un locale específico, esas se encuentran, como comenté antes, en /app/locale.
Las traducciones suelen guardarse en cache, motivo pro el cual tenés que acordarte de borrarlo luego de estos cambios.
Saludos.
Hola, estoy probando magento 1.4.1.0 e local (xampp) , uso para el frontend el tema “modern” , creo las keys que quiero traducir en: /app/design/frontend/default/modern/locale/en_US/translate.csv y tambien en: /app/design/frontend/default/modern/locale/es_ES/translate.csv pero nada cambia.
Cuando lo hago en: app/locale/es_ES/Mage_Catalog.csv si cambia.
Podrías darme alguna luz sobre lo que debería hacer para no tocar el archivo de idioma principal?
Muchas Gracias
@Ernesto
¿Cómo tenés configuradas las traducciones para el skin?.
Es decir, si mirás en Sistema -> Configuración -> Diseño, vas a ver que uno de los valores a indicar es el de traducciones. Esas traducciones hacen referencia a los archivos de los cuales hablamos.
En tu caso, ¿cómo lo tenés configurado?.
todo funciona bien, se me pasó una letra al crear la carpeta del idioma ..
gracias por la respuesta Damián.