Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Этот документ устарел, базовая версия была обновлена 23 августа 2025 г..
Перейти к английской документацииИстория версий
- "Инициализация истории"v5.5.1029.06.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомIf 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
Перевод
Определение переводов
Функция t в intlayer позволяет объявлять контент на нескольких языках. Эта функция обеспечивает типовую безопасность, выдавая ошибку, если какие-либо переводы отсутствуют, что особенно полезно в средах TypeScript.
Вот пример того, как объявить контент с переводами.
Копировать код в буфер обмена
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>;Конфигурация локалей
Для обеспечения правильной обработки переводов вы можете настроить поддерживаемые локали в файле intlayer.config.ts. Эта конфигурация позволяет определить языки, которые поддерживает ваше приложение:
Копировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
},
};
export default config;Использование переводов в React-компонентах
С помощью react-intlayer вы можете использовать переводы в React-компонентах. Вот пример:
Копировать код в буфер обмена
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;Этот компонент получает соответствующий перевод на основе текущей локали, установленной в вашем приложении.
Пользовательские объекты контента
intlayer поддерживает пользовательские объекты контента для перевода, позволяя определять более сложные структуры при обеспечении типовой безопасности. Вот пример с пользовательским объектом:
Копировать код в буфер обмена
import { t, type Dictionary } from "intlayer";
interface ICustomContent {
title: string;
content: string;
}
const customContent = {
key: "custom_content",
content: {
profileText: t<ICustomContent>({
en: {
title: "Page Title",
content: "Page Content",
},
fr: {
title: "Titre de la Page",
content: "Contenu de la Page",
},
es: {
title: "Título de la Página",
content: "Contenido de la Página",
},
}),
},
} satisfies Dictionary;
export default customContent;