本文詳細(xì)介紹編譯與參與Blender中文手冊翻譯步驟十绑,步驟參考官方手冊步驟脱吱,并根據(jù)實(shí)際情況,有所修改和添加。
一、軟件安裝
1. python安裝
由于目前的blender手冊源文件是rst
格式的,需要用到 sphinx,而 sphinx 是作為python是作為python的一個包存在的栅哀,所以我們首先安裝python。
這里我們用的是Python 3.82版本称龙。
下載合適版本(32位或64位)后,安裝Python3鲫尊,選擇Customize Installation
,記得勾選Add Python to environment variables
疫向,這樣就不用手動配置環(huán)境變量了豪嚎。
2. 安裝sphinx與依賴環(huán)境
打開命令行提示符(或PowerShell),輸入:
pip install Jinja2==3.1.2 Pygments==2.13.0 docutils==0.17.1 snowballstemmer==2.2.0 babel==2.10.3 requests==2.27.1 sphinx-intl==2.0.1 sphinx_rtd_theme==1.0.0 sphinx-autobuild==2021.3.14
)
回車侈询,等待下載完成,關(guān)閉命令行(這個很重要扔字,后面會提到)。
3. 下載與安裝TortoiseSVN
由于blender手冊使用版本控制使用的是svn啦租,所以必須安裝一個svn客戶端,本文用到的是TortoiseSVN。
下載地址如下:
https://tortoisesvn.net/downloads.html
選擇對應(yīng)版本軟件焊刹,安裝時選擇
command line client tools
選項,其余使用默認(rèn)配置安裝虐块。
4. 安裝poedit(用于翻譯)
由于blender手冊翻譯用的是po
文件俩滥,所以需要用到poedit作為翻譯工具贺奠。
在poedit官網(wǎng)下載對應(yīng)版本poedit霜旧,安裝使用默認(rèn)配置即可。
二儡率、代碼下載與手冊編譯
1. 下載手冊代碼
打開選擇存放代碼的文件夾挂据,右鍵單擊,選擇SVN Checkout...
在彈出的對話框中的
URL of repository
文本框中輸入:
https://svn.blender.org/svnroot/bf-manual/trunk/blender_docs
Checkout directory
會自動填入儿普,默認(rèn)即可崎逃。
單擊確定,開始下載代碼眉孩,等待下載結(jié)束个绍。
2. 下載中文po翻譯文件
打開blender_docs
文件夾,按shift + 右鍵浪汪,選擇在此處打開命令行窗口
在打開的命令行窗口輸入并執(zhí)行:
svn checkout https://svn.blender.org/svnroot/bf-manual-translations/trunk/blender_docs/locale/zh-hans locale/zh
此操作下載中文po
文件巴柿,更新的po
文件位于blender_docs\locale\zh
文件夾下。
3. 編譯手冊
- 編譯英文手冊死遭,在
blender_docs
文件夾打開的命令行執(zhí)行:
./make.bat
等待編譯結(jié)束广恢,編譯后的網(wǎng)頁文件位于“blender_docs\build\html”文件夾下。
注:
1. 編譯過程中的警告可以忽略呀潭;
2. 如果提示“'sphinx-build' 不是內(nèi)部或外部命令袁波,也不是可運(yùn)行程序或批處理文件”瓦阐,請關(guān)閉當(dāng)前命令行,重開命令行后再運(yùn)行./make.bat
篷牌。
*3. 該步驟為編譯英文手冊睡蟋,可選擇跳過。
- 編譯中文手冊枷颊,在
blender_docs
文件夾打開的命令行執(zhí)行:
sphinx-build -b html -D language=zh manual/ build/zhhtml
編譯的中文手冊位于 blender_docs\build\zhhtml
文件夾下戳杀,這時你就可以在本地查看與官網(wǎng)同步的手冊了。
三夭苗、手冊翻譯與排錯
1. 手冊翻譯
手冊翻譯只需使用poedit打開前述步驟中下載的po
文件信卡,逐行翻譯即可傍菇。
手冊翻譯注意事項如下:
斜體與粗體
與markdown
語法規(guī)則一樣,左右加*
表示斜體丢习,左右加**
表示粗體:
the *Rigid Body* settings **will not** be linked in since they are associated with their scene's world.
經(jīng)解析后淮悼,在手冊中顯示為:
the Rigid Body settings will not be linked in since they are associated with their scene's world.
如果*
或**
前后有字符,需各保留1空格袜腥,所以該句子翻譯為:
*剛體* 設(shè)置 **不會** 被關(guān)聯(lián),因為它們是從屬于場景世界的鲤屡。
頁內(nèi)鏈接
頁內(nèi)鏈接使用`頁內(nèi)小標(biāo)題名`_
為標(biāo)識符福侈,如果 ` 前后有字符(后面可直接緊跟逗號,句號)役首,需各保留1空格; 頁內(nèi)小標(biāo)題名 需翻譯衡奥,且與錨點(diǎn)位置中文一致远荠。
所以,
`Switching Select Mode`_
譯為
`切換選擇模式`_
-
手冊內(nèi)鏈接
手冊內(nèi)鏈接使用:doc:
或:ref:
為標(biāo)識符档址,如果:doc:
前或:ref:
前,第二個`
后有字符(后面可直接緊跟逗號守伸,句號),需各保留1空格尼摹;尖括號<>
中間鏈接不要翻譯,<
左側(cè)保留1空格玄呛。所以和二,
see :doc:`relative paths </data_system/files/relative_paths>`.
翻譯為:
見 :doc:`相對路徑 </data_system/files/relative_paths>` 。
:ref:`Fake User <data-system-datablock-fake-user>`.
翻譯為:
:ref:`偽用戶 <data-system-datablock-fake-user>` 惯吕。
:ref:
是預(yù)定義好的錨點(diǎn),還有一類無尖括號情形無需翻譯。所以诗轻,
You can change the options of the object in the :ref:`ui-undo-redo-adjust-last-operation` panel just after creating it:
翻譯為:
用戶可以在創(chuàng)建物體后在 :ref:`ui-undo-redo-adjust-last-operation` 面板中更改該物體的選項:
菜單
菜單使用:menuselection:
為標(biāo)識符,如果:menuselection:
前或第二個 ` 后有字符(包括逗號吏颖,句號等),需各保留1空格半醉;菜單文字參照軟件界面(UI)翻譯劝术。
所以,
Menu: :menuselection:`File --> Append or Link`
翻譯為:
菜單: :menuselection:`文件 --> 追加 或 關(guān)聯(lián)`
- 快捷鍵
快捷鍵使用:kbd:
為標(biāo)識符养晋,如果:kbd:
前或第二個 ` 后有字符(包括逗號,句號等)绳泉,需各保留1空格;快捷鍵無需翻譯冒嫡。
所以拇勃,
Hotkey: :kbd:`Shift-F1` or :kbd:`Ctrl-Alt-O`
翻譯為:
快捷鍵: :kbd:`Shift-F1` 或者 :kbd:`Ctrl-Alt-O`
2. 翻譯檢查與排錯
-
錯誤: 這是第一次定義的位置
如果翻譯保存時報錯錯誤: 這是第一次定義的位置
:
save_error1.png
可選擇菜單編目 --> 清楚已刪除的翻譯(P)
方咆,清楚翻譯即可排錯胎许。
error1_troubleshooting.png -
錯誤: 不像 "msgid" , "msgstr" 不是有效的Python格式字符串 。
如果翻譯保存時報錯錯誤: 不像 "msgid" , "msgstr" 不是有效的Python格式字符串钩述。
:
save_error2.png
使用文本編輯器打開該po文件,找到錯誤行對應(yīng)位置牙勘,刪除#, python-format
這一行重新保存即可所禀。 -
警告:頭部缺少文件頭"Language"
如果翻譯保存時報錯警告:頭部缺少文件頭"Language"
:
language_warning.png
重新選擇語言即可:
language_warning1.png
language_selection.png 編譯并檢查錯誤
按照前述編譯中文手冊步驟色徘,編譯中文手冊,并打開所翻譯頁面褂策,檢查并修正翻譯文字與格式錯誤。
小技巧
檢查錯誤過程中斤寂,可能需要頻繁執(zhí)行編譯手冊命令,以確認(rèn)修改結(jié)果是否正確罗侯。在命令行窗口重復(fù)輸入命令就顯得過于麻煩了溪猿。我們可以在blender_docs
文件夾下新建一個build.bat
的腳本,簡化操作诊县。
build.bat
內(nèi)容如下 :
@echo off
sphinx-build -b html -D language=zh manual/ build/zhhtml
pause
四、翻譯提交
1. 提交patch:
在沒有申請官方提交權(quán)限時垂睬,需本地生成 patch
文件,并提交patch
驹饺。
下面以我自己翻譯的 /about
目錄下的 introduction.po
為例,介紹如何提交翻譯鱼炒。
- 生成patch文件
選擇 ‘introduction.po’ 文件,右鍵單擊昔瞧,選擇TortoiseSVN --> Create patch
在彈出的對話框中點(diǎn)擊
OK
菩佑。在彈出的目錄選擇對話框選擇當(dāng)前目錄,點(diǎn)擊
保存
:
然后就會生成一個
introduction.po.patch
的文件了酬荞。
- 提交patch文件
打開下面的網(wǎng)址:
https://developer.blender.org/differential/diff/create/
按照下面圖片的要求瞧哟,填入內(nèi)容或上傳文件,然后點(diǎn)擊Create diff
creat_diff.png
點(diǎn)擊Continue
continue.png
依照圖示輸入或選擇咧党,然后點(diǎn)擊Save
陨亡。
save.png
以上步驟完成后,提交的翻譯就等待審查和提交了聪舒。
注:如果沒有https://developer.blender.org/ 賬號的虐急,需要自己申請一個。
2. 直接提交
目前Blendercn社區(qū)已成立手冊翻譯組止吁,志愿負(fù)責(zé)中文手冊的翻譯與維護(hù)燎悍,歡迎加入。
目前本人(NGE)與kidux均有手冊提交權(quán)限谈山,如果嫌提交patch流程麻煩,可以加入翻譯組畴椰,將po
文件交給我們代為提交。
同時斜脂,手冊翻譯組鼓勵成員向官方申請?zhí)峤粰?quán)限,自行提交翻譯帚戳。
五、依賴包升級
blender_docs
文件夾下有一個requirements.txt
文件偏友,其中列出了python依賴包和版本清單蚂踊,打開后,內(nèi)容如下:
Sphinx==1.6.2
sphinx-intl==0.9.9
sphinx_rtd_theme==0.2.5b1
當(dāng)svn update
后犁钟,該文件有更新的情況下,建議升級依賴包迈勋。
升級方法有以下兩種:
1. 命令行升級
打開命令行窗口醋粟,輸入:
pip install --upgrade Sphinx sphinx-intl sphinx_rtd_theme
回車,即可在線升級依賴包米愿。
2. 腳本升級所有python包
新建一個文本文件,打開并添加內(nèi)容如下:
import pip
from subprocess import call
for dist in pip.get_installed_distributions():
call("pip install --upgrade " + dist.project_name, shell=True)
改名為upgrade.py
较鼓,雙擊運(yùn)行該腳本,即可一次升級電腦內(nèi)安裝的所有python包博烂。
期待看完本文的你可以參與到Blender中文手冊翻譯工作中來漱竖。
注:本文所有操作適用于Windows系統(tǒng),linux與macos系統(tǒng)具體操作稍有差異馍惹,可自行摸索或參考官方手冊玛界。