博客 hugo stack主题 多语言配置

这篇博客介绍如何在hugo stack theme主题中配置多语言环境

博客搭建有一段时间了,最近想要添加多语言配置。虽然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,并填写对应内容

1
2
3
4
5
6
7
8
9
# Configure main menu and social menu
#[[main]]
#identifier = "home"
#name = "home"
#url = "/"

#[main.params]
#icon = "home"
#newtab = true
1
2
3
4
5
6
7
8
9
# Configure main menu and social menu
#[[main]]
#identifier = "home"
#name = "主页"
#url = "/"

#[main.params]
#icon = "home"
#newtab = true

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文件夹,并导入配置文件,做适当修改。

Licensed under CC BY-NC-SA 4.0
powered by shin
使用 Hugo 构建
主题 StackJimmy 设计