前面这个帖子 Transifex翻译平台的使用 介绍了Transifex平台和翻译者的使用方法,这个帖子主要讨论文档编译,host等文档维护相关的方案。
现行方案
目前,JuliaZH.jl的翻译流程是基于GitHub的,翻译者通过提PR的方式直接向JuliaZH.jl提供翻译,当PR被merge到master之后,通过CI和Documenter.jl编译并部署文档,再同步境内服务器:
已打开 07:11AM - 26 Jul 18 UTC
已关闭 12:16PM - 04 Aug 18 UTC
现在文档在hexo生成的静态文件 `public` 下的 `docs`里
- [x] 文档同步脚本
- [x] 子域名:`docs.juliacn.co… m`
整个流程为:
翻译者提PR进行翻译工作
master更新
触发Travis,测试
Documenter.jl build 文档,推送到gh-pages分支
触发webhook,发送事件给境内服务器上的Git-Auto-Deploy (通过suprevisor监听,挂了后自动重启)
执行git pull逻辑,更新文档
用户请求docs.juliacn.com ,nginx重定向到latest目录下
Transifex方案
此方案只有第一步与上述方案不同,翻译者通过Transifex进行翻译工作,由JuliaZH.jl的维护者从Transifex同步译文到本地,再向JuliaZH.jl提交PR,之后步骤与上面2-7一样:
Transifex平台上的译文被翻译者更新
维护者定期同步Transifex上的译文到本地,并push到JuliaZH的transifex分支, 保持transifex分支与Transifex同步
PR: merge transifex到master
master更新,后续步骤一致
第二步同步Transifex上的译文到本地,使用Transifex客户端的tx pull
即可,如果有必要可以做成自动的。Transifex方案相关PR:
JuliaCN:master
← JuliaCN:transifex
已打开 05:04PM - 05 Aug 18 UTC
This is basically working now. I'll write detailed workflow ~~later on~~ maybe t… omorrow.
1 个赞
Jun
2018 年8 月 6 日 13:06
3
我清除了定时器,不知道为啥会冒出来。
同步那个地方可以稍微介绍详细点?
感觉一般没用过的不太熟悉,正在看文档中…
大致弄明白了,有些小问题:
$ tx pull
tx ERROR: File filter 'doc/src/manual/arrays.md' does not contain the '<lang>' placeholder
如果能fix这个error之后,我的理解是,只需要切换到transifex
分支,然后每天定时执行tx pull
拉取更新,然后git push
到远端,然后远端隔一段时间发起一次PR?
tx似乎强制用户在filter中添加<lang>
的wild mark, 但如果这样做,就需要先tx pull
到一个<lang>
/…/…的路径下, 然后再cp到documenter要求的正确路径。
我试了一下,如果pull的时候本地没有doc/src/manual/arrays.md
这个文件,那么tx pull
就可以正常把文件拉到“不合法”的file filter路径。
Jun
2018 年8 月 6 日 14:39
5
明白了,我感觉得分开两个目录,也是可以的
只要现在同步好已经翻译好的文档即可。
好的,那我改一下配置文件,把路径前都加上<lang>
, 然后在doc/make.jl里加一步cp应该就可以了。
Jun
2018 年8 月 6 日 15:12
7
哇,忽然觉得,如果你都写在make.jl里的话,可以设置一个daily的CI,然后后面就都自动同步了?
嗯,客户端的命令 https://docs.transifex.com/client/introduction
感觉现在问题已答锁也不需要,因为论坛帖子多了才需要防挖坟,估计我们这短期内不会有太多人
Roger
2018 年8 月 8 日 16:16
11
Localize.jl的docstring替换功能应该不受Transifex方案的影响吧?我有空先把那个匿名TypeVar的问题修了。
不影响的, 跟原方案的区别只是多了一个Transifex协作平台,替换了在GitHub review的过程
突然发现这平台给试用 15d ,貌似也没有免费版,收费还贼贵
不过好像可以认证为开源组织
What are the basic requirements to qualify as an Open Source account?
We are proud and humbled to be hosting the largest Open Source translation community in the world. We offer Transifex for free to Open Source projects that have no funding, revenue, and/or commercialization model. If you have a question whether your organization qualifies for our Open Source program, please contact us .