ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Slang四种文件格式实战:JSON、YAML、CSV、ARB怎么选?附Excel翻译协作工作流

Slang四种文件格式实战:JSON、YAML、CSV、ARB怎么选?附Excel翻译协作工作流 Slang四种文件格式实战JSON、YAML、CSV、ARB怎么选附Excel翻译协作工作流【免费下载链接】slangType-safe i18n for Dart and Flutter项目地址: https://gitcode.com/gh_mirrors/slang/slang做 Dart / Flutter 项目的国际化i18n时Slang 是一款值得推荐的类型安全国际化方案它用 JSON、YAML、CSV、ARB 四种文件格式存储翻译生成编译期检查的 Dart 代码从根源上杜绝拼错 key 导致线上翻车的问题。本文带你快速搞懂四种 Slang 翻译文件格式的适用场景并分享一套适合外包与团队协作用的 Excel 翻译工作流。先看懂四种 Slang 文件格式对比总览Slang 通过配置文件里的input_file_pattern指定翻译文件类型必须以下面四个后缀之一结尾文件格式文件后缀特点适合场景JSON.json默认格式支持嵌套命名空间个人开发、小团队、快速起步YAML.yaml语法紧凑原生支持多行文本和注释长文案、需要备注说明的项目CSV.csv表格结构可直接用 Excel / Google Sheets 编辑翻译外包、多语言协作ARB.arbFlutter 官方默认格式从 Flutter ARB 项目平滑迁移只需在 slang.yaml 或build.yaml中调整一行配置即可切换input_directory: lib/i18n input_file_pattern: .i18n.json # 换成 .i18n.yaml / .i18n.csv / .i18n.arb 即可JSON零配置的默认选择JSON 是 Slang 的默认格式新建en.i18n.json、de.i18n.json这样的文件就能直接跑起来无需任何配置。嵌套对象会自动变成命名空间调用代码非常直观// en.i18n.json { welcome: { title: Welcome $name, button: Start } }生成后可直接以属性方式访问翻译$name这类插值变量会被编译为带类型的参数漏传参数在编译期就会报错——这正是 Slang类型安全的核心价值。项目自带的示例文件可以参考 en.i18n.json。YAML长文案和注释的最佳拍档YAML 的优势是紧凑并且原生支持多行字符串和注释。当你的界面文案动辄三四行比如条款说明、新手引导或者需要给译者写上下文备注时YAML 比 JSON 舒服得多# de.i18n.yaml welcome: title: Welcome $name # 首次启动时的问候语多行文案直接用缩进写不用像 JSON 那样手写一堆\n翻译文件的可读性会好很多。CSVExcel 翻译协作的核心格式CSV 是把翻译交给非技术人员的关键。它的结构是一行一条翻译key,文案。把 CSV 文件用 Excel 或 Google Sheets 打开就是标准表格翻译同学完全不需要懂任何代码。多语言合并到一个表Compact CSV更巧妙的是Slang 支持把多个语言合并到同一个 CSV 文件中——至少 3 列第一行放语言代码无需任何额外配置Slang 会自动识别key,en,de-DE welcome.title,Welcome $name,Willkommen $name welcome.button,Start,Start一个strings.i18n.csv文件装下所有语言横向对照着翻译效率翻倍。一个小坑要注意换行符必须写成\n不能在单元格里直接敲回车否则解析会出错。ARBFlutter 老项目的迁移通道如果你的项目已经在用 Flutter 官方的 ARB 国际化Slang 也能直接读取.arb文件。不过有两点限制要知道ARB 格式**不支持列表lists和映射maps**这两个 Slang 的高级特性字符串插值固定为{name}花括号模式如果想完整享受 Slang 的能力官方提供了一条迁移命令把 ARB 转换成 Slang 的 JSON 格式并且保留所有描述注释dart run slang migrate arb source.arb destination.json迁移后即可用dart run slang一键生成类型安全的翻译代码。选型速查一张表帮你拍板你的情况推荐格式刚起步、自己或小团队开发JSON零配置默认格式文案很长、需要给译者写备注YAML翻译外包、多人多语言协作CSVExcel 友好已有 Flutter ARB 项目先用 ARB 直接跑再用 migrate 迁移进阶Excel Weblate 的完整翻译协作工作流当项目语言变多、译者分散在各地时推荐把CSV 格式与开源翻译管理平台 Weblate 结合形成完整闭环用 Compact CSV 维护所有语言开发侧只维护一个合并的多语言 CSV 文件接入 Weblate将 CSV 推送到 Git 仓库Weblate 自动识别译者在线翻译、提交走 Git 评审本地生成代码拉回翻译后的文件执行dart run slang重新生成 Dart 翻译类Weblate 中推荐的配置含 Slang 相关 addon可以参考项目自带的两张官方截图小结从格式选择到团队协作选格式看人开发者自己写选 JSON/YAML译者协作选 CSV存量 Flutter 项目用 ARB切格式零成本改一个input_file_pattern就行协作闭环Compact CSV Excel/Google Sheets Weblate让翻译工作流从工程师当翻译变成专业的人做专业的事类型安全由 Slang 的代码生成兜底文件格式和协作流程由你按团队情况灵活搭配这就是 Slang 国际化方案简单又强大的地方。【免费下载链接】slangType-safe i18n for Dart and Flutter项目地址: https://gitcode.com/gh_mirrors/slang/slang创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表