作为网站生成工具,Hugo也支持国际化。

国际化即支持多种语言,对于现在的网站,只需要添加不同语言下的文本展示即可。

所以需要做如下配置(config.toml文件中):

Hugo

设置默认语言

languageCode = "en-us"
defaultContentLanguage = "zh-cn"
defaultContentLanguageInSubdir = true

添加不同语言文件路径:

[languages]
  [languages.en-us]
    title = "Blog"
    contentDir = "content/en-us"
  [languages.zh-cn]
    contentDir = "content/zh-cn"

新建文档的命令也变了(使用–kind制定文档模板):

hugo new --kind post en-us/post/my-article.md
hugo new --kind post zh-cn/post/my-article.md

最后生成的文件结构:

+---content
|   +---en-us
|   |   \---post
|   |           hugo-universal.md
|   |          
|   \---zh-cn
|       \---post
|               hugo-universal.md

Hugo template

添加基础的国际化配置后我们可能需要在不同的语言下展示不同的内容,比如现在使用的reward组件,做如下修改:

使用.Site.Language.Lang获取当前页面语言。

{{ if (eq .Site.Language.Lang "zh-cn") }}
  <div class="text-center" id="reward">
    // ...
  </div>
{{ else }}
  <hr>
  // 添加emoji支持
  <p class="text-center">{{ "👇" | emojify }} Please leave your comment if you like this.{{ "👇" | emojify }}</p>
{{ end }}

觉得作者写得不错?不妨轻击下方按钮~

赏点银子给楼主凑凑买咖啡喝吧
微信
支付宝
扫码打赏,建议金额1-10元

Copied From 畅言