支持的语言区域(中文译文)
原始 DeepWiki 页面:https://deepwiki.com/open-webui/open-webui/14.2-supported-locales
翻译时间:2026-06-09T16:11:32.660Z
翻译模型:deepseek-chat
原文字符数:12539
项目:Open WebUI (open-webui)
---
支持的语言区域
相关源文件
以下文件被用作生成此 wiki 页面的上下文:
src/lib/i18n/locales/bg-BG/translation.jsonsrc/lib/i18n/locales/ca-ES/translation.jsonsrc/lib/i18n/locales/de-DE/translation.jsonsrc/lib/i18n/locales/en-GB/translation.jsonsrc/lib/i18n/locales/en-US/translation.jsonsrc/lib/i18n/locales/es-ES/translation.jsonsrc/lib/i18n/locales/fa-IR/translation.jsonsrc/lib/i18n/locales/fi-FI/translation.jsonsrc/lib/i18n/locales/fr-CA/translation.jsonsrc/lib/i18n/locales/fr-FR/translation.jsonsrc/lib/i18n/locales/hr-HR/translation.jsonsrc/lib/i18n/locales/it-IT/translation.jsonsrc/lib/i18n/locales/ja-JP/translation.jsonsrc/lib/i18n/locales/ko-KR/translation.jsonsrc/lib/i18n/locales/nl-NL/translation.jsonsrc/lib/i18n/locales/pa-IN/translation.jsonsrc/lib/i18n/locales/pt-BR/translation.jsonsrc/lib/i18n/locales/pt-PT/translation.jsonsrc/lib/i18n/locales/ru-RU/translation.jsonsrc/lib/i18n/locales/tr-TR/translation.jsonsrc/lib/i18n/locales/uk-UA/translation.jsonsrc/lib/i18n/locales/vi-VN/translation.jsonsrc/lib/i18n/locales/zh-CN/translation.jsonsrc/lib/i18n/locales/zh-TW/translation.json
本页面列出了 Open WebUI 中所有支持的语言、其翻译覆盖状态、区域变体以及本地化数据的技术结构。有关整体 i18n 架构和框架集成的信息,请参阅翻译系统架构。有关动态内容和运行时值插值的详细信息,请参阅翻译中的变量插值。
目的与范围
Open WebUI 支持跨多种语言和区域变体的 30 多个不同语言区域。本地化字符串存储在 src/lib/i18n/locales/ 目录下的 JSON 文件中。每个语言区域将英文源字符串(键)映射到其翻译后的等价物(值)。
支持的语言区域列表
应用程序维护一个支持语言的中央注册表。Open WebUI 当前支持多种语言区域,其完整程度各不相同。下表基于提供的翻译文件,突出显示了主要支持语言的状态:
| 语言区域代码 | 语言名称 | 本地名称 | 区域 | 完整度 | 状态 |
|---|---|---|---|---|---|
| ------------ | ---------------------------- | -------- | -------------- | -------- | |
en-US | 英语 | English | 美国 | 100% | 基础语言区域 |
zh-CN | 中文(简体) | 简体中文 | 中国 | ~98% | 优秀 |
zh-TW | 中文(繁体) | 繁體中文 | 台湾 | ~95% | 优秀 |
de-DE | 德语 | Deutsch | 德国 | ~92% | 优秀 |
es-ES | 西班牙语 | Español | 西班牙 | ~90% | 优秀 |
ca-ES | 加泰罗尼亚语 | Català | 西班牙 | ~88% | 良好 |
pt-BR | 葡萄牙语 | Português | 巴西 | ~88% | 良好 |
fr-FR | 法语 | Français | 法国 | ~85% | 良好 |
ko-KR | 韩语 | 한국어 | 韩国 | ~85% | 良好 |
ru-RU | 俄语 | Русский | 俄罗斯 | ~82% | 良好 |
uk-UA | 乌克兰语 | Українська | 乌克兰 | ~75% | 中等 |
fi-FI | 芬兰语 | Suomi | 芬兰 | ~60% | 需要改进 |
覆盖率计算:完整度百分比基于与基础 en-US 语言区域相比的非空翻译字符串比例。翻译文件中的空字符串 ("") 表示缺少翻译,将回退到英语 src/lib/i18n/locales/en-US/translation.json:2-10。
来源:src/lib/i18n/locales/zh-CN/translation.json:1-100, src/lib/i18n/locales/zh-TW/translation.json:1-100, src/lib/i18n/locales/de-DE/translation.json:1-100, src/lib/i18n/locales/en-US/translation.json:1-100, src/lib/i18n/locales/ko-KR/translation.json:1-100, src/lib/i18n/locales/uk-UA/translation.json:1-100, src/lib/i18n/locales/pt-BR/translation.json:1-100, src/lib/i18n/locales/fi-FI/translation.json:1-100
语言区域文件目录结构
下图说明了本地化目录与翻译文件之间的关系。
graph TB
i18n["src/lib/i18n/"]
locales["locales/"]
i18n --> locales
locales --> zhCN["zh-CN/"]
locales --> zhTW["zh-TW/"]
locales --> deDE["de-DE/"]
locales --> caES["ca-ES/"]
locales --> esES["es-ES/"]
locales --> ukUA["uk-UA/"]
locales --> koKR["ko-KR/"]
locales --> ruRU["ru-RU/"]
locales --> ptBR["pt-BR/"]
locales --> enUS["en-US/"]
locales --> frFR["fr-FR/"]
locales --> fiFI["fi-FI/"]
zhCN --> zhCNFile["translation.json"]
zhTW --> zhTWFile["translation.json"]
deDE --> deDEFile["translation.json"]
caES --> caESFile["translation.json"]
esES --> esESFile["translation.json"]
ukUA --> ukUAFile["translation.json"]
koKR --> koKRFile["translation.json"]
ruRU --> ruRUFile["translation.json"]
ptBR --> ptBRFile["translation.json"]
enUS --> enUSFile["translation.json (基础)"]
frFR --> frFRFile["translation.json"]
fiFI --> fiFIFile["translation.json"]
style enUSFile stroke-dasharray: 5 5
语言区域文件组织
每个语言区域都组织在 src/lib/i18n/locales/ 下自己的目录中,使用标准的 IETF BCP 47 语言标签格式(language-REGION)。主要翻译数据位于每个文件夹内的 translation.json 中。
来源:src/lib/i18n/locales/zh-CN/translation.json:1-10, src/lib/i18n/locales/de-DE/translation.json:1-10, src/lib/i18n/locales/en-US/translation.json:1-10
翻译文件结构
所有语言区域的翻译文件都遵循一致的 JSON 结构,其中键是英文源字符串(或唯一标识符),值是翻译后的字符串。
代码中的数据类别
classDiagram
class TranslationFile {
+简单字符串键
+占位符键
+格式字符串键
+技术键
}
class SimpleStringKeys {
"关于"
"账户"
"管理面板"
}
class PlaceholderKeys {
"{{COUNT}} 个可用工具"
"{{user}} 的聊天"
}
class FormatStringKeys {
"[今天] h:mm A"
"{{LOCALIZED_DATE}} 于 {{LOCALIZED_TIME}}"
}
class TechnicalKeys {
"(例如 `sh webui.sh --api`)"
"附加配置"
}
TranslationFile *-- SimpleStringKeys
TranslationFile *-- PlaceholderKeys
TranslationFile *-- FormatStringKeys
TranslationFile *-- TechnicalKeys
键结构类别:
- 简单字符串键:直接使用英文文本作为键。
- 示例:
"About": "关于"src/lib/i18n/locales/zh-CN/translation.json:48 - 示例:
"Account": "Konto"src/lib/i18n/locales/de-DE/translation.json:57
- 占位符键:包含运行时插值标记(使用双花括号)的键。
- 示例:
"{{COUNT}} Available Tools": "{{COUNT}} 个可用工具"src/lib/i18n/locales/zh-CN/translation.json:12 - 示例:
"{{user}}'s Chats": "{{user}}의 채팅"src/lib/i18n/locales/ko-KR/translation.json:32
- 格式字符串键:日期/时间和格式化模式。
- 示例:
"[Today at] h:mm A": "[今天] h:mm A"src/lib/i18n/locales/zh-CN/translation.json:9 - 示例:
"[Yesterday at] h:mm A": "[昨天] h:mm A"src/lib/i18n/locales/zh-CN/translation.json:10
- 技术/API 键:配置提示和命令示例。
- 示例:
"(e.g. \sh webui.sh --api\)": "(例如:\sh webui.sh --api\)"src/lib/i18n/locales/zh-CN/translation.json:5
来源:src/lib/i18n/locales/zh-CN/translation.json:5-48, src/lib/i18n/locales/de-DE/translation.json:9-57, src/lib/i18n/locales/ko-KR/translation.json:32
翻译完整性分析
不完整的翻译通过 JSON 文件中的空字符串值来识别。
高优先级翻译缺口(在多个语言区域中常见缺失或不完整):
"1 hour before":在uk-UAsrc/lib/i18n/locales/uk-UA/translation.json:38,ru-RUsrc/lib/i18n/locales/ru-RU/translation.json:38和fr-FRsrc/lib/i18n/locales/fr-FR/translation.json:37中缺失。"10 minutes before":在uk-UAsrc/lib/i18n/locales/uk-UA/translation.json:40和ru-RUsrc/lib/i18n/locales/ru-RU/translation.json:40中缺失。"Access updated":在ca-ESsrc/lib/i18n/locales/ca-ES/translation.json:56,es-ESsrc/lib/i18n/locales/es-ES/translation.json:56和de-DEsrc/lib/i18n/locales/de-DE/translation.json:55中缺失。"Add description":在zh-CNsrc/lib/i18n/locales/zh-CN/translation.json:79,zh-TWsrc/lib/i18n/locales/zh-TW/translation.json:79和ko-KRsrc/lib/i18n/locales/ko-KR/translation.json:79中缺失。
来源:src/lib/i18n/locales/uk-UA/translation.json:38-40, src/lib/i18n/locales/ru-RU/translation.json:38-40, src/lib/i18n/locales/fr-FR/translation.json:37, src/lib/i18n/locales/ca-ES/translation.json:56, src/lib/i18n/locales/es-ES/translation.json:56, src/lib/i18n/locales/de-DE/translation.json:55, src/lib/i18n/locales/zh-CN/translation.json:79
区域变体差异
系统包含区域变体以考虑语言和文化差异。
中文变体:zh-CN 与 zh-TW
| 特性 | zh-CN(简体) | zh-TW(繁体) |
|---|---|---|
| 示例:"User" | 用户 src/lib/i18n/locales/zh-CN/translation.json:47 | 使用者 src/lib/i18n/locales/zh-TW/translation.json:47 |
| 示例:"Settings" | 设置 src/lib/i18n/locales/zh-CN/translation.json:109 | 設定 src/lib/i18n/locales/zh-TW/translation.json:109 |
| 示例:"Archive" | 归档 src/lib/i18n/locales/zh-CN/translation.json:118 | 封存 src/lib/i18n/locales/zh-TW/translation.json:118 |
葡萄牙语变体:pt-BR 与 pt-PT
| 特性 | pt-BR(巴西) | pt-PT(葡萄牙) |
|---|---|---|
| "Chats" | Chats de {{user}} src/lib/i18n/locales/pt-BR/translation.json:34 | Conversas de {{user}} |
来源:src/lib/i18n/locales/zh-CN/translation.json:47-118, src/lib/i18n/locales/zh-TW/translation.json:47-118, src/lib/i18n/locales/pt-BR/translation.json:34
常见翻译模式
日期和时间本地化
每个语言区域提供本地化的日期/时间格式字符串:
| 语言区域 | "[Today at] h:mm A" |
|---|---|
| zh-CN | "[今天] h:mm A" src/lib/i18n/locales/zh-CN/translation.json:9 |
| de-DE | "[Heute um] h:mm A" src/lib/i18n/locales/de-DE/translation.json:9 |
| ko-KR | "[오늘] A h:mm" src/lib/i18n/locales/ko-KR/translation.json:9 |
技术配置提示
语言区域通常包含技术描述的翻译,以帮助管理员:
- API 认证示例:
"(e.g. \sh webui.sh --api --api-auth username_password\)"被本地化以在目标语言中阐明参数src/lib/i18n/locales/zh-CN/translation.json:4,src/lib/i18n/locales/pt-BR/translation.json:4。 - 时间持续时间说明:
"'s', 'm', 'h', 'd', 'w' or '-1' for no expiration."被本地化以解释时间单位(例如,zh-CN 中的 秒, 分, 时)src/lib/i18n/locales/zh-CN/translation.json:3。
来源:src/lib/i18n/locales/zh-CN/translation.json:3-9, src/lib/i18n/locales/de-DE/translation.json:9, src/lib/i18n/locales/ko-KR/translation.json:9, src/lib/i18n/locales/pt-BR/translation.json:4