-
Notifications
You must be signed in to change notification settings - Fork 3.5k
关于如何进行英文版同步的问题 #121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
搬运来自 @KimYangOfCat 的评论: 这个问题发生的本质原因是本仓库的英文同步不及时 最好将英文分支最新状态全部同步过来,目前本仓库的同步似乎依旧是人手工同步的,是否考虑引入一些自动化同步手段? 理想状态应该是这样的,自动化同步手段完全负责全部英文内容的同步,并集中解决所有翻译冲突,个人译者和校对者只关注译文的翻译和校对,这样能提升仓库内容的实时性以及编译的稳定性 总的来说,目前仓库的英文同步流程方式还不是很明确,既有仓库维护者的统一同步,也有翻译者和校对者针对单个文件的同步,这样的合作方式,有可能造成的结果如下:
如果不修改类似的流程,此类问题依旧会时常发生,我个人提议是使用自动化同步手段,统一英文内容的同步,将同步工作从校对者任务中解耦,保证每位参与的同学任务清晰单一。 实现自动化同步也很简单,添加一个action脚本,自动每天从英文仓库拉取最新状态向本仓库提交PR即可,action Marketplace 有成熟现成的脚本可用 搬运来自 @initdc 的评论: 流程建议:
|
及时同步迫在眉睫,我支持实验性引入,看下效果。 |
@initdc 的建议非常中肯,支持
关于最后一条建议,这应该算是发布与规范相关的流程了,我认为不仅适用于中文文档,同样适用于英文文档,但英文文档目前的 commit 信息也没有规范化,不知是否可以考虑对英文文档也提出相关 issue 讨论一下?看看英文仓库维护者的想法?毕竟英文仓库如果有更明确的 release,也方便其他语言仓库的维护者明白相关英文内容是否到了值得翻译的地步。 如果两个仓库能保持同样的发布和规范流程就更好了,不行的话,本仓库自行构建相关流程也可以。 |
关于“使用 3 个 branch 来构建翻译同步体系”的建议,我们是否可以简化为两个分支?即,一个upstream,一个main。人工 cherrypick 会带来一定的工作量。 另外,我注意到 @initdc 同学已经发起了相关的 PR,其中关于自动同步的 action 看起来要比我一楼提到的要简单一些。如果我没理解错的话是:英文仓库代码自动同步到 upstream 分支,由维护者手动合并到该仓库的主分支,并解决冲突。我个人倾向于这个解决方案。 另外关于 commitlint 的想法,我持保留态度。文档项目对于 changelog/tags 的依赖个人认为没有一般项目大,更多还是专注于内容的及时性以及准确性。 |
基本是一个方法论的问题
翻译工作更适合 写代码的前辈做出过很多努力,我们也许不需要发明,发现就已经足够震撼。 最后的提交规范化的问题: 这只是一个选择问题,这就像肯尼迪的登月计划: We choose go to the Moon. We choose go to the Moon! 规不规范化都能成为有影响力的项目,只是走过的路不同而已。 |
我也看到了 @initdc 提交的PR #122 ,但是这个解决方案其实相对于手动更新并没有减轻多少工作量,可能只是少了一个 git fetch 的过程,因为更新的主要工作量其实就在合并分支上, 维护的同学也可能因长时间忘记合并 upstream 而导致内容更新不及时。所以想要及时更新内容,可能需要具有提醒行为的方案,比如提交 PR: 我优化了一下,方案如下:
上述方案,其实已经在印记中文团队维护的 webpack 文档仓库中得到了成熟的应用。 如果允许的话,我们可以寻求印记中文团队的帮助,他们已然有一套完整的工具可帮助减轻本仓库同步的工作量。作为印记中文团队的一员,我可代为前去沟通。 如果本仓库想自己造工具的话,上述方案也是值得作为造工具时的考量哒。 |
上述工作流确实很出色, 让我想到了顶流bot: @dependabot. 自动合并, 会产生相当部分的文件改动. 不过鉴于上游文档也是由人编写的, 文件改动也有其逻辑性. docschina-bot 如果能改进这点, 相信能 make translating great (again?) |
@initdc 这是一个翻译平台,它确实解决了很多问题,同步,翻译,格式化等等,它确实很棒,但它却不一定适合 Vue Docs。 它的流程要求和现在的仓库流程完全不同,它几乎是完全脱离了 github 的 PR 流程。这点有好有坏吧。好处肯定是它的功能完善,但缺点是是一旦脱离github,有意愿继续帮忙翻译的开发者会少很多,而且它似乎也不能像 github 一样追踪到每一位翻译者的贡献。这对于大公司的项目来说问题不大,因为他们会有人专门负责文档。但是对于Vue这样社区驱动的开源项目,如果没有贡献统计,就无法为社区翻译者提供正向反馈。 它自有规则,却也受限于它的规则。它一般是基于文件夹做多语言翻译,文档站点开发的过程中就得考虑很多问题,比如组件的国际化等等,而目前 Vue 还是基于仓库做多语言翻译。基于仓库的方法在文档站点开发上就相对灵活一些,所以这部分还是蛮有冲突的。 总的来说,这个平台目前的功能可能更适合公司成员内部合作使用,而根据 Vue Docs 现有的结构和流程,我认为还是不太适用的。 |
Git Localize 确实是个选项,我之前关注过一段时间,也简单试用过。如果我们打算把这个平台用起来,最好是所有语言的翻译一起行动,感觉 Vue 团队先有个结论比较好。我来保持跟进然后跟大家同步结论好了。 其余的部分我们试试看效果先。 另外我们目前处在集中翻译与校对的阶段,短期和英文版不同步是难免的,不只是流程可以解决的,也不是永远存在的问题。不论怎样,我个人觉得我们先专注在完成这一波翻译和校对,可能很多问题自然就解决了。 一个可操作性较强且不需要很高成本的方案是我们
大家觉得如何 |
是否要应用 Git Localize 确实需要 Vue 团队内部先给定结论。不过想要所有语言一起行动的话,还是会有一定的工作量的,比如当前文档结构需要稍作修改,vitepress 中自定义的组件也需要进行国际化。 赞同先锁定一个英文 commit,集中完成当前这波翻译和校对。如果锁定的话,希望能在 #8 中,具体说明,方便参考。 |
多补充一个建议,如果要选一个 commit 的话,我倾向于 https://github.com/vuejs/docs/tree/9b1e387273c75908cc6c1227c968d139c874147c 主要原因有两个:
GitHub commits: https://github.com/vuejs/docs/commits/main 如果大家觉得 OK 的话,我们可以选这个 commit 作为集中翻译与校对的参考版本 |
我认为 OK @Jinjiang |
针对目前未认领/未开始的校对/翻译,我赞同这个处理方式。不过貌似目前这一波的校对进度已经接近尾声了,已完成的校对很多是对照当时最新的提交来进行的,或者有一部分正在校对中的,有可能也是以最新提交为对照。这一批工作量我们也不太可能废弃,因此如果要补充一下的话,我觉得:
这样如何? |
恩,我觉得没问题 |
@Jinjiang @wxsms @veaba @KimYangOfCat 各位成员好,我已经借助 vue-docs-tr-helper 插件手工比对将文档同步到 3月1日 的英文文档提交 这个提交离最新的提交已经相当近了。
我的执行流程是:
# 数天前克隆了中文文档仓库
git clone https://github.com/vuejs-translations/docs-zh-cn.git
# 根据目前中文文档的 main 分支 检出了一个 shenqingchuan/sync 分支
git checkout -b shenqingchuan/sync
# 拉取英文文档当时的最新 5cd2bdc67661b4fe629eed68764904e4639925e7
git pull en main
# ... 进行 merge 的审查、校对
# 确认没有冲突、文档内容都能按行对应后
git commit -m "docs(cn): manual sync from English main."
# 第一次推送
git push
# PR 检查发现和当前中文文档 main 分支有冲突
git pull origin main
# ... 解决完冲突
git commit -m "docs(cn): merge with latest Chinese docs."
# 第二次推送
# 然后发起 PR |
我不太确定这个大 PR 是否有将最近合并的 Review PR 覆盖掉的情况。 |
从英文版同步的 PR 已合并。 |
#122 已合并 |
鉴于已加入自动同步 upstream action,中文仓库与英文仓库的 main 分支也已十分接近了,该 issue 就先行关闭。后续如有其它问题可以再做针对性的讨论。谢谢。 |
|
目前因为中文仓库的同步工作有些滞后,对翻译与校对工作造成了一定影响(见 #119 ),因此希望可以尽快确定同步方式(手动 or 自动),以及确定流程细节。
我个人之前有尝试过日文仓库提供的 https://github.com/vuejs-translations/ryu-cho action,具体请见 我的 fork,并对它的工作方式进行了一定的考察,总结如下:
总体来说,我觉得这个工作流可用,但也存在一些可能出问题的环节,以及可能会带来比较大的 noise(上游每个提交在这里均生成 1 issue + 1 PR,参见日文仓库 https://github.com/vuejs-translations/docs-ja )。
大家如果有更好的提议,欢迎提出。谢谢。
The text was updated successfully, but these errors were encountered: