📦 Exportar e importar traducciones

Actualizado: 2024-12-01

La exportacion e importacion de traducciones permite trabajar con traductores profesionales, migrar traducciones entre entornos y mantener un flujo de trabajo organizado para proyectos multiidioma.

#Exportar traducciones desde el BO

BO → Localizacion → Traducciones
text
EXPORTAR TRADUCCIONES
1. Ir a Localizacion → Traducciones
2. Seccion "Exportar un idioma"
3. Seleccionar:
   - Idioma: Español (o el que quieras)
   - Tipo de traduccion:
     · Traducciones del Back Office
     · Traducciones del Front Office
     · Traducciones de modulos instalados
     · Traducciones de email
     · Otras traducciones
   - Tema (si aplica)
4. Clic en "Exportar"
5. Se descarga un archivo .gzip con los ficheros de traduccion

ESTRUCTURA DEL EXPORT
  translations/
    es-ES/
      ModulesMymoduleShop.es-ES.xlf
      ModulesMymoduleAdmin.es-ES.xlf
      ShopNavigation.es-ES.xlf
      ...

#Importar traducciones

Importar traducciones al BO
text
IMPORTAR TRADUCCIONES
1. Ir a Localizacion → Traducciones
2. Seccion "Importar un paquete de idioma manualmente"
3. Seleccionar archivo .gzip exportado previamente
4. Elegir idioma destino
5. Opciones:
   - Sobrescribir traducciones existentes: Si/No
   - Solo importar si la traduccion actual esta vacia: Si/No
6. Clic en "Importar"

IMPORTAR VIA CONSOLA (PS 1.7.6+)
php bin/console prestashop:translation:import es-ES path/to/translations/

IMPORTAR IDIOMA DESDE PRESTASHOP.COM
1. Localizacion → Traducciones
2. "Añadir o actualizar un idioma"
3. Seleccionar idioma del dropdown
4. Clic en "Añadir o actualizar"
5. PS descarga traducciones oficiales de la comunidad

#Flujo de traduccion profesional

Flujo recomendado
text
1. EXTRAER cadenas del modulo/tema
   php bin/console translation:extract es-ES --dir=modules/mymodule/

2. ENVIAR ficheros .xlf al traductor
   - Los archivos XLF son estandar, compatibles con:
     · Crowdin, Transifex, Lokalise (plataformas online)
     · SDL Trados, MemoQ (herramientas CAT profesionales)
     · POEditor, Weblate (open source)

3. RECIBIR ficheros traducidos
   - El traductor devuelve los .xlf con las etiquetas <target> completadas

4. COLOCAR en el directorio correcto
   modules/mymodule/translations/es-ES/ModulesMymoduleShop.es-ES.xlf

5. LIMPIAR cache
   php bin/console cache:clear --env=prod

6. VERIFICAR en el front y BO
   - Navegar por la tienda en el idioma traducido
   - Verificar que no hay cadenas sin traducir

TIP: Usar la herramienta de traduccion del BO
(Localizacion → Traducciones → Modificar traducciones)
para ver cadenas sin traducir filtradas por modulo.

#Traducir un modulo completo

Preparar un modulo para traduccion
php
<?php

// ── 1. Usar $this->trans() en el modulo ──
$this->trans('Add to cart', [], 'Modules.Mymodule.Shop');
$this->trans('Settings saved', [], 'Modules.Mymodule.Admin');

// ── 2. Usar {l} en templates Smarty ──
// {l s='Add to cart' mod='mymodule'}
// O el nuevo formato:
// {l s='Add to cart' d='Modules.Mymodule.Shop'}

// ── 3. Crear archivos de traduccion ──
// modules/mymodule/translations/es-ES/ModulesMymoduleShop.es-ES.xlf

// ── 4. Estructura del XLF ──
/*
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en-US" target-language="es-ES" datatype="plaintext">
    <body>
      <trans-unit id="abc123">
        <source>Add to cart</source>
        <target>Añadir al carrito</target>
      </trans-unit>
      <trans-unit id="def456">
        <source>Settings saved</source>
        <target>Configuracion guardada</target>
      </trans-unit>
    </body>
  </file>
</xliff>
*/

// ── 5. Limpiar cache despues de añadir traducciones ──
// php bin/console cache:clear
Descargar en Markdown Pensado para pegar en ChatGPT, Claude u otra IA. Incluye solo el contenido de esta pagina.