PrimeEdge 主题教程

多语言

配置多语言站点支持

多语言

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"

翻译主题界面

主题界面文本(如"阅读更多"“上一篇"等)支持多语言。如需添加新的翻译:

  1. 复制 themes/PrimeEdge/i18n/zh.toml 到站点根目录的 i18n/
  2. 创建对应的语言文件,如 i18n/en.toml
  3. 翻译其中的字符串
# 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/">

注意事项

  1. 内容同步 — 多语言内容需要手动维护,Hugo 不会自动翻译
  2. URL 结构 — 默认语言的 URL 不包含语言前缀,其他语言会添加前缀(如 /en/
  3. 搜索索引 — 每种语言有独立的搜索索引

下一步

评论

0%