-
-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathinit.po
2107 lines (1839 loc) · 107 KB
/
init.po
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-2018, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-30 05:56+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Osamu NAKAMURA, 2017\n"
"Language-Team: Japanese (https://www.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/init.rst:8
msgid "Initialization, Finalization, and Threads"
msgstr "初期化 (initialization)、終了処理 (finalization)、スレッド"
#: ../../c-api/init.rst:13
msgid "Before Python Initialization"
msgstr ""
#: ../../c-api/init.rst:15
msgid ""
"In an application embedding Python, the :c:func:`Py_Initialize` function "
"must be called before using any other Python/C API functions; with the "
"exception of a few functions and the :ref:`global configuration variables "
"<global-conf-vars>`."
msgstr ""
#: ../../c-api/init.rst:20
msgid ""
"The following functions can be safely called before Python is initialized:"
msgstr ""
#: ../../c-api/init.rst:22
msgid "Configuration functions:"
msgstr ""
#: ../../c-api/init.rst:24
msgid ":c:func:`PyImport_AppendInittab`"
msgstr ""
#: ../../c-api/init.rst:25
msgid ":c:func:`PyImport_ExtendInittab`"
msgstr ""
#: ../../c-api/init.rst:26
msgid ":c:func:`PyInitFrozenExtensions`"
msgstr ""
#: ../../c-api/init.rst:27
msgid ":c:func:`PyMem_SetAllocator`"
msgstr ""
#: ../../c-api/init.rst:28
msgid ":c:func:`PyMem_SetupDebugHooks`"
msgstr ""
#: ../../c-api/init.rst:29
msgid ":c:func:`PyObject_SetArenaAllocator`"
msgstr ""
#: ../../c-api/init.rst:30
msgid ":c:func:`Py_SetPath`"
msgstr ""
#: ../../c-api/init.rst:31
msgid ":c:func:`Py_SetProgramName`"
msgstr ""
#: ../../c-api/init.rst:32
msgid ":c:func:`Py_SetPythonHome`"
msgstr ""
#: ../../c-api/init.rst:33
msgid ":c:func:`Py_SetStandardStreamEncoding`"
msgstr ""
#: ../../c-api/init.rst:34
msgid ":c:func:`PySys_AddWarnOption`"
msgstr ""
#: ../../c-api/init.rst:35
msgid ":c:func:`PySys_AddXOption`"
msgstr ""
#: ../../c-api/init.rst:36
msgid ":c:func:`PySys_ResetWarnOptions`"
msgstr ""
#: ../../c-api/init.rst:38
msgid "Informative functions:"
msgstr ""
#: ../../c-api/init.rst:40
msgid ":c:func:`PyMem_GetAllocator`"
msgstr ""
#: ../../c-api/init.rst:41
msgid ":c:func:`PyObject_GetArenaAllocator`"
msgstr ""
#: ../../c-api/init.rst:42
msgid ":c:func:`Py_GetBuildInfo`"
msgstr ""
#: ../../c-api/init.rst:43
msgid ":c:func:`Py_GetCompiler`"
msgstr ""
#: ../../c-api/init.rst:44
msgid ":c:func:`Py_GetCopyright`"
msgstr ""
#: ../../c-api/init.rst:45
msgid ":c:func:`Py_GetPlatform`"
msgstr ""
#: ../../c-api/init.rst:46
msgid ":c:func:`Py_GetVersion`"
msgstr ""
#: ../../c-api/init.rst:48
msgid "Utilities:"
msgstr ""
#: ../../c-api/init.rst:50
msgid ":c:func:`Py_DecodeLocale`"
msgstr ""
#: ../../c-api/init.rst:52
msgid "Memory allocators:"
msgstr ""
#: ../../c-api/init.rst:54
msgid ":c:func:`PyMem_RawMalloc`"
msgstr ":c:func:`PyMem_RawMalloc`"
#: ../../c-api/init.rst:55
msgid ":c:func:`PyMem_RawRealloc`"
msgstr ":c:func:`PyMem_RawRealloc`"
#: ../../c-api/init.rst:56
msgid ":c:func:`PyMem_RawCalloc`"
msgstr ":c:func:`PyMem_RawCalloc`"
#: ../../c-api/init.rst:57
msgid ":c:func:`PyMem_RawFree`"
msgstr ":c:func:`PyMem_RawFree`"
#: ../../c-api/init.rst:61
msgid ""
"The following functions **should not be called** before "
":c:func:`Py_Initialize`: :c:func:`Py_EncodeLocale`, :c:func:`Py_GetPath`, "
":c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, "
":c:func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome`, "
":c:func:`Py_GetProgramName` and :c:func:`PyEval_InitThreads`."
msgstr ""
#: ../../c-api/init.rst:71
msgid "Global configuration variables"
msgstr ""
#: ../../c-api/init.rst:73
msgid ""
"Python has variables for the global configuration to control different "
"features and options. By default, these flags are controlled by "
":ref:`command line options <using-on-interface-options>`."
msgstr ""
#: ../../c-api/init.rst:77
msgid ""
"When a flag is set by an option, the value of the flag is the number of "
"times that the option was set. For example, ``-b`` sets "
":c:data:`Py_BytesWarningFlag` to 1 and ``-bb`` sets "
":c:data:`Py_BytesWarningFlag` to 2."
msgstr ""
#: ../../c-api/init.rst:83
msgid ""
"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with "
":class:`str` or :class:`bytes` with :class:`int`. Issue an error if greater"
" or equal to ``2``."
msgstr ""
#: ../../c-api/init.rst:87
msgid "Set by the :option:`-b` option."
msgstr ""
#: ../../c-api/init.rst:91
msgid ""
"Turn on parser debugging output (for expert only, depending on compilation "
"options)."
msgstr ""
#: ../../c-api/init.rst:94
msgid ""
"Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment "
"variable."
msgstr ""
#: ../../c-api/init.rst:99
msgid ""
"If set to non-zero, Python won't try to write ``.pyc`` files on the import "
"of source modules."
msgstr ""
#: ../../c-api/init.rst:102
msgid ""
"Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE` "
"environment variable."
msgstr ""
#: ../../c-api/init.rst:107
msgid ""
"Suppress error messages when calculating the module search path in "
":c:func:`Py_GetPath`."
msgstr ""
#: ../../c-api/init.rst:110
msgid ""
"Private flag used by ``_freeze_importlib`` and ``frozenmain`` programs."
msgstr ""
#: ../../c-api/init.rst:114
msgid ""
"Set to ``1`` if the :envvar:`PYTHONHASHSEED` environment variable is set to "
"a non-empty string."
msgstr ""
#: ../../c-api/init.rst:117
msgid ""
"If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment "
"variable to initialize the secret hash seed."
msgstr ""
#: ../../c-api/init.rst:122
msgid ""
"Ignore all :envvar:`PYTHON*` environment variables, e.g. "
":envvar:`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set."
msgstr ""
"全ての :envvar:`PYTHON*` 環境変数を無視します。例えば、 :envvar:`PYTHONPATH` や "
":envvar:`PYTHONHOME` などです。"
#: ../../c-api/init.rst:125
msgid "Set by the :option:`-E` and :option:`-I` options."
msgstr ""
#: ../../c-api/init.rst:129
msgid ""
"When a script is passed as first argument or the :option:`-c` option is "
"used, enter interactive mode after executing the script or the command, even"
" when :data:`sys.stdin` does not appear to be a terminal."
msgstr ""
#: ../../c-api/init.rst:133
msgid ""
"Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment "
"variable."
msgstr ""
#: ../../c-api/init.rst:138
msgid "Set by the :option:`-i` option."
msgstr ""
#: ../../c-api/init.rst:142
msgid ""
"Run Python in isolated mode. In isolated mode :data:`sys.path` contains "
"neither the script's directory nor the user's site-packages directory."
msgstr ""
#: ../../c-api/init.rst:145
msgid "Set by the :option:`-I` option."
msgstr ""
#: ../../c-api/init.rst:151
msgid ""
"If the flag is non-zero, use the ``mbcs`` encoding instead of the UTF-8 "
"encoding for the filesystem encoding."
msgstr ""
#: ../../c-api/init.rst:154
msgid ""
"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment "
"variable is set to a non-empty string."
msgstr ""
#: ../../c-api/init.rst:157
msgid "See :pep:`529` for more details."
msgstr ""
#: ../../c-api/init.rst:159 ../../c-api/init.rst:171
msgid "Availability: Windows."
msgstr "利用できる環境 : Windows."
#: ../../c-api/init.rst:163
msgid ""
"If the flag is non-zero, use :class:`io.FileIO` instead of "
":class:`WindowsConsoleIO` for :mod:`sys` standard streams."
msgstr ""
#: ../../c-api/init.rst:166
msgid ""
"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable "
"is set to a non-empty string."
msgstr ""
#: ../../c-api/init.rst:169
msgid "See :pep:`528` for more details."
msgstr ""
#: ../../c-api/init.rst:175
msgid ""
"Disable the import of the module :mod:`site` and the site-dependent "
"manipulations of :data:`sys.path` that it entails. Also disable these "
"manipulations if :mod:`site` is explicitly imported later (call "
":func:`site.main` if you want them to be triggered)."
msgstr ""
":mod:`site` モジュールの import と、そのモジュールが行なっていた site ごとの :data:`sys.path` "
"への操作を無効にします。後に :mod:`site` を明示的に import しても、これらの操作は実行されません (実行したい場合は、 "
":func:`site.main` を呼び出してください)。"
#: ../../c-api/init.rst:180
msgid "Set by the :option:`-S` option."
msgstr ""
#: ../../c-api/init.rst:184
msgid ""
"Don't add the :data:`user site-packages directory <site.USER_SITE>` to "
":data:`sys.path`."
msgstr ""
":data:`user site-packages directory <site.USER_SITE>` を :data:`sys.path` "
"に追加しません。"
#: ../../c-api/init.rst:187
msgid ""
"Set by the :option:`-s` and :option:`-I` options, and the "
":envvar:`PYTHONNOUSERSITE` environment variable."
msgstr ""
#: ../../c-api/init.rst:192
msgid ""
"Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment "
"variable."
msgstr ""
#: ../../c-api/init.rst:197
msgid ""
"Don't display the copyright and version messages even in interactive mode."
msgstr "インタラクティブモードでも copyright とバージョンのメッセージを表示しません。"
#: ../../c-api/init.rst:199
msgid "Set by the :option:`-q` option."
msgstr ""
#: ../../c-api/init.rst:205
msgid "Force the stdout and stderr streams to be unbuffered."
msgstr ""
#: ../../c-api/init.rst:207
msgid ""
"Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED` "
"environment variable."
msgstr ""
#: ../../c-api/init.rst:212
msgid ""
"Print a message each time a module is initialized, showing the place "
"(filename or built-in module) from which it is loaded. If greater or equal "
"to ``2``, print a message for each file that is checked for when searching "
"for a module. Also provides information on module cleanup at exit."
msgstr ""
#: ../../c-api/init.rst:217
msgid ""
"Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment "
"variable."
msgstr ""
#: ../../c-api/init.rst:222
msgid "Initializing and finalizing the interpreter"
msgstr "インタプリタの初期化と終了処理"
#: ../../c-api/init.rst:240
msgid ""
"Initialize the Python interpreter. In an application embedding Python, "
"this should be called before using any other Python/C API functions; see "
":ref:`Before Python Initialization <pre-init-safe>` for the few exceptions."
msgstr ""
#: ../../c-api/init.rst:244
msgid ""
"This initializes the table of loaded modules (``sys.modules``), and creates "
"the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It"
" also initializes the module search path (``sys.path``). It does not set "
"``sys.argv``; use :c:func:`PySys_SetArgvEx` for that. This is a no-op when "
"called for a second time (without calling :c:func:`Py_FinalizeEx` first). "
"There is no return value; it is a fatal error if the initialization fails."
msgstr ""
#: ../../c-api/init.rst:253
msgid ""
"On Windows, changes the console mode from ``O_TEXT`` to ``O_BINARY``, which "
"will also affect non-Python uses of the console using the C Runtime."
msgstr ""
"Windows では ``O_TEXT`` から ``O_BINARY`` へコンソールモードが変更されますが、これはその C "
"ランタイムを使っているコンソールでの Python 以外の使い勝手にも影響を及ぼします。"
#: ../../c-api/init.rst:259
msgid ""
"This function works like :c:func:`Py_Initialize` if *initsigs* is ``1``. If "
"*initsigs* is ``0``, it skips initialization registration of signal "
"handlers, which might be useful when Python is embedded."
msgstr ""
"*initsigs* に ``1`` を指定した場合、この関数は :c:func:`Py_Initialize` と同じように動作します。\n"
"*initsigs* に ``0`` を指定した場合、初期化時のシグナルハンドラの登録をスキップすることができ、これは Python の埋め込みで便利でしょう。"
#: ../../c-api/init.rst:266
msgid ""
"Return true (nonzero) when the Python interpreter has been initialized, "
"false (zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns "
"false until :c:func:`Py_Initialize` is called again."
msgstr ""
"Python インタプリタが初期化済みであれば真(非ゼロ)を、さもなければ偽(ゼロ)を返します。:c:func:`Py_FinalizeEx` "
"を呼び出した後は、:c:func:`Py_Initialize` を再び呼び出すまで、この関数は偽を返します。"
#: ../../c-api/init.rst:273
msgid ""
"Undo all initializations made by :c:func:`Py_Initialize` and subsequent use "
"of Python/C API functions, and destroy all sub-interpreters (see "
":c:func:`Py_NewInterpreter` below) that were created and not yet destroyed "
"since the last call to :c:func:`Py_Initialize`. Ideally, this frees all "
"memory allocated by the Python interpreter. This is a no-op when called for"
" a second time (without calling :c:func:`Py_Initialize` again first). "
"Normally the return value is ``0``. If there were errors during "
"finalization (flushing buffered data), ``-1`` is returned."
msgstr ""
#: ../../c-api/init.rst:282
msgid ""
"This function is provided for a number of reasons. An embedding application"
" might want to restart Python without having to restart the application "
"itself. An application that has loaded the Python interpreter from a "
"dynamically loadable library (or DLL) might want to free all memory "
"allocated by Python before unloading the DLL. During a hunt for memory leaks"
" in an application a developer might want to free all memory allocated by "
"Python before exiting from the application."
msgstr ""
"この関数が提供されている理由はいくつかあります。Python の埋め込みを行っているアプリケーションでは、アプリケーションを再起動することなく "
"Python を再起動したいことがあります。また、動的ロード可能イブラリ (あるいは DLL) から Python "
"インタプリタをロードするアプリケーションでは、DLL をアンロードする前に Python "
"が確保したメモリを全て解放したいと考えるかもしれません。アプリケーション内で起きているメモリリークを追跡する際に、開発者は Python "
"が確保したメモリをアプリケーションの終了前に解放させたいと思う場合もあります。"
#: ../../c-api/init.rst:290
msgid ""
"**Bugs and caveats:** The destruction of modules and objects in modules is "
"done in random order; this may cause destructors (:meth:`__del__` methods) "
"to fail when they depend on other objects (even functions) or modules. "
"Dynamically loaded extension modules loaded by Python are not unloaded. "
"Small amounts of memory allocated by the Python interpreter may not be freed"
" (if you find a leak, please report it). Memory tied up in circular "
"references between objects is not freed. Some memory allocated by extension"
" modules may not be freed. Some extensions may not work properly if their "
"initialization routine is called more than once; this can happen if an "
"application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` more "
"than once."
msgstr ""
"**バグおよび注意事項:** "
"モジュールやモジュール内のオブジェクトはランダムな順番で削除されます。このため、他のオブジェクト(関数オブジェクトも含みます) "
"やモジュールに依存するデストラクタ (:meth:`__del__` メソッド) "
"が失敗してしまうことがあります。動的にロードされるようになっている拡張モジュールが Python によってロードされていた場合、アンロードされません。 "
"Python が確保したメモリがわずかながら解放されないかもしれません "
"(メモリリークを発見したら、どうか報告してください)。オブジェクト間の循環参照に捕捉されているメモリは解放されないことがあります。拡張モジュールが確保したメモリは解放されないことがあります。拡張モジュールによっては、初期化ルーチンを"
" 2 度以上呼び出すと正しく動作しないことがあります。こうした状況は、 :c:func:`Py_Initialize` や "
":c:func:`Py_FinalizeEx` を 2 度以上呼び出すと起こり得ます。"
#: ../../c-api/init.rst:306
msgid ""
"This is a backwards-compatible version of :c:func:`Py_FinalizeEx` that "
"disregards the return value."
msgstr "この関数は :c:func:`Py_FinalizeEx` の後方互換性バージョンで、戻り値がありません。"
#: ../../c-api/init.rst:311
msgid "Process-wide parameters"
msgstr "プロセスワイドのパラメータ"
#: ../../c-api/init.rst:321
msgid ""
"This function should be called before :c:func:`Py_Initialize`, if it is "
"called at all. It specifies which encoding and error handling to use with "
"standard IO, with the same meanings as in :func:`str.encode`."
msgstr ""
"もし :c:func:`Py_Initialize` が呼ばれるなら、この関数はその前に呼ばなければなりません。標準の IO "
"において、どのエンコーディングおよびどんなエラー処理を使うかを、 :func:`str.encode` と同様の意味で指定します。"
#: ../../c-api/init.rst:325
msgid ""
"It overrides :envvar:`PYTHONIOENCODING` values, and allows embedding code to"
" control IO encoding when the environment variable does not work."
msgstr ""
"これは、環境変数が働かない時に :envvar:`PYTHONIOENCODING` の値を上書きし、埋め込みコードが IO "
"エンコーディングをコントロールできるようにします。"
#: ../../c-api/init.rst:328
msgid ""
"``encoding`` and/or ``errors`` may be NULL to use :envvar:`PYTHONIOENCODING`"
" and/or default values (depending on other settings)."
msgstr ""
"``encoding`` と ``errors`` のどちらかまたは両方を NULL にすることで、 "
":envvar:`PYTHONIOENCODING` とデフォルト値のどちらかまたは両方を使うことができます (他の設定に依存します)。"
#: ../../c-api/init.rst:332
msgid ""
"Note that :data:`sys.stderr` always uses the \"backslashreplace\" error "
"handler, regardless of this (or any other) setting."
msgstr ""
"この設定 (あるいは他の設定) に関わらず、 :data:`sys.stderr` は常に \"backslashreplace\" "
"エラーハンドラを使うことに注意してください。"
#: ../../c-api/init.rst:335
msgid ""
"If :c:func:`Py_FinalizeEx` is called, this function will need to be called "
"again in order to affect subsequent calls to :c:func:`Py_Initialize`."
msgstr ""
":c:func:`Py_FinalizeEx` を呼び出した場合は、:c:func:`Py_Initialize` "
"を呼び出す前に、この関数を再度呼び出す必要があるでしょう。"
#: ../../c-api/init.rst:338
msgid ""
"Returns ``0`` if successful, a nonzero value on error (e.g. calling after "
"the interpreter has already been initialized)."
msgstr ""
"成功したら ``0`` を、エラーの場合は ``0`` でない値を返します (例えば、インタプリタが初期化された後に、この関数が呼び出された場合)。"
#: ../../c-api/init.rst:351
msgid ""
"This function should be called before :c:func:`Py_Initialize` is called for "
"the first time, if it is called at all. It tells the interpreter the value "
"of the ``argv[0]`` argument to the :c:func:`main` function of the program "
"(converted to wide characters). This is used by :c:func:`Py_GetPath` and "
"some other functions below to find the Python run-time libraries relative to"
" the interpreter executable. The default value is ``'python'``. The "
"argument should point to a zero-terminated wide character string in static "
"storage whose contents will not change for the duration of the program's "
"execution. No code in the Python interpreter will change the contents of "
"this storage."
msgstr ""
"この関数を呼び出すなら、最初に :c:func:`Py_Initialize` "
"を呼び出すよりも前に呼び出さなければなりません。この関数はインタプリタにプログラムの :c:func:`main` 関数に指定した "
"``argv[0]`` 引数の値を教えます (ワイドキャラクタに変換されます)。この引数値は、 :c:func:`Py_GetPath` "
"や、以下に示すその他の関数が、インタプリタの実行可能形式から Python ランタイムライブラリへの相対パスを取得するために使われます。デフォルトの値は"
" ``'python'`` "
"です。引数はゼロ終端されたワイドキャラクタ文字列で、静的な記憶領域に入っていなければならず、その内容はプログラムの実行中に変更してはなりません。 "
"Python インタプリタ内のコードで、この記憶領域の内容を変更するものは一切ありません。"
#: ../../c-api/init.rst:362 ../../c-api/init.rst:476 ../../c-api/init.rst:578
#: ../../c-api/init.rst:605 ../../c-api/init.rst:622
msgid ""
"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a "
":c:type:`wchar_*` string."
msgstr ""
"バイト文字列を :c:type:`wchar_*` 文字列にデコードするには :c:func:`Py_DecodeLocale` を使ってください。"
#: ../../c-api/init.rst:370
msgid ""
"Return the program name set with :c:func:`Py_SetProgramName`, or the "
"default. The returned string points into static storage; the caller should "
"not modify its value."
msgstr ""
":c:func:`Py_SetProgramName` "
"で設定されたプログラム名か、デフォルトのプログラム名を返します。関数が返す文字列ポインタは静的な記憶領域を返します。関数の呼び出し側はこの値を変更できません。"
#: ../../c-api/init.rst:377
msgid ""
"Return the *prefix* for installed platform-independent files. This is "
"derived through a number of complicated rules from the program name set with"
" :c:func:`Py_SetProgramName` and some environment variables; for example, if"
" the program name is ``'/usr/local/bin/python'``, the prefix is "
"``'/usr/local'``. The returned string points into static storage; the caller"
" should not modify its value. This corresponds to the :makevar:`prefix` "
"variable in the top-level :file:`Makefile` and the ``--prefix`` argument to "
"the :program:`configure` script at build time. The value is available to "
"Python code as ``sys.prefix``. It is only useful on Unix. See also the next"
" function."
msgstr ""
"プラットフォーム非依存のファイル群がインストールされている場所である *prefix* を返します。この値は "
":c:func:`Py_SetProgramName` "
"でセットされたプログラム名やいくつかの環境変数をもとに、数々の複雑な規則から導出されます。例えば、プログラム名が "
"``'/usr/local/bin/python'`` の場合、prefix は ``'/usr/local'`` "
"になります。関数が返す文字列ポインタは静的な記憶領域を返します; 関数の呼び出し側はこの値を変更できません。この値はトップレベルの "
":file:`Makefile` に指定されている変数 :makevar:`prefix` や、ビルド値に :program:`configure` "
"スクリプトに指定した ``--prefix`` 引数に対応しています。この値は Python コードからは ``sys.prefix`` "
"として利用できます。これはUnixでのみ有用です。次に説明する関数も参照してください。"
#: ../../c-api/init.rst:390
msgid ""
"Return the *exec-prefix* for installed platform-*dependent* files. This is "
"derived through a number of complicated rules from the program name set with"
" :c:func:`Py_SetProgramName` and some environment variables; for example, if"
" the program name is ``'/usr/local/bin/python'``, the exec-prefix is "
"``'/usr/local'``. The returned string points into static storage; the "
"caller should not modify its value. This corresponds to the "
":makevar:`exec_prefix` variable in the top-level :file:`Makefile` and the "
"``--exec-prefix`` argument to the :program:`configure` script at build "
"time. The value is available to Python code as ``sys.exec_prefix``. It is "
"only useful on Unix."
msgstr ""
"プラットフォーム *依存* のファイルがインストールされている場所である *exec-prefix* を返します。この値は "
":c:func:`Py_SetProgramName` "
"でセットされたプログラム名やいくつかの環境変数をもとに、数々の複雑な規則から導出されます。例えば、プログラム名が "
"``'/usr/local/bin/python'`` の場合、exec-prefix は ``'/usr/local'`` "
"になります。関数が返す文字列ポインタは静的な記憶領域を返します; 関数の呼び出し側はこの値を変更できません。この値はトップレベルの "
":file:`Makefile` に指定されている変数 :makevar:`exec_prefix` や、ビルド値に "
":program:`configure` スクリプトに指定した ``--exec-prefix`` 引数に対応しています。この値は Python "
"コードからは ``sys.exec_prefix`` として利用できます。 Unixのみで有用です。"
#: ../../c-api/init.rst:400
msgid ""
"Background: The exec-prefix differs from the prefix when platform dependent "
"files (such as executables and shared libraries) are installed in a "
"different directory tree. In a typical installation, platform dependent "
"files may be installed in the :file:`/usr/local/plat` subtree while platform"
" independent may be installed in :file:`/usr/local`."
msgstr ""
"背景: プラットフォーム依存のファイル (実行形式や共有ライブラリ) が別のディレクトリツリー内にインストールされている場合、 exec-prefix "
"は prefix と異なります。典型的なインストール形態では、プラットフォーム非依存のファイルが :file:`/usr/local` "
"に収められる一方、プラットフォーム依存のファイルは :file:`/usr/local/plat` サブツリーに収められます。"
#: ../../c-api/init.rst:406
msgid ""
"Generally speaking, a platform is a combination of hardware and software "
"families, e.g. Sparc machines running the Solaris 2.x operating system are "
"considered the same platform, but Intel machines running Solaris 2.x are "
"another platform, and Intel machines running Linux are yet another platform."
" Different major revisions of the same operating system generally also form"
" different platforms. Non-Unix operating systems are a different story; the"
" installation strategies on those systems are so different that the prefix "
"and exec-prefix are meaningless, and set to the empty string. Note that "
"compiled Python bytecode files are platform independent (but not independent"
" from the Python version by which they were compiled!)."
msgstr ""
"一般的に、プラットフォームとは、ハードウェアとソフトウェアファミリの組み合わせを指します。例えば、Solaris 2.x を動作させている Sparc "
"マシンは全て同じプラットフォームであるとみなしますが、Solaris 2.x を動作させている Intel "
"マシンは違うプラットフォームになりますし、同じ Intel マシンでも Linux "
"を動作させているならまた別のプラットフォームです。一般的には、同じオペレーティングシステムでも、メジャーリビジョンの違うものは異なるプラットフォームです。非"
" Unix のオペレーティングシステムの場合は話はまた別です; 非 Unix のシステムでは、インストール方法はとても異なっていて、prefix や "
"exec-prefix には意味がなく、空文字列が設定されています。コンパイル済みの Python "
"バイトコードはプラットフォームに依存しないので注意してください (ただし、どのバージョンの Python でコンパイルされたかには依存します!)。"
#: ../../c-api/init.rst:417
msgid ""
"System administrators will know how to configure the :program:`mount` or "
":program:`automount` programs to share :file:`/usr/local` between platforms "
"while having :file:`/usr/local/plat` be a different filesystem for each "
"platform."
msgstr ""
"システム管理者は、 :program:`mount` や :program:`automount` プログラムを使って、各プラットフォーム用の "
":file:`/usr/local/plat` を異なったファイルシステムに置き、プラットフォーム間で :file:`/usr/local` "
"を共有するための設定方法を知っているでしょう。"
#: ../../c-api/init.rst:429
msgid ""
"Return the full program name of the Python executable; this is computed as "
"a side-effect of deriving the default module search path from the program "
"name (set by :c:func:`Py_SetProgramName` above). The returned string points "
"into static storage; the caller should not modify its value. The value is "
"available to Python code as ``sys.executable``."
msgstr ""
"Python 実行可能形式の完全なプログラム名を返します; この値はデフォルトのモジュール検索パスを (前述の "
":c:func:`Py_SetProgramName` で設定された) "
"プログラム名から導出する際に副作用的に計算されます。関数が返す文字列ポインタは静的な記憶領域を返します; "
"関数の呼び出し側はこの値を変更できません。この値は Python コードからは ``sys.executable`` として利用できます。"
#: ../../c-api/init.rst:443
msgid ""
"Return the default module search path; this is computed from the program "
"name (set by :c:func:`Py_SetProgramName` above) and some environment "
"variables. The returned string consists of a series of directory names "
"separated by a platform dependent delimiter character. The delimiter "
"character is ``':'`` on Unix and Mac OS X, ``';'`` on Windows. The returned"
" string points into static storage; the caller should not modify its value."
" The list :data:`sys.path` is initialized with this value on interpreter "
"startup; it can be (and usually is) modified later to change the search path"
" for loading modules."
msgstr ""
"デフォルトのモジュール検索パスを返します; パスは (上の :c:func:`Py_SetProgramName` で設定された) "
"プログラム名と、いくつかの環境変数から計算されます。戻り値となる文字列は、プラットフォーム依存のパス区切り文字で分割された一連のディレクトリ名からなります。区切り文字は"
" Unix と Mac OS X では ``':'``, Windows では ``';'`` "
"です。関数が返す文字列ポインタは静的な記憶領域を返します; 関数の呼び出し側はこの値を変更できません。 :data:`sys.path` "
"はインタプリタによってこの値で初期化され、その後にモジュールをロードする際の検索パスを変更するために修正することが可能で、たいていそうされます。"
#: ../../c-api/init.rst:463
msgid ""
"Set the default module search path. If this function is called before "
":c:func:`Py_Initialize`, then :c:func:`Py_GetPath` won't attempt to compute "
"a default search path but uses the one provided instead. This is useful if "
"Python is embedded by an application that has full knowledge of the location"
" of all modules. The path components should be separated by the platform "
"dependent delimiter character, which is ``':'`` on Unix and Mac OS X, "
"``';'`` on Windows."
msgstr ""
"デフォルトのモジュール検索パスを設定します。この関数が :c:func:`Py_Initialize` より前に呼び出された場合、 "
":c:func:`Py_GetPath` はデフォルトの検索パスを計算しようとせず、代わりにこの関数が与えた検索パスを返します。これは、 Python "
"がアプリケーションに組み込まれていて、そのアプリケーションが全てのモジュールの場所を完全に把握しているときに便利です。パスはプラットフォーム依存の区切り文字で分割されている必要があります。区切り文字は"
" Unix と Mac OS X では ``':'`` 、Windows では ``';'`` です。"
#: ../../c-api/init.rst:471
msgid ""
"This also causes :data:`sys.executable` to be set only to the raw program "
"name (see :c:func:`Py_SetProgramName`) and for :data:`sys.prefix` and "
":data:`sys.exec_prefix` to be empty. It is up to the caller to modify these"
" if required after calling :c:func:`Py_Initialize`."
msgstr ""
"また、この関数は :data:`sys.executable` に特に加工されていないプログラム名 "
"(:c:func:`Py_SetProgramName` を参照) をセットし、 :data:`sys.prefix` と "
":data:`sys.exec_prefix` に空文字列をセットします。 :c:func:`Py_Initialize` "
"が呼び出された後で、これらの値を変更する必要がある場合は、呼び出し側の責任で行います。"
#: ../../c-api/init.rst:479
msgid ""
"The path argument is copied internally, so the caller may free it after the "
"call completes."
msgstr "パス引数は内部でコピーされます。したがって、呼び出し完了後に呼び出し元は引数を解放できます。"
#: ../../c-api/init.rst:485
msgid ""
"Return the version of this Python interpreter. This is a string that looks "
"something like ::"
msgstr "Python インタプリタのバージョンを返します。バージョンは、次のような形式の文字列です ::"
#: ../../c-api/init.rst:492
msgid ""
"The first word (up to the first space character) is the current Python "
"version; the first three characters are the major and minor version "
"separated by a period. The returned string points into static storage; the "
"caller should not modify its value. The value is available to Python code "
"as :data:`sys.version`."
msgstr ""
"第一ワード (最初のスペース文字まで) は、現在の Python のバージョンです; "
"最初の三文字は、ピリオドで区切られたメジャーバージョンとマイナーバージョンです。関数が返す文字列ポインタは静的な記憶領域を返します; "
"関数の呼び出し側はこの値を変更できません。この値は Python コードからは :data:`sys.version` として利用できます。"
#: ../../c-api/init.rst:502
msgid ""
"Return the platform identifier for the current platform. On Unix, this is "
"formed from the \"official\" name of the operating system, converted to "
"lower case, followed by the major revision number; e.g., for Solaris 2.x, "
"which is also known as SunOS 5.x, the value is ``'sunos5'``. On Mac OS X, "
"it is ``'darwin'``. On Windows, it is ``'win'``. The returned string "
"points into static storage; the caller should not modify its value. The "
"value is available to Python code as ``sys.platform``."
msgstr ""
"現在のプラットフォームのプラットフォーム識別文字列を返します。Unixでは、オペレーティングシステムの \"公式の\" "
"名前を小文字に変換し、後ろにメジャーリビジョン番号を付けた構成になっています。例えば Solaris 2.x は、SunOS 5.x, "
"としても知られていますが、``'sunos5'`` になります。Mac OS X では ``'darwin'`` です。Windows では "
"``'win'`` です。関数が返す文字列ポインタは静的な記憶領域を返します; 関数の呼び出し側はこの値を変更できません。この値は Python "
"コードからは ``sys.platform`` として利用できます。"
#: ../../c-api/init.rst:513
msgid ""
"Return the official copyright string for the current Python version, for "
"example"
msgstr "現在の Python バージョンに対する公式の著作権表示文字列を返します。例えば"
#: ../../c-api/init.rst:515
msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``"
msgstr "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``"
#: ../../c-api/init.rst:519
msgid ""
"The returned string points into static storage; the caller should not modify"
" its value. The value is available to Python code as ``sys.copyright``."
msgstr ""
"関数が返す文字列ポインタは静的な記憶領域を返します; 関数の呼び出し側はこの値を変更できません。この値は Python コードからは "
"``sys.copyright`` として利用できます。"
#: ../../c-api/init.rst:525
msgid ""
"Return an indication of the compiler used to build the current Python "
"version, in square brackets, for example::"
msgstr "現在使っているバージョンの Python をビルドする際に用いたコンパイラを示す文字列を、角括弧で囲った文字列を返します。例えば::"
#: ../../c-api/init.rst:532 ../../c-api/init.rst:546
msgid ""
"The returned string points into static storage; the caller should not modify"
" its value. The value is available to Python code as part of the variable "
"``sys.version``."
msgstr ""
"関数が返す文字列ポインタは静的な記憶領域を返します; 関数の呼び出し側はこの値を変更できません。この値は Python コードからは "
"``sys.version`` の一部として取り出せます。"
#: ../../c-api/init.rst:539
msgid ""
"Return information about the sequence number and build date and time of the"
" current Python interpreter instance, for example ::"
msgstr "現在使っている Python インタプリタインスタンスの、シーケンス番号とビルド日時に関する情報を返します。例えば ::"
#: ../../c-api/init.rst:558
msgid ""
"Set :data:`sys.argv` based on *argc* and *argv*. These parameters are "
"similar to those passed to the program's :c:func:`main` function with the "
"difference that the first entry should refer to the script file to be "
"executed rather than the executable hosting the Python interpreter. If "
"there isn't a script that will be run, the first entry in *argv* can be an "
"empty string. If this function fails to initialize :data:`sys.argv`, a "
"fatal condition is signalled using :c:func:`Py_FatalError`."
msgstr ""
"*argc* および *argv* に基づいて :data:`sys.argv` を設定します。これらの引数はプログラムの :c:func:`main`"
" に渡した引数に似ていますが、最初の要素が Python "
"インタプリタの宿主となっている実行形式の名前ではなく、実行されるスクリプト名を参照しなければならない点が違います。実行するスクリプトがない場合、 "
"*argv* の最初の要素は空文字列にしてもかまいません。この関数が :data:`sys.argv` の初期化に失敗した場合、致命的エラーを "
":c:func:`Py_FatalError` で知らせます。"
#: ../../c-api/init.rst:566
msgid ""
"If *updatepath* is zero, this is all the function does. If *updatepath* is "
"non-zero, the function also modifies :data:`sys.path` according to the "
"following algorithm:"
msgstr ""
"*updatepath* が 0 の場合、ここまでの動作がこの関数がすることの全てです。 *updatepath* が 0 でない場合、この関数は "
":data:`sys.path` を以下のアルゴリズムに基づいて修正します:"
#: ../../c-api/init.rst:570
msgid ""
"If the name of an existing script is passed in ``argv[0]``, the absolute "
"path of the directory where the script is located is prepended to "
":data:`sys.path`."
msgstr ""
"存在するスクリプトの名前が ``argv[0]`` に渡された場合、そのスクリプトがある場所の絶対パスを :data:`sys.path` "
"の先頭に追加します。"
#: ../../c-api/init.rst:573
msgid ""
"Otherwise (that is, if *argc* is ``0`` or ``argv[0]`` doesn't point to an "
"existing file name), an empty string is prepended to :data:`sys.path`, which"
" is the same as prepending the current working directory (``\".\"``)."
msgstr ""
"それ以外の場合 (*argc* が ``0`` だったり、 ``argv[0]`` が存在するファイル名を指していない場合)、 :data:`sys.path` の先頭に空の文字列を追加します。\n"
"これは現在の作業ディレクトリ (``\".\"``) を先頭に追加するのと同じです。"
#: ../../c-api/init.rst:582
msgid ""
"It is recommended that applications embedding the Python interpreter for "
"purposes other than executing a single script pass ``0`` as *updatepath*, "
"and update :data:`sys.path` themselves if desired. See `CVE-2008-5983 "
"<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_."
msgstr ""
"単一のスクリプトを実行する以外の目的でPython インタプリタを埋め込んでいるアプリケーションでは、 *updatepath* に ``0`` を渡して、必要な場合は自分で :data:`sys.path` を更新することをおすすめします。\n"
"`CVE-2008-5983 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_ を参照してください。"
#: ../../c-api/init.rst:587
msgid ""
"On versions before 3.1.3, you can achieve the same effect by manually "
"popping the first :data:`sys.path` element after having called "
":c:func:`PySys_SetArgv`, for example using::"
msgstr ""
"3.1.3 より前のバージョンでは、 :c:func:`PySys_SetArgv` の呼び出しが完了した後に :data:`sys.path` "
"の先頭の要素を取り出すことで、同じ効果が得られます。例えばこのように使います::"
#: ../../c-api/init.rst:601
msgid ""
"This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to "
"``1`` unless the :program:`python` interpreter was started with the "
":option:`-I`."
msgstr ""
"この関数は、 :program:`python` インタプリタが :option:`-I` オプション付きで実行されている場合を除き "
":c:func:`PySys_SetArgvEx` の *updatepath* に ``1`` を設定したのと同じように動作します。"
#: ../../c-api/init.rst:608
msgid "The *updatepath* value depends on :option:`-I`."
msgstr "*updatepath* の値は :option:`-I` オプションに依存します。"
#: ../../c-api/init.rst:613
msgid ""
"Set the default \"home\" directory, that is, the location of the standard "
"Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument "
"string."
msgstr ""
"Python の標準ライブラリがある、デフォルトの \"home\" ディレクトリを設定します。引数の文字列の意味については "
":envvar:`PYTHONHOME` を参照してください。"
#: ../../c-api/init.rst:617
msgid ""
"The argument should point to a zero-terminated character string in static "
"storage whose contents will not change for the duration of the program's "
"execution. No code in the Python interpreter will change the contents of "
"this storage."
msgstr ""
"引数は静的なストレージに置かれてプログラム実行中に書き換えられないようなゼロ終端の文字列であるべきです。Python "
"インタプリタはこのストレージの内容を変更しません。"
#: ../../c-api/init.rst:628
msgid ""
"Return the default \"home\", that is, the value set by a previous call to "
":c:func:`Py_SetPythonHome`, or the value of the :envvar:`PYTHONHOME` "
"environment variable if it is set."
msgstr ""
"前回の :c:func:`Py_SetPythonHome` 呼び出しで設定されたデフォルトの \"home\" か、 "
":envvar:`PYTHONHOME` 環境変数が設定されていればその値を返します。"
#: ../../c-api/init.rst:636
msgid "Thread State and the Global Interpreter Lock"
msgstr "スレッド状態 (thread state) とグローバルインタプリタロック (global interpreter lock)"
#: ../../c-api/init.rst:643
msgid ""
"The Python interpreter is not fully thread-safe. In order to support multi-"
"threaded Python programs, there's a global lock, called the :term:`global "
"interpreter lock` or :term:`GIL`, that must be held by the current thread "
"before it can safely access Python objects. Without the lock, even the "
"simplest operations could cause problems in a multi-threaded program: for "
"example, when two threads simultaneously increment the reference count of "
"the same object, the reference count could end up being incremented only "
"once instead of twice."
msgstr ""
"Python インタプリタは完全にはスレッドセーフではありません。マルチスレッドの Python "
"プログラムをサポートするために、グローバルインタプリタロック(:term:`global interpreter lock`, :term:`GIL`)"
" と呼ばれるグローバルなロックが存在していて、現在のスレッドが Python "
"オブジェクトに安全にアクセスする前に必ずロックを獲得しなければならなくなっています。ロック機構がなければ、単純な操作でさえ、マルチスレッドプログラムの実行に問題を引き起こす可能性があります。たとえば、二つのスレッドが同じオブジェクトの参照カウントを同時にインクリメントすると、結果的に参照カウントは二回でなく一回だけしかインクリメントされないかもしれません。"
#: ../../c-api/init.rst:653
msgid ""
"Therefore, the rule exists that only the thread that has acquired the "
":term:`GIL` may operate on Python objects or call Python/C API functions. In"
" order to emulate concurrency of execution, the interpreter regularly tries "
"to switch threads (see :func:`sys.setswitchinterval`). The lock is also "
"released around potentially blocking I/O operations like reading or writing "
"a file, so that other Python threads can run in the meantime."
msgstr ""
"このため、 :term:`GIL` を獲得したスレッドだけが Python オブジェクトを操作したり、 Python/C API "
"関数を呼び出したりできるというルールがあります。並行処理をエミュレートするために、インタプリタは定期的にロックを解放したり獲得したりします。 "
"(:func:`sys.setswitchinterval` を参照) このロックはブロックが起こりうる I/O 操作の付近でも解放・獲得され、 I/O"
" を要求するスレッドが I/O 操作の完了を待つ間、他のスレッドが動作できるようにしています。"
#: ../../c-api/init.rst:664
msgid ""
"The Python interpreter keeps some thread-specific bookkeeping information "
"inside a data structure called :c:type:`PyThreadState`. There's also one "
"global variable pointing to the current :c:type:`PyThreadState`: it can be "
"retrieved using :c:func:`PyThreadState_Get`."
msgstr ""
"Python インタプリタはスレッドごとに必要な情報を :c:type:`PyThreadState` "
"と呼ばれるデータ構造の中に保存します。そしてグローバル変数として現在の :c:type:`PyThreadState` "
"を指すポインタを1つ持ちます。このグローバル変数は :c:func:`PyThreadState_Get` を使って取得できます。"
#: ../../c-api/init.rst:670
msgid "Releasing the GIL from extension code"
msgstr "拡張コード内で GIL を解放する"
#: ../../c-api/init.rst:672
msgid ""
"Most extension code manipulating the :term:`GIL` has the following simple "
"structure::"
msgstr ":term:`GIL` を操作するほとんどのコードは、次のような単純な構造になります::"
#: ../../c-api/init.rst:681
msgid "This is so common that a pair of macros exists to simplify it::"
msgstr "この構造は非常に一般的なので、作業を単純にするために2つのマクロが用意されています::"
#: ../../c-api/init.rst:691
msgid ""
"The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a"
" hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the"
" block."
msgstr ""
#: ../../c-api/init.rst:695
msgid "The block above expands to the following code::"
msgstr ""
#: ../../c-api/init.rst:707
msgid ""
"Here is how these functions work: the global interpreter lock is used to "
"protect the pointer to the current thread state. When releasing the lock "
"and saving the thread state, the current thread state pointer must be "
"retrieved before the lock is released (since another thread could "
"immediately acquire the lock and store its own thread state in the global "
"variable). Conversely, when acquiring the lock and restoring the thread "
"state, the lock must be acquired before storing the thread state pointer."
msgstr ""
"これらの関数の動作を説明します。GIL "
"は現在のスレッド状態を指すポインタを保護するために使われます。ロックを解放してスレッド状態を退避する際、ロックを解放する前に現在のスレッド状態ポインタを取得しておかなければなりません"
" "
"(他のスレッドがすぐさまロックを獲得して、自らのスレッド状態をグローバル変数に保存してしまうかもしれないからです)。逆に、ロックを獲得してスレッド状態を復帰する際には、グローバル変数にスレッド状態ポインタを保存する前にロックを獲得しておかなければなりません。"
#: ../../c-api/init.rst:716
msgid ""
"Calling system I/O functions is the most common use case for releasing the "
"GIL, but it can also be useful before calling long-running computations "
"which don't need access to Python objects, such as compression or "
"cryptographic functions operating over memory buffers. For example, the "
"standard :mod:`zlib` and :mod:`hashlib` modules release the GIL when "