Ahora estas en: Inicio > Blog Traducir Magento Codificado UTF-8 - El Blog DWQ

Traducir Magento Codificado UTF-8 9 marzo 2009

Logo de Magento Uno de los problemas que se pueden presentan en la traducción del Magento al Español es la conversión de la codificación ANSI a la codificación UTF-8 causando que los caracteres especiales se vean como “�”. Para evitar esto algunos recurren al uso del código ASCII (&aacute, &eacute, etc,) pero eso no es muy recomendable. Con el uso de algún editor de texto que soporte la codificación UTF-8 , se puede lograr, en lo personal a mi me agrada el Notepad++ pero puede ser hasta con el simple Notepad o Blog de notas que viene por defecto en Windows.

Excel y Notepad++ como herramienta de traducción
DOS/Windows

Para traducir Magento al Español o a un idioma que utilice caracteres especiales del tipo á, à, é, è, í, etc. lo he hecho siguiendo el procedimiento mostrado a continuación:

  1. Descargar Carpeta del Idioma a Traducir de Magento
  2. Seleccionar Archivo a Traducir
  3. Empezar con Excel
  4. ¿Cómo guardar archivo xls(x) a CVS en Excel?
  5. Abrir Archivo en NotePad++ para convertir a UTF-8
  6. Otras opciones para traducir
  7. Enlaces de Referencia
1. Descargar Carpeta del Idioma a Traducir de Magento
Se debe descargar el archivo zip de la versión del idioma de Magento al que se quiere traducir, en mí caso me he bajado la versión 1.2 del Full package de “es_MX”
2. Seleccionar Archivo a Traducir
De esta versión se extraen el o los archivos que se seleccionaron para traducir localizados en es_MX.zip\app\locale\es_MX. Donde se encontrará la lista de archivos desde Mage_Adminhtml.csv hasta Mage_Wishlist.csv
3. Empezar con Excel
He utilizado excel porque me parece muy práctico el manejo de columnas que tiene, por ejemplo, puedes eliminar la columna derecha y sustituirla por la versión en Español que hayas traducido, bueno, este es el uso que yo le doy al Excel para este proceso. Se debe tener cuidado al guardar el archivo puesto que se abrió como formato CSV.
Al intentar guardarlo Excel te advierte “ese archivo contiene características que pueden no ser compatibles con el formato CSV ¿Quieres mantener la hoja de trabajo en este formato?” Seleccionar NO.
Excel te pedirá que lo guardes en xls(x), acepta oprimiendo el botón Guardar. Al guardarlo la extensión del archivo habrá cambiado de CSV a xls(x). Ahora será necesario guardar el archivo a CSV como se mostrará a continuación.
Nota: Tal vez te preguntes para qué guardarlo como xslx y luego otra vez guardarlo a CSV. La razón es que Excel utiliza características diferentes en su formato CSV y perderás las comillas y las comas en tu archivo si aceptas guardarlo desde el principio como CSV.
4. ¿Cómo guardar archivo xls(x) a CSV en Excel?
Para guardar el archivo de Excel a CSV realiza los siguientes pasos:

  1. Si ya cerraste el archivo guardado en xls ábrelo de nuevo.
  2. Si estas en Excel 2003 o 2002, selecciona Macro en el menú Herramientas y, a continuación, haz clic en Editor de Visual Basic. Como alternativa, presiona ALT + F11.
    En Excel 2007, haz clic en la pestaña Programador y, a continuación, haz clic en Visual Basic en el grupo Código. Como alternativa, presiona ALT + F11.
    Nota: Para mostrar la pestaña Programador en la barra del menú, haz clic en el Botón de Microsoft Office, haz clic en Opciones de Excel, haz clic en la categoría Popular, haz clic para seleccionar Mostrar Programador en la barra de casilla y, a continuación, haz clic en Aceptar.
  3. En el Editor de Visual Basic, haz clic en Módulo en el menú Insertar (Fg. 5).
  4. Baja este archivo QuoteCommaExport.zip, descomprime y ábrelo en Notepad++ o en un editor que lea vb. Pega el código mostrado en la hoja de módulo (ver Fg. 6)
  5. Antes de ejecutar la macro, selecciona los datos que desees exportar (Fig. 4) y, a continuación, ejecuta la subrutina QuoteCommaExport.
  6. Al ejecutar la Subrutina te enviara a Excel nuevamente pidiendo la ruta completa del archivo de destino (Fg. 7), como en mi caso por ejemplo F:\Magento\Trad\Mage_Core.csv
