diff --git a/TRANSLATORS b/TRANSLATORS index 3f433274fc..3231d3a019 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -243,3 +243,4 @@ Xavi Rambla Centellas (@xavirambla) Yennifer Paola Herrera Ariza (@Yenniferh) Yohanna Padrino (@Yo-hanaPR) zejiran +Zodac (@zodacdev) diff --git a/library/threading.po b/library/threading.po index cf8d4bfc5d..af2e254948 100644 --- a/library/threading.po +++ b/library/threading.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-26 23:05+0100\n" -"Last-Translator: Claudia Millan \n" -"Language: es_419\n" +"PO-Revision-Date: 2024-02-21 10:02-0300\n" +"Last-Translator: zodac \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/threading.rst:2 msgid ":mod:`threading` --- Thread-based parallelism" @@ -30,13 +31,12 @@ msgid "**Source code:** :source:`Lib/threading.py`" msgstr "**Código fuente:** :source:`Lib/threading.py`" #: ../Doc/library/threading.rst:11 -#, fuzzy msgid "" "This module constructs higher-level threading interfaces on top of the lower " "level :mod:`_thread` module." msgstr "" "Este módulo construye interfaces de hilado de alto nivel sobre el módulo de " -"más bajo nivel :mod:`_thread`. Ver también el módulo :mod:`queue`." +"más bajo nivel :mod:`_thread`." #: ../Doc/library/threading.rst:14 msgid "This module used to be optional, it is now always available." @@ -49,7 +49,7 @@ msgid "" "the calling thread, while still being able to retrieve their results when " "needed." msgstr "" -":class:`concurrent.futures.ThreadPoolExecutor` ofrece una interfaz a mas " +":class:`concurrent.futures.ThreadPoolExecutor` ofrece una interfaz a mas " "alto nivel para enviar tareas a un hilo en segundo plano sin bloquear la " "ejecución del hilo de llamada, pero manteniendo la capacidad de recuperar " "sus resultados cuando sea necesario." @@ -59,7 +59,7 @@ msgid "" ":mod:`queue` provides a thread-safe interface for exchanging data between " "running threads." msgstr "" -":mod:`queue` proporciona una interfaz segura a nivel de hilos intercambiar " +":mod:`queue` proporciona una interfaz segura a nivel de hilos intercambiar " "datos entre hilos en ejecución." #: ../Doc/library/threading.rst:26 @@ -102,10 +102,8 @@ msgstr "" "varias tareas vinculadas a E/S simultáneamente." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr "" -":ref:`Disponibilidad `: Windows, sistemas con hilos POSIX." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -113,8 +111,8 @@ msgid "" "``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " "more information." msgstr "" -"Este módulo no funciona o no está disponible en las plataformas WebAssembly " -"``wasm32-emscripten`` y ``wasm32-wasi``. Consulte :ref:`wasm-availability` " +"Este módulo no funciona o no está disponible en las plataformas WebAssembly " +"``wasm32-emscripten`` y ``wasm32-wasi``. Consulte :ref:`wasm-availability` " "para obtener más información." #: ../Doc/library/threading.rst:50 @@ -159,7 +157,7 @@ msgstr "El argumento *args* posee los siguientes atributos:" #: ../Doc/library/threading.rst:77 msgid "*exc_type*: Exception type." -msgstr "*exc_type*: Tipo de la excepción." +msgstr "*exc_type*: Tipo de excepción." #: ../Doc/library/threading.rst:78 msgid "*exc_value*: Exception value, can be ``None``." @@ -213,7 +211,7 @@ msgid "" "object which is being finalized. Avoid storing *thread* after the custom " "hook completes to avoid resurrecting objects." msgstr "" -"Guarda *thread* usando un *hook* personalizado puede resucitarlo si se " +"Guardando *thread* usando un *hook* personalizado puede resucitarlo si se " "asigna a un objeto que esté siendo finalizado. Evítese que *thread* sea " "almacenado después de que el *hook* personalizado se complete para evitar " "resucitar objetos." @@ -254,19 +252,18 @@ msgid "" "after which the value may be recycled by the OS)." msgstr "" "Retorna la ID de Hilo (*Thread ID*) nativo integral del hilo actual asignado " -"por el *kernel*. Ella es un entero distinto de cero. Su valor puede " -"utilizarse para identificar de forma única a este hilo en particular a " -"través de todo el sistema (hasta que el hilo termine, luego de lo cual el " -"valor puede ser reciclado por el SO)." +"por el kernel. Este es un entero distinto de cero. Su valor puede utilizarse " +"para identificar de forma única a este hilo en particular a través de todo " +"el sistema (hasta que el hilo termine, luego de lo cual el valor puede ser " +"reciclado por el SO)." #: ../Doc/library/threading.rst:130 ../Doc/library/threading.rst:465 -#, fuzzy msgid "" ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX, DragonFlyBSD." msgstr "" ":ref:`Disponibilidad `: Windows, FreeBSD, Linux, macOS, " -"OpenBSD, NetBSD, AIX." +"OpenBSD, NetBSD, AIX, DragonFlyBSD." #: ../Doc/library/threading.rst:137 msgid "" @@ -297,29 +294,26 @@ msgid "" "module. The *func* will be passed to :func:`sys.settrace` for each thread, " "before its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " +"Establece una función de seguimiento para todos los hilos iniciados desde el " "módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"cada hilo, antes de que su método :meth:`~Thread.run` sea invocado." #: ../Doc/library/threading.rst:163 -#, fuzzy msgid "" "Set a trace function for all threads started from the :mod:`threading` " "module and all Python threads that are currently executing." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " -"módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"Establece una función de seguimiento para todos los hilos iniciados desde el " +"módulo :mod:`threading` y todos los hilos de Python que se estén ejecutando " +"en ese momento." #: ../Doc/library/threading.rst:166 -#, fuzzy msgid "" "The *func* will be passed to :func:`sys.settrace` for each thread, before " "its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " -"módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"La *func* será pasada a :func:`sys.settrace` para cada hilo, antes de que su " +"método :meth:`~Thread.run` sea invocado." #: ../Doc/library/threading.rst:177 msgid "Get the trace function as set by :func:`settrace`." @@ -337,24 +331,21 @@ msgstr "" "cada hilo, antes de que se llame a su método :meth:`~Thread.run`." #: ../Doc/library/threading.rst:192 -#, fuzzy msgid "" "Set a profile function for all threads started from the :mod:`threading` " "module and all Python threads that are currently executing." msgstr "" "Establece una función de perfil para todos los hilos iniciados desde el " -"módulo :mod:`threading`. La *func* se pasará a :func:`sys.setprofile` por " -"cada hilo, antes de que se llame a su método :meth:`~Thread.run`." +"módulo :mod:`threading` y todos los hilos de Python que se estén ejecutando " +"en ese momento." #: ../Doc/library/threading.rst:195 -#, fuzzy msgid "" "The *func* will be passed to :func:`sys.setprofile` for each thread, before " "its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de perfil para todos los hilos iniciados desde el " -"módulo :mod:`threading`. La *func* se pasará a :func:`sys.setprofile` por " -"cada hilo, antes de que se llame a su método :meth:`~Thread.run`." +"La *func* se pasará a :func:`sys.setprofile` para cada hilo, antes de que se " +"llame a su método :meth:`~Thread.run`." #: ../Doc/library/threading.rst:204 msgid "Get the profiler function as set by :func:`setprofile`." @@ -398,10 +389,8 @@ msgstr "" "específica)" #: ../Doc/library/threading.rst:226 -#, fuzzy msgid ":ref:`Availability `: Windows, pthreads." -msgstr "" -":ref:`Disponibilidad `: Windows, sistemas con hilos POSIX." +msgstr ":ref:`Disponibilidad `: Windows, pthreads." #: ../Doc/library/threading.rst:228 msgid "Unix platforms with POSIX threads support." @@ -441,15 +430,15 @@ msgid "" "stopped, suspended, resumed, or interrupted. The static methods of Java's " "Thread class, when implemented, are mapped to module-level functions." msgstr "" -"El diseño de este módulo está libremente basado en el modelo de *threading* " -"de Java. Sin embargo, donde Java hace de *locks* y variables condicionales " -"el comportamiento básico de cada objeto, éstos son objetos separados en " -"Python. La clase de Python :class:`Thread` soporta un subdominio del " -"comportamiento de la clase *Thread* de Java; actualmente, no hay " -"prioridades, ni grupos de hilos, y los hilos no pueden ser destruidos, " -"detenidos, suspendidos, retomados o interrumpidos. Los métodos estáticos de " -"la clase *Thread* de Java, cuando son implementados, son mapeados a " -"funciones a nivel de módulo." +"El diseño de este módulo está vagamente basado en el modelo de hilos de " +"Java. Sin embargo, donde Java hace que los bloqueos y las variables de " +"condición sean comportamientos básicos de cada objeto, en Python son objetos " +"separados. La clase :class:`Thread` de Python soporta un subconjunto del " +"comportamiento de la clase Thread de Java; actualmente, no hay prioridades, " +"no hay grupos de hilos, y los hilos no pueden ser destruidos, detenidos, " +"suspendidos, reanudados o interrumpidos. Los métodos estáticos de la clase " +"Thread de Java, cuando se implementan, se asignan a funciones de nivel de " +"módulo." #: ../Doc/library/threading.rst:254 msgid "All of the methods described below are executed atomically." @@ -479,20 +468,18 @@ msgid "A class that represents thread-local data." msgstr "Una clase que representa datos locales de hilo." #: ../Doc/library/threading.rst:274 -#, fuzzy msgid "" "For more details and extensive examples, see the documentation string of " "the :mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." msgstr "" "Para más detalles y ejemplos extensivos, véase la documentación del módulo :" -"mod:`_threading_local`." +"mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." #: ../Doc/library/threading.rst:281 msgid "Thread Objects" msgstr "Objetos tipo hilo" #: ../Doc/library/threading.rst:283 -#, fuzzy msgid "" "The :class:`Thread` class represents an activity that is run in a separate " "thread of control. There are two ways to specify the activity: by passing a " @@ -506,8 +493,8 @@ msgstr "" "objeto invocable al constructor, o sobrescribiendo el método :meth:`~Thread." "run` en una subclase. Ningún otro método (a excepción del constructor) " "deberá ser sobrescrito en una subclase. En otras palabras, *solo* " -"sobrescribir los métodos :meth:`~Thread.__init__` y :meth:`~Thread.run` de " -"esta clase." +"sobrescribir los métodos ``__init__()`` y :meth:`~Thread.run` de esta " +"clase." #: ../Doc/library/threading.rst:290 msgid "" @@ -537,9 +524,9 @@ msgid "" "the calling thread until the thread whose :meth:`~Thread.join` method is " "called is terminated." msgstr "" -"Otros hilos pueden llamar al método :meth:`~Thread.join` de un hilo. Esto " -"bloquea el hilo llamador hasta que el hilo cuyo método :meth:`~Thread.join` " -"ha sido llamado termine." +"Otras hilos pueden llamar al método :meth:`~Thread.join`. Esto bloquea el " +"hilo que llama hasta que el hilo cuyo método :meth:`~Hilo.join` es llamado " +"termina." #: ../Doc/library/threading.rst:303 msgid "" @@ -595,7 +582,6 @@ msgstr "" "inicial del programa de Python. No es un hilo demonio." #: ../Doc/library/threading.rst:325 -#, fuzzy msgid "" "There is the possibility that \"dummy thread objects\" are created. These " "are thread objects corresponding to \"alien threads\", which are threads of " @@ -610,8 +596,8 @@ msgstr "" "control iniciados afuera del modulo *threading*, por ejemplo directamente de " "código en C. Los objetos de hilos *dummy* tienen funcionalidad limitada; " "siempre se consideran vivos y demoníacos, y no pueden se les puede aplicar " -"el método :meth:`~Thread.join`. Nunca son eliminados, ya que es imposible " -"detectar la terminación de hilos extranjeros." +"el método :ref:`joined `. Nunca son eliminados, ya que es " +"imposible detectar la terminación de hilos extranjeros." #: ../Doc/library/threading.rst:336 msgid "" @@ -622,13 +608,12 @@ msgstr "" "Los argumentos son:" #: ../Doc/library/threading.rst:339 -#, fuzzy msgid "" "*group* should be ``None``; reserved for future extension when a :class:`!" "ThreadGroup` class is implemented." msgstr "" "*group* debe ser `None`; reservado para una futura extensión cuando se " -"implemente una clase :class:`ThreadGroup`." +"implemente una clase :class:`!ThreadGroup`." #: ../Doc/library/threading.rst:342 msgid "" @@ -651,13 +636,12 @@ msgstr "" "se especifica el argumento *target*." #: ../Doc/library/threading.rst:350 -#, fuzzy msgid "" "*args* is a list or tuple of arguments for the target invocation. Defaults " "to ``()``." msgstr "" -"*args* es la tupla de argumento para la invocación objetivo. Por defecto es " -"``()``." +"*args* es una lista o tupla de argumentos para la invocación de destino. Por " +"defecto es ``()``." #: ../Doc/library/threading.rst:352 msgid "" @@ -742,9 +726,8 @@ msgstr "" "`Thread` podría lograr el mismo efecto." #: ../Doc/library/threading.rst:392 -#, fuzzy msgid "Example::" -msgstr "Por ejemplo:" +msgstr "Ejemplo::" #: ../Doc/library/threading.rst:406 msgid "" @@ -783,9 +766,8 @@ msgstr "" "bloqueará hasta que el hilo termine." #: ../Doc/library/threading.rst:421 -#, fuzzy msgid "A thread can be joined many times." -msgstr "A un hilo se le puede aplicar :meth:`~Thread.join` muchas veces." +msgstr "Un hilo puede unirse varias veces." #: ../Doc/library/threading.rst:423 msgid "" @@ -872,7 +854,6 @@ msgstr "" "los hilos vivos." #: ../Doc/library/threading.rst:479 -#, fuzzy msgid "" "A boolean value indicating whether this thread is a daemon thread (``True``) " "or not (``False``). This must be set before :meth:`~Thread.start` is " @@ -1010,7 +991,6 @@ msgstr "" "``Falso`` inmediatamente; de otro modo, cierra el *lock* y retorna ``True``." #: ../Doc/library/threading.rst:550 -#, fuzzy msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -1022,7 +1002,7 @@ msgstr "" "valor positivo, bloquea por a lo más el número de segundos especificado en " "*timeout* y mientras el *lock* no pueda ser adquirido. Un argumento " "*timeout* de \"-1\" especifica una espera ilimitada. No está admitido " -"especificar un *timeout* cuando *blocking* es falso." +"especificar un *timeout* cuando *blocking* es ``False``." #: ../Doc/library/threading.rst:556 msgid "" @@ -1073,9 +1053,8 @@ msgid "There is no return value." msgstr "No hay valor de retorno." #: ../Doc/library/threading.rst:582 -#, fuzzy msgid "Return ``True`` if the lock is acquired." -msgstr "Retorna *true* si el *lock* ha sido adquirido." +msgstr "Retorna ``True`` si se adquiere el bloqueo." #: ../Doc/library/threading.rst:589 msgid "RLock Objects" @@ -1154,37 +1133,35 @@ msgid "" "waiting until the lock is unlocked, only one at a time will be able to grab " "ownership of the lock. There is no return value in this case." msgstr "" -"Cuando se invoca sin argumentos: si este hilo ya es dueño del *lock*, " -"incrementa el nivel de recursividad en uno, y retorna inmediatamente. De " -"otro modo, si otro hilo es dueño del *lock*, bloquea hasta que se abra el " -"*lock*. Una vez que el *lock* se abra (ningún hilo sea su dueño), se adueña, " -"establece el nivel de recursividad en uno, y retorna. Si más de un hilo está " -"bloqueado esperando que sea abra el *lock*, solo uno a la vez podrá " -"apoderarse del *lock*. No hay valor de retorno en este caso." +"Cuando se invoca sin argumentos: si este subproceso ya posee el bloqueo, " +"incrementa el nivel de recursión en uno y devuelve inmediatamente. En caso " +"contrario, si el bloqueo pertenece a otro subproceso, se bloquea hasta que " +"se desbloquea el bloqueo. Una vez que se desbloquea el bloqueo (no es " +"propiedad de ningún hilo), se toma la propiedad, se establece el nivel de " +"recursividad en uno y se devuelve. Si hay más de un proceso bloqueado " +"esperando a que se desbloquee el bloqueo, sólo uno a la vez podrá hacerse " +"con la propiedad del bloqueo. En este caso no hay valor de retorno." #: ../Doc/library/threading.rst:631 -#, fuzzy msgid "" "When invoked with the *blocking* argument set to ``True``, do the same thing " "as when called without arguments, and return ``True``." msgstr "" -"Cuando se invoca con el argumento *blocking* fijado en *true*, hace lo mismo " -"que cuando se llama sin argumentos y retorna ``True``." +"Cuando se invoca con el argumento *blocking* fijado en ``True``, hace lo " +"mismo que cuando se llama sin argumentos y retorna ``True``." #: ../Doc/library/threading.rst:634 -#, fuzzy msgid "" "When invoked with the *blocking* argument set to ``False``, do not block. " "If a call without an argument would block, return ``False`` immediately; " "otherwise, do the same thing as when called without arguments, and return " "``True``." msgstr "" -"Cuando se invoca con el argumento *blocking* fijado a falso, no bloquea. Si " -"una llamada sin argumento bloquease, retorna ``False`` inmediatamente; de " +"Cuando se invoca con el argumento *blocking* fijado a ``False``, no bloquea. " +"Si una llamada sin argumento bloquease, retorna ``False`` inmediatamente; de " "otro modo, hace lo mismo que al llamarse sin argumentos, y retorna ``True``." #: ../Doc/library/threading.rst:638 -#, fuzzy msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -1193,9 +1170,8 @@ msgid "" msgstr "" "Cuando se invoca con el argumento de coma flotante *timeout* fijado a un " "valor positivo, bloquea por máximo el número de segundos especificado por " -"*timeout* y mientras el *lock* no pueda ser adquirido. Retorna ``True`` si " -"el *lock* ha sido adquirido, falso si el tiempo de espera *timeout* ha " -"caducado." +"*timeout* y mientras el lock no pueda ser adquirido. Retorna ``True`` si el " +"lock ha sido adquirido, ``False`` si el tiempo de espera ha caducado." #: ../Doc/library/threading.rst:649 msgid "" @@ -1634,15 +1610,15 @@ msgstr "" "debiese confiarse en el orden en que los hilos sean despertados." #: ../Doc/library/threading.rst:882 -#, fuzzy msgid "" "When invoked with *blocking* set to ``False``, do not block. If a call " "without an argument would block, return ``False`` immediately; otherwise, do " "the same thing as when called without arguments, and return ``True``." msgstr "" -"Cuando se invoca con *blocking* fijado en falso, no bloquea. Si una llamada " -"sin un argumento bloquease, retorna ``Falso`` inmediatamente; de otro modo, " -"hace lo mismo que cuando se llama sin argumentos, y retorna ``True``." +"Cuando se invoca con *blocking* fijado en ``False``, no bloquea. Si una " +"llamada sin un argumento bloquease, retorna ``False`` inmediatamente; de " +"otro modo, hace lo mismo que cuando se llama sin argumentos, y retorna " +"``True``." #: ../Doc/library/threading.rst:886 msgid "" @@ -1835,7 +1811,6 @@ msgstr "" "ejemplo de creación de hilos personalizados." #: ../Doc/library/threading.rst:1012 -#, fuzzy msgid "" "Timers are started, as with threads, by calling their :meth:`Timer.start " "` method. The timer can be stopped (before its action has " @@ -1844,10 +1819,10 @@ msgid "" "interval specified by the user." msgstr "" "Los temporizadores son iniciados, tal como los hilos, al llamarse su método :" -"meth:`~Timer.start`. El temporizador puede ser detenido (antes de que su " -"acción haya comenzado) al llamar al método :meth:`~Timer.cancel`. El " -"intervalo que el temporizador esperará antes de ejecutar su acción puede no " -"ser exactamente el mismo que el intervalo especificado por el usuario." +"meth:`Timer.start `. El temporizador puede ser detenido (antes " +"de que su acción haya comenzado) al llamar al método :meth:`~Timer.cancel`. " +"El intervalo que el temporizador esperará antes de ejecutar su acción puede " +"no ser exactamente el mismo que el intervalo especificado por el usuario." #: ../Doc/library/threading.rst:1018 msgid "For example::" @@ -1954,7 +1929,7 @@ msgstr "" #: ../Doc/library/threading.rst:1101 msgid "If the call times out, the barrier is put into the broken state." -msgstr "Si la llamada caduca, la barrera entra en estado *broken*." +msgstr "Si se agota el tiempo de llamada, la barrera pasa al estado roto." #: ../Doc/library/threading.rst:1103 msgid "" @@ -2030,7 +2005,6 @@ msgstr "" "Uso de *locks*, condiciones y semáforos en la declaración :keyword:`!with`" #: ../Doc/library/threading.rst:1150 -#, fuzzy msgid "" "All of the objects provided by this module that have ``acquire`` and " "``release`` methods can be used as context managers for a :keyword:`with` " @@ -2038,11 +2012,11 @@ msgid "" "and ``release`` will be called when the block is exited. Hence, the " "following snippet::" msgstr "" -"Todos los objetos provistos por este módulo que tienen métodos :meth:" -"`acquire` y :meth:`release` pueden ser utilizados como administradores de " -"contexto para una declaración :keyword:`with`. El método :meth:`acquire` " -"será llamado cuando se ingresa al bloque y el método :meth:`release` será " -"llamado cuando se abandona el bloque. De ahí que, el siguiente fragmento::" +"Todos los objetos provistos por este módulo que tienen métodos ``acquire`` y " +"``release`` pueden ser utilizados como administradores de contexto para una " +"declaración :keyword:`with`. El método ``acquire`` será llamado cuando se " +"ingresa al bloque y el método ``release`` será llamado cuando se abandona el " +"bloque. De ahí que, el siguiente fragmento::" #: ../Doc/library/threading.rst:1159 msgid "is equivalent to::" @@ -2060,15 +2034,15 @@ msgstr "" #: ../Doc/library/threading.rst:155 ../Doc/library/threading.rst:173 msgid "trace function" -msgstr "" +msgstr "trace function" #: ../Doc/library/threading.rst:173 msgid "debugger" -msgstr "" +msgstr "debugger" #: ../Doc/library/threading.rst:184 ../Doc/library/threading.rst:202 msgid "profile function" -msgstr "" +msgstr "profile function" #~ msgid "" #~ ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, "