Skip to content

Commit 3e4f4f3

Browse files
author
GitHub Action's update-translation job
committed
Update translation from Transifex
1 parent b4c617b commit 3e4f4f3

File tree

13 files changed

+196
-15
lines changed

13 files changed

+196
-15
lines changed

c-api/concrete.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.14\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-02-25 14:44+0000\n"
14+
"POT-Creation-Date: 2026-03-17 14:51+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
1616
"Last-Translator: python-doc bot, 2025\n"
1717
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"

c-api/list.po

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.14\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-03-15 14:24+0000\n"
14+
"POT-Creation-Date: 2026-03-19 14:42+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
1616
"Last-Translator: python-doc bot, 2025\n"
1717
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"
@@ -76,6 +76,12 @@ msgid ""
7676
"instead of a :term:`strong reference`."
7777
msgstr ""
7878

79+
msgid ""
80+
"In the :term:`free-threaded build`, the returned :term:`borrowed reference` "
81+
"may become invalid if another thread modifies the list concurrently. Prefer :"
82+
"c:func:`PyList_GetItemRef`, which returns a :term:`strong reference`."
83+
msgstr ""
84+
7985
msgid "Similar to :c:func:`PyList_GetItem`, but without error checking."
8086
msgstr ""
8187

@@ -106,6 +112,13 @@ msgid ""
106112
"replaced; any reference in *list* at position *i* will be leaked."
107113
msgstr ""
108114

115+
msgid ""
116+
"In the :term:`free-threaded build`, this macro has no internal "
117+
"synchronization. It is normally only used to fill in new lists where no "
118+
"other thread has a reference to the list. If the list may be shared, use :c:"
119+
"func:`PyList_SetItem` instead, which uses a :term:`per-object lock`."
120+
msgstr ""
121+
109122
msgid ""
110123
"Insert the item *item* into list *list* in front of index *index*. Return "
111124
"``0`` if successful; return ``-1`` and set an exception if unsuccessful. "
@@ -133,6 +146,12 @@ msgid ""
133146
"list is not supported."
134147
msgstr ""
135148

149+
msgid ""
150+
"In the :term:`free-threaded build`, when *itemlist* is a :class:`list`, both "
151+
"*list* and *itemlist* are locked for the duration of the operation. For "
152+
"other iterables (or ``NULL``), only *list* is locked."
153+
msgstr ""
154+
136155
msgid ""
137156
"Extend *list* with the contents of *iterable*. This is the same as "
138157
"``PyList_SetSlice(list, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, iterable)`` and "
@@ -144,6 +163,14 @@ msgid ""
144163
"object. Return 0 on success."
145164
msgstr ""
146165

166+
msgid ""
167+
"In the :term:`free-threaded build`, when *iterable* is a :class:`list`, :"
168+
"class:`set`, :class:`dict`, or dict view, both *list* and *iterable* (or its "
169+
"underlying dict) are locked for the duration of the operation. For other "
170+
"iterables, only *list* is locked; *iterable* may be concurrently modified by "
171+
"another thread."
172+
msgstr ""
173+
147174
msgid ""
148175
"Remove all items from *list*. This is the same as ``PyList_SetSlice(list, "
149176
"0, PY_SSIZE_T_MAX, NULL)`` and analogous to ``list.clear()`` or ``del "
@@ -160,6 +187,13 @@ msgid ""
160187
"failure. This is equivalent to ``list.sort()``."
161188
msgstr ""
162189

190+
msgid ""
191+
"In the :term:`free-threaded build`, element comparison via :meth:`~object."
192+
"__lt__` can execute arbitrary Python code, during which the :term:`per-"
193+
"object lock` may be temporarily released. For built-in types (:class:`str`, :"
194+
"class:`int`, :class:`float`), the lock is not released during comparison."
195+
msgstr ""
196+
163197
msgid ""
164198
"Reverse the items of *list* in place. Return ``0`` on success, ``-1`` on "
165199
"failure. This is the equivalent of ``list.reverse()``."

c-api/picklebuffer.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.14\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-02-25 14:44+0000\n"
14+
"POT-Creation-Date: 2026-03-17 14:51+0000\n"
1515
"PO-Revision-Date: 2025-11-17 14:16+0000\n"
1616
"Last-Translator: python-doc bot, 2025\n"
1717
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"

c-api/typeobj.po

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.14\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-03-01 14:19+0000\n"
14+
"POT-Creation-Date: 2026-03-19 14:42+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
1616
"Last-Translator: python-doc bot, 2025\n"
1717
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"
@@ -3400,6 +3400,34 @@ msgstr ""
34003400
msgid "Return ``0``."
34013401
msgstr ""
34023402

