開源專案翻譯正確姿勢

willin發表於2017-09-21

日常開發中,我們經常會在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

相關文章