求ApplicationResourceBundle(.arb)格式对应的JSON Schema文件
ARB格式JSON Schema与Flutter本地化脚本适配指南
ARB的JSON Schema支持
- ARB格式有官方定义的JSON Schema,无需完全手动从spec文档转换生成。如果要适配自定义场景,将spec转成Pydantic类再导出Schema的方案也是可行的。
- 标准ARB Schema明确了核心结构:
- 根层级元属性:比如
$schema(指定Schema地址)、$locale(当前语言区域) - 普通字符串条目:键为字符串ID,值为对应语言的文本
- 元数据字段:以
@开头(如@welcomeMessage),包含description(字符串描述)、type(类型标记)、placeholders(占位符定义)等信息
- 根层级元属性:比如
Flutter本地化脚本适配建议
- 解析代码时,除了基础的
L("blabla")结构,要兼容带参数的调用(如L("Hello {user}", user: currentUser)),对应的ARB文件需要同步生成placeholders元数据。 - 扩展现有ARB文件时,注意保留原有已翻译内容和元数据,仅新增代码中出现但ARB里没有的字符串条目,避免覆盖已有本地化成果。
- 对齐
flutter intl包的规范:占位符名称要与代码中的参数名一致,元数据里的placeholders需明确每个参数的type和example,方便后续翻译和工具识别。
内容的提问来源于stack exchange,提问作者Stepan Dyatkovskiy
相关产品推荐
相关产品推荐

