多语言(多语言目录架构)

Methanol 采用“多语言目录”架构:若某目录的 index.mdx 设置了 lang 属性,该目录即被识别为独立的语言入口。该方案无需引入复杂的 i18n 系统,即可实现轻量且清晰的翻译内容组织。

核心机制

目录结构示例:

pages/
  index.mdx          # 默认语言根目录
  zh/
    index.mdx        # 中文语言根目录
    guide.mdx
  fr/
    index.mdx        # 法语语言根目录
    guide.mdx

Frontmatter 示例:

---
title: 简体中文
lang: 简体中文
langCode: zh
isRoot: true
hidden: true
---

语言选择器集成

默认主题在检测到配置了 lang 属性的目录索引页时,将自动激活语言选择器(涵盖根路径 /)。

导航根路径设定

语言根目录通常建议配合 isRoot: true 使用,以将侧边栏导航范围限定在该语言子树中。

注意:isRoot 标记的页面默认隐藏;若需在侧边栏展示,请显式设置 hidden: false

通过此项配置,各语言版本即可拥有完全独立的导航结构。

ctx.languages 数据结构

ctx.languages 是聚合了所有已配置语言入口的数组。在生成链接时,请务必使用 routeHref(已自动适配 site.base)。

{
	routePath: '/zh/',
	routeHref: '/zh/',
	label: '简体中文',
	code: 'zh'
}

若根目录的 index.mdx 同样配置了 lang 属性,则默认语言亦会包含在该列表中。

开发提示