Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Añadir configuración global"v6.0.020/9/2025
- "Añadir variable `{{fileName}}`"v6.0.017/9/2025
- "Historial inicial"v5.5.1029/6/2025
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Traducciones de Archivos de Declaración de Contenido con Relleno Automático
Los archivos de declaración de contenido con relleno automático son una forma de acelerar tu flujo de trabajo de desarrollo.
El mecanismo de relleno automático funciona mediante una relación maestro-esclavo entre archivos de declaración de contenido. Cuando el archivo principal (maestro) se actualiza, Intlayer aplicará automáticamente esos cambios a los archivos de declaración derivados (rellenados automáticamente).
Copiar el código al portapapeles
import { Locales, type Dictionary } from "intlayer";const exampleContent = { key: "example", locale: Locales.ENGLISH, autoFill: "./example.content.json", content: { contentExample: "Este es un ejemplo de contenido", },} satisfies Dictionary;export default exampleContent;Aquí hay un archivo de declaración de contenido por idioma que usa la instrucción autoFill.
Luego, cuando ejecutes el siguiente comando:
Copiar el código al portapapeles
npx intlayer fill --file 'src/components/example/example.content.ts'Intlayer generará automáticamente el archivo de declaración derivado en src/components/example/example.content.json, completando todos los locales que no estén ya declarados en el archivo principal.
Copiar el código al portapapeles
{ "key": "example", "content": { "contentExample": { "nodeType": "translation", "translation": { "fr": "Ceci est un exemple de contenu", "es": "Este es un ejemplo de contenido", }, }, },}Después, ambos archivos de declaración se fusionarán en un único diccionario, accesible mediante el hook estándar useIntlayer("example") (react) / composable (vue).
Formato del Archivo Rellenado Automáticamente
El formato recomendado para los archivos de declaración autocompletados es JSON, lo que ayuda a evitar restricciones de formato. Sin embargo, Intlayer también soporta .ts, .js, .mjs, .cjs y otros formatos.
Copiar el código al portapapeles
const exampleContent = { key: "example", autoFill: "./example.filled.content.ts", content: { // Tu contenido },};Esto generará el archivo en:
Copiar el código al portapapeles
src/components/example/example.filled.content.tsLa generación de archivos
.js,.tsy similares funciona de la siguiente manera:
- Si el archivo ya existe, Intlayer lo analizará usando el AST (Árbol de Sintaxis Abstracta) para localizar cada campo e insertar las traducciones faltantes.
- Si el archivo no existe, Intlayer lo generará usando la plantilla predeterminada de archivo de declaración de contenido.
Rutas Absolutas
El campo autoFill también soporta rutas absolutas.
Copiar el código al portapapeles
const exampleContent = { key: "example", autoFill: "/messages/example.content.json", content: { // Tu contenido },};Esto generará el archivo en:
Copiar el código al portapapeles
/messages/example.content.jsonAutogenerar Archivos de Declaración de Contenido Por Localidad
El campo autoFill también soporta la generación de archivos de declaración de contenido por localidad.
Copiar el código al portapapeles
const exampleContent = { key: "example", autoFill: { fr: "./example.fr.content.json", es: "./example.es.content.json", }, content: { // Tu contenido },};Esto generará dos archivos separados:
src/components/example/example.fr.content.jsonsrc/components/example/example.es.content.json
En este caso, si el objeto no contiene todos los locales, Intlayer omitirá la generación de los locales restantes.
Filtrar Autocompletado para Locales Específicos
Usar un objeto para el campo autoFill te permite aplicar filtros y generar solo archivos para locales específicos.
Copiar el código al portapapeles
const exampleContent = { key: "example", autoFill: { fr: "./example.fr.content.json", }, content: { // Tu contenido },};Esto solo generará el archivo de traducción en francés.
Variables de Ruta
Puedes usar variables dentro de la ruta autoFill para resolver dinámicamente las rutas destino de los archivos generados.
Variables disponibles:
{{locale}}– Código de la localidad (por ejemplo,fr,es){{fileName}}– Nombre del archivo (por ejemplo,index){{key}}– Clave del diccionario (por ejemplo,example)
Copiar el código al portapapeles
const exampleContent = { key: "example", autoFill: "/messages/{{locale}}/{{key}}.content.json", content: { // Tu contenido },};Esto generará:
/messages/fr/example.content.json/messages/es/example.content.json
Copiar el código al portapapeles
const exampleContent = { key: "example", autoFill: "./{{fileName}}.content.json", content: { // Tu contenido },};Esto generará:
./index.content.json./index.content.json