@@ -11,7 +11,7 @@ msgid ""
1111msgstr ""
1212"Project-Id-Version :Python 3.14\n "
1313"Report-Msgid-Bugs-To :\n "
14- "POT-Creation-Date :2025-10-05 14:11 +0000\n "
14+ "POT-Creation-Date :2025-10-15 14:16 +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/ "
@@ -32,15 +32,15 @@ msgid ""
3232msgstr ""
3333
3434msgid ""
35- "You might be curious about some key :mod:`!asyncio` concepts.You'll be "
36- "comfortably able to answer these questions by the end of this article :"
35+ "You might be curious about some key :mod:`!asyncio` concepts.By the end of "
36+ "this article, you'll be able tocomfortably answer these questions:"
3737msgstr ""
3838
3939msgid "What's happening behind the scenes when an object is awaited?"
4040msgstr ""
4141
4242msgid ""
43- "How does :mod:`!asyncio` differentiate between a task which doesn't need CPU- "
43+ "How does :mod:`!asyncio` differentiate between a task which doesn't need CPU "
4444"time (such as a network request or file read) as opposed to a task that does "
4545"(such as computing n-factorial)?"
4646msgstr ""
@@ -72,7 +72,7 @@ msgstr ""
7272
7373msgid ""
7474"In part 1, we'll cover the main, high-level building blocks of :mod:`!"
75- "asyncio`: the event loop, coroutine functions, coroutine objects, tasks and "
75+ "asyncio`: the event loop, coroutine functions, coroutine objects, tasks, and "
7676"``await``."
7777msgstr ""
7878
@@ -96,7 +96,7 @@ msgid ""
9696"event loop will then select another job from its pool and invoke it. You can "
9797"*roughly* think of the collection of jobs as a queue: jobs are added and "
9898"then processed one at a time, generally (but not always) in order. This "
99- "process repeats indefinitely with the event loop cycling endlessly onwards. "
99+ "process repeats indefinitely, with the event loop cycling endlessly onwards. "
100100"If there are no more jobs pending execution, the event loop is smart enough "
101101"to rest and avoid needlessly wasting CPU cycles, and will come back when "
102102"there's more work to be done."
@@ -361,7 +361,7 @@ msgstr ""
361361msgid ""
362362"Generally speaking, when the awaited task finishes (``dig_the_hole_task``), "
363363"the original task or coroutine (``plant_a_tree()``) is added back to the "
364- "eventloops to-do list to be resumed."
364+ "eventloop's to-do list to be resumed."
365365msgstr ""
366366
367367msgid ""
@@ -399,7 +399,7 @@ msgstr ""
399399msgid ""
400400"The first statement in the coroutine ``main()`` creates ``task_b`` and "
401401"schedules it for execution via the event loop. Then, ``coro_a()`` is "
402- "repeatedly awaited. Control never cedes to the event loop which is why we "
402+ "repeatedly awaited. Control never cedes to the event loop, which is why we "
403403"see the output of all three ``coro_a()`` invocations before ``coro_b()``'s "
404404"output:"
405405msgstr ""
@@ -430,18 +430,18 @@ msgid ""
430430"This behavior of ``await coroutine`` can trip a lot of people up! That "
431431"example highlights how using only ``await coroutine`` could unintentionally "
432432"hog control from other tasks and effectively stall the event loop. :func:"
433- "`asyncio.run` can help you detect suchoccurences via the ``debug=True`` "
434- "flag whichaccordingly enables :ref:`debug mode <asyncio-debug-mode>`. Among "
435- "other things, it will log any coroutines that monopolize execution for 100ms "
436- "or longer."
433+ "`asyncio.run` can help you detect suchoccurrences via the ``debug=True`` "
434+ "flag, which enables :ref:`debug mode <asyncio-debug-mode>`. Among other "
435+ "things, it will log any coroutines that monopolize execution for 100ms or "
436+ "longer."
437437msgstr ""
438438
439439msgid ""
440440"The design intentionally trades off some conceptual clarity around usage of "
441441"``await`` for improved performance. Each time a task is awaited, control "
442442"needs to be passed all the way up the call stack to the event loop. That "
443- "might sound minor, but in a large program with many ``await``'s and a deep "
444- "callstack that overhead can add up to a meaningful performance drag."
443+ "might sound minor, but in a large program with many ``await`` statements and "
444+ "a deep call stack, that overhead can add up to a meaningful performance drag."
445445msgstr ""
446446
447447msgid "A conceptual overview part 2: the nuts and bolts"
@@ -465,7 +465,7 @@ msgid ""
465465"resume a coroutine. If the coroutine was paused and is now being resumed, "
466466"the argument ``arg`` will be sent in as the return value of the ``yield`` "
467467"statement which originally paused it. If the coroutine is being used for the "
468- "first time (as opposed to being resumed) ``arg`` must be ``None``."
468+ "first time (as opposed to being resumed), ``arg`` must be ``None``."
469469msgstr ""
470470
471471msgid ""
@@ -497,12 +497,12 @@ msgid ""
497497msgstr ""
498498
499499msgid ""
500- ":ref:`yield <yieldexpr>`,like usual, pauses execution and returns control "
501- "to the caller. In the example above, the ``yield``, on line 3, is called by "
500+ ":ref:`yield <yieldexpr>`,as usual, pauses execution and returns control to "
501+ "the caller. In the example above, the ``yield``, on line 3, is called by "
502502"``... = await rock`` on line 11. More broadly speaking, ``await`` calls the :"
503503"meth:`~object.__await__` method of the given object. ``await`` also does one "
504504"more very special thing: it propagates (or\" passes along\" ) any ``yield``\\ "
505- "s it receives up the call- chain. In this case, that's back to ``... = "
505+ "s it receives up the call chain. In this case, that's back to ``... = "
506506"coroutine.send(None)`` on line 16."
507507msgstr ""
508508
@@ -566,12 +566,12 @@ msgid ""
566566msgstr ""
567567
568568msgid ""
569- "A future has a few important attributes. One is its state which can be "
570- "either\" pending\" ,\" cancelled\" or\" done\" . Another is its result, which "
569+ "A future has a few important attributes. One is its state, which can be "
570+ "either\" pending\" ,\" cancelled\" , or\" done\" . Another is its result, which "
571571"is set when the state transitions to done. Unlike a coroutine, a future does "
572572"not represent the actual computation to be done; instead, it represents the "
573573"status and result of that computation, kind of like a status light (red, "
574- "yellow or green) or indicator."
574+ "yellow, or green) or indicator."
575575msgstr ""
576576
577577msgid ""
@@ -598,10 +598,10 @@ msgid ""
598598msgstr ""
599599
600600msgid ""
601- "This snippet registers a few tasks with the event loop and then awaitsa "
602- "coroutine wrapped in a task: ``async_sleep(3)``. We want that task to finish "
603- "only after three seconds have elapsed, but without preventing other tasks "
604- "from running."
601+ "This snippet registers a few tasks with the event loop and then awaitsthe "
602+ "task created by ``asyncio.create_task``, which wraps the ``async_sleep(3)`` "
603+ "coroutine. We want that task to finish only after three seconds have "
604+ "elapsed, but without preventing other tasks from running."
605605msgstr ""
606606
607607msgid ""
@@ -650,8 +650,8 @@ msgid ""
650650msgstr ""
651651
652652msgid ""
653- "Below, we'll use a rather bareobject, ``YieldToEventLoop()``, to ``yield`` "
654- "from ``__await__``in order to cede control to the event loop. This is "
653+ "Below, we use a rather bare ``YieldToEventLoop()`` object to ``yield`` from "
654+ "its ``__await__``method, ceding control to the event loop. This is "
655655"effectively the same as calling ``asyncio.sleep(0)``, but this approach "
656656"offers more clarity, not to mention it's somewhat cheating to use ``asyncio."
657657"sleep`` when showcasing how to implement it!"
@@ -663,12 +663,12 @@ msgid ""
663663"which runs the coroutine ``_sleep_watcher(...)``, will be invoked once per "
664664"full cycle of the event loop. On each resumption, it'll check the time and "
665665"if not enough has elapsed, then it'll pause once again and hand control back "
666- "to the event loop.Eventually, enough timewill have elapsed,and "
667- "``_sleep_watcher(...)`` will mark the future as done, andthen itself finish "
668- "too by breaking out of the infinite ``while`` loop. Given this helper task "
669- "is only invoked once per cycle of the event loop, you'd be correct to note "
670- "that this asynchronous sleep will sleep *at least* three seconds, rather "
671- "than exactly three seconds. Note this is also of true of ``asyncio.sleep``."
666+ "to the event loop.Once enough timehas elapsed,``_sleep_watcher(...)`` "
667+ "marks the future as done andcompletes by exiting its infinite ``while`` "
668+ "loop. Given this helper task is only invoked once per cycle of the event "
669+ "loop, you'd be correct to note that this asynchronous sleep will sleep *at "
670+ "least* three seconds, rather than exactly three seconds. Note this is also "
671+ "true of ``asyncio.sleep``."
672672msgstr ""
673673
674674msgid ""
@@ -717,7 +717,7 @@ msgid ""
717717msgstr ""
718718
719719msgid ""
720- "But, that's all for now. Hopefully you're ready to more confidently dive "
721- "into some async programming or check out advanced topics in the :mod:`rest "
722- "of the documentation <asyncio>`."
720+ "But that's all for now. Hopefully you're ready to more confidently dive into "
721+ "some async programming or check out advanced topics in the :mod:`rest of the "
722+ "documentation <asyncio>`."
723723msgstr ""