Repository navigation
Expand file tree
/
Copy pathmodule.po
More file actions
1811 lines (1586 loc) · 79.3 KB
/
Copy pathmodule.po
File metadata and controls
1811 lines (1586 loc) · 79.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# python-doc bot, 2025
# b785ccb154ea7c5e4722f287fb17d327_f3b4082, 2026
# Inada Naoki <songofacandy@gmail.com>, 2026
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.15\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-11-09 23:13+0000\n"
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
"Last-Translator: Inada Naoki <songofacandy@gmail.com>, 2026\n"
"Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/"
"ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../c-api/module.rst:6
msgid "Module Objects"
msgstr "モジュールオブジェクト (module object)"
msgid ""
"This instance of :c:type:`PyTypeObject` represents the Python module type. "
"This is exposed to Python programs as :py:class:`types.ModuleType`."
msgstr ""
"この :c:type:`PyTypeObject` のインスタンスは Python のモジュール型を表しま"
"す。\n"
"Python プログラムには :py:class:`types.ModuleType` として公開されています。"
#: ../../c-api/module.rst:20
msgid ""
"Return true if *p* is a module object, or a subtype of a module object. This "
"function always succeeds."
msgstr ""
"*p* がモジュールオブジェクトかモジュールオブジェクトのサブタイプであるときに"
"真を返します。この関数は常に成功します。"
#: ../../c-api/module.rst:26
msgid ""
"Return true if *p* is a module object, but not a subtype "
"of :c:data:`PyModule_Type`. This function always succeeds."
msgstr ""
"*p* がモジュールオブジェクトで、かつ :c:data:`PyModule_Type` のサブタイプでな"
"いときに真を返します。この関数は常に成功します。"
msgid ""
"Return a new module object with :attr:`module.__name__` set to *name*. The "
"module's :attr:`!"
"__name__`, :attr:`~module.__doc__`, :attr:`~module.__package__` "
"and :attr:`~module.__loader__` attributes are filled in (all but :attr:`!"
"__name__` are set to ``None``). The caller is responsible for setting "
"a :attr:`~module.__file__` attribute."
msgstr ""
":attr:`module.__name__` に *name* を設定した新しいモジュールオブジェクトを返"
"します。\n"
"モジュールの :attr:`!"
"__name__`、:attr:`~module.__doc__`、:attr:`~module.__package__`、:attr:`~module.__loader__` "
"属性を設定します (:attr:`!__name__` 以外はすべて ``None`` に設定します)。\n"
":attr:`~module.__file__` 属性の設定は呼び出し側の責任です。"
msgid "Return ``NULL`` with an exception set on error."
msgstr "エラー時には例外を設定して ``NULL`` を返します。"
msgid ""
":attr:`~module.__package__` and :attr:`~module.__loader__` are now set to "
"``None``."
msgstr ""
":attr:`~module.__package__` と :attr:`~module.__loader__` を ``None`` に設定"
"するようになりました。"
#: ../../c-api/module.rst:56
msgid ""
"Similar to :c:func:`PyModule_NewObject`, but the name is a UTF-8 encoded "
"string instead of a Unicode object."
msgstr ""
":c:func:`PyModule_NewObject` に似ていますが、 name は Unicode オブジェクトで"
"はなく UTF-8 でエンコードされた文字列です。"
#: ../../c-api/module.rst:64
msgid ""
"Return the dictionary object that implements *module*'s namespace; this "
"object is the same as the :attr:`~object.__dict__` attribute of the module "
"object. If *module* is not a module object (or a subtype of a module "
"object), :exc:`SystemError` is raised and ``NULL`` is returned."
msgstr ""
"*module* の名前空間を実装する辞書オブジェクトを返します;\n"
"このオブジェクトは、モジュールオブジェクトの :attr:`~object.__dict__` 属性と"
"同じものです。\n"
"*module* がモジュールオブジェクト (もしくはモジュールオブジェクトのサブタイ"
"プ) でない場合は、 :exc:`SystemError` が送出され ``NULL`` が返されます。"
#: ../../c-api/module.rst:69
msgid ""
"It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` "
"functions rather than directly manipulate a "
"module's :attr:`~object.__dict__`."
msgstr ""
"拡張モジュールでは、モジュールの :attr:`~object.__dict__` を直接操作するより"
"も、 ``PyModule_*`` および ``PyObject_*`` 関数を使う方が推奨されます。"
msgid ""
"The returned reference is borrowed from the module; it is valid until the "
"module is destroyed."
msgstr ""
"返す参照はモジュールからの借用参照であり、モジュールが破棄されるまで有効で"
"す。"
msgid ""
"Return *module*'s :attr:`~module.__name__` value. If the module does not "
"provide one, or if it is not a string, :exc:`SystemError` is raised and "
"``NULL`` is returned."
msgstr ""
"*module* の :attr:`~module.__name__` の値を返します。\n"
"この属性がない場合や文字列でない場合は、:exc:`SystemError` を送出して "
"``NULL`` を返します。"
#: ../../c-api/module.rst:92
msgid ""
"Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to "
"``'utf-8'``."
msgstr ""
":c:func:`PyModule_GetNameObject` に似ていますが、 ``'utf-8'`` でエンコードさ"
"れた name を返します。"
msgid ""
"The returned buffer is only valid until the module is renamed or destroyed. "
"Note that Python code may rename a module by setting "
"its :py:attr:`~module.__name__` attribute."
msgstr ""
"返されたバッファは、モジュールの名前が変更されるかモジュールが破棄されるまで"
"有効です。\n"
"Python コードから :py:attr:`~module.__name__` 属性を設定してモジュール名を変"
"更できることに注意してください。"
#: ../../c-api/module.rst:101
msgid ""
"Return a pointer to the :c:type:`PyModuleDef` struct from which the module "
"was created, or ``NULL`` if the module wasn't created from a definition."
msgstr ""
"モジュールが作られる元となった :c:type:`PyModuleDef` 構造体へのポインタを返し"
"ます。\n"
"モジュールが定義によって作られていなかった場合は ``NULL`` を返します。"
msgid ""
"On error, return ``NULL`` with an exception set. "
"Use :c:func:`PyErr_Occurred` to tell this case apart from a "
"missing :c:type:`!PyModuleDef`."
msgstr ""
"エラー時には例外を設定して ``NULL`` を返します。\n"
":c:func:`PyErr_Occurred` を使って、:c:type:`!PyModuleDef` がない場合と区別し"
"てください。"
msgid ""
"Return the name of the file from which *module* was loaded using "
"*module*'s :attr:`~module.__file__` attribute. If this is not defined, or "
"if it is not a string, raise :exc:`SystemError` and return ``NULL``; "
"otherwise return a reference to a Unicode object."
msgstr ""
"*module* の :attr:`~module.__file__` 属性を使って、*module* をロードしたファ"
"イルの名前を返します。\n"
"この属性が定義されていない場合や文字列でない場合は、:exc:`SystemError` を送出"
"して ``NULL`` を返します。\n"
"それ以外の場合は Unicode オブジェクトへの参照を返します。"
#: ../../c-api/module.rst:125
msgid ""
"Similar to :c:func:`PyModule_GetFilenameObject` but return the filename "
"encoded to 'utf-8'."
msgstr ""
":c:func:`PyModule_GetFilenameObject` と似ていますが、 'utf-8' でエンコードさ"
"れたファイル名を返します。"
msgid ""
"The returned buffer is only valid until the "
"module's :py:attr:`~module.__file__` attribute is reassigned or the module "
"is destroyed."
msgstr ""
"返されたバッファは、モジュールの :py:attr:`~module.__file__` 属性に別の値が代"
"入されるか、モジュールが破棄されるまで有効です。"
#: ../../c-api/module.rst:131
msgid ""
":c:func:`PyModule_GetFilename` raises :exc:`UnicodeEncodeError` on "
"unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead."
msgstr ""
":c:func:`PyModule_GetFilename` はエンコードできないファイル名に対して"
"は :exc:`UnicodeEncodeError` を送出します。これの代わり"
"に :c:func:`PyModule_GetFilenameObject` を使用してください。"
msgid "Module definition"
msgstr "モジュールの定義"
msgid ""
"Modules created using the C API are typically defined using an array "
"of :c:type:`PySlot` structs, which provides a \"description\" of how a "
"module should be created. See :ref:`capi-slots` for more information on "
"slots in general."
msgstr ""
"C API で作成するモジュールは通常、:c:type:`PySlot` 構造体の配列を使って定義し"
"ます。\n"
"この配列はモジュールの作成方法を「記述」します。\n"
"スロット全般については :ref:`capi-slots` を参照してください。"
msgid ""
"Previously, a :c:type:`PyModuleDef` struct was necessary to define modules. "
"The older way of defining modules is still available: consult either "
"the :ref:`pymoduledef` section or earlier versions of this documentation if "
"you plan to support earlier Python versions."
msgstr ""
"以前はモジュールの定義に :c:type:`PyModuleDef` 構造体が必要でした。\n"
"従来のモジュール定義方法も引き続き利用できます。\n"
"以前の Python バージョンに対応する場合は、:ref:`pymoduledef` の節または以前の"
"バージョンのドキュメントを参照してください。"
msgid ""
"The slots array is usually used to define an extension module's “main” "
"module object (see :ref:`extension-modules` for details). It can also be "
"used to :ref:`create extension modules dynamically <module-from-slots>`."
msgstr ""
"スロット配列は通常、拡張モジュールの「メイン」のモジュールオブジェクトの定義"
"に使います (詳細は :ref:`extension-modules` を参照)。\n"
":ref:`拡張モジュールを動的に作成する <module-from-slots>` こともできます。"
msgid ""
"Unless specified otherwise, the same slot ID may not be repeated in an array "
"of slots."
msgstr ""
"特に指定がない限り、スロット配列内で同じスロット ID を繰り返し使ってはいけま"
"せん。"
msgid "Metadata slots"
msgstr "メタデータのスロット"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for the name of the new module, as a NUL-"
"terminated UTF8-encoded ``const char *``."
msgstr ""
"新しいモジュールの名前を指定する :c:member:`スロット ID <PySlot.sl_id>` で"
"す。\n"
"値は UTF-8 でエンコードされた NUL 終端の ``const char *`` です。"
msgid ""
"Note that modules are typically created using "
"a :py:class:`~importlib.machinery.ModuleSpec`, and when they are, the name "
"from the spec will be used instead of :c:data:`!Py_mod_name`. However, it is "
"still recommended to include this slot for introspection and debugging "
"purposes."
msgstr ""
"モジュールは通常 :py:class:`~importlib.machinery.ModuleSpec` を使って作成さ"
"れ、その場合は :c:data:`!Py_mod_name` ではなく spec の名前を使うことに注意し"
"てください。\n"
"ただし、イントロスペクションやデバッグのため、このスロットを含めることを推奨"
"します。"
msgid ""
"Use :c:member:`PyModuleDef.m_name` instead to support previous versions."
msgstr ""
"以前のバージョンに対応するには、代わりに :c:member:`PyModuleDef.m_name` を"
"使ってください。"
msgid ""
":c:type:`Slot ID <PySlot.sl_id>` for the docstring of the new module, as a "
"NUL-terminated UTF8-encoded ``const char *``."
msgstr ""
"新しいモジュールの docstring を指定する :c:type:`スロット ID <PySlot.sl_id>` "
"です。\n"
"値は UTF-8 でエンコードされた NUL 終端の ``const char *`` です。"
msgid "Usually it is set to a variable created with :c:macro:`PyDoc_STRVAR`."
msgstr "通常は :c:macro:`PyDoc_STRVAR` で作成した変数を設定します。"
msgid "Use :c:member:`PyModuleDef.m_doc` instead to support previous versions."
msgstr ""
"以前のバージョンに対応するには、代わりに :c:member:`PyModuleDef.m_doc` を使っ"
"てください。"
msgid "Feature slots"
msgstr "対応機能のスロット"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` whose value points to "
"a :c:struct:`PyABIInfo` structure describing the ABI that the extension is "
"using."
msgstr ""
"拡張モジュールが使う ABI を記述する :c:struct:`PyABIInfo` 構造体へのポインタ"
"を値とする :c:member:`スロット ID <PySlot.sl_id>` です。"
msgid ""
"A suitable :c:struct:`!PyABIInfo` variable can be defined using "
"the :c:macro:`PyABIInfo_VAR` macro, as in:"
msgstr ""
":c:macro:`PyABIInfo_VAR` マクロを使うと、適切な :c:struct:`!PyABIInfo` 変数を"
"次のように定義できます:"
msgid ""
"PyABIInfo_VAR(abi_info);\n"
"\n"
"static PySlot mymodule_slots[] = {\n"
" PySlot_DATA(Py_mod_abi, &abi_info),\n"
" ...\n"
"};"
msgstr ""
"PyABIInfo_VAR(abi_info);\n"
"\n"
"static PySlot mymodule_slots[] = {\n"
" PySlot_DATA(Py_mod_abi, &abi_info),\n"
" ...\n"
"};"
msgid ""
"When creating a module, Python checks the value of this slot "
"using :c:func:`PyABIInfo_Check`."
msgstr ""
"モジュールの作成時に、Python は :c:func:`PyABIInfo_Check` でこのスロットの値"
"を検査します。"
msgid ""
"This slot is required, except for modules created "
"from :c:struct:`PyModuleDef`."
msgstr ""
":c:struct:`PyModuleDef` から作成するモジュールを除き、このスロットは必須で"
"す。"
msgid ":c:member:`Slot ID <PySlot.sl_id>` whose value is one of:"
msgstr "次のいずれかを値とする :c:member:`スロット ID <PySlot.sl_id>` です:"
msgid "The module does not support being imported in subinterpreters."
msgstr "モジュールはサブインタープリタでのインポートに対応していません。"
msgid ""
"The module supports being imported in subinterpreters, but only when they "
"share the main interpreter's GIL. (See :ref:`isolating-extensions-howto`.)"
msgstr ""
"モジュールはサブインタープリタでのインポートに対応していますが、メインイン"
"タープリタの GIL を共有している場合に限ります (:ref:`isolating-extensions-"
"howto` を参照)。"
msgid ""
"The module supports being imported in subinterpreters, even when they have "
"their own GIL. (See :ref:`isolating-extensions-howto`.)"
msgstr ""
"モジュールは、サブインタープリタが独自の GIL を持つ場合も、サブインタープリタ"
"でのインポートに対応しています (:ref:`isolating-extensions-howto` を参照)。"
msgid ""
"This slot determines whether or not importing this module in a "
"subinterpreter will fail."
msgstr ""
"このスロットは、このモジュールをサブインタープリタでインポートすると失敗する"
"かどうかを決めます。"
msgid ""
"If ``Py_mod_multiple_interpreters`` is not specified, the import machinery "
"defaults to ``Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED``."
msgstr ""
"``Py_mod_multiple_interpreters`` を指定しない場合、インポート機構はデフォルト"
"で ``Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED`` を使います。"
msgid ""
"For historical reasons, the values are declared as pointers (``void *``). "
"When using :c:type:`PySlot` arrays, use :c:macro:`PySlot_DATA` "
"for :c:macro:`!Py_mod_multiple_interpreters`:"
msgstr ""
"歴史的な理由により、値はポインタ (``void *``) として宣言されています。\n"
":c:type:`PySlot` 配列を使う場合、:c:macro:`!Py_mod_multiple_interpreters` に"
"は :c:macro:`PySlot_DATA` を使ってください:"
msgid ""
"PySlot_DATA(Py_mod_multiple_interpreters,\n"
" Py_MOD_PER_INTERPRETER_GIL_SUPPORTED)"
msgstr ""
"PySlot_DATA(Py_mod_multiple_interpreters,\n"
" Py_MOD_PER_INTERPRETER_GIL_SUPPORTED)"
msgid ""
"The module depends on the presence of the global interpreter lock (GIL), and "
"may access global state without synchronization."
msgstr ""
"モジュールはグローバルインタープリタロック (GIL) の存在に依存し、同期せずにグ"
"ローバルな状態にアクセスする場合があります。"
msgid "The module is safe to run without an active GIL."
msgstr "モジュールは GIL が有効でなくても安全に実行できます。"
msgid ""
"This slot is ignored by Python builds not configured with :option:`--disable-"
"gil`. Otherwise, it determines whether or not importing this module will "
"cause the GIL to be automatically enabled. See :ref:`whatsnew313-free-"
"threaded-cpython` for more detail."
msgstr ""
":option:`--disable-gil` を指定せずに構成した Python ビルドでは、このスロット"
"は無視されます。\n"
"それ以外のビルドでは、このモジュールのインポートによって GIL が自動的に有効に"
"なるかどうかを決めます。\n"
"詳細は :ref:`whatsnew313-free-threaded-cpython` を参照してください。"
msgid ""
"If ``Py_mod_gil`` is not specified, the import machinery defaults to "
"``Py_MOD_GIL_USED``."
msgstr ""
"``Py_mod_gil`` を指定しない場合、インポート機構はデフォルトで "
"``Py_MOD_GIL_USED`` を使います。"
msgid ""
"For historical reasons, the values are declared as pointers (``void *``). "
"When using :c:type:`PySlot` arrays, use :c:macro:`PySlot_DATA` "
"for :c:macro:`!Py_mod_gil`:"
msgstr ""
"歴史的な理由により、値はポインタ (``void *``) として宣言されています。\n"
":c:type:`PySlot` 配列を使う場合、:c:macro:`!Py_mod_gil` に"
"は :c:macro:`PySlot_DATA` を使ってください:"
msgid "PySlot_DATA(Py_mod_gil, Py_MOD_GIL_NOT_USED)"
msgstr "PySlot_DATA(Py_mod_gil, Py_MOD_GIL_NOT_USED)"
msgid "Creation and initialization slots"
msgstr "作成と初期化のスロット"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for a function that creates the module "
"object itself. The function must have the signature:"
msgstr ""
"モジュールオブジェクト自体を作成する関数を指定する :c:member:`スロット ID "
"<PySlot.sl_id>` です。\n"
"関数は次のシグネチャを持つ必要があります:"
msgid "The function will be called with:"
msgstr "関数には次の引数を渡します:"
msgid ""
"*spec*: a ``ModuleSpec``-like object, meaning that any attributes defined "
"for :py:class:`importlib.machinery.ModuleSpec` have matching semantics. "
"However, any of the attributes may be missing."
msgstr ""
"*spec*: ``ModuleSpec`` に似たオブジェクトです。\n"
"つまり、:py:class:`importlib.machinery.ModuleSpec` で定義される属性はそれぞれ"
"同じ意味を持ちます。\n"
"ただし、どの属性も存在しない場合があります。"
msgid ""
"*def*: ``NULL``, or the module definition if the module is created from one."
msgstr ""
"*def*: ``NULL``、またはモジュールをモジュール定義から作成する場合はその定義で"
"す。"
msgid ""
"The function should return a new module object, or set an error and return "
"``NULL``."
msgstr ""
"この関数は、新しいモジュールオブジェクトを返すか、エラーを設定して ``NULL`` "
"を返す必要があります。"
msgid ""
"This function should be kept minimal. In particular, it should not call "
"arbitrary Python code, as trying to import the same module again may result "
"in an infinite loop."
msgstr ""
"この関数の処理は最小限に留めてください。\n"
"特に、同じモジュールを再びインポートしようとすると無限ループに陥る可能性があ"
"るため、任意の Python コードを呼び出してはいけません。"
#: ../../c-api/module.rst:322
msgid ""
"If ``Py_mod_create`` is not specified, the import machinery will create a "
"normal module object using :c:func:`PyModule_New`. The name is taken from "
"*spec*, not the definition, to allow extension modules to dynamically adjust "
"to their place in the module hierarchy and be imported under different names "
"through symlinks, all while sharing a single module definition."
msgstr ""
"``Py_mod_create`` が設定されていない場合は、インポート機構"
"は :c:func:`PyModule_New` を使って通常のモジュールオブジェクトを生成しま"
"す。\n"
"モジュールの名前は定義ではなく *spec* から取得され、これによって拡張モジュー"
"ルが動的にモジュール階層における位置を調整できたり、シンボリックリンクを通し"
"て同一のモジュール定義を共有しつつ別の名前でインポートできたりします。"
msgid ""
"There is no requirement for the returned object to be an instance "
"of :c:type:`PyModule_Type`. However, some slots may only be used "
"with :c:type:`!PyModule_Type` instances; in particular:"
msgstr ""
"返すオブジェクトは :c:type:`PyModule_Type` のインスタンスである必要はありませ"
"ん。\n"
"ただし、一部のスロットは :c:type:`!PyModule_Type` のインスタンスでしか使えま"
"せん。\n"
"特に以下のスロットが該当します:"
msgid ":c:macro:`Py_mod_exec`,"
msgstr ":c:macro:`Py_mod_exec`、"
msgid ""
":ref:`module state slots <ext-module-state-slots>` (``Py_mod_state_*``),"
msgstr ""
":ref:`モジュール状態のスロット <ext-module-state-slots>` "
"(``Py_mod_state_*``)、"
msgid ":c:macro:`Py_mod_token`."
msgstr ":c:macro:`Py_mod_token`。"
msgid ""
"The *spec* argument may be a ``ModuleSpec``-like object, rather than a "
"true :py:class:`~importlib.machinery.ModuleSpec` instance. Note that "
"previous versions of CPython did not enforce this."
msgstr ""
"*spec* 引数には、実際の :py:class:`~importlib.machinery.ModuleSpec` インスタ"
"ンスの代わりに ``ModuleSpec`` に似たオブジェクトも指定できます。\n"
"以前のバージョンの CPython では、この条件を強制していなかった点に注意してくだ"
"さい。"
msgid ""
"The *def* argument may now be ``NULL``, since modules are not necessarily "
"made from definitions."
msgstr ""
"モジュールは必ずしもモジュール定義から作成されるとは限らないため、*def* 引数"
"に ``NULL`` を指定できるようになりました。"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for a function that will :dfn:`execute`, "
"or initialize, the module. This function does the equivalent to executing "
"the code of a Python module: typically, it adds classes and constants to the "
"module. The signature of the function is:"
msgstr ""
"モジュールを :dfn:`実行`、つまり初期化する関数を指定する :c:member:`スロット "
"ID <PySlot.sl_id>` です。\n"
"この関数は Python モジュールのコード実行に相当する処理を行います。\n"
"通常はモジュールにクラスや定数を追加します。\n"
"関数のシグネチャは次のとおりです:"
msgid ""
"See the :ref:`capi-module-support-functions` section for some useful "
"functions to call."
msgstr ""
"この関数から呼び出すと便利な関数については、:ref:`capi-module-support-"
"functions` の節を参照してください。"
msgid ""
"For backwards compatibility, the :c:type:`PyModuleDef.m_slots` array may "
"contain multiple :c:macro:`!Py_mod_exec` slots; these are processed in the "
"order they appear in the array. Elsewhere (that is, in arguments "
"to :c:func:`PyModule_FromSlotsAndSpec` and in return values "
"of :samp:`PyModExport_{<name>}`), repeating the slot is not allowed."
msgstr ""
"後方互換性のため、:c:type:`PyModuleDef.m_slots` 配列には複数の :c:macro:`!"
"Py_mod_exec` スロットを含めることができ、配列内の順序で処理します。\n"
"それ以外 (つまり :c:func:`PyModule_FromSlotsAndSpec` の引数"
"や :samp:`PyModExport_{<name>}` の戻り値) では、このスロットを繰り返してはい"
"けません。"
msgid ""
"Repeated ``Py_mod_exec`` slots are disallowed, except "
"in :c:type:`PyModuleDef.m_slots`."
msgstr ""
":c:type:`PyModuleDef.m_slots` を除き、``Py_mod_exec`` スロットの重複が禁止さ"
"れました。"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for a table of module-level functions, as "
"an array of :c:type:`PyMethodDef` values suitable as the *functions* "
"argument to :c:func:`PyModule_AddFunctions`."
msgstr ""
"モジュールレベルの関数のテーブルを指定する :c:member:`スロット ID "
"<PySlot.sl_id>` です。\n"
"値は :c:func:`PyModule_AddFunctions` の *functions* 引数に渡せ"
"る :c:type:`PyMethodDef` 値の配列です。"
msgid ""
"Like other slot IDs, a slots array may only contain one :c:macro:`!"
"Py_mod_methods` entry. To add functions from multiple :c:type:`PyMethodDef` "
"arrays, call :c:func:`PyModule_AddFunctions` in the :c:macro:`Py_mod_exec` "
"function."
msgstr ""
"他のスロット ID と同様に、スロット配列に含められる :c:macro:`!"
"Py_mod_methods` エントリーは 1 つだけです。\n"
"複数の :c:type:`PyMethodDef` 配列から関数を追加するに"
"は、:c:macro:`Py_mod_exec` 関数内で :c:func:`PyModule_AddFunctions` を呼び出"
"してください。"
msgid ""
"The table must be statically allocated (or otherwise guaranteed to outlive "
"the module object)."
msgstr ""
"テーブルは静的に割り当てる必要があります (または、モジュールオブジェクトより"
"長く存続することを別の方法で保証する必要があります)。"
msgid ""
"Use :c:member:`PyModuleDef.m_methods` instead to support previous versions."
msgstr ""
"以前のバージョンに対応するには、代わりに :c:member:`PyModuleDef.m_methods` を"
"使ってください。"
msgid "Module state"
msgstr "モジュール状態"
msgid ""
"Extension modules can have *module state* -- a piece of memory that is "
"allocated on module creation, and freed when the module object is "
"deallocated. The module state is specified using :ref:`dedicated slots <ext-"
"module-state-slots>`."
msgstr ""
"拡張モジュールは *モジュール状態* を持つことができます。\n"
"これはモジュール作成時に割り当てられ、モジュールオブジェクトの解放時に解放さ"
"れるメモリ領域です。\n"
"モジュール状態は :ref:`専用のスロット <ext-module-state-slots>` で指定しま"
"す。"
msgid ""
"A typical use of module state is storing an exception type -- or indeed "
"*any* type object defined by the module --"
msgstr ""
"モジュール状態の典型的な用途は、例外型や、モジュールで定義する *あらゆる* 型"
"オブジェクトの保持です。"
msgid ""
"Unlike the module's Python attributes, Python code cannot replace or delete "
"data stored in module state."
msgstr ""
"モジュールの Python 属性とは異なり、モジュール状態に保持したデータを Python "
"コードから置き換えたり削除したりすることはできません。"
msgid ""
"Keeping per-module information in attributes and module state, rather than "
"in static globals, makes module objects *isolated* and safer for use in "
"multiple sub-interpreters. It also helps Python do an orderly clean-up when "
"it shuts down."
msgstr ""
"モジュールごとの情報を静的なグローバル変数ではなく属性とモジュール状態に保持"
"すると、モジュールオブジェクトが *分離* され、複数のサブインタープリタでより"
"安全に使えます。\n"
"また、Python が終了時に適切な順序で後始末を行う助けにもなります。"
msgid ""
"Extensions that keep references to Python objects as part of module state "
"must implement :c:macro:`Py_mod_state_traverse` "
"and :c:macro:`Py_mod_state_clear` functions to avoid reference leaks."
msgstr ""
"モジュール状態の一部として Python オブジェクトへの参照を保持する拡張モジュー"
"ルは、参照のリークを防ぐため、:c:macro:`Py_mod_state_traverse` 関数"
"と :c:macro:`Py_mod_state_clear` 関数を実装する必要があります。"
msgid "To retrieve the state from a given module, use the following functions:"
msgstr "指定されたモジュールから状態を取得するには、次の関数を使います:"
msgid ""
"Return the \"state\" of the module, that is, a pointer to the block of "
"memory allocated at module creation time, or ``NULL``. "
"See :c:macro:`Py_mod_state_size`."
msgstr ""
"モジュールの「状態」、つまりモジュールの作成時に割り当てられたメモリ領域への"
"ポインタ、または ``NULL`` を返します。\n"
":c:macro:`Py_mod_state_size` を参照してください。"
msgid ""
"On error, return ``NULL`` with an exception set. "
"Use :c:func:`PyErr_Occurred` to tell this case apart from missing module "
"state."
msgstr ""
"エラー時には例外を設定して ``NULL`` を返します。\n"
":c:func:`PyErr_Occurred` を使って、モジュール状態がない場合と区別してくださ"
"い。"
msgid ""
"Set *\\*result* to the size of *module*'s state, as specified "
"using :c:macro:`Py_mod_state_size` (or :c:member:`PyModuleDef.m_size`), and "
"return 0."
msgstr ""
"*\\*result* に、:c:macro:`Py_mod_state_size` (また"
"は :c:member:`PyModuleDef.m_size`) で指定された *module* の状態のサイズを設定"
"し、0 を返します。"
msgid "On error, set *\\*result* to -1, and return -1 with an exception set."
msgstr ""
"エラー時には *\\*result* に -1 を設定し、例外を設定して -1 を返します。"
msgid "Slots for defining module state"
msgstr "モジュール状態を定義するスロット"
msgid ""
"The following :c:member:`slot IDs <PySlot.sl_id>` are available for "
"defining the module state."
msgstr ""
"モジュール状態の定義には、次の :c:member:`スロット ID <PySlot.sl_id>` を使え"
"ます。"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for the size of the module state, in "
"bytes."
msgstr ""
"モジュール状態のバイト単位のサイズを指定する :c:member:`スロット ID "
"<PySlot.sl_id>` です。"
msgid ""
"Setting the value to a non-negative value means that the module can be re-"
"initialized and specifies the additional amount of memory it requires for "
"its state."
msgstr ""
"非負の値を設定すると、モジュールを再初期化できることを示すとともに、その状態"
"のために必要な追加メモリの量を指定します。"
#: ../../c-api/module.rst:462
msgid "See :PEP:`3121` for more details."
msgstr "詳細は :PEP:`3121` を参照。"
msgid ""
"Use :c:func:`PyModule_GetStateSize` to retrieve the size of a given module."
msgstr ""
"指定したモジュールの状態のサイズを取得するに"
"は、:c:func:`PyModule_GetStateSize` を使ってください。"
msgid ""
"Use :c:member:`PyModuleDef.m_size` instead to support previous versions."
msgstr ""
"以前のバージョンに対応するには、代わりに :c:member:`PyModuleDef.m_size` を"
"使ってください。"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for a traversal function to call during "
"GC traversal of the module object."
msgstr ""
"GC がモジュールオブジェクトの参照をたどる際に呼び出す走査関数を指定す"
"る :c:member:`スロット ID <PySlot.sl_id>` です。"
msgid ""
"The signature of the function, and meanings of the arguments, is similar as "
"for :c:member:`PyTypeObject.tp_traverse`:"
msgstr ""
"関数のシグネチャと引数の意味は、:c:member:`PyTypeObject.tp_traverse` と同様で"
"す:"
msgid ""
"This function is not called if the module state was requested but is not "
"allocated yet. This is the case immediately after the module is created and "
"before the module is executed (:c:data:`Py_mod_exec` function). More "
"precisely, this function is not called if the state size "
"(:c:data:`Py_mod_state_size`) is greater than 0 and the module state (as "
"returned by :c:func:`PyModule_GetState`) is ``NULL``."
msgstr ""
"モジュール状態が要求されていても、まだ割り当てられていなければ、この関数は呼"
"び出されません。\n"
"モジュールの作成直後で、モジュールの実行 (:c:data:`Py_mod_exec` 関数) の前が"
"これに該当します。\n"
"より正確には、状態のサイズ (:c:data:`Py_mod_state_size`) が 0 より大きく、モ"
"ジュール状態 (:c:func:`PyModule_GetState` の戻り値) が ``NULL`` の場合、この"
"関数は呼び出されません。"
msgid ""
"Use :c:member:`PyModuleDef.m_traverse` instead to support previous versions."
msgstr ""
"以前のバージョンに対応するには、代わりに :c:member:`PyModuleDef.m_traverse` "
"を使ってください。"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for a clear function to call during GC "
"clearing of the module object."
msgstr ""
"GC がモジュールオブジェクトをクリアする際に呼び出すクリア関数を指定す"
"る :c:member:`スロット ID <PySlot.sl_id>` です。"
msgid "The signature of the function is:"
msgstr "関数のシグネチャは次のとおりです:"
msgid ""
"Like :c:member:`PyTypeObject.tp_clear`, this function is not *always* called "
"before a module is deallocated. For example, when reference counting is "
"enough to determine that an object is no longer used, the cyclic garbage "
"collector is not involved and the :c:macro:`Py_mod_state_free` function is "
"called directly."
msgstr ""
":c:member:`PyTypeObject.tp_clear` と同様に、この関数はモジュールの解放前に *"
"必ず* 呼び出されるわけではありません。\n"
"例えば、参照カウントだけでオブジェクトが使われなくなったと判断できる場合、循"
"環ガベージコレクタは関与せず、:c:macro:`Py_mod_state_free` 関数が直接呼び出さ"
"れます。"
msgid ""
"Use :c:member:`PyModuleDef.m_clear` instead to support previous versions."
msgstr ""
"以前のバージョンに対応するには、代わりに :c:member:`PyModuleDef.m_clear` を"
"使ってください。"
msgid ""
":c:member:`Slot ID <PySlot.sl_id>` for a function to call during "
"deallocation of the module object."
msgstr ""
"モジュールオブジェクトの解放時に呼び出す関数を指定する :c:member:`スロット "
"ID <PySlot.sl_id>` です。"
msgid ""
"Use :c:member:`PyModuleDef.m_free` instead to support previous versions."
msgstr ""
"以前のバージョンに対応するには、代わりに :c:member:`PyModuleDef.m_free` を"
"使ってください。"
msgid "Module token"
msgstr "モジュールトークン"
msgid ""
"Each module may have an associated *token*: a pointer-sized value intended "
"to identify of the module state's memory layout. This means that if you have "
"a module object, but you are not sure if it “belongs” to your extension, you "
"can check using code like this:"
msgstr ""
"各モジュールには、*トークン* を関連づけることができます。\n"
"これはモジュール状態のメモリレイアウトを識別するための、ポインタサイズの値で"
"す。\n"
"つまり、手元のモジュールオブジェクトが自分の拡張モジュールに「属する」かどう"
"か不明な場合は、次のようなコードで確認できます:"
msgid ""
"PyObject *module = <the module in question>;\n"
"\n"
"void *module_token;\n"
"if (PyModule_GetToken(module, &module_token) < 0) {\n"
" return NULL;\n"
"}\n"
"if (module_token != your_token) {\n"
" PyErr_SetString(PyExc_ValueError, \"unexpected module\");\n"
" return NULL;\n"
"}\n"
"\n"
"// This module's state has the expected memory layout; it's safe to cast\n"
"struct my_state *state = (struct my_state*)PyModule_GetState(module);"
msgstr ""
"PyObject *module = <the module in question>;\n"
"\n"
"void *module_token;\n"
"if (PyModule_GetToken(module, &module_token) < 0) {\n"
" return NULL;\n"
"}\n"
"if (module_token != your_token) {\n"
" PyErr_SetString(PyExc_ValueError, \"unexpected module\");\n"
" return NULL;\n"
"}\n"
"\n"
"// このモジュール状態のメモリレイアウトは想定どおりなので、安全にキャストでき"
"る\n"
"struct my_state *state = (struct my_state*)PyModule_GetState(module);"
msgid ""
"A module's token -- and the *your_token* value to use in the above code -- "
"is:"
msgstr ""
"モジュールのトークン、つまり上のコードの *your_token* に使う値は次のとおりで"
"す:"
msgid ""
"For modules created with :c:type:`PyModuleDef`: the address of "
"that :c:type:`PyModuleDef`;"
msgstr ""
":c:type:`PyModuleDef` を使って作成したモジュールでは、そ"
"の :c:type:`PyModuleDef` のアドレスです。"
msgid ""
"For modules defined with the :c:macro:`Py_mod_token` slot: the value of that "
"slot;"
msgstr ""
":c:macro:`Py_mod_token` スロットを使って定義したモジュールでは、そのスロット"
"の値です。"
msgid ""
"For modules created from an ``PyModExport_*`` :ref:`export hook <extension-"
"export-hook>`: the slots array that the export hook returned (unless "
"overridden with :c:macro:`Py_mod_token`)."
msgstr ""
"``PyModExport_*`` :ref:`エクスポートフック <extension-export-hook>` から作成"
"したモジュールでは、エクスポートフックが返したスロット配列です "
"(:c:macro:`Py_mod_token` でオーバーライドした場合を除きます)。"
msgid ":c:member:`Slot ID <PySlot.sl_id>` for the module token."
msgstr ""
"モジュールトークンを指定する :c:member:`スロット ID <PySlot.sl_id>` です。"
msgid ""
"If you use this slot to set the module token (rather than rely on the "
"default), you must ensure that:"
msgstr ""
"デフォルトに任せず、このスロットでモジュールトークンを設定する場合は、以下を"
"保証する必要があります:"
msgid ""
"The pointer outlives the class, so it's not reused for something else while "
"the class exists."
msgstr ""
"クラスが存在する間にポインタが他の用途に再利用されないよう、その参照先がクラ"
"スより長く存続すること。"
msgid ""
"It \"belongs\" to the extension module where the class lives, so it will not "
"clash with other extensions."
msgstr ""
"他の拡張モジュールと競合しないよう、クラスが属する拡張モジュールにそのポイン"
"タが「属する」こと。"
msgid ""
"If the token points to a :c:type:`PyModuleDef` struct, the module should "
"behave as if it was created from that :c:type:`PyModuleDef`. In particular, "
"the module state must have matching layout and semantics."
msgstr ""
"トークンが :c:type:`PyModuleDef` 構造体を指している場合、モジュールはそ"
"の :c:type:`PyModuleDef` から作成した場合と同じように動作する必要がありま"
"す。\n"
"特に、モジュール状態のレイアウトと意味が一致していなければなりません。"
msgid ""
"Modules created from :c:type:`PyModuleDef` always use the address of "
"the :c:type:`PyModuleDef` as the token. This means that :c:macro:`!"
"Py_mod_token` cannot be used in :c:member:`PyModuleDef.m_slots`."
msgstr ""
":c:type:`PyModuleDef` から作成したモジュールは、常にそ"
"の :c:type:`PyModuleDef` のアドレスをトークンに使います。\n"
"そのため、:c:macro:`!Py_mod_token` を :c:member:`PyModuleDef.m_slots` で使う"
"ことはできません。"
msgid "Set *\\*result* to the module token for *module* and return 0."
msgstr "*\\*result* に *module* のモジュールトークンを設定し、0 を返します。"
msgid "On error, set *\\*result* to NULL, and return -1 with an exception set."
msgstr ""
"エラー時には *\\*result* に ``NULL`` を設定し、例外を設定して -1 を返します。"
msgid "See also :c:func:`PyType_GetModuleByToken`."
msgstr ":c:func:`PyType_GetModuleByToken` も参照してください。"
msgid "Creating extension modules dynamically"
msgstr "拡張モジュールの動的な作成"
msgid ""
"The following functions may be used to create an extension module "
"dynamically, rather than from an extension's :ref:`export hook <extension-"
"export-hook>`."
msgstr ""
"次の関数を使うと、拡張モジュールの :ref:`エクスポートフック <extension-"
"export-hook>` を使わず、動的に拡張モジュールを作成できます。"
msgid ""
"Create a new module object, given an array of :ref:`slots "
"<pymoduledef_slot>` and the :py:class:`~importlib.machinery.ModuleSpec` "
"*spec*."
msgstr ""
":ref:`スロット <pymoduledef_slot>` の配列"
"と :py:class:`~importlib.machinery.ModuleSpec` *spec* から、新しいモジュール"
"オブジェクトを作成します。"
msgid ""
"The *slots* argument must point to an array of :c:type:`PySlot` structures, "
"terminated by an entry with slot ID of 0 (typically written "
"as :c:macro:`PySlot_END`). The array must include a :c:data:`Py_mod_abi` "
"entry."
msgstr ""
"*slots* 引数は、スロット ID が 0 のエントリー (通常は :c:macro:`PySlot_END` "
"と記述します) で終端された :c:type:`PySlot` 構造体の配列を指す必要がありま"
"す。\n"
"配列には :c:data:`Py_mod_abi` エントリーを含める必要があります。"
msgid ""
"The *spec* argument may be any ``ModuleSpec``-like object, as described "
"in :c:macro:`Py_mod_create` documentation. Currently, the *spec* must have a "
"``name`` attribute."
msgstr ""
"*spec* 引数には、:c:macro:`Py_mod_create` のドキュメントで説明する "
"``ModuleSpec`` に似たオブジェクトを使えます。\n"
"現在、*spec* には ``name`` 属性が必要です。"
msgid ""
"On success, return the new module. On error, return ``NULL`` with an "
"exception set."
msgstr ""
"成功すると新しいモジュールを返します。\n"
"エラー時には例外を設定して ``NULL`` を返します。"
msgid ""
"Note that this does not process the module's execution slot "
"(:c:data:`Py_mod_exec`). Both :c:func:`!PyModule_FromSlotsAndSpec` "
"and :c:func:`PyModule_Exec` must be called to fully initialize a module. "
"(See also :ref:`multi-phase-initialization`.)"
msgstr ""
"この関数はモジュールの実行スロット (:c:data:`Py_mod_exec`) を処理しないことに"
"注意してください。\n"
"モジュールを完全に初期化するには、:c:func:`!PyModule_FromSlotsAndSpec` "
"と :c:func:`PyModule_Exec` の両方を呼び出す必要があります (:ref:`multi-phase-"
"initialization` も参照)。"
msgid "Execute the :c:data:`Py_mod_exec` slot(s) of *module*."
msgstr "*module* の :c:data:`Py_mod_exec` スロットを実行します。"
msgid "On success, return 0. On error, return -1 with an exception set."
msgstr ""
"成功すると 0 を返します。\n"
"エラー時には例外を設定して -1 を返します。"
msgid ""
"For clarity: If *module* has no slots, for example if it uses :ref:`legacy "