Skip to content

Commit

Permalink
Translate library/http.cookies
Browse files Browse the repository at this point in the history
  • Loading branch information
mindihx committed Dec 23, 2024
1 parent cc66b14 commit d3826be
Showing 1 changed file with 115 additions and 17 deletions.
132 changes: 115 additions & 17 deletions library/http.cookies.po
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ msgid ""
"string-only cookies, and provides an abstraction for having any serializable "
"data-type as cookie value."
msgstr ""
":mod:`http.cookies` 模組定義了抽象 HTTP 狀態管理機制 (state management "
"mechanism) 的類別,它支援簡單的字串僅有的 cookie,並為 cookie 值提供了抽象。"

#: ../../library/http.cookies.rst:19
msgid ""
Expand All @@ -42,30 +44,39 @@ msgid ""
"comes to cookie handling. As a result, this module now uses parsing rules "
"that are a bit less strict than they once were."
msgstr ""
"此模組原先絕對遵循了 :rfc:`2109` 和 :rfc:`2068` 規範所描述的解析規則。後來發"
"現 MSIE 3.0x 並不遵循這些規範所描述的字元規則,許多當前的瀏覽器和伺服器也在處"
"理 cookie 時有放逐解析規則。因此,此模組現在使用的解析規則比它之前更輕鬆。"

#: ../../library/http.cookies.rst:26
msgid ""
"The character set, :data:`string.ascii_letters`, :data:`string.digits` and "
"``!#$%&'*+-.^_`|~:`` denote the set of valid characters allowed by this "
"module in a cookie name (as :attr:`~Morsel.key`)."
msgstr ""
"此模組在 cookie 名稱(:attr:`~Morsel.key`)中允許的有效字元為 :data:`string."
"ascii_letters`、:data:`string.digits` 和 ``!#$%&'*+-.^_`|~``。"

#: ../../library/http.cookies.rst:30
msgid "Allowed ':' as a valid cookie name character."
msgstr ""
msgstr "允許 ':' 作為有效的 cookie 名稱字元。"

#: ../../library/http.cookies.rst:36
msgid ""
"On encountering an invalid cookie, :exc:`CookieError` is raised, so if your "
"cookie data comes from a browser you should always prepare for invalid data "
"and catch :exc:`CookieError` on parsing."
msgstr ""
"當遇到無效的 cookie 時,將引發 :exc:`CookieError`,因此如果你的 cookie 資料來"
"自瀏覽器,你應該總是準備面臨無效的資料並捕捉 :exc:`CookieError`。"

#: ../../library/http.cookies.rst:43
msgid ""
"Exception failing because of :rfc:`2109` invalidity: incorrect attributes, "
"incorrect :mailheader:`Set-Cookie` header, etc."
msgstr ""
"因為 :rfc:`2109` 無效而引發的例外:不正確的屬性、不正確的 :mailheader:`Set-"
"Cookie` 標頭等。"

#: ../../library/http.cookies.rst:49
msgid ""
Expand All @@ -74,10 +85,12 @@ msgid ""
"value, the value is first converted to a :class:`Morsel` containing the key "
"and the value."
msgstr ""
"這個類別是一個字典式物件,其中的鍵是字串,而值則是 :class:`Morsel` 物件。請注"
"意,當設定鍵時,值會先被轉換為一個包含鍵和值的 :class:`Morsel`。"

#: ../../library/http.cookies.rst:53
msgid "If *input* is given, it is passed to the :meth:`load` method."
msgstr ""
msgstr "如果 *input* 被提供,它會被傳遞給 :meth:`load` 方法。"

#: ../../library/http.cookies.rst:58
msgid ""
Expand All @@ -87,6 +100,10 @@ msgid ""
"SimpleCookie` calls the builtin :func:`str` to convert the value to a "
"string. Values received from HTTP are kept as strings."
msgstr ""
"這個類別繼承自 :class:`BaseCookie` 並覆寫了 :meth:`~BaseCookie.value_decode` "
"和 :meth:`~BaseCookie.value_encode`。:class:`!SimpleCookie` 支援字串作為 "
"cookie 值。當設定值時,:class:`!SimpleCookie` 會呼叫內建的 :func:`str` 來將值"
"轉換為字串。從 HTTP 接收的值會保持為字串。"

