国際化(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`(例2)の `archives` は言語として提供されません。