产品定价 立即试用
PE移动应用
文档 > 添加自定义本地化
入门
目录

为ThingsBoard PE移动应用添加自定义本地化

让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
...

image

步骤2:创建语言文件

添加使用以下格式的新.arb翻译文件:

1
intl_<languageCode>.arb

例如:

  • intl_es.arb表示Spanish
  • intl_fr.arb表示French
  • intl_de.arb表示German

提示:如需区域特定变体,请使用BCP-47格式(例如intl_pt_BR.arb)。

步骤3:添加翻译

  1. 复制intl_en.arb内容到新文件。
  2. 仅翻译value(每个key右侧的文本)为目标语言,不要修改key

示例结构:

1
2
3
4
5
{
  "appTitle": "您的应用标题翻译",
  "login": "您的登录翻译",
  "password": "您的密码翻译"
}

步骤4:生成本地化文件

如果应用版本早于1.7.0

执行命令:

1
flutter gen-l10n

此命令将为添加的语言生成必要的本地化文件或更新现有本地化。

如果应用版本为1.7.0或更高

我们建议安装Flutter Intl扩展,它会自动跟踪本地化更改并重新生成本地化文件。

可用扩展:

替代方法(不使用扩展)

如果您不想安装扩展,可以使用手动方式:

  1. 将intl_utils添加到项目的dev依赖:
    1
    
    flutter pub add -d intl_utils
    
  2. 每次更改后生成本地化文件:
    1
    
    dart run intl_utils:generate
    

每次更改本地化文件后运行此命令,将更改集成到移动应用中。

测试自定义本地化

  • 将设备/模拟器语言更改为您的目标语言环境并重新启动应用。
  • 如果您的语言为从右到左(如Arabic),请验证布局镜像和文本方向。
  • 确认复数占位符日期/数字格式显示正确。

回馈社区

我们欢迎社区贡献以改进ThingsBoard PE移动应用本地化。

如何贡献:

  • 向仓库提交Pull Request,附带您更新或新增的.arb文件。
  • 或提交改进请求并附上.arb文件。

您的贡献有助于让应用服务更多地区的用户,我们会将新的本地化合并到应用中,惠及所有人。

文档信息图标

注意:贡献翻译时,请确保其对目标语言和地区准确且符合文化习惯。