useI18n y el traductor
| 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
| 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.
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.