#: ../../library/http.cookies.rst:66
msgid "Module :mod:`http.cookiejar`"
Expand All @@ -97,14 +114,16 @@ msgid ""
"HTTP cookie handling for web *clients*. The :mod:`http.cookiejar` and :mod:"
"`http.cookies` modules do not depend on each other."
msgstr ""
"用於 *網路客戶端* 的 HTTP cookie 處理。:mod:`http.cookiejar` 和 :mod:`http."
"cookies` 模組不相依。"

#: ../../library/http.cookies.rst:70
msgid ":rfc:`2109` - HTTP State Management Mechanism"
msgstr ""
msgstr ":rfc:`2109` - HTTP 狀態管理機制"

#: ../../library/http.cookies.rst:71
msgid "This is the state management specification implemented by this module."
msgstr ""
msgstr "這是這個模組實作的狀態管理規範。"

#: ../../library/http.cookies.rst:77
msgid "Cookie Objects"
Expand All @@ -116,19 +135,27 @@ msgid ""
"``real_value`` can be any type. This method does no decoding in :class:"
"`BaseCookie` --- it exists so it can be overridden."
msgstr ""
"從字串表示法回傳 ``(real_value, coded_value)`` 的元組。``real_value`` 可以是"
"任何類型。此方法在 :class:`BaseCookie` 中不會進行解碼 --- 它存在以便可以被覆"
"寫。"

#: ../../library/http.cookies.rst:89
msgid ""
"Return a tuple ``(real_value, coded_value)``. *val* can be any type, but "
"``coded_value`` will always be converted to a string. This method does no "
"encoding in :class:`BaseCookie` --- it exists so it can be overridden."
msgstr ""
"回傳一個元組 ``(real_value, coded_value)``。*val* 可以是任何類型,但 "
"``coded_value`` 會總是轉換為字串。此方法在 :class:`BaseCookie` 中不做編碼 "
"--- 它存在以便可以被覆寫。"

#: ../../library/http.cookies.rst:94
msgid ""
"In general, it should be the case that :meth:`value_encode` and :meth:"
"`value_decode` are inverses on the range of *value_decode*."
msgstr ""
"一般來說,:meth:`value_encode` 和 :meth:`value_decode` 應該是在 "
"*value_decode* 的範圍內的逆函式。"

#: ../../library/http.cookies.rst:100
msgid ""
Expand All @@ -137,24 +164,31 @@ msgid ""
"method. *sep* is used to join the headers together, and is by default the "
"combination ``'\\r\\n'`` (CRLF)."
msgstr ""
"回傳一個適合作為 HTTP 標頭的字串表示。*attrs* 和 *header* 會傳送給每個 :"
"class:`Morsel` 的 :meth:`~Morsel.output` 方法。*sep* 用來連結標頭,預設為 "
"``\\\\r\\\\n``(CRLF)。"

#: ../../library/http.cookies.rst:108
msgid ""
"Return an embeddable JavaScript snippet, which, if run on a browser which "
"supports JavaScript, will act the same as if the HTTP headers was sent."
msgstr ""
"回傳一個可嵌入的 JavaScript 片段,如果在支援 JavaScript 的瀏覽器上執行,它的"
"行為會與如果 HTTP 標頭被傳送的情況相同。"

#: ../../library/http.cookies.rst:111 ../../library/http.cookies.rst:207
#: ../../library/http.cookies.rst:215
msgid "The meaning for *attrs* is the same as in :meth:`output`."
msgstr ""
msgstr "*attrs* 的意義與 :meth:`output` 相同。"

#: ../../library/http.cookies.rst:116
msgid ""
"If *rawdata* is a string, parse it as an ``HTTP_COOKIE`` and add the values "
"found there as :class:`Morsel`\\ s. If it is a dictionary, it is equivalent "
"to::"
msgstr ""
"如果 *rawdata* 是字串,則將其解析為 ``HTTP_COOKIE``,並將在其中找到的值當作 :"
"class:`Morsel`\\ s 新增。如果它是一個字典,則等同於: ::"

#: ../../library/http.cookies.rst:119
msgid ""
Expand All @@ -170,67 +204,76 @@ msgstr "Morsel 物件"

#: ../../library/http.cookies.rst:131
msgid "Abstract a key/value pair, which has some :rfc:`2109` attributes."
msgstr ""
msgstr "抽象一個 key/value 對,它有一些 :rfc:`2109` 屬性。"

#: ../../library/http.cookies.rst:133
msgid ""
"Morsels are dictionary-like objects, whose set of keys is constant --- the "
"valid :rfc:`2109` attributes, which are:"
msgstr ""
"Morsels 是一種類似字典的物件,其鍵的集合是固定的 --- 有效的 :rfc:`2109` 屬"
"性,它們是:"

