@@ -11,7 +11,7 @@ msgid ""
1111msgstr ""
1212"Project-Id-Version : Python 3.15\n "
1313"Report-Msgid-Bugs-To : \n "
14- "POT-Creation-Date : 2026-08-23 14:16 +0000\n "
14+ "POT-Creation-Date : 2026-09-05 16:26 +0000\n "
1515"PO-Revision-Date : 2025-09-16 00:00+0000\n "
1616"Last-Translator : python-doc bot, 2025\n "
1717"Language-Team : Japanese (https://app.transifex.com/python-doc/teams/5390/ "
@@ -28,128 +28,114 @@ msgstr ":mod:`!atexit` --- 終了ハンドラー"
2828
2929#: ../../library/atexit.rst:9
3030msgid ""
31- "The :mod:`!atexit` module defines functions to register and unregister "
32- "cleanup functions. Functions thus registered are automatically executed "
33- "upon normal interpreter termination. :mod:`!atexit` runs these functions in "
34- "the *reverse* order in which they were registered; if you register ``A``, "
35- "``B``, and ``C``, at interpreter termination time they will be run in the "
36- "order ``C``, ``B``, ``A``."
31+ "The :mod:`!atexit` module defines functions to register and unregister :dfn:"
32+ "`exit handlers`: functions that are automatically executed \" at exit\" , that "
33+ "is, upon normal program termination (for instance, if :func:`sys.exit` is "
34+ "called or the main module's execution completes) or, more generally, upon :"
35+ "term:`interpreter shutdown`."
3736msgstr ""
3837
39- #: ../../library/atexit.rst:16
38+ #: ../../library/atexit.rst:15
4039msgid ""
41- "**Note:** The functions registered via this module are not called when the "
42- "program is killed by a signal not handled by Python, when a Python fatal "
43- "internal error is detected, or when :func:`os._exit` is called."
40+ "At exit, all registered exit handlers are called in the *reverse* order in "
41+ "which they were registered. If you register ``A``, ``B``, and ``C``, at "
42+ "interpreter shutdown time they will be run in the order ``C``, ``B``, ``A``. "
43+ "The assumption is that lower level modules will normally be imported before "
44+ "higher level modules and thus must be cleaned up later."
4445msgstr ""
45- "**注意:** このモジュールを使用して登録された関数は、プログラムが Python が扱"
46- "わないシグナルによって kill された場合、Python 内部で致命的なエラーが検出され"
47- "た場合、あるいは :func:`os._exit` が呼び出された場合は実行されません。"
4846
49- #: ../../library/atexit.rst:20
47+ #: ../../library/atexit.rst:22
5048msgid ""
51- "**Note:** The effect of registering or unregistering functions from within a "
52- "cleanup function is undefined."
53- msgstr ""
54- "**注意:** クリーンアップ関数内からの関数の登録・登録解除効果は定義されていま"
55- "せん。"
56-
57- #: ../../library/atexit.rst:23
58- msgid ""
59- "When used with C-API subinterpreters, registered functions are local to the "
60- "interpreter they were registered in."
49+ "If an exception is raised during execution of an exit handler, a traceback "
50+ "is printed (unless :exc:`SystemExit` is raised) and the exception "
51+ "information is saved. After all exit handlers have had a chance to run, the "
52+ "last exception to be raised is re-raised."
6153msgstr ""
62- "C-API のサブインタープリタで使われているとき、登録された関数は登録先のイン"
63- "タープリタのローカルな関数になります。"
6454
65- #: ../../library/atexit.rst:29
55+ #: ../../library/atexit.rst:27
6656msgid ""
67- "Register *func* as a function to be executed at termination. Any optional "
68- "arguments that are to be passed to *func* must be passed as arguments to :"
69- "func:`register`. It is possible to register the same function and arguments "
70- "more than once."
57+ "In programs that use multiple interpreters, each interpreter has its own "
58+ "stack of exit handlers, which are executed when the interpreter shuts down "
59+ "(for example, with :meth:`concurrent.interpreters.Interpreter.close` or the "
60+ "C API :c:func:`Py_EndInterpreter`). Registration functions in this module "
61+ "only affect the interpreter they are called from."
7162msgstr ""
72- "*func* を終了時に実行する関数として登録します。*func* に渡す引数は :func:"
73- "`register` の引数として指定しなければなりません。同じ関数を同じ引数で複数回登"
74- "録できます。"
7563
7664#: ../../library/atexit.rst:34
7765msgid ""
78- "At normal program termination (for instance, if :func:`sys.exit` is called "
79- "or the main module's execution completes), all functions registered are "
80- "called in last in, first out order. The assumption is that lower level "
81- "modules will normally be imported before higher level modules and thus must "
82- "be cleaned up later."
66+ "**Note:** Exit handlers are not called when the program is killed by a "
67+ "signal not handled by Python, when a Python fatal internal error is "
68+ "detected, or when :func:`os._exit` is called."
8369msgstr ""
84- "通常のプログラムの終了時、例えば :func:`sys.exit` が呼び出されるとき、あるい"
85- "は、メインモジュールの実行が完了したときに、登録された全ての関数を、最後に登"
86- "録されたものから順に呼び出します。通常、より低レベルのモジュールはより高レベ"
87- "ルのモジュールより前に import されるので、後で後始末が行われるという仮定に基"
88- "づいています。"
8970
90- #: ../../library/atexit.rst:40
71+ #: ../../library/atexit.rst:38
9172msgid ""
92- "If an exception is raised during execution of the exit handlers, a traceback "
93- "is printed (unless :exc:`SystemExit` is raised) and the exception "
94- "information is saved. After all exit handlers have had a chance to run, the "
95- "last exception to be raised is re-raised."
73+ "**Note:** The effect of registering or unregistering functions from within a "
74+ "cleanup function is undefined."
9675msgstr ""
97- "終了ハンドラの実行中に例外が発生すると、(:exc:`SystemExit` 以外の場合は)ト"
98- "レースバックを表示して、例外の情報を保存します。全ての終了ハンドラに動作する"
99- "チャンスを与えた後に、最後に送出された例外を再送出します。"
76+ "**注意:** クリーンアップ関数内からの関数の登録・登録解除効果は定義されていま"
77+ "せん。"
10078
101- #: ../../library/atexit.rst:45
79+ #: ../../library/atexit.rst:42
10280msgid ""
103- "This function returns *func*, which makes it possible to use it as a "
104- "decorator."
105- msgstr "この関数は *func* を返し、これをデコレータとして利用できます。"
81+ "When writing exit handlers, especially in C API extensions, keep in mind "
82+ "that other exit handlers may still run arbitrary Python code after you clean "
83+ "up. Such code should succeed or fail with an exception, rather than crash."
84+ msgstr ""
10685
107- #: ../../library/atexit.rst:49
86+ #: ../../library/atexit.rst:47
10887msgid ""
109- "Starting new threads or calling :func:`os.fork` from a registered function "
110- "can lead to race condition between the main Python runtime thread freeing "
111- "thread states while internal :mod:`threading` routines or the new process "
112- "try to use that state. This can lead to crashes rather than clean shutdown."
88+ "Attempts to start a new thread or :func:`os.fork` a new process in an exit "
89+ "handler now leads to :exc:`RuntimeError`. Previously, this could cause race "
90+ "conditions between the main Python runtime thread freeing thread states "
91+ "while internal :mod:`threading` routines or the new process try to use that "
92+ "state, which could lead to crashes rather than clean shutdown."
11393msgstr ""
114- "登録された関数から新しいスレッドを開始したり、 :func:`os.fork` を呼び出したり"
115- "すると、メインの Python ランタイムスレッドがスレッド状態を開放する一方で、内"
116- "部の :mod:`threading` ルーチンや新しいプロセスがそのスレッド状態を使用しよう"
117- "と試みる競合が発生します。これはクリーンなシャットダウンではなく、クラッシュ"
118- "につながる恐れがあります。"
11994
12095#: ../../library/atexit.rst:55
12196msgid ""
122- "Attempts to start a new thread or :func:`os.fork` a new process in a "
123- "registered function now leads to :exc:`RuntimeError` ."
97+ "When used with subinterpreters, registered functions are local to the "
98+ "interpreter they were registered in ."
12499msgstr ""
125- "登録された関数から新しいスレッドの開始または新しいプロセスの :func:`os.fork` "
126- "が試みられた場合は、 :exc:`RuntimeError` が発生するようになりました。"
127100
128101#: ../../library/atexit.rst:61
129102msgid ""
130- "Remove *func* from the list of functions to be run at interpreter shutdown. :"
131- "func:`unregister` silently does nothing if *func* was not previously "
132- "registered. If *func* has been registered more than once, every occurrence "
133- "of that function in the :mod:`!atexit` call stack will be removed. Equality "
134- "comparisons (``==``) are used internally during unregistration, so function "
135- "references do not need to have matching identities."
103+ "Register *func* as an exit handler. Any optional arguments that are to be "
104+ "passed to *func* must be passed as arguments to :func:`register`. It is "
105+ "possible to register the same function and arguments more than once."
136106msgstr ""
137107
108+ #: ../../library/atexit.rst:66
109+ msgid ""
110+ "This function returns *func*, which makes it possible to use it as a "
111+ "decorator."
112+ msgstr "この関数は *func* を返し、これをデコレータとして利用できます。"
113+
138114#: ../../library/atexit.rst:71
115+ msgid ""
116+ "Remove *func* from the list of exit handlers. :func:`unregister` silently "
117+ "does nothing if *func* was not previously registered. If *func* has been "
118+ "registered more than once, every occurrence of that function in the :mod:`!"
119+ "atexit` call stack will be removed. Equality comparisons (``==``) are used "
120+ "internally during unregistration, so function references do not need to have "
121+ "matching identities."
122+ msgstr ""
123+
124+ #: ../../library/atexit.rst:81
139125msgid "Module :mod:`readline`"
140126msgstr ":mod:`readline` モジュール"
141127
142- #: ../../library/atexit.rst:72
128+ #: ../../library/atexit.rst:82
143129msgid ""
144130"Useful example of :mod:`!atexit` to read and write :mod:`readline` history "
145131"files."
146132msgstr ""
147133
148- #: ../../library/atexit.rst:79
134+ #: ../../library/atexit.rst:89
149135msgid ":mod:`!atexit` Example"
150136msgstr ""
151137
152- #: ../../library/atexit.rst:81
138+ #: ../../library/atexit.rst:91
153139msgid ""
154140"The following simple example demonstrates how a module can initialize a "
155141"counter from a file when it is imported and save the counter's updated value "
@@ -160,7 +146,7 @@ msgstr ""
160146"プログラムが終了するときにアプリケーションがこのモジュールを明示的に呼び出さ"
161147"なくてもカウンタが更新されるようにする方法を示しています。 ::"
162148
163- #: ../../library/atexit.rst:86
149+ #: ../../library/atexit.rst:96
164150msgid ""
165151"try:\n"
166152" with open('counterfile') as infile:\n"
@@ -181,15 +167,15 @@ msgid ""
181167"atexit.register(savecounter)"
182168msgstr ""
183169
184- #: ../../library/atexit.rst:104
170+ #: ../../library/atexit.rst:114
185171msgid ""
186172"Positional and keyword arguments may also be passed to :func:`register` to "
187173"be passed along to the registered function when it is called::"
188174msgstr ""
189175":func:`register` に指定した位置引数とキーワード引数は登録した関数を呼び出す際"
190176"に渡されます::"
191177
192- #: ../../library/atexit.rst:107
178+ #: ../../library/atexit.rst:117
193179msgid ""
194180"def goodbye(name, adjective):\n"
195181" print('Goodbye %s, it was %s to meet you.' % (name, adjective))\n"
@@ -201,11 +187,11 @@ msgid ""
201187"atexit.register(goodbye, adjective='nice', name='Donny')"
202188msgstr ""
203189
204- #: ../../library/atexit.rst:116
190+ #: ../../library/atexit.rst:126
205191msgid "Usage as a :term:`decorator`::"
206192msgstr ":term:`デコレータ <decorator>` として利用する例::"
207193
208- #: ../../library/atexit.rst:118
194+ #: ../../library/atexit.rst:128
209195msgid ""
210196"import atexit\n"
211197"\n"
@@ -214,7 +200,7 @@ msgid ""
214200" print('You are now leaving the Python sector.')"
215201msgstr ""
216202
217- #: ../../library/atexit.rst:124
203+ #: ../../library/atexit.rst:134
218204msgid "This only works with functions that can be called without arguments."
219205msgstr ""
220206"デコレータとして利用できるのは、その関数が引数なしで呼び出された場合に限られ"
0 commit comments