5. Abrir Archivo en NotePad++ para convertir a UTF-8
Los archivos que se bajan de la web de Magento o los guardados desde excel estan codificados en ANSI, lo que es un inconveniente cuando se utilizan caracteres especiales á, é… como ya se explico más arriba. Para salvar este inconveniente he utilizado el NotePad++ para convertir la codificación ANSI a codificación UTF-8 que es la conveniente para trabajar con caracteres especiales.
El procedimiento es muy sencillo, (ver Fg.8) simplemente con el NotePad++ abre el archivo CSV generado por Visual Basic de Excel, de la barra de menú haz clic en Formato, haz clic en Convertir a UTF-8 y… eso es todo.
6. Otras opciones para traducir
Además de la posibilidad de traducir los archivos de forma local en tu computadora, Magento cuenta con otros dos métodos de proponer traducciones desde el sitio web de Magento. Aquí sólo haré mención de ellas y comentarios breves, pero puedes visitar el sitio para conocerlo más a detalle.

  1. El método de traducción “inline” utiliza la herramienta de traducción en línea y te permite editar las páginas de un sitio de Magento Demo (Fg.9).
  2. El método de la lista completa por renglón te permite traducir el texto por módulo, sin necesidad de pasar por las páginas de un sitio de Magento Demo (Fg.10).
7. Enlaces de Referencia

Seleccionar NO
Fg.1 Seleccionar NO

Guardar como xlsx
Fg.2 Guardar como xlsx

Visual Basic en Programador de Excel
Fg.3 VB en Programador de Excel

Seleccionar área
Fg.4 Seleccionar área

Insertar Módulo
Fg.5 Insertar Módulo

Ejecutar Módulo QuoteCommaExport
Fg.6 Ejecutar Módulo QuoteCommaExport

Introducir ruta para crear archivo CSV
Fg.7 Crear archivo CSV

Convertir a Código UTF-8
Fg.8 Convertir a UTF-8

Magento Demo
Fg.9 Magento Demo

Lista de archivos traducir en línea
Fg.10 Lista completa

