多語言配置

先前我們粗略地瞭解了 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