Creation:2026-09-19Last update:2026-09-19
将此文档参考到您的 AI 助手ChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
使用您最喜欢的AI助手总结文档,并引用此页面和AI提供商
版本历史
- "初始文档"v9.5.52026/9/19
此页面的内容已使用 AI 翻译。
查看英文原文的最新版本编辑此文档
如果您有改善此文档的想法,请随时通过在GitHub上提交拉取请求来贡献。
文档的 GitHub 链接Copy
复制文档 Markdown 到剪贴板
useIntlayer 钩子文档
useIntlayer 钩子允许您在 Astro 应用程序中按键检索本地化的字典内容。
可以使用相同的导入路径在两个不同的上下文中调用它:
- 服务端 / Frontmatter:在
.astro文件内部,它会自动使用存储在Astro.locals.intlayer中的请求语言环境来解析内容。 - 浏览器 / 客户端
<script>:在客户端脚本或 UI 框架组件内部,它解析为客户端 store 实现 (vanilla-intlayer)。
使用方法
在 Astro 组件 Frontmatter 中
src/pages/index.astro
复制代码
复制代码到剪贴板
在客户端 <script> 块中
src/components/InteractiveWidget.astro
复制代码
复制代码到剪贴板
参数
ts
复制代码
复制代码到剪贴板
key:字典的唯一键(在.content.ts声明文件中定义)。localeOrSelector(可选):特定语言环境或选择器对象({ item }、{ variant },可包含locale)。提供时,它会覆盖从请求上下文或客户端 store 检测到的语言环境。
说明
该钩子执行以下任务:
- 语言环境解析:
- 在服务端,通过由
astro-intlayer/middleware初始化的AsyncLocalStorage作用域从Astro.locals.intlayer读取活动语言环境。 - 在浏览器中,从客户端存储/store 读取活动语言环境。
- 在服务端,通过由
- 字典获取:注入与指定键匹配的字典内容。
- 翻译处理:将翻译 (
t())、枚举、条件和 markdown 解析为可渲染的内容。
