更新日志

Glossia 的新更新和改进。

更平稳的翻译拉取请求

我们在让 Glossia 在繁忙的仓库中自由运行后所学到的经验,以及此事如何改变了翻译拉取请求。

详情

您的工具初次遇到真实仓库时,您会发现很多东西。对我们而言,那是 Tuist。他们的团队每天多次合并到 main,而 Glossia 确实完全实现了我们构建它的目的:它翻译了每一次变更,并在一成为准备就绪后就推送每个文件。结果几乎是每次合并都会产生一个新的拉取请求,每个请求包含约 150 次提交,以及一个充斥着无人请求的检查项的 CI 队列。他们的一些文档页面在返回时也包含组件和警告以纯文本形式呈现的情况。这并非我们一直强调的那种安静、后台的体验。

这令人有些难受,因为我们一直认为最好的翻译系统是那种您无需费心思考即可运作的系统。一个会淹没您的 CI 或弄乱文档的拉取请求与这种理念背道而驰。因此,我们回去重新思考了翻译内容如何到达您的仓库的方式。

Glossia 现在每个项目只保留一个拉取请求,并随着内容的变化而扩展它。它读取该分支上已有的锁定文件,因此它仅翻译新增内容,并且批量推送而非逐个文件推送。在像 Tuist 这样的仓库中,这意味着仅需几次的推送,而过去则是一百五十次。

我们也不再强行修改不属于我们权限范围内的文档部分。Glossia 以前会重建它翻译的每一个页面,而任何它无法完全理解的内容,例如一个 Phoenix 组件或 GitHub 警告,可能会以不正确或逃逸的形式呈现。现在它只替换它翻译过的句子,其余所有内容则完全保留为您最初写下的样子。有一个我们未曾预料的极好副作用:因为模型现在能看到完整的句子和页面的其余部分,翻译的语意更通顺。在日语中,链接不再需要像英语句子中那样显得局促地放置。

最后,拉取请求现在会告知您发生了何事。哪些语言和文件被翻译,来自哪些提交,评分如何,以及哪些术语表术语构成了它们,并且是否有需要您关注的内容。我们将其视为一位细心同事在请求审查前会留给您便条。

感谢 Tuist 团队在我们需要弄清楚这一点时所给予的耐心。如果 Glossia 曾经像这样成为您的障碍,我们非常希望能听到您的反馈。