|
|
|
|
@ -8,11 +8,11 @@ Sistema de internacionalización type-safe para TypeScript. Agnóstico de framew
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
i18n/
|
|
|
|
|
├── index.ts # Barrel — punto de entrada público
|
|
|
|
|
├── i18n.ts # Instancia por defecto (wiring de schema + factory)
|
|
|
|
|
├── i18n.factory.ts # Factory: createI18n()
|
|
|
|
|
├── i18n.types.ts # Tipos e interfaces
|
|
|
|
|
├── translations.ts # Árbol de traducciones
|
|
|
|
|
├── index.ts # Barrel — punto de entrada público
|
|
|
|
|
├── i18n.engine.ts # Instancia por defecto (wiring de schema + factory)
|
|
|
|
|
├── i18n.factory.ts # Factory: createI18n()
|
|
|
|
|
├── i18n.types.ts # Tipos e interfaces
|
|
|
|
|
├── translations.ts # Árbol de traducciones
|
|
|
|
|
└── i18n.factory.test.ts
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
@ -50,7 +50,7 @@ export type TranslationSchema = typeof translations;
|
|
|
|
|
### 2. Crea la instancia
|
|
|
|
|
|
|
|
|
|
```ts
|
|
|
|
|
// i18n.ts
|
|
|
|
|
// i18n.engine.ts
|
|
|
|
|
import { createI18n, translations } from './';
|
|
|
|
|
|
|
|
|
|
export const i18n = createI18n(translations, 'es');
|
|
|
|
|
@ -265,4 +265,4 @@ export function useLocale() {
|
|
|
|
|
vitest
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Los tests usan un schema propio independiente del de producción, por lo que no hay acoplamiento entre la suite y las traducciones reales.
|
|
|
|
|
Los tests usan un schema propio independiente del de producción, por lo que no hay acoplamiento entre la suite y las traducciones reales.
|