Saltar al contenido

API pública

Exports del paquete, opciones del módulo y contrato del traductor.

useI18n y el traductor

@meekojs/i18n
Nombre Tipo / valor inicial Descripción
useI18n() I18n Obtiene la instancia proporcionada por el plugin. Autoimportado en componentes.
locale readonly string Idioma del documento, leído del prefijo de la URL.
defaultLocale · locales · dir readonly Idioma sin prefijo, idiomas configurados y dirección del documento.
t(key, values?) string Clave y parámetros correlacionados con el registro generado.
number(value, options?) string Formato Intl.NumberFormat.
date(value, options?) string Formato Intl.DateTimeFormat.
has(key, { locale }?) boolean Si la clave tiene mensaje en los catálogos cargados, para una clave que llega de un dato.
localePath(path, locale?) string Ruta interna en un idioma: sin prefijo en el idioma por defecto, con /en/… en los demás.
switchLocalePath(locale) string Ruta equivalente de la página actual en otro idioma, con búsqueda y fragmento. Reactiva.
pageLocales() readonly string[] Idiomas que tienen versión de la página actual. Reactiva.
localeName(locale, displayLocale?) string Nombre del idioma, por defecto en ese idioma (English, Español).
directionOf(locale) ltr | rtl Dirección de un idioma configurado.
suggestedLocale() string | undefined Idioma de la cookie o del navegador si no es el actual. Sólo en el navegador; nunca redirige.
rememberLocale(locale) void Guarda el idioma en la cookie, por ejemplo al descartar una sugerencia.
switchLocale(locale) void Guarda el idioma y navega a la ruta equivalente (documento nuevo).

Opciones del módulo

I18nModuleOptions · @meekojs/i18n/module
Nombre Tipo / valor inicial Descripción
defaultLocale string Obligatoria. Idioma para URLs sin prefijo.
catalogs Record<string, string | Record<string, string>> Obligatoria. Archivo JSON o mapa de namespaces por idioma. Requiere common.
routes Record<string, readonly string[]> Namespaces adicionales por ID exacto de ruta.
global readonly string[] Namespaces que se cargan en todas las rutas junto a common, como el catálogo de un Shell compartido.
directions Record<string, ltr | rtl> Dirección por idioma; los demás usan ltr.
strategy prefix_except_default Por defecto. El idioma por defecto sin prefijo y los demás con prefijo, con rutas generadas desde las mismas páginas.
exclude readonly string[] IDs de ruta, con comodín, sin versiones en otros idiomas ni hreflang.
partial Record<string, readonly string[]> Para un idioma con traducción parcial, las únicas rutas que tienen versión en él.
cookie { name, domain?, maxAge? } | false Cookie del idioma elegido, sólo para sugerir. Por defecto meeko-locale.
hreflang boolean link rel=alternate por idioma y x-default en el head. Por defecto true.
sitemap boolean Alternativas xhtml:link en el sitemap.xml de Meeko. Por defecto true.

Integraciones de bajo nivel

createI18n(options) recibe el idioma, los mensajes compilados, los idiomas y la URL actual. Para aplicaciones Meeko el módulo prepara ese catálogo y su contexto.

Integración en navegador ts
import { createI18n } from '@meekojs/i18n'

// Catálogo compilado: fragmentos de texto y argumentos.
const translator = createI18n({
  locale: 'es',
  catalog: { greeting: ['Hola ', { arg: 'name' }] },
  locales: ['es', 'en'],
  defaultLocale: 'es',
  path: () => window.location.pathname + window.location.search + window.location.hash,
  navigate: path => window.location.assign(path),
})
translator.t('greeting', { name: 'Meeko' })
translator.switchLocalePath('en') // '/en/…'

i18nContext es la clave pública para proporcionar una instancia desde una integración propia. localeOf, localizedPath, stripLocale y negotiateLocale se documentan en idiomas y rutas. Los tipos I18n, I18nValue e I18nMessageValues se importan desde la raíz del paquete.

¿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