Framework

Plugin de Vite

vite.config.ts
import verbaly from '@verbaly/vite';

export default { plugins: [verbaly({ sourceLocale: 'es' })] };

Las opciones son las mismas que la config del CLI: sourceLocale, locales, dir, include, exclude, root. Las opciones inline ganan sobre el archivo de config.

Cómo compila

Servidor de dev

Build

El módulo virtual

import { t, verbaly, setLocale, getLocale, subscribe } from 'virtual:verbaly';

// SSR: request-scoped instances + locale metadata
import { createRequestInstance, createInstance, loadMessages, locales, sourceLocale } from 'virtual:verbaly';

// 0.17.0: fresh instance, catalog awaited, no flash. One call per request:
const v = await createRequestInstance(locale);

// 0.19.0: raw catalog for a locale (SSR integrations serialize it to the client):
const messages = await loadMessages(locale);

El singleton t/verbaly es para el browser. En el servidor, createRequestInstance(locale) construye una instancia fresca por request y espera su catálogo antes de devolver: el contrato no-FOUC en una llamada. createInstance(options) queda para setups custom (mira Server-side).

verbaly.d.ts (generado en la raíz del proyecto) tipa este módulo: las claves autocompletan y los params de cada clave se exigen. Commitéalo para que los clones frescos pasen typecheck antes del primer dev.

¿No usas Vite? Usa @verbaly/unplugin

Desde 0.10.0, @verbaly/unplugin lleva el mismo compilador a webpack 5, Rollup, esbuild y Rspack: el módulo tipado virtual:verbaly, la transformación de tagged templates y el build gate (failOnMissing: false para desactivarlo).

webpack.config.mjs
import { verbaly } from '@verbaly/unplugin';

export default { plugins: [verbaly.webpack({ locales: ['en', 'es'] })] };
// also: verbaly.rollup(…) · verbaly.esbuild(…) · verbaly.rspack(…)

Está enfocado al build: corre npx verbaly extract en tu dev loop o CI, ya que la extracción en vivo y el HMR siguen siendo el valor de este plugin de Vite. Solo ESM, como el compilador (usa webpack.config.mjs).

Copiado en el portapapeles