# 國際化(i18n)
若要讓您的網站以不同語言呈現,您可使用國際化(internationalization)功能。請先在 `_config.yml` 中調整 `language` 設定,這代表的是預設語言,您也可設定多個語言來調整預設語言的順位。
```
language: zh-tw
language:
- zh-tw
- en
```
### 語言文件
語言文件可以使用 YAML 或 JSON 編寫,并放在主題文件夾中的 `languages` 文件夾。您可以在語言文件中使用 [printf 格式](https://github.com/alexei/sprintf.js)。
### 模板
在模板中,透過 `__` 或 `_p` 輔助函數,即可取得翻譯后的字符串,前者用于一般使用;而后者用于復數字符串。例如:
```
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 會捕獲網址中的第一段以檢測語言,舉例來說:
```
/index.html => en
/archives/index.html => en
/zh-tw/index.html => zh-tw
```
捕獲到的字符串唯有在語言文件存在的情況下,才會被當作是語言,因此例二 `/archives/index.html` 中的 `archives` 就不被當成是語言。
- 文檔
- 開始使用
- 概述
- 建站
- 配置
- 指令
- 遷移
- 基本操作
- 寫作
- Front-matter
- 標簽插件(Tag Plugins)
- 資源文件夾
- 數據文件
- 服務器
- 生成文件
- 部署
- 自定義
- 永久鏈接(Permalinks)
- 主題
- 模版
- 變量
- 輔助函數(Helpers)
- 國際化(i18n)
- 插件
- 其他
- 問題解答
- 貢獻
- API
- 核心
- 概述
- 事件
- 局部變量
- 路由
- Box
- 渲染
- 文章
- 腳手架(Scaffold)
- 主題
- 擴展
- 控制臺(Console)
- 部署器(Deployer)
- 過濾器(Filter)
- 生成器(Generator)
- 輔助函數(Helper)
- 遷移器(Migrator)
- 處理器(Processor)
- 渲染引擎(Renderer)
- 標簽插件(Tag)