AnyCMS SSG 的多语言指内容多语言(不包含工具自身 UI 的系统本地化)。采用文件名后缀组织(Zola 模式,最少侵入)。
文件名约定
hello-world.md(默认语言)+ hello-world.fr.md(法语):
content/
├── hello-world.md # 默认语言(en)
└── hello-world.fr.md # 法语翻译
翻译自动关联,生成 per-language URL、hreflang 互链、per-language feeds / sitemap。
声明支持的语言
在 site.kdl 中声明额外支持的语言:
default_language "en"
languages {
language code="fr"
language code="zh"
}
默认语言无需在 languages 中重复声明。
per-language 菜单
menu {} 块支持按语言覆盖。默认语言的裸 item 节点之外,用 lang "<code>" {} 子块提供翻译:
menu {
item "Home" url="/"
item "Docs" url="/docs/" weight=10
lang "fr" {
item "Accueil" url="/fr/"
item "Docs" url="/fr/docs/" weight=10
}
}
自动生成的产物
- per-language URL 前缀(如
/fr/...) - 页面间的
<link rel="alternate" hreflang>互链 - per-language 的
rss.xml/atom.xml/sitemap.xml
演示站点
demo-ink就是中英双语,可以参考它的content/与site.kdl。