🏷️ Dominios de traduccion en PrestaShop 8/9
Actualizado: 2024-12-01
Los dominios de traduccion en PrestaShop 8+ usan formato PascalCase.PascalCase.PascalCase. Identifican el origen de una cadena traducible y determinan que archivo .xlf la contiene. Reutilizar dominios del core evita duplicar traducciones ya hechas.
#Formato de los dominios
Reglas de formato para dominios
php
<?php
// Formato: Categoria.SubCategoria.Contexto
// Cada segmento en PascalCase (primera letra mayuscula)
// ── MODULOS ──
// Modules.{NombreModulo}.{Admin|Shop|Error}
// El nombre del modulo debe ser PascalCase del nombre del directorio
// mymodule -> Mymodule
// my_module -> MyModule
// ecom_omnimind -> EcomOmnimind
$this->trans('Texto', [], 'Modules.Mymodule.Admin'); // BO
$this->trans('Texto', [], 'Modules.Mymodule.Shop'); // FO
$this->trans('Error', [], 'Modules.Mymodule.Error'); // Errores
// ── CORE ──
// Admin.{Categoria}.{SubCategoria}
// Shop.{Categoria}
// Global.{Categoria}
#Dominios del core — Admin
| Dominio | Contenido tipico | Ejemplo |
|---|---|---|
| Admin.Global | Palabras y frases generales del BO | Yes, No, Save, Cancel, Search, None |
| Admin.Actions | Acciones del BO | Add, Edit, Delete, Enable, Disable, Export |
| Admin.Navigation.Menu | Items del menu lateral | Catalog, Orders, Customers... |
| Admin.Navigation.Header | Cabecera del BO | My profile, Sign out... |
| Admin.Notifications.Success | Mensajes de exito | Successful update, Created successfully |
| Admin.Notifications.Error | Mensajes de error | An error occurred, Invalid data |
| Admin.Notifications.Warning | Advertencias | Are you sure you want to delete? |
| Admin.Notifications.Info | Informacion | Changes saved, Processing... |
| Admin.Catalog.Feature | Catalogo > Caracteristicas | - |
| Admin.Catalog.Help | Textos de ayuda del catalogo | - |
| Admin.Orderscustomers.Feature | Pedidos y Clientes | - |
| Admin.Shipping.Feature | Transportes | - |
| Admin.Payment.Feature | Pagos | - |
| Admin.Design.Feature | Diseno | - |
| Admin.Modules.Feature | Modulos | - |
| Admin.Advparameters.Feature | Parametros avanzados | - |
| Admin.International.Feature | Internacional | - |
#Dominios del core — Shop (Front Office)
| Dominio | Contenido tipico |
|---|---|
| Shop.Navigation | Navegacion: Home, Menu, Breadcrumbs, Search... |
| Shop.Actions | Acciones FO: Add to cart, Buy, View, Compare... |
| Shop.Global | Textos generales del FO |
| Shop.Notifications.Success | Mensajes de exito al cliente |
| Shop.Notifications.Error | Mensajes de error al cliente |
| Shop.Notifications.Warning | Advertencias al cliente |
| Shop.Catalog.Listing | Listados de productos |
| Shop.Catalog.Product | Ficha de producto |
| Shop.Cart | Carrito de compra |
| Shop.Checkout | Proceso de compra |
| Shop.CustomerAccount | Mi cuenta del cliente |
| Shop.Orderconfirmation | Pagina de confirmacion de pedido |
| Shop.Theme.Global | Textos del tema activo |
| Shop.Theme.Catalog | Catalogo del tema |
| Shop.Theme.Checkout | Checkout del tema |
| Shop.Theme.Customeraccount | Cuenta del cliente en el tema |
#Dominios de modulos propios
Convencion de nombres para dominios de modulos
php
<?php
// Nombre de modulo: mymodule
// Nombre PascalCase: Mymodule
// 3 dominios recomendados para un modulo estandar:
'Modules.Mymodule.Admin' // Back Office — configuracion, listas, etiquetas BO
'Modules.Mymodule.Shop' // Front Office — bloques, pestanas, mensajes al cliente
'Modules.Mymodule.Error' // Mensajes de error (opcional, puede ir en Admin)
// Para modulos complejos con muchas areas:
'Modules.Mymodule.Invoice' // Facturas
'Modules.Mymodule.Email' // Plantillas de email
// IMPORTANTE: El nombre despues de Modules. DEBE coincidir EXACTAMENTE
// con el nombre del directorio del modulo en PascalCase
// mymodule/ -> Modules.Mymodule.*
// ecom_payments/ -> Modules.EcomPayments.*
// Ubicacion del archivo .xlf:
// modules/mymodule/translations/es-ES.Admin.xlf
// modules/mymodule/translations/es-ES.Shop.xlf
// O en el subdirectorio:
// modules/mymodule/translations/es-ES.Modules.Mymodule.Admin.xlf
#Estructura de archivos .xlf
modules/mymodule/translations/es-ES.xlf — estructura XLIFF
xml
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="src/Resources/translations/default/Modules.Mymodule.Admin.en-US.xlf"
source-language="en-US"
target-language="es-ES"
datatype="plaintext">
<header>
<tool tool-id="crowdin" tool-name="Crowdin" />
</header>
<body>
<trans-unit id="MiTexto">
<source>My text</source>
<target>Mi texto</target>
</trans-unit>
<trans-unit id="GuardarConfiguracion">
<source>Save configuration</source>
<target>Guardar configuracion</target>
</trans-unit>
<trans-unit id="ConParametros">
<source>Hello %name%, you have %count% messages.</source>
<target>Hola %name%, tienes %count% mensajes.</target>
</trans-unit>
</body>
</file>
</xliff>
Descargar en Markdown
Pensado para pegar en ChatGPT, Claude u otra IA. Incluye solo el contenido de esta pagina.