让ThingsBoard PE移动应用更贴近用户——您可以添加新语言,或优化现有翻译。
支持的语言
默认情况下,ThingsBoard PE移动应用支持以下语言:
- 英语(English)
- 阿拉伯语(Arabic)
- 繁体中文(Chinese - Taiwan)
- 简体中文(Chinese - Simplified)
添加或改进本地化
本地化如何工作(Flutter + ARB)
应用从lib/l10n目录中的.arb文件读取本地化文案。每个.arb文件对应一个语言环境(例如intl_en.arb表示英语)。所有语言的key保持一致,value按语言环境变化。
有关Flutter国际化系统的详细信息,我们建议阅读官方Internationalizing Flutter apps指南。
步骤1:打开本地化文件夹
进入项目的lib/l10n目录。您将看到如下文件:
1
2
3
intl_ar.arb
intl_en.arb
...

步骤2:创建语言文件
添加使用以下格式的新.arb翻译文件:
1
intl_<languageCode>.arb
例如:
intl_es.arb表示Spanishintl_fr.arb表示Frenchintl_de.arb表示German
提示:如需区域特定变体,请使用BCP-47格式(例如intl_pt_BR.arb)。
步骤3:添加翻译
- 复制
intl_en.arb内容到新文件。 - 仅翻译value(每个key右侧的文本)为目标语言,不要修改key。
示例结构:
1
2
3
4
5
{
"appTitle": "您的应用标题翻译",
"login": "您的登录翻译",
"password": "您的密码翻译"
}
步骤4:生成本地化文件
如果应用版本早于1.7.0
执行命令:
1
flutter gen-l10n
此命令将为添加的语言生成必要的本地化文件或更新现有本地化。
如果应用版本为1.7.0或更高
我们建议安装Flutter Intl扩展,它会自动跟踪本地化更改并重新生成本地化文件。
可用扩展:
- VS Code:Flutter Intl扩展
- IntelliJ / Android Studio:Flutter Intl插件
替代方法(不使用扩展)
如果您不想安装扩展,可以使用手动方式:
- 将intl_utils添加到项目的dev依赖:
1
flutter pub add -d intl_utils - 每次更改后生成本地化文件:
1
dart run intl_utils:generate
每次更改本地化文件后运行此命令,将更改集成到移动应用中。
测试自定义本地化
- 将设备/模拟器语言更改为您的目标语言环境并重新启动应用。
- 如果您的语言为从右到左(如Arabic),请验证布局镜像和文本方向。
- 确认复数、占位符和日期/数字格式显示正确。
回馈社区
我们欢迎社区贡献以改进ThingsBoard PE移动应用本地化。
如何贡献:
- 向仓库提交Pull Request,附带您更新或新增的
.arb文件。 - 或提交改进请求并附上
.arb文件。
您的贡献有助于让应用服务更多地区的用户,我们会将新的本地化合并到应用中,惠及所有人。