Skip to content

Commit f4f16ff

Browse files
docs(howto/sockets.po): 翻譯 IPCUsing a Socket 區塊 (python#493) (python#502)
* docs(howto/sockets.po): 翻譯 `IPC` 與 `Using a Socket` 區塊 pythongh-466 Original PR python#493. Cherry-pick from 3.11 to 3.12 Co-authored-by: Jay <[email protected]>
1 parent 860a8e7 commit f4f16ff

File tree

1 file changed

+32
-41
lines changed

1 file changed

+32
-41
lines changed

howto/sockets.po

+32-41
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Translators:
66
msgid ""
77
msgstr ""
8-
"Project-Id-Version: Python 3.12\n"
8+
"Project-Id-Version: Python 3.11\n"
99
"Report-Msgid-Bugs-To: \n"
1010
"POT-Creation-Date: 2022-06-10 00:16+0000\n"
1111
"PO-Revision-Date: 2023-07-19 20:17+0800\n"
@@ -64,13 +64,13 @@ msgid ""
6464
"blocking sockets. But I'll start by talking about blocking sockets. You'll "
6565
"need to know how they work before dealing with non-blocking sockets."
6666
msgstr ""
67-
"我只會討論關於 INET(例如:IPv4)的 sockets,但它們涵蓋了幾乎 99% 的 sockets "
68-
"使用場景。而我也將僅討論關於 STREAM(比如:TCP)類型的 sockets - 除非你真的知"
69-
"道你在做什麼(在這種情況下,這份指南可能不適合你),使用 STREAM 類型的 "
70-
"socket 會獲得比其他 sockets 類型更好的表現和性能。我將會嘗試解釋 socket 是什"
71-
",以及如何使用阻塞 (blocking) 和非阻塞 (non-blocking) sockets 的一些建議。"
72-
"但首先我會先談論阻塞 sockets。在處理非阻塞 sockets 之前,你需要了解它們的工作"
73-
"原理。"
67+
"我只會討論關於 INET(例如:IPv4)的 sockets,但它們涵蓋了幾乎 99% 的 "
68+
"sockets 使用場景。而我也將僅討論關於 STREAM(比如:TCP)類型的 sockets - "
69+
"非你真的知道你在做什麼(在這種情況下,這份指南可能不適合你),使用 STREAM "
70+
"類型的 socket 會獲得比其他 sockets 類型更好的表現和性能。我將會嘗試解釋 "
71+
"socket 是什麼,以及如何使用阻塞 (blocking) 和非阻塞 (non-blocking) sockets "
72+
"一些建議。但首先我會先談論阻塞 sockets。在處理非阻塞 sockets 之前,你需要了解"
73+
"它們的工作原理。"
7474

7575
#: ../../howto/sockets.rst:31
7676
msgid ""
@@ -82,12 +82,12 @@ msgid ""
8282
"sockets exclusively; the web server it's talking to uses both \"server\" "
8383
"sockets and \"client\" sockets."
8484
msgstr ""
85-
"要理解這些東西的困難點之一在於 \"scoket\" 可以代表多種具有些微差異的東西,"
86-
"主要取決於上下文。所以首先,讓我們先區分「用戶端 (client)」socket 和「伺服器"
87-
" (server)」socket 的差別,「用戶端」socket 表示通訊的一端,「伺服器端」"
88-
"socket 更像是一個電話總機接線員。用戶端應用程式(例如:你的瀏覽器)只能使用"
89-
"「用戶端」socket; 它所連接的網路伺服器則同時使用「伺服器端」socket 和 「用戶"
90-
"」socket 來進行通訊。"
85+
"要理解這些東西的困難點之一在於 \"scoket\" 可以代表多種具有些微差異的東西,這主要"
86+
"取決於上下文。所以首先,讓我們先區分「用戶端 (client)」socket 和「伺服器端"
87+
" (server)」socket 的差別,「用戶端」socket 表示通訊的一端,「伺服器端」"
88+
"socket 更像是一個電話總機接線員。用戶端應用程式(例如:你的瀏覽器)只能使"
89+
"「用戶端」socket; 它所連接的網路伺服器則同時使用「伺服器端」socket 和 "
90+
"「用戶端」socket 來進行通訊。"
9191

9292
#: ../../howto/sockets.rst:40
9393
msgid "History"
@@ -111,8 +111,8 @@ msgid ""
111111
"of sockets with INET makes talking to arbitrary machines around the world "
112112
"unbelievably easy (at least compared to other schemes)."
113113
msgstr ""
114-
"Sockets 作為 Unix 的 BSD 分支的一部分在 Berkeley 被發明出來。它們隨著網際網路"
115-
"的普及而迅速蔓延開來。這是有很好的理由 — sockets 和 INET 的結合讓世界各地任何"
114+
"Sockets 作為 Unix 的 BSD 分支的一部分在 Berkeley 被發明出來。它們隨著網際網路的普"
115+
"及而迅速蔓延開來。這是有很好的理由 — sockets 和 INET 的結合讓世界各地任何"
116116
"的機器之間的通訊變得非常簡單(至少與其它方案相比是如此)。"
117117

118118
#: ../../howto/sockets.rst:54
@@ -136,16 +136,16 @@ msgid ""
136136
"used for one exchange (or a small set of sequential exchanges)."
137137
msgstr ""
138138
"當 ``connect`` 完成時,這個 socket ``s`` 可以用來發送請求來取得頁面的文本。同"
139-
"一個 socket 也會讀取回傳值,然後再被銷毀。是的,會被銷毀。用戶端 socket 通常"
140-
"只用來做一次交換(或是一小組連續交換)。"
139+
"一個 socket 也會讀取回傳值,然後再被銷毀。是的,會被銷毀。用戶端 socket 通常只"
140+
"用來做一次交換(或是一小組連續交換)。"
141141

142142
#: ../../howto/sockets.rst:70
143143
msgid ""
144144
"What happens in the web server is a bit more complex. First, the web server "
145145
"creates a \"server socket\"::"
146146
msgstr ""
147-
"網路伺服器 (web server) 的運作就稍微複雜一點。首先,網路伺服器會建立一個「"
148-
"服器端 socket」:\n"
147+
"網路伺服器 (web server) 的運作就稍微複雜一點。首先,網路伺服器會建立一個「伺服器端 "
148+
"socket」:\n"
149149
"\n"
150150
"::"
151151

@@ -158,19 +158,19 @@ msgid ""
158158
"machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any "
159159
"address the machine happens to have."
160160
msgstr ""
161-
"有幾件事需要注意:我們使用了 ``socket.gethostname()``,這樣 socket 才能對外部"
162-
"網路可見。如果我們使用了 ``s.bind(('localhost', 80))`` 或 ``s."
163-
"bind(('127.0.0.1', 80))``,我們會得到一個「伺服器端」socket,但是只能在同一台"
164-
"機器內可見。``s.bind(('', 80))`` 指定 socket 可以透過機器的任何地址存取。"
161+
"有幾件事需要注意:我們使用了 ``socket.gethostname()``,這樣 socket 才能對外"
162+
"部網路可見。如果我們使用了 ``s.bind(('localhost', 80))`` 或 ``s."
163+
"bind(('127.0.0.1', 80))``,我們會得到一個「伺服器端」socket,但是只能在同一"
164+
"台機器內可見。``s.bind(('', 80))`` 指定 socket 可以透過機器的任何地址存取。"
165165

166166
#: ../../howto/sockets.rst:87
167167
msgid ""
168168
"A second thing to note: low number ports are usually reserved for \"well "
169169
"known\" services (HTTP, SNMP etc). If you're playing around, use a nice high "
170170
"number (4 digits)."
171171
msgstr ""
172-
"第二個要注意的是:數字小的連接埠 (port) 通常保留給「廣為人知的」服務(HTTP、"
173-
"SNMP等)。如果你只是想執行程式,可以使用一個數字較大的連接埠(4 位數字)。"
172+
"第二個要注意的是:數字小的連接埠 (port) 通常保留給「廣為人知的」服務(HTTP、SNMP"
173+
")。如果你只是想執行程式,可以使用一個數字較大的連接埠(4 位數字)。"
174174

175175
#: ../../howto/sockets.rst:91
176176
msgid ""
@@ -209,24 +209,15 @@ msgid ""
209209
"allocated port which will be recycled when the conversation ends."
210210
msgstr ""
211211
"事實上,有三種方法可以讓這個迴圈運作 - 分配一個執行緒 (thread) 來處理 "
212-
"``clientsocket`` 、建立一個新行程 (process) 來處理 ``clientsocket``,或者將這"
213-
"個程式重新改寫成使用非阻塞 socket,並使用 ``select`` 在我們的「伺服器端」"
212+
"``clientsocket`` 、建立一個新行程 (process) 來處理 ``clientsocket``,或者將"
213+
"這個程式重新改寫成使用非阻塞 socket,並使用 ``select`` 在我們的「伺服器端」"
214214
"socket 和任何有效的 ``clientsocket`` 之間進行多工處理。稍後將會更詳細的介紹。"
215-
<<<<<<< HEAD
216-
"現在最重要的是理解:這就是「伺服器端」socket 做的\\ *所有* \\事情。它不會發送"
217-
"任何資料、也不接收任何資料,它只會建立「伺服器端」socket。每個 "
218-
"``clientsocket`` 都是為了回應某些\\ *其他* \\ ``connect()`` 到我們綁定的主機"
219-
"上的「用戶端」socket。一但 ``clientsocket`` 建立完成,就會繼續監聽更多的連接"
220-
"請求。兩個「用戶端」可以隨意的通訊 - 它們使用的是一些動態分配的連接埠,會在通"
221-
"訊結束的時候被回收並重新利用。"
222-
=======
223215
"現在最重要的是理解:這就是「伺服器端」socket 做的\\ *所有* \\事情。它不會發送任何"
224216
"資料、也不接收任何資料,它只會建立「伺服器端」socket。每個 ``clientsocket`` "
225217
"都是為了回應某些\\ *其他* \\ ``connect()`` 到我們綁定的主機上的「用戶端」socket。"
226218
"一但 ``clientsocket`` 建立完成,就會繼續監聽更多的連線請求。兩個「用戶端」可"
227219
"以隨意的通訊 - 它們使用的是一些動態分配的連接埠,會在通訊結束的時候被回收並重新"
228220
"利用。"
229-
>>>>>>> 445d5a27 (docs(howto/sockets.po): 翻譯 `IPC` 與 `Using a Socket` 區塊 (#493))
230221

231222
#: ../../howto/sockets.rst:121
232223
msgid "IPC"
@@ -443,10 +434,10 @@ msgstr ""
443434
#: ../../howto/sockets.rst:262
444435
msgid ""
445436
"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, "
446-
"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, "
447-
"\"s\" means *short* and \"l\" means *long*. Where network order is host "
448-
"order, these do nothing, but where the machine is byte-reversed, these swap "
449-
"the bytes around appropriately."
437+
"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, \"s"
438+
"\" means *short* and \"l\" means *long*. Where network order is host order, "
439+
"these do nothing, but where the machine is byte-reversed, these swap the "
440+
"bytes around appropriately."
450441
msgstr ""
451442

452443
#: ../../howto/sockets.rst:268

0 commit comments

Comments
 (0)