8
8
# Yusuke Miyazaki <miyazaki.dev@gmail.com>, 2021
9
9
# mollinaca, 2021
10
10
# Shin Saito, 2021
11
+ # 菊池 健志, 2023
11
12
#
12
13
#, fuzzy
13
14
msgid ""
14
15
msgstr ""
15
16
"Project-Id-Version : Python 3.11\n "
16
17
"Report-Msgid-Bugs-To : \n "
17
- "POT-Creation-Date : 2023-01-13 14:15 +0000\n "
18
+ "POT-Creation-Date : 2023-02-03 14:14 +0000\n "
18
19
"PO-Revision-Date : 2021-06-28 00:51+0000\n "
19
- "Last-Translator : Shin Saito, 2021 \n "
20
+ "Last-Translator : 菊池 健志, 2023 \n "
20
21
"Language-Team : Japanese (https://www.transifex.com/python-doc/teams/5390/ "
21
22
"ja/)\n "
22
23
"MIME-Version : 1.0\n "
@@ -304,6 +305,15 @@ msgid ""
304
305
"interpreter's main loop, this aborts the currently executing Python code and "
305
306
"tries to find an exception handler specified by the Python programmer."
306
307
msgstr ""
308
+ "関数 *g* を呼び出す *f* が、前者の関数の呼び出しに失敗したことを検出すると、 "
309
+ "*f* 自体はエラー値 (大抵は ``NULL`` や ``-1``) を返さねばなりません。しか"
310
+ "し、 ``PyErr_*`` 関数群のいずれかを呼び出す必要は *ありません* --- なぜな"
311
+ "ら、 *g* がすでに呼び出しているからです。次いで *f* を呼び出したコードもエ"
312
+ "ラーを示す値を *自らを呼び出したコード* に返すことになりますが、同様に "
313
+ "``PyErr_*`` は *呼び出しません* 。以下同様に続きます --- エラーの最も詳しい原"
314
+ "因は、最初にエラーを検出した関数がすでに報告しているからです。エラーが "
315
+ "Python インタプリタのメインループに到達すると、現在実行中の Python コードは一"
316
+ "時停止し、 Python プログラマが指定した例外ハンドラを探し出そうとします。"
307
317
308
318
#: ../../extending/extending.rst:168
309
319
msgid ""
@@ -313,6 +323,11 @@ msgid ""
313
323
"cause information about the cause of the error to be lost: most operations "
314
324
"can fail for a variety of reasons.)"
315
325
msgstr ""
326
+ "(モジュールが ``PyErr_*`` 関数をもう一度呼び出して、より詳細なエラーメッセー"
327
+ "ジを提供するような状況があります。このような状況ではそうすべきです。とはい"
328
+ "え、一般的な規則としては、この関数を何度も呼び出す必要はなく、ともすればエ"
329
+ "ラーの原因に関する情報を失う結果になりがちです: これにより、ほとんどの操作が"
330
+ "様々な理由から失敗するかもしれません)"
316
331
317
332
#: ../../extending/extending.rst:174
318
333
msgid ""
@@ -508,6 +523,10 @@ msgid ""
508
523
"``None``. You need this idiom to do so (which is implemented by the :c:"
509
524
"macro:`Py_RETURN_NONE` macro)::"
510
525
msgstr ""
526
+ "何ら有用な値を返さない関数 (:c:expr:`void` を返す関数) に対応する Python の関"
527
+ "数は ``None`` を返さねばなりません。関数に ``None`` を返させるには、以下のよ"
528
+ "うな慣用句を使います (この慣用句は :c:macro:`Py_RETURN_NONE` マクロに実装され"
529
+ "ています)::"
511
530
512
531
#: ../../extending/extending.rst:308
513
532
msgid ""
@@ -1696,6 +1715,13 @@ msgid ""
1696
1715
"module, retrieve the value of this name, and then retrieve the pointer from "
1697
1716
"the Capsule."
1698
1717
msgstr ""
1718
+ "Python はある拡張モジュールの C レベルの情報 (ポインタ) を別のモジュールに渡"
1719
+ "すための特殊な機構: Capsule (カプセル)を提供しています。 Capsule はポインタ "
1720
+ "(:c:expr:`void \\ *`) を記憶する Python のデータ型です。 Capsule は C API を介"
1721
+ "してのみ生成したりアクセスしたりできますが、他の Python オブジェクトと同じよ"
1722
+ "うに受け渡しできます。とりわけ、Capsule は拡張モジュールの名前空間内にある名"
1723
+ "前に代入できます。他の拡張モジュールはこのモジュールを import でき、次に名前"
1724
+ "を取得し、最後にCapsule へのポインタを取得します。"
1699
1725
1700
1726
#: ../../extending/extending.rst:1180
1701
1727
msgid ""
@@ -1721,6 +1747,12 @@ msgid ""
1721
1747
"of runtime type-safety; there is no feasible way to tell one unnamed Capsule "
1722
1748
"from another."
1723
1749
msgstr ""
1750
+ "どの方法を選ぶにしても、 Capsule の name を正しく設定することは重要です。 :c:"
1751
+ "func:`PyCapsule_New` は name 引数 (:c:expr:`const char \\ *`) を取ります。 "
1752
+ "``NULL`` を name に渡すことも許可されていますが、 name を設定することを強く推"
1753
+ "奨します。正しく名前を付けられた Capsule はある程度の実行時型安全性を持ちま"
1754
+ "す。名前を付けられていない Capsule を他の Capsule と区別する現実的な方法はあ"
1755
+ "りません。"
1724
1756
1725
1757
#: ../../extending/extending.rst:1193
1726
1758
msgid ""
@@ -1752,6 +1784,13 @@ msgid ""
1752
1784
"takes care of importing the module and retrieving its C API pointers; client "
1753
1785
"modules only have to call this macro before accessing the C API."
1754
1786
msgstr ""
1787
+ "以下の例では、名前を公開するモジュールの作者にほとんどの負荷が掛かりますが、"
1788
+ "よく使われるライブラリを作る際に適切なアプローチを実演します。このアプローチ"
1789
+ "では、全ての C API ポインタ (例中では一つだけですが!) を、 Capsule の値とな"
1790
+ "る :c:expr:`void` ポインタの配列に保存します。拡張モジュールに対応するヘッダ"
1791
+ "ファイルは、モジュールの import と C API ポインタを取得するよう手配するマクロ"
1792
+ "を提供します; クライアントモジュールは、C API にアクセスする前にこのマクロを"
1793
+ "呼ぶだけです。"
1755
1794
1756
1795
#: ../../extending/extending.rst:1211
1757
1796
msgid ""
0 commit comments