国际化 (i18n)

您可以使用国际化来以不同的语言呈现您的网站。默认语言通过修改_config.yml中的language设置来设置。您还可以设置多种语言并修改默认语言的顺序。

language: zh-tw

language:
- zh-tw
- en

语言文件

语言文件可以是 YAML 或 JSON 文件。您应该将它们放入主题的languages文件夹中。语言文件支持printf 格式

模板

在模板中使用___p助手来获取翻译后的字符串。前者用于正常使用,后者用于复数字符串。例如

en.yml
index:
title: Home
add: Add
video:
zero: No videos
one: One video
other: %d videos
<%= __('index.title') %>
// Home

<%= _p('index.video', 3) %>
// 3 videos

路径

您可以在前文中设置页面的语言,或修改_config.yml中的i18n_dir设置以启用 Hexo 的自动检测。

i18n_dir: :lang

i18n_dir设置的默认值为:lang,这意味着 Hexo 将检测 URL 第一个段中的语言。例如

/index.html => en
/archives/index.html => en
/zh-tw/index.html => zh-tw

只有在语言文件存在时,字符串才会被视为语言。因此,/archives/index.html中的archives(示例 2)将不会被视为语言。