Featured image of post 为你的Stack博客添加国际化支持

为你的Stack博客添加国际化支持

接上篇更深入的Stack主题配置,为你的博客添加多语言支持

文章封面来源 PID112280380 一切版权归 原作者 所有

前言

进行任何改动前请注意备份!

具体示例可以在 Stack官方Dev Demo 中查看,当然本站也启用了多语言支持

在 v3.30.0版本中已经包含了关于 i18n 相关的配置,只需手动开启即可

起步

1.在站点配置文件中设置多语言

编辑 hugo.toml ,向其中加入以下内容

DefaultContentLanguage = 'zh-cn'
DefaultContentLanguageInSubdir = false
[languages]
[languages.zh-cn]
    contentDir = 'content/zh-cn'
    languageName = "简体中文"
    weight = 1
[languages.en]
    contentDir = 'content/en'
    languageName = "English"
    weight = 2

DefaultContentLanguageInSubdir 配置项为是否为默认语言启用子目录,这里禁用,所有文章请按语言分别放置到对应语言的目录下

此方法只适用于网站根目录为 zh-cn ,其他语言为子目录的方式,当然还可以使用子域名来区分,具体说明请参考 多语言模式 — Multilingual mode

2.为不同语言配置不同的菜单栏

继续编辑 hugo.toml 按照以下格式按需加入自己的内容

[[languages.zh-cn.menu.main]]
identifier = "about"
name = "关于"
url = "/about"
weight = -100
[languages.zh-cn.menu.main.params]
icon = "user"
newTab = false

[[languages.zh-cn.menu.social]]
identifier = "email"
name = "Email"
url = "mailto:changit@atri.pw"
[languages.zh-cn.menu.social.params]
icon = "mail"

[[languages.en.menu.main]]
identifier = "about"
name = "About"
url = "/en/about"
weight = -100
[languages.en.menu.main.params]
icon = "user"
newTab = false

[[languages.en.menu.social]]
identifier = "email"
name = "Email"
url = "mailto:changit@atri.pw"
[languages.en.menu.social.params]
icon = "mail"

Toml 不通过缩进/递归区分顺序,只需注意层级关系顺序

版权

本文章隶属于 DDverse ,遵循 © CC BY-NC-SA 4.0 协议,如需转载请保留来源并在必要的时候告知我