处理 desktop 文件翻译的便捷工具
有关如何使用可参考项目 deepin-feedback
有3个子命令: init, desktop2ts, ts2desktop。如果不带任何参数运行本命令则显示帮助信息。
deepin-desktop-ts-convert init $desktopFile $outputTsDir
用于在项目中开始处理一个desktop文件的翻译问题,将翻译源写入$outputTsDir/desktop.ts
文件,和已有的翻译成果写入各个 $outputTsDir/desktop_<lang>.ts
文件中(<lang>
是指某种具体的语言代码)。
deepin-desktop-ts-convert desktop2ts $desktopFile $outputTsDir
子命令 desktop2ts 与子命令 init 传参是一样的,用于更新翻译源文件,将翻译源写入$outputTsDir/desktop.ts
文件。应该在 desktop 文件中的可以本地化的字段的值被更新后使用,相关字段有 Name,Comment,GenericName,Keywords。
deepin-desktop-ts-convert ts2desktop $desktopFile $tsDir $outputDesktopFile
用于输出带有翻译结果的 desktop 文件,参数 $desktopFile
是模板文件,参数 $tsDir
是放置相关 ts 文件的文件夹,将集合了各种语言翻译成果的desktop写入$outputDesktopFile
文件。推荐在构建软件包过程中使用。
- 如果 desktop 文件中已有翻译,使用 init 子命令,否则使用 deskotp2ts 子命令;
- 将 desktop 文件的后缀改为
.desktop.in
作为一个模板,去除里面的翻译; - 在 Makefile 里面写一个构建项 ts,当 desktop.in 文件中相关字段的值更新后,执行 make ts;
- 在 .tx/config 写好资源配置;
- 在 Makefile 中的 build 项中增加使用 ts2desktop 子命令;
- 用 ci 的 sync-transifex 上传翻译源文件;
- 如果已有一些翻译成果,找翻译管理员,
git clone
你的项目,然后执行tx push -t
命令上传翻译,tx 命令由软件包 transifex-client 提供;
- 用 ci 的 sync-transifex 拉取翻译结果
- 使用 desktop2ts 子命令;
- 将模板文件 desktop.in 和它的翻译源文件 desktop.ts 在 git 中提交;
- 用 ci 的 sync-transifex 上传翻译源文件;
任何使用问题都可以通过以下方式寻求帮助:
我们鼓励您报告问题并做出更改
deepin-gettext-tools 在 GPL-2.0-or-later 下发布。