#: ../../library/http.cookies.rst:146
msgid ""
"The attribute :attr:`httponly` specifies that the cookie is only transferred "
"in HTTP requests, and is not accessible through JavaScript. This is intended "
"to mitigate some forms of cross-site scripting."
msgstr ""
"屬性 :attr:`httponly` 指定 cookie 僅在 HTTP 請求中傳輸,而不可通過 "
"JavaScript 存取。這是為了減輕某些形式的跨網站腳本攻擊。"

#: ../../library/http.cookies.rst:150
msgid ""
"The attribute :attr:`samesite` specifies that the browser is not allowed to "
"send the cookie along with cross-site requests. This helps to mitigate CSRF "
"attacks. Valid values for this attribute are \"Strict\" and \"Lax\"."
msgstr ""
"屬性 :attr:`samesite` 指定瀏覽器不能將 Cookie 與跨網站請求一起傳送。這有助於"
"減輕 CSRF 攻擊。此屬性的有效值為 \"Strict\"\"Lax\"。"

#: ../../library/http.cookies.rst:154
msgid "The keys are case-insensitive and their default value is ``''``."
msgstr ""
msgstr "鍵的大小寫不敏感,其預設值為 ``''``。"

#: ../../library/http.cookies.rst:156
msgid ""
":meth:`!__eq__` now takes :attr:`~Morsel.key` and :attr:`~Morsel.value` into "
"account."
msgstr ""
":meth:`!__eq__` 現在會考慮 :attr:`~Morsel.key` 和 :attr:`~Morsel.value`。"

#: ../../library/http.cookies.rst:160
msgid ""
"Attributes :attr:`~Morsel.key`, :attr:`~Morsel.value` and :attr:`~Morsel."
"coded_value` are read-only. Use :meth:`~Morsel.set` for setting them."
msgstr ""
"屬性 :attr:`~Morsel.key`、:attr:`~Morsel.value` 和 :attr:`~Morsel."
"coded_value` 為只讀。請使用 :meth:`~Morsel.set` 來設定它們。"

#: ../../library/http.cookies.rst:165
msgid "Added support for the :attr:`samesite` attribute."
msgstr "新增 :attr:`samesite` 屬性的支援"

#: ../../library/http.cookies.rst:171
msgid "The value of the cookie."
msgstr ""
msgstr "cookie 的值。"

#: ../../library/http.cookies.rst:176
msgid "The encoded value of the cookie --- this is what should be sent."
msgstr ""
msgstr "cookie 的編碼值 --- 這是應該被傳送的值。"

#: ../../library/http.cookies.rst:181
msgid "The name of the cookie."
msgstr ""
msgstr "cookie 的名稱。"

#: ../../library/http.cookies.rst:186
msgid "Set the *key*, *value* and *coded_value* attributes."
msgstr ""
msgstr "設定 *key*、*value* 和 *coded_value* 屬性。"

#: ../../library/http.cookies.rst:191
msgid "Whether *K* is a member of the set of keys of a :class:`Morsel`."
msgstr ""
msgstr "*K* 是 :class:`Morsel` 的鍵集中的成員嗎?"

#: ../../library/http.cookies.rst:196
msgid ""
Expand All @@ -239,43 +282,52 @@ msgid ""
"given, in which case it should be a list of attributes to use. *header* is "
"by default ``\"Set-Cookie:\"``."
msgstr ""
"回傳 Morsel 的字串表示,適合作為 HTTP 標頭。預設會包含所有屬性,除非 *attrs* "
"被提供,在此情況下,它應該是一個屬性清單,用來選擇要使用的屬性。預設的 "
"*header* 是 ``\"Set-Cookie:\"``。"

#: ../../library/http.cookies.rst:204
msgid ""
"Return an embeddable JavaScript snippet, which, if run on a browser which "
"supports JavaScript, will act the same as if the HTTP header was sent."
msgstr ""
"回傳一個可嵌入的 JavaScript 片段,如果在支援 JavaScript 的瀏覽器上執行,它的"
"行為與如果 HTTP 標頭被傳送的情況相同。"

#: ../../library/http.cookies.rst:212
msgid ""
"Return a string representing the Morsel, without any surrounding HTTP or "
"JavaScript."
msgstr ""
msgstr "回傳 Morsel 的字串表示,不包含任何 HTTP 或 JavaScript。"

