博客搭建有一段时间了,最近想要添加多语言配置。虽然hugo原生支持多语言,但是我使用的stack主题在这方面的文档并没有详细写出相关的内容,因此踩了些坑才完成。这篇文章讲讲hugo stack主题配置多语言的过程。
修改配置文件
修改config\\_defalut\config.toml
中默认语言的部分,将默认语言设置为中文,并且默认语言显示子文件夹。
1
2
| defaultContentLanguage = "zh-cn"
defaultContentLanguageInSubdir = true
|
将_languages.toml
更名为languages.toml
,依照如下形式为每门语言添加属性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| # Rename this file to languages.toml to enable multilingual support
[zh-cn]
languageName = "中文"
languagedirection = "ltr"
disabled = false
title = "我的博客"
weight = 1
languageCode = "zh-cn"
contentDir = "content/zh-cn" # 设置中文内容的路径
[en]
languageName = "English"
languagedirection = "ltr"
title = "my blog"
weight = 2
disabled = false
languageCode = "en"
contentDir = "content/en" # 设置英文内容的路径
|
将menu.toml
,params.toml
修改为对应语言后缀的menu.zh-cn.toml
,menu.en.toml
,params.zh-cn.toml
,params.en.toml
,并填写对应内容
prams.toml部分同理
划分内容文件夹
在content
文件夹下按如下方式创建文件夹
1
2
3
| content/
|- en
|- zh-cn
|
将content
下原先的page
,post
,_index.md
分别复制进en
,zh-cn
,并修改内容
例如:content\zh-cn\page\archieves\index.md
将title修改为“归档”。
1
2
3
4
5
6
7
8
9
10
11
| ---
title: "归档"
date: 2022-03-06
layout: "archives"
slug: "archives"
menu:
main:
weight: 2
params:
icon: archives
---
|
其余文件同理
i18n配置
前往stack 主题官方仓库,将i18n
文件夹中的对应语言的文件夹en.yaml
,zh-cn.yaml
下载下来,在博客根目录下创建i18n
文件夹,并导入配置文件,做适当修改。