多语言配置

先前我们粗略地了解了 Hugo 的配置结构,接下来将介绍如何对多语言站点进行配置。

站点配置

名称描述
defaultContentLanguage站点的默认语言
defaultContentLanguageInSubdir默认语言的 URLs 是否包含语言代码,比如:/en

hugo.toml

1defaultContentLanguage = 'en'
2defaultContentLanguageInSubdir = true

hugo.yaml

1defaultContentLanguage: en
2defaultContentLanguageInSubdir: true

hugo.json

1{
2   "defaultContentLanguage": "en",
3   "defaultContentLanguageInSubdir": true
4}

语言参数

名称描述
languageName名称
languageDirection书写方向,如:rlt
weight权重,越小优先级越高。
title站点标题。
copyright站点版权。

多语言配置

languages.toml

 1[ar]
 2  languageDirection = 'rtl'
 3  languageName = 'العربية'
 4  weight = 4
 5[en]
 6  languageName = 'English'
 7  weight = 1
 8[zh-hans]
 9  languageName = '简体中文'
10  title = 'HB (Hugo Bootstrap) 框架'
11  weight = 2

languages.yaml

 1ar:
 2  languageDirection: rtl
 3  languageName: العربية
 4  weight: 4
 5en:
 6  languageName: English
 7  weight: 1
 8zh-hans:
 9  languageName: 简体中文
10  title: HB (Hugo Bootstrap) 框架
11  weight: 2

languages.json

 1{
 2   "ar": {
 3      "languageDirection": "rtl",
 4      "languageName": "العربية",
 5      "weight": 4
 6   },
 7   "en": {
 8      "languageName": "English",
 9      "weight": 1
10   },
11   "zh-hans": {
12      "languageName": "简体中文",
13      "title": "HB (Hugo Bootstrap) 框架",
14      "weight": 2
15   }
16}

多语言参数和菜单

通常我们会为不同语言配置各自的站点参数和菜单,比如 description,为了实现这一点,只需要创建特定语言的配置文件即可,如:

配置描述
menus.en.*英文站点菜单。
params.en.*英文站点参数。
menus.zh-hans.*中文站点菜单。
params.zh-hans.*中文站点参数。

详情请参阅 Hugo Multilingual Mode

razonyang
2024年10月5日星期六 2023年2月18日星期六