开源项目翻译正确姿势

日常开发中,我们经常会在Github上发现一些好用的新框架, 如何对这些项目文档进行翻译, 其实这个问题困扰了我很久. 这里,我总结了一些不同情况下所谓的最佳实践, 供大家参考:

独立文档项目

举例: https://github.com/graphql/gr...

GraphQL文档的网站, 是一个独立的项目, source分支是源码目录, master分支(可以理解为gh-pages分支)是静态站点.

1. 初始化翻译项目

直接Fork该项目, 示例: https://github.com/willin/gra...

Fork之后可以给该项目改名, 如我换到了 graphql.js.cool 域名, 并以该域名进行命名.

然后, 将项目Clone至本地.

git clone git@github.com:willin/graphql.js.cool.git
cd graphql.js.cool
# 默认源码的分支是source, 可以新建一个分支用于翻译
git checkout -b cn
git push -u origin cn

至此, 可以开始翻译工作了.

2. 从源站更新内容

# 一次性添加
git remote add remote git@github.com:graphql/graphql.github.io.git
# 每次更新源站最新代码
git pull remote source

.git/config文件参考:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = git@github.com:willin/graphql.js.cool.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "cn"]
    remote = origin
    merge = refs/heads/cn
[travis]
    slug = willin/graphql.js.cool
[remote "remote"]
    url = git@github.com:graphql/graphql.github.io.git
    fetch = +refs/heads/*:refs/remotes/remote/*

文档包含在项目中

可能是一个一个单独的分支, 或者只是某个分支的一个目录.

vue-router项目为例, 文档位于dev分支的docs目录: https://github.com/vuejs/vue-...

1. 初始化翻译项目

git init
git remote add origin xxx # 你的项目路径
git remote add remote git@github.com:vuejs/vue-router.git
# 拉取源站代码
git pull remote dev

2. 从源站更新内容

# 每次更新源站最新代码
git pull remote dev

注意事项

  • CNAME等配置文件需要替换
  • pull后可能会有冲突. 解决后再提交代码.

p.s.

优秀的中文翻译项目及推荐的未翻译项目汇总: Awesome-CN


不可替代的团队领袖培养计划
从 leader.js.cool 中选取精华文章发布

建议换一个平台 Follow 我。

210 声望
12 粉丝
0 条评论
推荐阅读
Next.js 13 appDir 实战 i18n
Not Planned FeaturesWe are currently not planning to include the following features in app:Internationalization (i18n) - we will be providing a guide on how to implement internationalization in app...

willin阅读 377

openKylin 0.9.5版本正式发布,加速国产操作系统自主创新进程!
2023年1月12日,中国桌面操作系统根社区openKylin(开放麒麟)正式发布openKylin 0.9.5操作系统版本。此版本充分适应5G时代需求,打通平板,PC等设备,实现多端融合,弥补了国产操作系统的短板,有效推动国产操作...

openKylin6阅读 7.9k

封面图
Git的一些最基础操作-以项目为例
在自己刚接触git的时候,心里一直有一个疑问,那就是什么是git?git能用来干什么呢?git是一个分布式的版本控制系统。 那么现在你就知道了,git肯定是用来管理代码版本的,而且还是分布式的。

淼淼真人2阅读 3.6k

git 多用户配置(多用户 & 公司/个人)
多用户配置公司和github,经常会遇到要多用户使用git的情况,以下为配置信息,以下拿xiaoxuete1 & xiaofute2举例设置ssh-key {代码...} 会提示存储的文件名,输入如果需要push时确认的密码,可在该步骤输入.pub文件...

小夫特1阅读 7.4k

工作中常用的git命令
在这类系统中,像 Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像...

vipbic4阅读 896

封面图
SegmentFault 思否技术周刊 Vol.78 — Git 必看技术补给
Git 的诞生是一个非常有趣的故事。1991年 Linus 开源了 Linux 内核,无数 Linux 爱好者在世界各地为 Linux 编写代码,那么问题来了,这些代码该如何管理呢?起初 Linus 使用 BitKeeper(BitMover 公司的版本控制软...

Beverly3阅读 2k

封面图
openSSH升级公钥失效Permission denied (publickey)解决方案
背景centos系统升级openSSH后,服务器上无法再拉取代码,报错如下:原因服务器重新安装SSH后公钥改变,需要重新安装ssh-keygen -t rsa -C "邮箱地址"生成公钥,删除gitlab原有公钥,但是git pull依然报错如下:依...

兰俊秋雨2阅读 1.5k

建议换一个平台 Follow 我。

210 声望
12 粉丝
宣传栏