# 多語言支援（i18n）

ConvertX-CN 支援 **65 種語言**，提供完整的多語言介面體驗。

---

## 語言切換

### 方法一：介面切換

1. 點擊右上角語言圖示 🌐
2. 從下拉選單選擇語言
3. 頁面自動更新

語言偏好會儲存在 Cookie 中。

### 方法二：URL 參數

```
http://localhost:3000/?lang=ja
```

### 方法三：瀏覽器設定

系統會自動偵測瀏覽器的語言設定。

---

## 語言優先順序

1. Cookie 中儲存的語言偏好
2. URL 參數 `?lang=xx`
3. 瀏覽器 `Accept-Language` header
4. 預設語言（繁體中文）

---

## 支援語言列表

### 東亞語言（5 種）

| 代碼    | 語言     | 原生名稱 |
| ------- | -------- | -------- |
| `zh-TW` | 繁體中文 | 繁體中文 |
| `zh-CN` | 簡體中文 | 简体中文 |
| `en`    | 英文     | English  |
| `ja`    | 日文     | 日本語   |
| `ko`    | 韓文     | 한국어   |

### 西歐語言（10 種）

| 代碼 | 語言       | 原生名稱   |
| ---- | ---------- | ---------- |
| `de` | 德文       | Deutsch    |
| `fr` | 法文       | Français   |
| `es` | 西班牙文   | Español    |
| `it` | 義大利文   | Italiano   |
| `pt` | 葡萄牙文   | Português  |
| `nl` | 荷蘭文     | Nederlands |
| `ca` | 加泰隆尼亞 | Català     |
| `eu` | 巴斯克文   | Euskara    |
| `gl` | 加利西亞文 | Galego     |
| `mt` | 馬爾他文   | Malti      |

### 北歐語言（5 種）

| 代碼 | 語言   | 原生名稱 |
| ---- | ------ | -------- |
| `sv` | 瑞典文 | Svenska  |
| `da` | 丹麥文 | Dansk    |
| `fi` | 芬蘭文 | Suomi    |
| `no` | 挪威文 | Norsk    |
| `is` | 冰島文 | Íslenska |

### 東歐語言（12 種）

| 代碼 | 語言         | 原生名稱    |
| ---- | ------------ | ----------- |
| `ru` | 俄文         | Русский     |
| `pl` | 波蘭文       | Polski      |
| `uk` | 烏克蘭文     | Українська  |
| `cs` | 捷克文       | Čeština     |
| `hu` | 匈牙利文     | Magyar      |
| `ro` | 羅馬尼亞文   | Română      |
| `bg` | 保加利亞文   | Български   |
| `hr` | 克羅埃西亞文 | Hrvatski    |
| `sk` | 斯洛伐克文   | Slovenčina  |
| `sl` | 斯洛維尼亞文 | Slovenščina |
| `sr` | 塞爾維亞文   | Српски      |
| `mk` | 馬其頓文     | Македонски  |

### 中東語言（4 種）

| 代碼 | 語言     | 原生名稱 | 書寫方向 |
| ---- | -------- | -------- | -------- |
| `ar` | 阿拉伯文 | العربية  | RTL      |
| `he` | 希伯來文 | עברית    | RTL      |
| `fa` | 波斯文   | فارسی    | RTL      |
| `tr` | 土耳其文 | Türkçe   | LTR      |

### 南亞語言（10 種）

| 代碼 | 語言       | 原生名稱 |
| ---- | ---------- | -------- |
| `hi` | 印地文     | हिन्दी   |
| `bn` | 孟加拉文   | বাংলা    |
| `ta` | 泰米爾文   | தமிழ்    |
| `te` | 泰盧固文   | తెలుగు   |
| `mr` | 馬拉地文   | मराठी    |
| `gu` | 古吉拉特文 | ગુજરાતી  |
| `kn` | 卡納達文   | ಕನ್ನಡ    |
| `ml` | 馬拉雅拉姆 | മലയാളം   |
| `ne` | 尼泊爾文   | नेपाली   |
| `si` | 僧伽羅文   | සිංහල    |

### 東南亞語言（7 種）

| 代碼  | 語言     | 原生名稱         |
| ----- | -------- | ---------------- |
| `th`  | 泰文     | ไทย              |
| `vi`  | 越南文   | Tiếng Việt       |
| `id`  | 印尼文   | Bahasa Indonesia |
| `ms`  | 馬來文   | Bahasa Melayu    |
| `fil` | 菲律賓文 | Filipino         |
| `km`  | 高棉文   | ភាសាខ្មែរ        |
| `lo`  | 寮文     | ລາວ              |
| `my`  | 緬甸文   | မြန်မာ           |

### 波羅的海語言（3 種）

| 代碼 | 語言       | 原生名稱 |
| ---- | ---------- | -------- |
| `lt` | 立陶宛文   | Lietuvių |
| `lv` | 拉脫維亞文 | Latviešu |
| `et` | 愛沙尼亞文 | Eesti    |

### 凱爾特與其他歐洲語言（4 種）

| 代碼 | 語言       | 原生名稱 |
| ---- | ---------- | -------- |
| `ga` | 愛爾蘭文   | Gaeilge  |
| `cy` | 威爾斯文   | Cymraeg  |
| `sq` | 阿爾巴尼亞 | Shqip    |
| `el` | 希臘文     | Ελληνικά |

### 非洲語言（3 種）

| 代碼 | 語言       | 原生名稱  |
| ---- | ---------- | --------- |
| `sw` | 斯瓦希里文 | Kiswahili |
| `zu` | 祖魯文     | isiZulu   |
| `af` | 南非荷蘭文 | Afrikaans |
| `am` | 阿姆哈拉文 | አማርኛ      |

---

## 貢獻翻譯

歡迎協助改進翻譯！

### 步驟

1. 複製 `src/locales/en.json`
2. 重命名為 `xx.json`（語言代碼）
3. 翻譯所有文字
4. 在 `src/i18n/index.ts` 中註冊
5. 提交 Pull Request

### 翻譯檔案格式

```json
{
  "title": "ConvertX-CN",
  "description": "檔案轉換服務",
  "upload": "上傳檔案",
  "convert": "開始轉換",
  ...
}
```

---

## 相關文件

- [貢獻指南](../開發指南/貢獻指南.md)
- [專案結構](../開發指南/專案結構.md)
