使用您最喜欢的AI助手总结文档,并引用此页面和AI提供商
版本历史
- "初始化历史"v5.5.102025/6/29
此页面的内容已使用 AI 翻译。
查看英文原文的最新版本如果您有改善此文档的想法,请随时通过在GitHub上提交拉取请求来贡献。
文档的 GitHub 链接复制文档 Markdown 到剪贴板
翻译
定义翻译
intlayer 中的 t 函数允许您声明多语言内容。该函数确保类型安全,如果缺少任何翻译会抛出错误,这在 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-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;
该组件会根据应用程序中当前设置的语言环境自动获取并渲染对应的翻译。
使用 next-intlayer,您可以在 React 服务端组件 (Server Components) 或客户端组件 (Client Components) 中使用翻译。以下是在客户端组件中的使用示例:
复制代码到剪贴板
"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;
使用 vue-intlayer,您可以在 Vue 组件中使用翻译。示例如下:
复制代码到剪贴板
使用 svelte-intlayer,您可以在 Svelte 组件中使用翻译。该 Hook 返回一个 Svelte store。示例如下:
复制代码到剪贴板
使用 preact-intlayer,您可以在 Preact 组件中使用翻译。示例如下:
复制代码到剪贴板
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;
使用 solid-intlayer,您可以在 SolidJS 组件中使用翻译。示例如下:
复制代码到剪贴板
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;
使用 angular-intlayer,您可以在 Angular 组件中使用翻译。示例如下:
复制代码到剪贴板
使用 vanilla-intlayer,您可以通过监听内容变更来使用翻译。示例如下:
复制代码到剪贴板
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
installIntlayer();
const content = useIntlayer("multi_lang").onChange((newContent) => {
document.getElementById("welcome-message")!.textContent = String(
newContent.welcomeMessage
);
});
// 初始渲染
document.getElementById("welcome-message")!.textContent = String(
content.welcomeMessage
);
