多语言
配置多语言站点支持
多语言
PrimeEdge 支持 Hugo 的多语言功能,你可以创建同一内容的不同语言版本。
启用多语言
在 hugo.toml 中配置:
defaultContentLanguage = 'zh'
[languages]
[languages.zh]
languageName = '简体中文'
weight = 1
contentDir = 'content'
[languages.en]
languageName = 'English'
weight = 2
contentDir = 'content.en'
目录结构
content/ # 默认语言内容(中文)
content.en/ # 英文内容
创建多语言内容
方式一:独立目录
为每种语言创建独立的内容目录:
content/
├── posts/
│ └── hello.md
content.en/
├── posts/
│ └── hello.md
方式二:同文件多语言
在同一文件中定义多语言内容(适用于少量页面):
---
title: "文章标题"
translations:
en:
title: "Article Title"
---
语言切换
主题会在导航栏显示语言切换器,读者可以在不同语言版本之间跳转。如果当前页面没有对应语言的翻译,会跳转到该语言的首页。
配置语言专属参数
每种语言可以有独立的参数配置:
[languages.zh]
languageName = '简体中文'
[languages.zh.params]
site_name = '我的博客'
bio = '记录生活与技术'
[languages.en]
languageName = 'English'
[languages.en.params]
site_name = "My Blog"
bio = "Recording life and tech"
翻译主题界面
主题界面文本(如"阅读更多"“上一篇"等)支持多语言。如需添加新的翻译:
- 复制
themes/PrimeEdge/i18n/zh.toml到站点根目录的i18n/下 - 创建对应的语言文件,如
i18n/en.toml - 翻译其中的字符串
# i18n/en.toml
[readMore]
other = "Read More"
[prevPage]
other = "Previous"
[nextPage]
other = "Next"
多语言 SEO
Hugo 会自动生成多语言的 <link rel="alternate"> 标签,帮助搜索引擎识别不同语言版本:
<link rel="alternate" hreflang="zh" href="https://example.com/posts/hello/">
<link rel="alternate" hreflang="en" href="https://example.com/en/posts/hello/">
注意事项
- 内容同步 — 多语言内容需要手动维护,Hugo 不会自动翻译
- URL 结构 — 默认语言的 URL 不包含语言前缀,其他语言会添加前缀(如
/en/) - 搜索索引 — 每种语言有独立的搜索索引
评论