國際化 (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

路徑

您可以在頁面的 front-matter 中設定語言,或修改 _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 (範例 2) 中的 archives 將不會被當作語言提供。