Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Este documento está desactualizado, la versión base se actualizó el 23 de agosto de 2025.
Ir a la documentación en inglésHistorial de versiones
- "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ésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
Traducción
Definiendo Traducciones
La función t en intlayer te permite declarar contenido en múltiples idiomas. Esta función garantiza la seguridad de tipos, generando un error si falta alguna traducción, lo cual es especialmente útil en entornos TypeScript.
Aquí tienes un ejemplo de cómo declarar contenido con traducciones.
Copiar el código al portapapeles
import { t, type Dictionary } from "intlayer";
interface Content {
welcomeMessage: string;
}
export default {
key: "multi_lang",
content: {
welcomeMessage: t({
en: "Welcome to our application",
fr: "Bienvenue dans notre application",
es: "Bienvenido a nuestra aplicación",
}),
},
} satisfies Dictionary<Content>;
Configuración de Locales
Para asegurar un manejo adecuado de las traducciones, puedes configurar los locales aceptados en intlayer.config.ts. Esta configuración te permite definir los idiomas que tu aplicación soporta:
Copiar el código al portapapeles
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
},
};
export default config;
Uso de Traducciones en Componentes React
With react-intlayer, you can use translations in React components. Here's an example:
Copiar el código al portapapeles
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const MyComponent: FC = () => {
const content = useIntlayer("multi_lang");
return (
<div>
<p>{content.welcomeMessage}</p>
</div>
);
};
export default MyComponent;
This component fetches the corresponding translation based on the current locale set in your application.
With next-intlayer, you can use translations in React Server Components or Client Components. Here's an example in a Client Component:
Copiar el código al portapapeles
"use client";
import type { FC } from "react";
import { useIntlayer } from "next-intlayer";
const MyComponent: FC = () => {
const content = useIntlayer("multi_lang");
return (
<div>
<p>{content.welcomeMessage}</p>
</div>
);
};
export default MyComponent;
With vue-intlayer, you can use translations in Vue components. Here's an example:
Copiar el código al portapapeles
With svelte-intlayer, you can use translations in Svelte components. The hook returns a Svelte store. Here's an example:
Copiar el código al portapapeles
With preact-intlayer, you can use translations in Preact components. Here's an example:
Copiar el código al portapapeles
import type { FC } from "preact";
import { useIntlayer } from "preact-intlayer";
const MyComponent: FC = () => {
const content = useIntlayer("multi_lang");
return (
<div>
<p>{content.welcomeMessage}</p>
</div>
);
};
export default MyComponent;
With solid-intlayer, you can use translations in SolidJS components. Here's an example:
Copiar el código al portapapeles
import type { Component } from "solid-js";
import { useIntlayer } from "solid-intlayer";
const MyComponent: Component = () => {
const content = useIntlayer("multi_lang");
return (
<div>
<p>{content.welcomeMessage}</p>
</div>
);
};
export default MyComponent;
With angular-intlayer, you can use translations in Angular components. Here's an example:
Copiar el código al portapapeles
With vanilla-intlayer, you can use translations by subscribing to content changes. Here's an example:
Copiar el código al portapapeles
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
installIntlayer();
const content = useIntlayer("multi_lang").onChange((newContent) => {
document.getElementById("welcome-message")!.textContent = String(
newContent.welcomeMessage
);
});
// Initial render
document.getElementById("welcome-message")!.textContent = String(
content.welcomeMessage
);
