You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docusaurus中根据选中语言获取对应内部链接?

Docusaurus多语言环境下获取对应内部链接的方法

Docusaurus内置了多语言路由处理能力,不用手动拼接路径,以下是几种实用方案:

直接使用Docusaurus提供的<Link>组件,它会自动根据当前语言环境生成正确路径:

import Link from '@docusaurus/Link';

// 点击后自动跳转到对应语言的/docs路径
<Link to="/docs">前往文档</Link>

默认语言(如en)下会跳转/docs,非默认语言(如fr)下会自动添加语言前缀,跳转/fr/docs。

2. 自定义逻辑场景用useBaseUrl钩子

如果需要在代码里手动获取带语言前缀的路径,可使用useBaseUrl钩子:

import { useBaseUrl } from '@docusaurus/useBaseUrl';

function MyButton() {
  const docsUrl = useBaseUrl('/docs');
  // 当前语言为en时返回"/docs",fr时返回"/fr/docs"
  return <button onClick={() => window.location.href = docsUrl}>前往文档</button>;
}

这个钩子会自动结合当前语言环境,返回拼接后的正确路径。

3. 静态页面/非React场景

如果是静态HTML或非React脚本,可通过全局变量获取当前语言后手动拼接:

const currentLang = window.__docusaurus__.language;
const docsPath = currentLang === 'en' ? '/docs' : `/${currentLang}/docs`;
// 用docsPath执行跳转逻辑

这种方式优先级低于前两种,仅作为特殊场景的补充方案。

内容的提问来源于stack exchange,提问作者m19v

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 04:50:25