@@ -6,11 +6,11 @@ Python 官方說明文件臺灣繁體中文翻譯計畫
6
6
:target: https://t.me/PyDocTW
7
7
:alt: Join Chat on Telegram
8
8
9
- 這是 Python 3.9 官方說明文件的臺灣繁體中文(zh_TW)翻譯。
9
+ 這是 Python 3.10 官方說明文件的臺灣繁體中文(zh_TW)翻譯。
10
10
11
- 翻譯之前,請務必詳讀並同意\ `授權與 License `_。參與方式請參考\ `參加翻譯 `_。
11
+ 翻譯之前,請務必詳讀並同意\ `授權與 License `_。參與方式請參考\ `參與翻譯 `_。
12
12
13
- 您可以在 https://python.github.io/python-docs-zh-tw/ 瀏覽目前翻譯的成果。
13
+ 你可以在 https://python.github.io/python-docs-zh-tw/ 瀏覽目前翻譯的成果。
14
14
15
15
想問問題、認識翻譯同好,歡迎加入 Telegram 聊天室 `t.me/PyDocTW `_
16
16
@@ -50,30 +50,37 @@ the PSF for inclusion in the documentation.
50
50
~~~~~~~~
51
51
52
52
請注意此予翻譯專案的授權:Python 的說明文件是以全球的志工社群來維護。透過張貼\
53
- 此專案在 Transifex、GitHub 以及其他公眾場合,以及邀請您參與,我們向您提出一個 \
54
- 協議:您必須將您對於 Python 說明文件或是 Python 說明文件翻譯的貢獻以 CC0\
53
+ 此專案在 Transifex、GitHub 以及其他公眾場合,以及邀請你參與,我們向你提出一個 \
54
+ 協議:你必須將你對於 Python 說明文件或是 Python 說明文件翻譯的貢獻以 CC0\
55
55
(請參考 https://creativecommons.org/publicdomain/zero/1.0/legalcode)的方式\
56
- 授權給 PSF 使用。您可以公開地聲明您所貢獻翻譯的部分,並且如果您的翻譯被 PSF
57
- 採用,您可以 (但並不須要)送出一個修改,其包含在 Misc/ACKS 或是 TRANSLATORS
58
- 檔案裡增加合適的注釋。雖然這個說明文件貢獻協議並沒有說明 PSF有義務納入您的 \
59
- 文本貢獻,您在 Python 社群的參與是受歡迎且受感激的。
56
+ 授權給 PSF 使用。你可以公開地聲明你所貢獻翻譯的部分,並且如果你的翻譯被 PSF
57
+ 採用,你可以 (但並不須要)送出一個修改,其包含在 Misc/ACKS 或是 TRANSLATORS
58
+ 檔案裡增加合適的注釋。雖然這個說明文件貢獻協議並沒有說明 PSF有義務納入你的 \
59
+ 文本貢獻,你在 Python 社群的參與是受歡迎且受感激的。
60
60
61
- 您在對 PSF 送出說明文件貢獻的同時,即表示同意上述的協議。
61
+ 你在對 PSF 送出說明文件貢獻的同時,即表示同意上述的協議。
62
62
63
63
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,36 +107,42 @@ 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
104
117
首先,`新增一個 issue <https://github.com/python/python-docs-zh-tw/issues >`_\
105
- ,如:「翻譯 tutorial/introduction.po」,讓大家知道您正在翻譯這個檔案 。
118
+ ,如:「翻譯 tutorial/introduction.po」,讓大家知道你正在翻譯這個檔案 。
106
119
107
120
接著在 terminal 裡按照以下步驟:
108
121
109
- 1. 基於最新版本的 ``upstream/3.9 `` 開啟一個 branch,現在假設我們想要翻譯 Glossary
122
+ 1. 基於最新版本的 ``upstream/3.10 `` 開啟一個 branch,現在假設我們想要翻譯 Glossary \
110
123
所以把這個 branch 叫做 ``glossary `` ::
111
124
112
125
git fetch upstream
113
- git checkout -b glossary upstream/3.9
126
+ git checkout -b glossary upstream/3.10
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
@@ -159,17 +175,19 @@ the PSF for inclusion in the documentation.
159
175
160
176
- 從 upstream(我們的主要 GitHub repo)做 fetch 的動作
161
177
- 對 origin(你的 fork)做 push
162
- - 永遠不對 ``3.9 `` branch 進行修改,請保持讓這個 branch 唯讀,可以避免\
178
+ - 永遠不對 ``3.10 `` branch 進行修改,請保持讓這個 branch 唯讀,可以避免\
163
179
掉很多問題。
164
180
165
181
要翻譯哪些東西
166
182
--------------
167
183
168
- 最簡單的貢獻方式就是更新 *fuzzy entries *,讓翻譯的內容保持與最新版本的文件\
169
- 同步。請參考 `尋找 fuzzy entries `_ 段落。
184
+ 主要是填入翻譯字串 (*msgid *) 以及更新有標記為 ``#, fuzzy `` 的字串。
185
+
186
+ 其中最簡單的貢獻方式就是更新 *fuzzy entries *,讓曾經翻譯的內容保持與最新版本的文件\
187
+ 同步。請參考 `尋找有翻譯過但需校閱的 fuzzy entries `_ 段落。
170
188
171
189
此外,當前的目標為完成 **Tutorial ** 的翻譯,因此在 ``tutorial/ `` 底下的所有
172
- po 檔皆為首要的翻譯對象。您也可以幫忙校對已經翻譯過的內容 。
190
+ po 檔皆為首要的翻譯對象。你也可以幫忙校對已經翻譯過的內容 。
173
191
174
192
175
193
翻譯守則
@@ -295,7 +313,7 @@ rST 語法注意事項
295
313
術語表 Glossary
296
314
===============
297
315
298
- 為了讓翻譯保持統一,我們在這邊整理了一個術語列表,如果您有不同意的地方 ,歡迎\
316
+ 為了讓翻譯保持統一,我們在這邊整理了一個術語列表,如果你有不同意的地方 ,歡迎\
299
317
打開一個 issue 或是 pull request 一起討論。
300
318
301
319
===================== =====================
@@ -344,10 +362,11 @@ type 型別
344
362
幫助,則可以使用Telegram _。
345
363
346
364
.. _Issue :https://github.com/python-doc-tw/python-docs-zh-tw/issues
347
- .. _Telegram :https://t.me/PyDocT
365
+ .. _Telegram :https://t.me/PyDocTW
348
366
349
- 另外,此翻譯的 coordinator 為 `adrianliaw <https://github.com/adrianliaw >`_,\
350
- 您也可以透過此 email 聯繫:``adrianliaw2000 at gmail dot com ``。
367
+ 另外,此翻譯的 coordinator 為 `mattwang44 <https://github.com/mattwang44 >`_ 和 \
368
+ `josix <https://github.com/josix >`_,你也可以分別透過以下 email 聯繫:\
369
+ ``mattwang44 at gmail dot com ``, ``josixwang at gmail dot com ``。
351
370
352
371
353
372
額外翻譯資源
@@ -382,36 +401,28 @@ type 型別
382
401
這樣可以避免下載完整的 commit 歷史(對輸出文件沒什麼幫助),但仍然能把所有的
383
402
branch clone 下來。
384
403
385
- 與 CPython 同步最新的 pot 檔
386
- ----------------------------
404
+ 與 CPython 同步最新的 pot 檔 (目前由 GitHub Actions 定時代為執行)
405
+ ----------------------------------------------------------
406
+
407
+ pot 檔為翻譯的樣板檔案,它包含需要翻譯的原始字串 (*msgid *) 跟其對應的空白翻譯字串 (*msgstr *),\
408
+ 此步驟會參考最新的 CPython 中的 pot 檔來更新 po 檔。如果是之前在 po 檔中已填入過翻譯字串但參考的 \
409
+ pot 檔的 ``msgid `` 已有變動,則此指令會自動加上 ``#, fuzzy `` 的標記,代表內容有些許差異需要更新。
387
410
388
411
..code-block ::bash
389
412
390
413
$ make merge
391
414
392
- 尋找 fuzzy entries
393
- ------------------
415
+ 尋找有翻譯過但需校閱的 fuzzy entries
416
+ ---------------------------------
394
417
395
- * Fuzzy entries * 係指更新 po 檔的原始字串(* msgid *)以後,大部分內容相同但有 \
396
- 些許差異的字串,即表示該字串的翻譯需要更新。在 po 檔中,您會看到 ``#, fuzzy ``
397
- 的字樣,這就表示了接下來的字串是 fuzzy entry,需要更新翻譯 。
418
+ 在 po 檔中,你會看到 `` #, fuzzy `` 的字樣,這就表示了接下來的字串是 fuzzy entry,需要更新翻譯。 \
419
+ 你可以自行用習慣的文字編輯器、Linux 指令搜尋有包含此字樣的檔案,但請記得 ``#, fuzzy `` 標記的翻譯字串\
420
+ 有可能是尚未翻譯過的空白字串 (* msgstr *)。執行下列指令會列出有 * Fuzzy entries * 的檔案且會排除這個情形 。
398
421
399
422
..code-block ::bash
400
423
401
424
$ make fuzzy
402
425
403
- 本地端編譯輸出文件
404
- ------------------
405
-
406
- 輸出的文件會被放置在您的本地端 CPython clone(見 `維護、預覽 `_ 段落的圖示)\
407
- 底下的 ``Doc/build/html ``,切換到該目錄再使用 ``python3 -m http.server ``
408
- 或類似的靜態網頁伺服器即可以預覽成果。編譯程序則使用:
409
-
410
- ..code-block ::bash
411
-
412
- $ make
413
-
414
-
415
426
Project History
416
427
===============
417
428