@@ -64,16 +64,23 @@ the PSF for inclusion in the documentation.
64
64
參與翻譯
65
65
========
66
66
67
- 如何參與翻譯
67
+ 關於 po (Portable Object) 檔
68
+ -----------------------------
69
+
70
+ 此為所需翻譯的文字檔,副檔名為 ``.po ``,不同語系就會有一個 po 檔。主要內容為翻譯的參考原始字串 (*msgid *),\
71
+ 及需要填入的翻譯字串 (*msgstr *)。有時你會看到 ``#, fuzzy `` 的註記,它代表此翻譯字串需要校閱。
72
+
73
+ 翻譯流程
68
74
------------
69
75
70
- **事先需要有: **
76
+ 事先需要有
77
+ ~~~~~~~~~~
71
78
72
79
- 一個 `GitHub 帳號 <https://github.com/join >`_
73
80
- `安裝好 git <https://help.github.com/articles/set-up-git/ >`_\ (Windows
74
81
上請參考 https://gitforwindows.org/)
75
- - 一個 ``.po `` 檔的編輯器,如果還沒有的話請使用 ` poedit <https://poedit.net >`_
76
- - MacOS 的使用者還需要先利用 `homebrew <https://brew.sh/index_zh-tw >`_ 安裝 gettext ,屆時 Sphinx 會使用到。
82
+ - 一個 ``.po `` 檔的編輯器。推薦使用 ` Poedit <https://poedit.net >`_,若熟悉 po 檔用一般文字編輯器亦可。
83
+ - macOS 的使用者還需要先利用 `homebrew <https://brew.sh/index_zh-tw >`_ 安裝 gettext ,屆時 Sphinx 會使用到。
77
84
.. code-block :: bash
78
85
79
86
brew install gettext
@@ -84,7 +91,10 @@ the PSF for inclusion in the documentation.
84
91
按鈕),這樣會把整個專案複製一份到你的 GitHub 帳號底下,你可以對這個 fork
85
92
進行修改。
86
93
87
- 在\ **第一次貢獻以前 **\ (還沒有 clone 過),請在 terminal 裡依照以下步驟:
94
+ 第一次貢獻以前(還沒有 clone 過)
95
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96
+
97
+ 請在 terminal 裡依照以下步驟:
88
98
89
99
.. code-block :: bash
90
100
@@ -97,7 +107,10 @@ the PSF for inclusion in the documentation.
97
107
# 將 python/python-docs-zh-tw 設為 upstream remote
98
108
git remote add upstream https://github.com/python/python-docs-zh-tw.git
99
109
100
- 在\ **每一次翻譯時 **\ 請遵照以下步驟(`GitHub Flow `_):
110
+ 每一次翻譯時
111
+ ~~~~~~~~~~~~
112
+
113
+ 請遵照以下步驟(`GitHub Flow `_):
101
114
102
115
.. _GitHub Flow : https://guides.github.com/introduction/flow/
103
116
@@ -106,27 +119,30 @@ the PSF for inclusion in the documentation.
106
119
107
120
接著在 terminal 裡按照以下步驟:
108
121
109
- 1. 基於最新版本的 ``upstream/3.9 `` 開啟一個 branch,現在假設我們想要翻譯 Glossary
122
+ 1. 基於最新版本的 ``upstream/3.9 `` 開啟一個 branch,現在假設我們想要翻譯 Glossary \
110
123
所以把這個 branch 叫做 ``glossary `` ::
111
124
112
125
git fetch upstream
113
126
git checkout -b glossary upstream/3.9
114
127
115
- 2. 接著就可以開始翻譯,你可以使用 Poedit 應用程式將檔案打開,或是用以下指令 \
116
- ( 翻譯不同檔案時將 glossary 換成別的檔名) ::
128
+ 2. 接著就可以開始翻譯,你可以手動開啟 Poedit 應用程式再選檔案或用以下指令請 Poedit 將檔案 \
129
+ 打開, 翻譯不同檔案時將 glossary 換成別的檔名) ::
117
130
118
131
poedit glossary.po
119
132
120
- 3. 存檔以後,可以輸出文件以確保你的修改沒有 rST 的語法錯誤或警告 ::
133
+ 3. 存檔以後,執行以下列指令編譯輸出文件,以確保你的修改沒有 rST 的語法錯誤或警告 ::
121
134
122
135
make
123
136
124
- 這個過程中 Sphinx 會幫你檢查 rST 語法錯誤,我們盡量保持沒有 warning
137
+ 如果你還沒有執行 `維護、預覽`_ 的 clone CPython 的動作,此指令會自動幫你 clone CPython,\
138
+ 並且會使用 Sphinx 幫你檢查 rST 語法錯誤,我們盡量保持沒有 warning \
125
139
的狀態,因此如果有出現 warning 的話請修復它。另外也記得檢查是否符合\
126
140
`翻譯守則`_
127
141
128
- 4. 在瀏覽器中打開編譯出來的文件以確認整份文件的語意通暢\
129
- (翻譯別的檔案時將 glossary 換成別的檔名) ::
142
+ 4. 輸出的文件會被放置在您的本地端 CPython clone(見 `維護、預覽 `_ 段落的圖示)\
143
+ 底下的 ``Doc/build/html ``,切換到該目錄再使用 ``python3 -m http.server `` \
144
+ 或類似的靜態網頁伺服器即可以預覽成果。你可以執行下列指令請瀏覽器打開編譯出來的文件\
145
+ 以確認整份文件的語意通暢(翻譯別的檔案時將 glossary 換成別的檔名) ::
130
146
131
147
open ../cpython/Doc/build/html/glossary.html
132
148
@@ -165,7 +181,9 @@ the PSF for inclusion in the documentation.
165
181
要翻譯哪些東西
166
182
--------------
167
183
168
- 最簡單的貢獻方式就是更新 *fuzzy entries *,讓翻譯的內容保持與最新版本的文件\
184
+ 主要是填入翻譯字串 (*msgid *) 以及更新有標記為 ``#, fuzzy `` 的字串。
185
+
186
+ 其中最簡單的貢獻方式就是更新 *fuzzy entries *,讓翻譯的內容保持與最新版本的文件\
169
187
同步。請參考 `尋找 fuzzy entries `_ 段落。
170
188
171
189
此外,當前的目標為完成 **Tutorial ** 的翻譯,因此在 ``tutorial/ `` 底下的所有
@@ -382,11 +400,12 @@ type 型別
382
400
這樣可以避免下載完整的 commit 歷史(對輸出文件沒什麼幫助),但仍然能把所有的
383
401
branch clone 下來。
384
402
385
- 與 CPython 同步最新的 pot 檔
386
- ----------------------------
403
+ 與 CPython 同步最新的 pot 檔 (目前由 GitHub Actions 代為執行)
404
+ ----------------------------------------------------------
387
405
388
406
pot 檔為翻譯的樣板檔案,它包含需要翻譯的原始字串 (*msgid *) 跟其對應的空白翻譯字串 (*msgstr *),\
389
- 此步驟會更新 po 檔,我們在 po 檔的每一個 (*msgstr *) 填上翻譯。
407
+ 此步驟會參考最新的 Cpython 中的 pot 檔來更新 po 檔。如果是之前在 po 檔中已填入過翻議字串但參考的 \
408
+ pot 檔的 ``msgid `` 已有變動,則此指令會自動加上 ``#, fuzzy `` 的標記,代表內容有些許差異需要更新。
390
409
391
410
.. code-block :: bash
392
411
@@ -395,26 +414,13 @@ pot 檔為翻譯的樣板檔案,它包含需要翻譯的原始字串 (*msgid*)
395
414
尋找 fuzzy entries
396
415
------------------
397
416
398
- *Fuzzy entries * 是指更新 po 檔的原始字串(*msgid *)以後,大部分內容相同但有\
399
- 些許差異的字串,即表示該字串的翻譯需要更新。在 po 檔中,您會看到 ``#, fuzzy ``
400
- 的字樣,這就表示了接下來的字串是 fuzzy entry,需要更新翻譯。
417
+ 在 po 檔中,您會看到 ``#, fuzzy `` 的字樣,這就表示了接下來的字串是 fuzzy entry,需要更新翻譯。\
418
+ 執行下列指令會列出有 *Fuzzy entries * 的檔案。
401
419
402
420
.. code-block :: bash
403
421
404
422
$ make fuzzy
405
423
406
- 本地端編譯輸出文件
407
- ------------------
408
-
409
- 輸出的文件會被放置在您的本地端 CPython clone(見 `維護、預覽 `_ 段落的圖示)\
410
- 底下的 ``Doc/build/html ``,切換到該目錄再使用 ``python3 -m http.server ``
411
- 或類似的靜態網頁伺服器即可以預覽成果。編譯程序則使用:
412
-
413
- .. code-block :: bash
414
-
415
- $ make
416
-
417
-
418
424
Project History
419
425
===============
420
426
0 commit comments