3403+
msgid "**Thread safety:**"
3404+
msgstr ""
3405+
3406+
msgid "In the :term:`free-threaded build`, implementations must ensure:"
3407+
msgstr ""
3408+
3409+
msgid "The export counter increment in step (3) is atomic."
3410+
msgstr ""
3411+
3412+
msgid ""
3413+
"The underlying buffer data remains valid and at a stable memory location for "
3414+
"the lifetime of all exports."
3415+
msgstr ""
3416+
3417+
msgid ""
3418+
"For objects that support resizing or reallocation (such as :class:"
3419+
"`bytearray`), the export counter is checked atomically before such "
3420+
"operations, and :exc:`BufferError` is raised if exports exist."
3421+
msgstr ""
3422+
3423+
msgid "The function is safe to call concurrently from multiple threads."
3424+
msgstr ""
3425+
3426+
msgid ""
3427+
"See also :ref:`thread-safety-memoryview` for the Python-level thread safety "
3428+
"guarantees of :class:`memoryview` objects."
3429+
msgstr ""
3430+
34033431
msgid ""
34043432
"If *exporter* is part of a chain or tree of buffer providers, two main "
34053433
"schemes can be used:"
@@ -3456,6 +3484,18 @@ msgstr ""
34563484
msgid "If the counter is ``0``, free all memory associated with *view*."
34573485
msgstr ""
34583486

3487+
msgid "In the :term:`free-threaded build`:"
3488+
msgstr ""
3489+
3490+
msgid "The export counter decrement in step (1) must be atomic."
3491+
msgstr ""
3492+
3493+
msgid ""
3494+
"Resource cleanup when the counter reaches zero must be done atomically, as "
3495+
"the final release may race with concurrent releases from other threads and "
3496+
"dellocation must only happen once."
3497+
msgstr ""
3498+
34593499
msgid ""
34603500
"The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep "
34613501
"track of buffer-specific resources. This field is guaranteed to remain "

deprecations/pending-removal-in-3.14.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.14\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-02-25 14:44+0000\n"
14+
"POT-Creation-Date: 2026-03-17 14:51+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
1616
"Last-Translator: python-doc bot, 2025\n"
1717
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"

library/html.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.14\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-02-25 14:44+0000\n"
14+
"POT-Creation-Date: 2026-03-17 14:51+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:01+0000\n"
1616
"Last-Translator: python-doc bot, 2025\n"
1717
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"

library/stdtypes.po

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ msgid ""
1212
msgstr ""
1313
"Project-Id-Version: Python 3.14\n"
1414
"Report-Msgid-Bugs-To: \n"
15-
"POT-Creation-Date: 2026-03-17 14:51+0000\n"
15+
"POT-Creation-Date: 2026-03-19 14:42+0000\n"
1616
"PO-Revision-Date: 2025-09-16 00:01+0000\n"
1717
"Last-Translator: python-doc bot, 2026\n"
1818
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"
@@ -5328,6 +5328,11 @@ msgstr ""
53285328
msgid "A bool indicating whether the memory is :term:`contiguous`."
53295329
msgstr ""
53305330

5331+
msgid ""
5332+
"For information on the thread safety of :class:`memoryview` objects in the :"
5333+
"term:`free-threaded build`, see :ref:`thread-safety-memoryview`."
5334+
msgstr ""
5335+
53315336
msgid "Set Types --- :class:`set`, :class:`frozenset`"
53325337
msgstr ""
53335338

