Saltar al contenido

Instalación

Registra el módulo, añade tus catálogos y usa tu primera traducción.

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.

Terminal sh
pnpm add @meekojs/i18n

Configura el módulo

meeko.config.ts ts
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

app/locales/es.json json
{
  "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"
      }
    }
  }
}
app/locales/en.json json
{
  "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

meeko
<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.

Tras cambiar los catálogos, ejecuta 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.

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres