菜单

国际化系统

相关源文件

目的与范围

AppFlowy 中的国际化 (i18n) 系统为 Flutter 前端应用程序提供多语言支持。该系统管理整个用户界面的翻译文件、语言切换和本地化文本渲染。该系统支持 20 多种语言,并使用具有键插值功能的分层 JSON 翻译结构。

有关工作区级别语言设置的信息,请参阅工作区管理。有关 AI 相关本地化功能的信息,请参阅AI 集成

支持的语言

AppFlowy 目前支持 19 种语言,并提供完整翻译覆盖

语言代码文件
德语de-DEde-DE.json
法语fr-FRfr-FR.json
中文(简体)zh-CNzh-CN.json
阿拉伯语ar-SAar-SA.json
俄语ru-RUru-RU.json
西班牙语 (委内瑞拉)es-VEes-VE.json
中文(繁体)zh-TWzh-TW.json
土耳其语tr-TRtr-TR.json
葡萄牙语(巴西)pt-BRpt-BR.json
日语ja-JPja-JP.json
越南语vi-VNvi-VN.json
印度尼西亚语id-IDid-ID.json
意大利语it-ITit-IT.json
韩语ko-KRko-KR.json
法语 (加拿大)fr-CAfr-CA.json
加泰罗尼亚语ca-ESca-ES.json
波兰语pl-PLpl-PL.json
葡萄牙语(葡萄牙)pt-PTpt-PT.json
匈牙利语匈牙利语(匈牙利)hu-HU.json

来源: frontend/resources/translations/ 目录结构

翻译文件架构

文件组织

JSON 结构模式

每个翻译文件都遵循一致的分层结构

来源: frontend/resources/translations/de-DE.json1-100 frontend/resources/translations/fr-FR.json1-100

键组织系统

功能区域分组

翻译键按功能区域组织,以保持一致性并便于维护

类别键前缀示例目的
身份验证signUp, signInsignUp.buttonText, signIn.emailHint用户登录/注册
工作区workspaceworkspace.create, workspace.defaultName工作区管理
UI 组件toolbar, sideBar, tooltiptoolbar.bold, sideBar.openSidebar界面元素
特性chat, trash, shareActionchat.newChat, trash.restoreAll特定功能
设置settingssettings.accountPage.title配置页面
操作button, moreActionbutton.save, moreAction.import用户操作

深度嵌套示例

复杂功能使用深度嵌套进行组织

来源: frontend/resources/translations/de-DE.json519-551 frontend/resources/translations/zh-CN.json533-551

插值与引用系统

键插值

该系统支持使用 @: 语法引用其他翻译键

变量插值

动态内容通过使用 {} 占位符插入

复数形式支持

某些语言包含复数规则

来源: frontend/resources/translations/de-DE.json198-202 frontend/resources/translations/fr-FR.json240-244

翻译加载架构

系统组件

语言配置集成

来源: frontend/resources/translations/ 目录结构

特定功能的翻译区域

认证系统

认证流程具有专用的翻译命名空间

  • signUp.* - 注册流程字符串
  • signIn.* - 登录流程字符串
  • OAuth 提供商字符串 (signInWithGoogle, signInWithGithub)
  • 错误消息和验证文本

AI 聊天界面

AI 聊天功能包含专用翻译

  • chat.newChat - 聊天创建
  • chat.inputMessageHint - 输入占位符
  • chat.question1-6 - 预设问题
  • chat.referenceSource - 带复数形式的源计数
  • chat.changeFormat.* - 响应格式选项

工作区管理

工作区操作具有全面的翻译覆盖

  • workspace.create, workspace.rename - 基本操作
  • workspace.resetWorkspacePrompt - 确认对话框
  • workspace.errorActions.* - 错误处理选项
  • 所有操作的成功/失败消息

来源: frontend/resources/translations/de-DE.json21-76 frontend/resources/translations/zh-CN.json191-231 frontend/resources/translations/fr-FR.json96-133

从右到左 (RTL) 语言支持

阿拉伯语实现

该系统包括对阿拉伯语等 RTL 语言的特殊支持

来源: frontend/resources/translations/ar-SA.json583-605