#: ../../library/http.cookies.rst:220
msgid ""
"Update the values in the Morsel dictionary with the values in the dictionary "
"*values*. Raise an error if any of the keys in the *values* dict is not a "
"valid :rfc:`2109` attribute."
msgstr ""
"更新 Morsel 字典中的值為 *values* 字典中的值。如果 *values* 字典中的任何鍵不"
"是有效的 :rfc:`2109` 屬性,則引發錯誤。"

#: ../../library/http.cookies.rst:224
msgid "an error is raised for invalid keys."
msgstr ""
msgstr "對於無效的 key 會引發錯誤。"

#: ../../library/http.cookies.rst:230
msgid "Return a shallow copy of the Morsel object."
msgstr ""
msgstr "回傳 Morsel 物件的淺複製。"

#: ../../library/http.cookies.rst:232
msgid "return a Morsel object instead of a dict."
msgstr ""
msgstr "回傳 Morsel 物件而不是 dict。"

#: ../../library/http.cookies.rst:238
msgid ""
"Raise an error if key is not a valid :rfc:`2109` attribute, otherwise behave "
"the same as :meth:`dict.setdefault`."
msgstr ""
"如果 key 不是一個有效的 :rfc:`2109` 屬性,則引發錯誤,否則行為與 :meth:`dict."
"setdefault` 相同。"

#: ../../library/http.cookies.rst:245
msgid "Example"
Expand All @@ -284,7 +336,7 @@ msgstr "範例"
#: ../../library/http.cookies.rst:247
msgid ""
"The following example demonstrates how to use the :mod:`http.cookies` module."
msgstr ""
msgstr "以下範例示範如何使用 :mod:`http.cookies` 模組。"

#: ../../library/http.cookies.rst:249
msgid ""
Expand Down Expand Up @@ -335,3 +387,49 @@ msgid ""
"Set-Cookie: number=7\n"
"Set-Cookie: string=seven"
msgstr ""
">>> from http import cookies\n"
">>> C = cookies.SimpleCookie()\n"
">>> C[\"fig\"] = \"newton\"\n"
">>> C[\"sugar\"] = \"wafer\"\n"
">>> print(C) # generate HTTP headers\n"
"Set-Cookie: fig=newton\n"
"Set-Cookie: sugar=wafer\n"
">>> print(C.output()) # same thing\n"
"Set-Cookie: fig=newton\n"
"Set-Cookie: sugar=wafer\n"
">>> C = cookies.SimpleCookie()\n"
">>> C[\"rocky\"] = \"road\"\n"
">>> C[\"rocky\"][\"path\"] = \"/cookie\"\n"
">>> print(C.output(header=\"Cookie:\"))\n"
"Cookie: rocky=road; Path=/cookie\n"
">>> print(C.output(attrs=[], header=\"Cookie:\"))\n"
"Cookie: rocky=road\n"
">>> C = cookies.SimpleCookie()\n"
">>> C.load(\"chips=ahoy; vienna=finger\") # load from a string (HTTP "
"header)\n"
">>> print(C)\n"
"Set-Cookie: chips=ahoy\n"
"Set-Cookie: vienna=finger\n"
">>> C = cookies.SimpleCookie()\n"
">>> C.load('keebler=\"E=everybody; L=\\\\\"Loves\\\\\"; fudge=\\\\012;\";')\n"
">>> print(C)\n"
"Set-Cookie: keebler=\"E=everybody; L=\\\"Loves\\\"; fudge=\\012;\"\n"
">>> C = cookies.SimpleCookie()\n"
">>> C[\"oreo\"] = \"doublestuff\"\n"
">>> C[\"oreo\"][\"path\"] = \"/\"\n"
">>> print(C)\n"
"Set-Cookie: oreo=doublestuff; Path=/\n"
">>> C = cookies.SimpleCookie()\n"
">>> C[\"twix\"] = \"none for you\"\n"
">>> C[\"twix\"].value\n"
"'none for you'\n"
">>> C = cookies.SimpleCookie()\n"
">>> C[\"number\"] = 7 # equivalent to C[\"number\"] = str(7)\n"
">>> C[\"string\"] = \"seven\"\n"
">>> C[\"number\"].value\n"
"'7'\n"
">>> C[\"string\"].value\n"
"'seven'\n"
">>> print(C)\n"
"Set-Cookie: number=7\n"
"Set-Cookie: string=seven"

0 comments on commit d3826be

Please sign in to comment.