1 个不稳定版本
0.1.0 | 2024 年 5 月 9 日 |
---|
#2 在 #deep-l
20KB
393 行
ARB
使用 DeepL 翻译 API 本地化 Flutter 应用程序的命令行工具。
安装
cargo install arb
配置
配置您的 Flutter l10n.yaml
文件,包括人类翻译的 name-prefix
和 overrides-dir
,例如
arb-dir: i10n/translations
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart
nullable-getter: false
untranslated-messages-file: untranslated.txt
overrides-dir: i10n/overrides
name-prefix: app
用法
将模板语言中的所有字符串转换为法语,并将翻译写入 app_fr.arb
export DEEPL_API_KEY="<api key>"
arb translate --lang fr --apply l10n.yaml
要查看将要进行的更改,请省略 --apply
选项,这将跳过对 DeepL API 的调用并不会写入文件到磁盘
arb translate --lang fr l10n.yaml
在修改模板资源包后,运行 update
命令以同步翻译
arb update l10n.yaml
有关更多命令和选项,请运行 arb help
。
注意
缓存
一旦创建了翻译,程序将使用模板键的 diff 只在必要时进行翻译并删除已删除的翻译。为了检测字符串的变化,将在应用程序资源包目录中保留一个名为 .cache.json
的缓存文件。
覆盖
如果您对机器生成的翻译有改进或更正,可以使用 --overrides
选项来优先使用人类提供的翻译。
占位符
为了防止占位符被翻译,它们被转换为 XML 标签 (<ph>
),并且 API 请求被配置为忽略这些标签的翻译。
测试
设置 API 密钥以运行测试
export DEEPL_API_KEY="<api key>"
cargo test
许可证
根据您的喜好,使用 MIT 或 Apache-2.0。
© 版权所有 Save Our Secrets Pte Ltd 2024;保留所有权利。
依赖项
~15–32MB
~471K SLoC