Antes de empezar
Necesitas una aplicación Meeko, Node.js 24 o superior y Meeko
>=1.8 <2. El módulo i18n se distribuye de forma independiente; puedes usarlo con los componentes de tu aplicación.
pnpm add @meekojs/i18nConfigura el módulo
import { defineMeekoConfig } from '@meekojs/meeko/framework'
export default defineMeekoConfig({
site: 'https://example.com',
modules: ['@meekojs/i18n'],
i18n: {
defaultLocale: 'es',
catalogs: {
es: 'app/locales/es.json',
en: 'app/locales/en.json',
},
},
})
Las rutas de los catálogos son relativas a la raíz del proyecto y deben permanecer dentro de ella.
defaultLocale
debe identificar uno de los idiomas configurados.
Crea los catálogos
{
"greeting": "Hola {name}",
"ready": "Listo para traducir",
"cart": {
"items": {
"plural": "total",
"forms": {
"=0": "Tu cesta está vacía",
"one": "{count} elemento en tu cesta",
"other": "{count} elementos en tu cesta"
}
}
}
}{
"greeting": "Hello {name}",
"ready": "Ready to translate",
"cart": {
"items": {
"plural": "total",
"forms": {
"=0": "Your cart is empty",
"one": "{count} item in your cart",
"other": "{count} items in your cart"
}
}
}
}
Ambos idiomas declaran las mismas claves y parámetros. La estructura de
cart
produce la clave
cart.items.
Traduce en un componente
<script lang="ts">
const { t } = useI18n()
const name = signal('Meeko')
</script>
<template>
<p>{t('greeting', { name: name.value })}</p>
<p>{t('cart.items', { total: 3 })}</p>
</template>
useI18n
se autoimporta en los componentes al registrar el módulo. También admite import explícito desde
@meekojs/i18n. El plugin proporciona una instancia por aplicación y petición SSR.
meeko check
para comprobar el contrato generado. No edites los tipos de
.meeko
manualmente.
Continúa con mensajes y parámetros o prueba el laboratorio.