25 Respuestas a “Traducir Magento Codificado UTF-8”

  1. Oye tengo una duda. agunas palabras y fraces no me las traduce la vercion 1.4.0.1. que puedo hacer.

  2. Así es, la nueva versión ha agregado algunos archivos nuevos csv en el directorio “local”. Puedes traducir directamente en los directorios nuevos agregándolos a la versión en Español que estés usando o simplemente activar la traducción inline desde el panel de administrador en sistema-> configuración -> Programador. Ahí seleccionas la “traducir en línea”.

    Espero te sea de utilidad :)

  3. hola
    he visto varios posts y todos muy útiles, incluso aventajas a muchos en inglés.
    estoy tratando de subir (bulk)datos masivos de productos el tema es si este sistema me sirve también para usar la función de magento de imp/exportar del back end y usando
    1 – bajo (all) los datos actuales del site
    2 – abro en excel y agrego datos
    3 – pero estos sobre todo en “descripción” y otros de texto vienen con este asunto del formato UTF8
    4 – que hago los dejo como vienen y agrego otros productos y sigo esta rutina que dices arriba?
    5 – aplico la rutina a todos los datos
    6 – alguna prueba que hice funcionó mejor cuando del excel pegué los datos en notepad y grabé con formato csv y en UTF8
    agradeceré tu respuesta so much
    saludos

  4. Hola Junajo,
    Sí, este mismo método es el que sigo para subir datos masivos. Por ejemplo, cuando hago una exportación de datos desde el Panel de Administrador para ver como acomodó Magento los datos, el archivo ya viene en formato UTF-8, para trabajarlo con excel debes primero convertirlo a ANSI con el Notepad sencillo y luego lo abres en Excel, de esta forma no te alterará los caracteres especiales. Llenas tu tabla con productos nuevos y sigues el procedimiento descrito en este tutorial ¡y… Listo!
    Espero haber sido de ayuda.
    Saludos

  5. Pos si David, me resuta de mucha ayuda, pasé dos días viendo en foros en inglés, y luego aquí estaba exactamente como puedo digerirlo…..
    muchas gracias
    abusando un poco si en vez de subir por el backend, voy subiendo en cada tabla de la base de datos por separado como importación funcionará o no va a reconocer los items (asumiendo k pongo cuidado en atributos y categorías nuevas?)

  6. Fiu! Juanjo, Pues si ya has identificado TODAS las tablas si te puede servir pero… en lo personal me parece mucho más complejo, especialmente porque la arquitectura de la bd esta diseñada en EAV lo que complica muchísimo hacerlo directamente. Por otro lado, si lo haces a través del backend deberás crear las categorías nuevas primero y añadir sus IDs a tu tabla para que se llenen de los productos que les hallas asignado.

  7. ohh si si claro, identifiqué 5 tablas y sólo me quedan 240 aprox.. tu crees k la fundación Bill G. podrá ayudar??
    si, es más rápido hacer eso que dices , a ver como va…
    Muchas gracias por todo…saludos

  8. Hola:

    Ante todo perdonarme por si lo que pregutno es muy basico. Llevo una semana metido en magento y estoy un poco perdio ¡por no decir que no tengo ni idea..¡

    Mi primer problema es que tengo un fichero excel de articulos para importar y al tener caracteres españoles como es la “Ñ” u otros caraceters que el sistema no reconoce no me los importa.

    He seguido los pasos de lo que comentais aqui pero creo que no me sirve para lo que yo quiero. O es que me pierdo en algun punto.

    Cuando hablas de “Descargar Carpeta del Idioma a Traducir de Magento” y extraen el o los archivos que se seleccionaron para traducir ¿cual de estos ficheros me he de desacragar para poder pasarles la macro y tener los caracteres validos?

    O es que la macro he de pasarla por el fichero creado por mi con los caracateres que quiero cambiar con algun formato determinado?

    Muchas gracias

  9. Hola @Carlos, según entiendo, lo que tú estas buscando es importar artículos, donde efectivamente Magento no reconocerá caracteres especiales, has leído la respuesta 4 a Juanjo en estos mismos comentarios, ahí respondo parte de lo que buscas, lo único es que para éste efecto sólo aplican los pasos 4 y 5 de éste tutorial, una vez que has creado el archivo en csv, te creas un perfil desde el administrador para importarlo.

    Y no dudes en seguir preguntando, empezar con Magento siempre es muy complicado y hay que tener paciencia.
    Saludos

  10. Hola Juanjo:
    He seguido los siguentes pasos:
    Modifico mis datos en Excel y los grabo en formato excel
    Los dejo selecionado.
    Creo la macro como describes en el paso 4 del tutorial.
    Crea un archivo CSV.
    Pero en este archivo siguen sin corregirse las “ñ”:

    “store”,”sku”,”name”,”price”,”weight”,”status”,”tax_class_id”,”qty”
    “admin”,”1000000000000″,”ÑDSDSÑDÑ”,”666.000″,”10.000″,”Habilitado”,”Ninguno”,”0.0000″
    “admin”,”9788490000000″,”MFLALKLAÑ”,”888.000″,”10.000″,”Habilitado”,”Ninguno”,”0.0000″
    “admin”,”9788490000000″,”LÑFLSÑLÑ”,”777″,”10.000″,”Habilitado”,”Ninguno”,”0.0000″
    “admin”,”9788490000000″,”LÑLÑKDFÑLAÑ”,”777″,”10.000″,”Habilitado”,”Ninguno”,”0.0001″
    “admin”,”9788490000000″,”LSÑKLÑSLÑ”,”777″,”10.000″,”Habilitado”,”Ninguno”,”0.0002″
    “admin”,”9788490000000″,”MSLKSLDÑ”,”777″,”10.000″,”Habilitado”,”Ninguno”,”0.0003″
    “admin”,”9788480000000″,”,LÑSÑSLÑD”,”777″,”10.000″,”Habilitado”,”Ninguno”,”0.0004″.

    No se que es lo que hago mal.

    Gracias

  11. Mi nombre es David ;) a ver si entiendo ¿cuando creas tu archivo CSV lo has convertido en formato UTF-8 desde el notepad++ e importado desde el administrador de Magento o has vuelto a abrir ese archivo en Excel? ¿Cuando abres el archivo CSV con el notepad++ cómo te aparecen las Ñs?

  12. Hola:
    1- Me exporto fichero desde Magento en Perfiles y me crea archivo CSV para ver columnas.
    2- Lo abro con excel para modificar o añadir datos (he dejado solo columnas mínimas y en algunos registros e colocado “Ñ”)
    3- Lo guardo como CSV, y al importarlo en MAGENTO, solo me importa los registros que no tienen “Ñ”, los que contienen “Ñ” me da error.

    Luego he probado con el paso 4 del tutorial entre mis pasos 2 y 3. (Creía que la Macro de este tutoraial servía para convertir UTF-8) y obtengo el mismos resultado: me importa los registros que no tienen “Ñ” y los que contienen “Ñ” me sigue dando el mismo error

    Como lo hago?
    GRACIAS

  13. Por fín lo he conseguido:

    1º He creado un fichero en excel con las columnas mínimas:
    store
    type
    attribute_set
    sku
    name
    price
    weight
    status
    tax_class_id
    description short_description
    2º Lo he guardo como csv
    3º lo he abierto con Note pad
    4º Al volver a guardarlo desde note pad le cambio la codificación a UTF-8
    5º Este nuevo archivo creado .txt lo vuelvo a abrir en Excel y lo vuelvo a guardar como CSV.

    y ya está.

    Lo abro en Magento y ya me respeta todas las “ñ” y caracteres especiales.
    Menos mas pues es una base de datos de 40.000 libros

    Gracias

  14. Me da gusto Carlos, sólo una observación en tu punto 4° guardas el archivo con notepad codificado UTF-8, eso está bien, pero guárdalo desde ahí con extensión CSV y así lo cargas en tu Magento directamente. A mi me parece muy raro que en tu paso 5° lo vuelvas abrir en Excel, ya que excel te transforma los archivos a código ANSI, así que recomiendo evitar volver abrirlo así.

    Saludos

  15. Al guardarlo desde notepad, me lo guarda como .txt
    Sim embargo al volver abrirlo en excel y guardarlo como CSV me sigue respetando UTF-8.

  16. Hola David:
    Sabes sí se puede crear una regla de precio al articulo, ó una regla de precio al carrito, en la cual se pueda hacer un descuento “x” al comprar unas unidades “y” de dentro de los libros asociados en un articulo tipò “paquete de libros?

    Gracias por anticipado a tu posible respuesta.
    Saludos desde MADRID

  17. Tal vez esto te sirva: Tier pricing ¿es eso lo qué buscas?

  18. No, Tier pricing es para introducir escalado de precios para cantidades de cada uno de los articulos.
    Yo lo que necesito es que al dejar seleccionados para comprar los articulos dentro de un paquete de productos el cliente obtenga un descuento y si desmarca
    alguno de los productos pierda el descuento.
    Por ejemplo paquet de articulos que se compone de dos: Chaqueta y pantalón. Sí el cliente compra el paquete completo obtiene un descuento, pero si no pierde el descuento.

    Saludos y gracias

  19. Hola David, Estoy intentando importar productos a Magento desde excel, he intentado hacer paso a paso tus recomendaciones, pero me da un error: “No se pueden encontrar las columnas solicitadas: sku” y no tengo la mínima idea de cómo solucionarlo. No sé nada de programación, ni de Magento. ¿Sabrás cómo solucionarlo? Seguramente sí, por lo que he leído eres un experto en la materia.

    Gracias!

  20. Hola Penélope ¿qué versión de Magento estas usando? Lo cierto es que a partir de la versión 1.5.x Magento cambio ¿Qué columnas tratas de importar?

  21. Hola Daniel, gracias por tu pronta respuesta. Como te comenté, no tengo idea sobre Magento, pero creo que es la versión Magento Go ver 1.0.0.17
    o por lo menos eso dice al final de la página. Las columnas que quiero importar son las que había exportado previamente, algunas son: sku
    _store _attribute_set _type _product_websites
    name description short_description weight status url_key visibility price
    Gracias nuevamente,
    Penélope.-

  22. Ohhh :o Ya veo, Magento Go es una plataforma ya configurada previamente por Magento y es un poco diferente a la plataforma de Magento CE (Community Edition) que es con la que yo trabajo. Para tu caso debes seguir el procedimiento de este enlace Working with products csv files
    Espero te sea de utilidad

  23. bien David primero que nada muchas grax por el port sii esta bastante bien, lo unico que me pregunto es porq unas las palabras no estan traducidas? otra cosa que diferiencia hay de bajar el archivo .zip de los archivos y descomprimirlos en la carpeta app/locale/es_MX tal como los descargo, a hacer la traduccion que mensionas en este post. bueno espero tu respuesta

  24. Hola Joel, gracias a ti por escribirnos. En realidad este artículo se escribió hace ya tres años y se escribió con el fin de ayudar a los que estábamos traduciendo magento al español México en aquel entonces, por lo que no es necesario seguir todo este procedimiento. Respondiendo a tus preguntas, sí, baja el archivo comprimido, cárgalo en app/locale/es_MX. La razón por las que algunas líneas no están traducidas es porque la última revisión fue para la traducción de la versión 1.3.2, después magento ya no ha permitido actualizar las traducciones. Pero como bien ves por lo menos el 94% ya está traducido. Suerte!

  25. Tengo una duda… cuando convierto el archivo en UT8 no me logra ser leído… D8
    Pero si edito el archivo ansi, funciona de maravilla, aunque tiene e problema de los tildes y ñ…
    alguna forma de que el emulador de PSP lea el formato UT8?

Escribe tus comentarios

« »