library/threadsafety.po

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: Python 3.14\n"
1010
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2026-03-17 14:51+0000\n"
11+
"POT-Creation-Date: 2026-03-19 14:42+0000\n"
1212
"PO-Revision-Date: 2026-02-27 14:38+0000\n"
1313
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"
1414
"sv/)\n"
@@ -638,3 +638,65 @@ msgid ""
638638
"Consider external synchronization when sharing :class:`bytearray` instances "
639639
"across threads. See :ref:`freethreading-python-howto` for more information."
640640
msgstr ""
641+
642+
msgid "Thread safety for memoryview objects"
643+
msgstr ""
644+
645+
msgid ""
646+
":class:`memoryview` objects provide access to the internal data of an "
647+
"underlying object without copying. Thread safety depends on both the "
648+
"memoryview itself and the underlying buffer exporter."
649+
msgstr ""
650+
651+
msgid ""
652+
"The memoryview implementation uses atomic operations to track its own "
653+
"exports in the :term:`free-threaded build`. Creating and releasing a "
654+
"memoryview are thread-safe. Attribute access (e.g., :attr:`~memoryview."
655+
"shape`, :attr:`~memoryview.format`) reads fields that are immutable for the "
656+
"lifetime of the memoryview, so concurrent reads are safe as long as the "
657+
"memoryview has not been released."
658+
msgstr ""
659+
660+
msgid ""
661+
"However, the actual data accessed through the memoryview is owned by the "
662+
"underlying object. Concurrent access to this data is only safe if the "
663+
"underlying object supports it:"
664+
msgstr ""
665+
666+
msgid ""
667+
"For immutable objects like :class:`bytes`, concurrent reads through multiple "
668+
"memoryviews are safe."
669+
msgstr ""
670+
671+
msgid ""
672+
"For mutable objects like :class:`bytearray`, reading and writing the same "
673+
"memory region from multiple threads without external synchronization is not "
674+
"safe and may result in data corruption. Note that even read-only memoryviews "
675+
"of mutable objects do not prevent data races if the underlying object is "
676+
"modified from another thread."
677+
msgstr ""
678+
679+
msgid ""
680+
"# NOT safe: concurrent writes to the same buffer\n"
681+
"data = bytearray(1000)\n"
682+
"view = memoryview(data)\n"
683+
"# Thread 1: view[0:500] = b'x' * 500\n"
684+
"# Thread 2: view[0:500] = b'y' * 500"
685+
msgstr ""
686+
687+
msgid ""
688+
"# Safe: use a lock for concurrent access\n"
689+
"import threading\n"
690+
"lock = threading.Lock()\n"
691+
"data = bytearray(1000)\n"
692+
"view = memoryview(data)\n"
693+
"\n"
694+
"with lock:\n"
695+
" view[0:500] = b'x' * 500"
696+
msgstr ""
697+
698+
msgid ""
699+
"Resizing or reallocating the underlying object (such as calling :meth:"
700+
"`bytearray.resize`) while a memoryview is exported raises :exc:"
701+
"`BufferError`. This is enforced regardless of threading."
702+
msgstr ""

library/typing.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ msgid ""
1212
msgstr ""
1313
"Project-Id-Version: Python 3.14\n"
1414
"Report-Msgid-Bugs-To: \n"
15-
"POT-Creation-Date: 2026-02-27 14:36+0000\n"
15+
"POT-Creation-Date: 2026-03-19 14:42+0000\n"
1616
"PO-Revision-Date: 2025-09-16 00:02+0000\n"
1717
"Last-Translator: Daniel Nylander <po@danielnylander.se>, 2025\n"
1818
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"

reference/datamodel.po

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ msgid ""
1111
msgstr ""
1212
"Project-Id-Version: Python 3.14\n"
1313
"Report-Msgid-Bugs-To: \n"
14-
"POT-Creation-Date: 2026-03-11 14:42+0000\n"
14+
"POT-Creation-Date: 2026-03-19 14:42+0000\n"
1515
"PO-Revision-Date: 2025-09-16 00:02+0000\n"
1616
"Last-Translator: python-doc bot, 2026\n"
1717
"Language-Team: Swedish (https://app.transifex.com/python-doc/teams/5390/"
@@ -3563,12 +3563,32 @@ msgid ""
35633563
"`memoryview` object."
35643564
msgstr ""
35653565

3566+
msgid ""
3567+
"**Thread safety:** In :term:`free-threaded <free threading>` Python, "
3568+
"implementations must manage any internal export counter using atomic "
3569+
"operations. The method must be safe to call concurrently from multiple "
3570+
"threads, and the returned buffer's underlying data must remain valid until "
3571+
"the corresponding :meth:`~object.__release_buffer__` call completes. See :"
3572+
"ref:`thread-safety-memoryview` for details."
3573+
msgstr ""
3574+
35663575
msgid ""
35673576
"Called when a buffer is no longer needed. The *buffer* argument is a :class:"
35683577
"`memoryview` object that was previously returned by :meth:`~object."
35693578
"__buffer__`. The method must release any resources associated with the "
3570-
"buffer. This method should return ``None``. Buffer objects that do not need "
3571-
"to perform any cleanup are not required to implement this method."
3579+
"buffer. This method should return ``None``."
3580+
msgstr ""
3581+
3582+
msgid ""
3583+
"**Thread safety:** In :term:`free-threaded <free threading>` Python, any "
3584+
"export counter decrement must use atomic operations. Resource cleanup must "
3585+
"be thread-safe, as the final release may race with concurrent releases from "
3586+
"other threads."
3587+
msgstr ""
3588+
3589+
msgid ""
3590+
"Buffer objects that do not need to perform any cleanup are not required to "
3591+
"implement this method."
35723592
msgstr ""
35733593

35743594
msgid ":pep:`688` - Making the buffer protocol accessible in Python"

0 commit comments

Comments
 (0)