[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFR] man://manpages-l10n/attributes.7.po (2/3)



Am 25.02.24 um 21:05 schrieb Helge Kreutzmann:
Hallo Mitübersetzer,
ich habe kürzlich eine Handbuchseite aus Abschnitt 7 übersetzt.

Es sind insgesamt 62 Zeichenketten, pro Teil ca. 20.

...

Hallo Helge,

#.  and AS-Unsafe,
#.  equally
#.  and AS-Unsafe
#.  and AS-Safe
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions marked with I<const> as an MT-Safety issue non-atomically
modify "
"internal objects that are better regarded as constant, because a
substantial "
"portion of the GNU C Library accesses them without synchronization.
Unlike "
"I<race>, which causes both readers and writers of internal objects to be "
"regarded as MT-Unsafe, this mark is applied to writers only.  Writers
remain "
"MT-Unsafe to call, but the then-mandatory constness of objects they
modify "
"enables readers to be regarded as MT-Safe (as long as no other reasons
for "
"them to be unsafe remain), since the lack of synchronization is not a "
"problem when the objects are effectively constant."
msgstr ""
"Mit I<const> als MT-Safety-Problem markierte Funktionen verändern interne "
"Objekte nicht atomar, die besser als konstant betrachtet werden, da ein "
"wesentlicher Anteil der GNU-C-Bibliothek auf sie ohne Synchronisierung "
"zugreift. Anders als bei I<race>, bei dem sowohl schreibende als auch "
"lesende Zugriffe auf interne Objekte als MT-Unsafe betrachtet werden,
gilt "
"diese Markierung nur für schreibende Zugriffe. Bei schreibenden Zugriffen "
"bleibt der Aufruf MT-Unsafe, aber die dann-verpflichtende Konstantheit
von "
"Objekten, die sie verändern, ermöglicht es MT-Safe lesenden Zugriff
(solange "
"es kein anderer Grund verbleibt, sie als unsicher zu betrachten), da das "
"Fehlen von Synchronisierung kein Problem darstellt, wenn die Objekte "
"tatsächlich konstant sind."

s/ermöglicht es MT-Safe/ermöglicht MT-Safe/
s/es kein anderer Grund/kein anderer Grund/


#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions annotated with I<locale> as an MT-Safety issue read from the "
"locale object without any form of synchronization.  Functions annotated
with "
"I<locale> called concurrently with locale changes may behave in ways
that do "
"not correspond to any of the locales active during their execution, but
an "
"unpredictable mix thereof."
msgstr ""
"Mit I<locale> als MT-Safety-Problem kommentierte Funktionen lesen von "
"lokalen Objekten ohne irgendeine Form der Synchronisierung. Werden mit "
"I<locale> kommentierte Funktionen gleichzeitig zu lokalen Änderungen "
"aufgerufen, könnte sich deren Verhalten so ändern, dass es nicht den
lokalen "
"Werten entspricht, die während ihrer Ausführung aktiv war, sondern einer "
"nicht vorhersagbaren Mischung daraus."

Bist du sicher, das die Übersetzung von "locale object" als "lokales
Objekt" richtig ist? Dann müsste im Original "local object" stehen. Ich
sehe es so, das ein Objekt der "locale"-Klasse/Einheiten (?) gemeint
ist, wie sie im Programm "locale" verwendet werden. Dafür spricht auch
"locale changes"; das müssten dann im Original "local changes" sein.

Mein Vorschlag wäre dann:
msgstr ""
"Mit I<locale> als MT-Safety-Problem kommentierte Funktionen lesen vom "
"locale-Objekt ohne irgendeine Form der Synchronisierung. Werden mit "
"I<locale> kommentierte Funktionen gleichzeitig zu locale-Änderungen "
"aufgerufen, könnte sich deren Verhalten so ändern, dass es nicht den
locale-"
"Werten entspricht, die während ihrer Ausführung aktiv waren, sondern
einer "
"nicht vorhersagbaren Mischung daraus."

Evtl. könnte man die "locale-"-Zeichenketten auch als "I<locale>"
formatieren.


#.  or AS-Unsafe,
#.  Should the locking strategy suggested under @code{const} be used,
#.  failure to guard locale uses is not as fatal as data races in
#.  general: unguarded uses will @emph{not} follow dangling pointers or
#.  access uninitialized, unmapped or recycled memory.  Each access will
#.  read from a consistent locale object that is or was active at some
#.  point during its execution.  Without synchronization, however, it
#.  cannot even be assumed that, after a change in locale, earlier
#.  locales will no longer be used, even after the newly-chosen one is
#.  used in the thread.  Nevertheless, even though unguarded reads from
#.  the locale will not violate type safety, functions that access the
#.  locale multiple times may invoke all sorts of undefined behavior
#.  because of the unexpected locale changes.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"We do not mark these functions as MT-Unsafe, however, because functions
that "
"modify the locale object are marked with I<const:locale> and regarded as "
"unsafe.  Being unsafe, the latter are not to be called when multiple
threads "
"are running or asynchronous signals are enabled, and so the locale can be "
"considered effectively constant in these contexts, which makes the former "
"safe."
msgstr ""
"Diese Funktionen sind allerdings nicht als MT-Unsafe markiert, da "
"Funktionen, die lokale Objekte verändern, als I<const:locale> markiert
sind "
"und als unsicher betrachtet werden. Da sie unsicher sind, werden
letztere "
"nicht aufgerufen, wenn mehrere Threads laufen oder asynchrone Signale "
"aktiviert sind, und daher die lokalen Objekte tatsächlich in diesen "
"Kontexten als konstant betrachtet werden können, wodurch erstere sicher
sind."

Hier gilt das gleich wie oben. Mein Vorschlag:

msgstr ""
"Diese Funktionen sind allerdings nicht als MT-Unsafe markiert, da "
"Funktionen, die das locale-Objekt verändern, als I<const:locale>
markiert sind "
"und als unsicher betrachtet werden. Da sie unsicher sind, werden
letztere "
"nicht aufgerufen, wenn mehrere Threads laufen oder asynchrone Signale "
"aktiviert sind, und daher das locale-Objekt tatsächlich in diesen "
"Kontexten als konstant betrachtet werden kann, wodurch erstere sicher
sind."

Bei "the latter are not to be called" bin ich unschlüssig. Ich würde das
eher als "dürfen nicht aufgerufen werden" übersetzen (?)


#.  or AS-Unsafe,
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"We do not mark these functions as MT-Unsafe, however, because functions
that "
"modify the environment are all marked with I<const:env> and regarded as "
"unsafe.  Being unsafe, the latter are not to be called when multiple
threads "
"are running or asynchronous signals are enabled, and so the environment
can "
"be considered effectively constant in these contexts, which makes the
former "
"safe."
msgstr ""
"Diese Funktionen sind allerdings nicht als MT-Unsafe markiert, da "
"Funktionen, die die Umgebung verändern, alle mit I<const:env> markiert
sind "
"und als unsicher betrachtet werden. Da sie unsicher sind, werden
letztere "
"nicht aufgerufen, wenn mehrere Threads laufen oder asynchrone Signale "
"aktiviert sind, und daher die Umgebung tatsächlich in diesen Kontexten
als "
"konstant betrachtet werden können, wodurch erstere sicher sind."

Hier habe ich auch die Unklarheit bezüglich "are not to be called" wie
in der vorhergehenden Anmerkung.


Freundliche Grüße
Hermann-Josef


Reply to: