common y catálogos adicionales
import { defineMeekoConfig } from '@meekojs/meeko/framework'
export default defineMeekoConfig({
modules: ['@meekojs/i18n'],
i18n: {
defaultLocale: 'es',
catalogs: {
es: {
common: 'app/locales/es/common.json',
checkout: 'app/locales/es/checkout.json',
},
en: {
common: 'app/locales/en/common.json',
checkout: 'app/locales/en/checkout.json',
},
},
routes: { '/checkout': ['checkout'] },
},
})
common
se carga siempre, junto a los namespaces de
global, como el catálogo de un Shell compartido.
routes
relaciona IDs exactos del manifiesto con namespaces adicionales. Todos los idiomas declaran los mismos namespaces.
Un namespace real en esta página
Esta ruta carga el namespace
checkout
mediante la opción
routes
del sitio. El siguiente resultado procede de ese catálogo:
Confirmar pedido
Tu pedido tiene 3 productos.
{
"checkout": {
"title": "Confirmar pedido",
"summary": "Tu pedido tiene {total} productos."
}
}Organización de las claves
El nombre del namespace organiza la carga; no añade un prefijo a las claves. Aquí
checkout.title
procede del objeto
checkout
del JSON. Las claves de namespaces distintos deben ser únicas.
Los tipos generados incluyen las claves de todos los namespaces. Usa cada mensaje en una ruta que cargue su catálogo: una clave conocida por TypeScript también necesita estar disponible en ejecución.