国际化 i18n
Parrot UI 内置多语言支持,国旗图标来自开源项目 flag-icons(MIT 协议),提供 1:1 和 4:3 两种比例的标准 SVG 国旗资源。
已支持语言
| 国旗 | 语言 | 代码 | 状态 |
|---|---|---|---|
| 简体中文 | zh-CN | ✅ 已支持 | |
| 繁體中文(香港) | zh-HK | ✅ 已支持 | |
| English | en-US | ✅ 已支持 |
国旗资源目录
项目将国旗 SVG 存放在 docs/public/flags/ 目录下,提供两种标准比例:
docs/public/flags/
├── cn.svg # 中国 4:3
├── hk.svg # 香港 4:3
├── us.svg # 美国 4:3
└── 1x1/
├── cn.svg # 中国 1:1
├── hk.svg # 香港 1:1
└── us.svg # 美国 1:1在文档中使用国旗
基础用法
使用 <img> 标签直接引用 /flags/ 下的 SVG 文件:
html
<!-- 4:3 比例国旗(推荐用于列表、表格) -->
<img src="/flags/cn.svg" width="32" alt="中国国旗" />
<img src="/flags/hk.svg" width="32" alt="香港旗帜" />
<img src="/flags/us.svg" width="32" alt="美国国旗" />
<!-- 1:1 比例国旗(推荐用于头像、圆形裁剪场景) -->
<img src="/flags/1x1/cn.svg" width="32" alt="中国国旗" />搭配语言名称的列表
html
<ul class="lang-list">
<li>
<img src="/flags/cn.svg" width="24" alt="CN" />
<span>简体中文</span>
</li>
<li>
<img src="/flags/hk.svg" width="24" alt="HK" />
<span>繁體中文</span>
</li>
<li>
<img src="/flags/us.svg" width="24" alt="US" />
<span>English</span>
</li>
</ul>效果预览:
简体中文
繁體中文
English
1:1 圆形国旗示例
html
<div class="flag-circle-list">
<div class="flag-circle-item">
<img src="/flags/1x1/cn.svg" class="flag-circle" alt="CN" />
<span>zh-CN</span>
</div>
<div class="flag-circle-item">
<img src="/flags/1x1/hk.svg" class="flag-circle" alt="HK" />
<span>zh-HK</span>
</div>
<div class="flag-circle-item">
<img src="/flags/1x1/us.svg" class="flag-circle" alt="US" />
<span>en-US</span>
</div>
</div>效果预览:
在 VitePress config 中配置语言
Parrot UI 文档使用 VitePress locales 配置实现多语言切换,语言标识符前加国旗 emoji:
typescript
// docs/.vitepress/config.ts
locales: {
root: {
label: '🇨🇳 简体中文',
lang: 'zh-CN',
// ...
},
'zh-HK': {
label: '🇭🇰 繁體中文',
lang: 'zh-HK',
// ...
},
en: {
label: '🇺🇸 English',
lang: 'en-US',
// ...
},
}扩展更多语言
如需添加新语言,从 flag-icons 下载对应国旗 SVG,放入 docs/public/flags/ 目录,再在 config.ts 中添加对应 locale 配置即可。
常见语言代码参考:
| 国旗 | 语言 | 代码 | 国旗文件 |
|---|---|---|---|
| 🇯🇵 | 日本語 | ja-JP | jp.svg |
| 🇰🇷 | 한국어 | ko-KR | kr.svg |
| 🇩🇪 | Deutsch | de-DE | de.svg |
| 🇫🇷 | Français | fr-FR | fr.svg |
| 🇪🇸 | Español | es-ES | es.svg |
| 🇷🇺 | Русский | ru-RU | ru.svg |
| 🇧🇷 | Português | pt-BR | br.svg |
| 🇦🇪 | العربية | ar-AE | ae.svg |
💡 所有国旗 SVG 均可从 lipis/flag-icons 免费获取,MIT 协议。