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

Re: [RFR] man://manpages-de/{intro.1,bind.2,write.2}



Hallo Martin,
On Sat, Sep 17, 2011 at 02:23:20PM +0200, Martin Eberhard Schauer wrote:
> # (mes) Stimmt das?
> #. type: TH
> #, no-wrap
> msgid "2010-08-29"
> msgstr "29. August 2008"

s/2008/2010/  (oder worauf bezieht sich Deine Frage?)

> #. type: Plain text
> msgid "write - write to a file descriptor"
> msgstr "write - in einen Dateidescriptor schreiben"

Entweder (bevorzugt) s/Dateidescriptor/Dateideskriptor/ oder (nicht so
schön) s/Dateidescriptor/Datei-Dscriptor/

> #. type: Plain text
> msgid ""
> "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);"
> ">"
> msgstr ""
> "B<ssize_t write(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<);"
> ">"

Eventuell (auch im Folgenden) die Variablennamen der besseren
Lesbarkeit halber auf Deutsch, d.h. s/I<count>/I<Anzahl>/ (merke ich
jetzt nicht mehr an).

> #. type: Plain text
> msgid ""
> "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> "
> "to the file referred to by the file descriptor I<fd>."
> msgstr ""
> "B<write>() versucht I<count> Byte aus dem Puffer, auf den I<buf> zeigt, "
> "in die Datei zu schreiben, auf die I<fd> weist."

Ich finde es unglücklich, dass der Begriff »Dateideskriptor« nicht in
der Übersetzung auftaucht, andererseit liest sich Dein Text gut.
Vielleicht kannst Du das noch mal prüfen.

> #. type: Plain text
> msgid ""
> "The number of bytes written may be less than I<count> if, for example, "
> "there is insufficient space on the underlying physical medium, or the "
> "B<RLIMIT_FSIZE> resource limit is encountered (see B<setrlimit>(2)), or "
> "the call was interrupted by a signal handler after having written less "
> "than I<count> bytes.  (See also B<pipe>(7).)"
> msgstr ""
> "Die Anzahl der geschriebenen Bytes kann geringer sein als I<count>, wenn "
> "es beispielsweise nicht genügend Platz auf der zugrunde liegenden "
> "physikalischen Medium gibt oder die B<RLIMIT_FSIZE>-"
> "Ressourcenbeschränkung erreicht wird (siehe B<setrlimit>(2)) oder der "
> "Aufruf von einem Signal Handler nach weniger als I<count> geschriebenen "
> "Bytes unterbrochen wurde. (Siehe auch B<pipe>(7).)"

s/sein als I<count>/als I<count> sein/
s/auf der/auf dem/
s/physikalischen/physischen/
Punkt in der letzten Klammer i.O.?

> #. type: Plain text
> msgid ""
> "For a seekable file (i.e., one to which B<lseek>(2)  may be applied, for "
> "example, a regular file)  writing takes place at the current file "
> "offset, and the file offset is incremented by the number of bytes "
> "actually written.  If the file was B<open>(2)ed with B<O_APPEND>, the "
> "file offset is first set to the end of the file before writing.  The "
> "adjustment of the file offset and the write operation are performed as "
> "an atomic step."
> msgstr ""
> "Für eine Datei, auf B<lseek>(2) kann angewendet werden kann (d. h. also "
> "der Offset kann relativ zum Dateidescriptor neu positioniert werden, z. "
> "B. eine reguläre Datei) erfolgt das Schreiben am aktuellen Datei-Offset. "
> "Dabei wird der Datei-Offset um die Anzahl der tatsächlich geschriebenen "
> "Bytes "
> "inkrementiert . Wenn die Datei mit B<open>(2) und der Option B<O_APPEND> "
> "geöffnet wurde, wird der Datei-Offset vor dem ersten Schreiben auf das "
> "Dateiende gesetzt. Die Einstellung des Datei-Offsets und die "
> "Schreiboperation werden als eine unteilbare (atomare) Operation "
> "durchgeführt."

Den Text am Anfang finde ich sehr frei, auch das Beispiel fehlt:
Für eine durchsuchbare Datei, d.h. eine Datei, auf die B<lseek>(2)
angewandt werden aknn (beispielsweise eine normale Datei).
Offset bewusst nicht übersetzt?
s/inkrementiert ./erhöht./
s/Wenn die/Falls die/

> #. type: Plain text
> msgid ""
> "POSIX requires that a B<read>(2)  which can be proved to occur after a "
> "B<write>()  has returned returns the new data.  Note that not all file "
> "systems are POSIX conforming."
> msgstr ""
> "POSIX fordert, dass ein nachweisbar nach der Rückkehr von B<write>()"
> " liegendes B<read>(2) die neuen Daten liefern muss. Es sollte jedoch "
> "beachtet werden, dass nicht alle Dateisysteme zu POSIX konform sind."

Fehler im Original: s/can be proved/can be proven/

> #. type: Plain text
> msgid ""
> "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  "
> "may return a failure status if one of the errors below is detected.  If "
> "no errors are detected, 0 will be returned without causing any other "
> "effect.  If I<count> is zero and I<fd> refers to a file other than a "
> "regular file, the results are not specified."
> msgstr ""
> "Wenn I<count> gleich Null ist und I<fd> auf eine reguläre Datei "
> "verweist, "
> "dann kann B<write>() einen Fehler-Status zurückgeben, wenn einer der "
> "nachfolgenden Fehler erkannt wird. Wenn keine Fehler festgestellt "
> "werden, wird 0 zurückgegeben, ohne dass Nebenwirkungen eintreten. Wenn "
> "I<count> gleich Null ist und I<fd> bezieht sich nicht auf eine reguläre "
> "Datei, sind die Ergebnisse nicht festgelegt."

s/dann kann/kann/
s/Fehler-Status/Fehlerstatus/
s/wenn einer/falls einer/
s/bezieht sich nicht auf eine reguläre Datei/sich nicht auf eine
reguläre Datei bezieht/

Ich würde »regular file« lieber mit »normale Datei« übersetzen, nicht
weiter angemerkt.

> #. type: Plain text
> msgid ""
> "The file descriptor I<fd> refers to a file other than a socket and has "
> "been marked nonblocking (B<O_NONBLOCK>), and the write would block."
> msgstr ""
> "Der Dateidescriptor I<fd> verweist auf eine Datei, die kein Socket und "
> "als nicht blockierend (B<O_NONBLOCK> gekennzeichnet ist - die "
> "Schreiboperation würde daher blockieren."

s.o. für »Dateidescriptor«, merke ich im Folgenden nicht mehr an.
s/(B<O_NONBLOCK>/(B<O_NONBLOCK>)/
Minuszeichen? (merke ich nicht weiter an)

> #.  Actually EAGAIN on Linux
> #. type: Plain text
> msgid ""
> "The file descriptor I<fd> refers to a socket and has been marked "
> "nonblocking (B<O_NONBLOCK>), and the write would block.  POSIX.1-2001 "
> "allows either error to be returned for this case, and does not require "
> "these constants to have the same value, so a portable application should "
> "check for both possibilities."
> msgstr ""
> "Der Dateidescriptor I<fd> verweist auf einen Socket und wurde als nicht "
> "blockierend B<O_NONBLOCK> gekennzeichnet - die Schreiboperation würde "
> "daher blockieren. POSIX.1-2001 lässt für diesen Fall beide Fehlerstati "
> "zu und fordert nicht, dass beide Konstanten den gleichen Wert haben. "
> "Eine portable Anwendung sollte daher beide Möglichkeiten prüfen."

s/B<O_NONBLOCK>/(B<O_NONBLOCK>)/

> #. type: Plain text
> msgid ""
> "An attempt was made to write a file that exceeds the implementation-"
> "defined maximum file size or the process's file size limit, or to write "
> "at a position past the maximum allowed offset."
> msgstr ""
> "Es wurde versucht, in eine Datei zu schreiben, die die implementations- "
> "oder prozessspezifische maximale Dateigröße überschreitet oder der "
> "maximal zulässige Offset wurde überschriten."

s/überschriten/überschritten./

> #. type: Plain text
> msgid ""
> "I<fd> is connected to a pipe or socket whose reading end is closed.  "
> "When this happens the writing process will also receive a B<SIGPIPE> "
> "signal.  (Thus, the write return value is seen only if the program "
> "catches, blocks or ignores this signal.)"
> msgstr ""
> "I<fd> ist mit einer Pipe oder einem Socket verbunden, deren lesende "
> "Enden geschlossen sind. In diesem Fall empfängt der schreibende Prozess "
> "ein B<SIGPIPE>-Signal. (Somit wird der Rückgabewert von B<write>() nur "
> "sichtbar/wirksam/gesehen, wenn das Programm das Signal abfängt, "
> "blockiert oder ignoriert.)"

s/lesende Enden/lesendes Ende/ und s/sind./ist./
s/Prozess/Prozess auch/

> #. type: Plain text
> msgid ""
> "A successful return from B<write>()  does not make any guarantee that "
> "data has been committed to disk.  In fact, on some buggy "
> "implementations, it does not even guarantee that space has successfully "
> "been reserved for the data.  The only way to be sure is to call B<fsync>"
> "(2)  after you are done writing all your data."
> msgstr ""
> "Eine erfolgreiche Rückkehr aus B<write>() garantiert nicht, dass Daten "
> "an die Festplatte übergeben wurden. In der Tat garantiert es auf einigen "
> "fehlerhaften Implementierungen nicht einmal, dass der Speicher für die "
> "Daten erfolgreich reserviert wurde. Der einzig sichere Weg ist der "
> "Aufruf von B<fsync>(2), nachdem Sie alle ihre Daten geschrieben haben."

s/alle ihre/alle Ihre/

> #. type: Plain text
> msgid ""
> "When a socket is created with B<socket>(2), it exists in a name space "
> "(address family) but has no address assigned to it.  B<bind>()  assigns "
> "the address specified to by I<addr> to the socket referred to by the "
> "file descriptor I<sockfd>.  I<addrlen> specifies the size, in bytes, of "
> "the address structure pointed to by I<addr>.  Traditionally, this "
> "operation is called \\(lqassigning a name to a socket\\(rq."
> msgstr ""
> "Wenn ein Socket mit B<socket>(2) erstellt wird, existiert es in einem "
> "Namensraum (Adressfamilie), ihm wurde aber noch keine Adresse "
> "zugewiesen. B<bind>() weist die von I<addr> angegebene Adresse dem "
> "Socket zu, auf den der Dateideskriptor I<sockfd> weist. I<addrlen> gibt "
> "die Größe der durch I<addr> bestimmten Adress-Struktur in Byte an. "
> "Traditionell wird diese Operation als \\ (lq zuweisen eines Namens zu "
> "einem Socket \\(rq bezeichnet."

s/Adress-Struktur/Adressstruktur/
Keine Leerzeichen rund um Anführungszeichen, auch nicht inmitten von
Steuerzeichen:
s/\\ (lq zuweisen/\\(lqzuweisen/ und s/Socket \\(rq/Socket\\(rq/
Werden die Anführungszeichen eigentlich »übersetzt«?

> #. type: Plain text
> msgid ""
> "The only purpose of this structure is to cast the structure pointer "
> "passed in I<addr> in order to avoid compiler warnings.  See EXAMPLE "
> "below."
> msgstr ""
> "Der einzige Zweck dieser Struktur ist die Typumwandlung des in I<addr> "
> "übergebenen Zeigers, um Compiler-Warnungen zu vermeiden (siehe das "
> "folgende Beispiel)."

s/siehe das folgende Beispiel/siehe BEISPIEL weiter unten/

> #. type: Plain text
> msgid "I<sockfd> is a descriptor for a file, not a socket."
> msgstr "I<sockfd> ist ein Descriptor für eine Datei, nicht für ein Socket."

s/nicht für ein/kein/

> #. type: Plain text
> msgid ""
> "Search permission is denied on a component of the path prefix.  (See "
> "also B<path_resolution>(7).)"
> msgstr ""
> "Eine Komponente des Pfad-Präfix darf nicht durchsucht werden. (Siehe "
> "auch B<path_resolution>(7).)"

Satzpunkt in Klammer i.O.?

> #. type: Plain text
> msgid "I<addr> points outside the user's accessible address space."
> msgstr "I<path> zeigt aus dem adressierbaren Benutzer-Adressraum heraus."

s/I<path>/I<addr>/
s/adressierbaren Benutzer-Adressraum/vom Benutzer addressierbaren
Adressraum/

> # (mes) Müßte das nicht im Original in kursiv (I<inode>) stehen?
> #. type: Plain text
> msgid "The socket inode would reside on a read-only file system."
> msgstr ""
> "Der Socket inode angegebene Datei befindet sich auf einem nur lesbaren "
> "(read-only) Dateisystem."

Ich verstehe das Original so, dass es um die Inode des Sockets geht,
daher:
Der Inode des Sockets befindet sich auf einem nur lesbaren
Dateisystem.

> #. type: Plain text
> msgid ""
> "The third argument of B<bind>()  is in reality an I<int> (and this is "
> "what 4.x BSD and libc4 and libc5 have).  Some POSIX confusion resulted "
> "in the present I<socklen_t>, also used by glibc.  See also B<accept>(2)."
> msgstr ""
> "Das dritte Argument von B<bind>() ist in Wirklichkeit ein I<int> (und "
> "das ist, was 4.x BSD und libc4 und libc5 haben). Einige POSIX-Verwirrung "
> "führte zum gegenwärtigen I<socklen_t>, das auch von Glibc verwendet wird "
> "(siehe auch B<accept>(2))."

s/und das ist, was 4.x BSD und libc4 und libc5 haben/und dies
verwenden 4.x BSD, Libc4 und Libc5 auch)

> #.  listen.7 refers to this example.
> #.  accept.7 refers to this example.
> #.  unix.7 refers to this example.
> #. type: Plain text
> msgid ""
> "The following example shows how to bind a stream socket in the UNIX "
> "(B<AF_UNIX>)  domain, and accept connections:"
> msgstr ""
> "Das folgende Beispiel zeigt, wie ein Stream Socket in die UNIX-Domain "
> "(B<AF_UNIX> eingebunden wird und Verbindungen annimmt: "

s/(B<AF_UNIX>/(B<AF_UNIX>)/

> #. type: Plain text
> #, no-wrap
> msgid ""
> "#define MY_SOCK_PATH \"/somepath\"\n"
> "#define LISTEN_BACKLOG 50\n"
> msgstr ""
> "#define MY_SOCK_PATH \"/somepath\"\n"
> "#define LISTEN_BACKLOG 50\n"

s/somepath/irgendeinpfad/

> #. type: Plain text
> #, no-wrap
> msgid ""
> "#define handle_error(msg) \\e\n"
> "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
> msgstr ""
> "#define handle_error(Nachricht) \\e\n"
> "    do { perror(Nachricht); exit(EXIT_FAILURE); } while (0)\n"


Hier übersetzt Du Variablennamen? (Am besten global immer machen)

> #. type: Plain text
> #, no-wrap
> msgid ""
> "    /* When no longer required, the socket pathname, MY_SOCK_PATH\n"
> "       should be deleted using unlink(2) or remove(3) */\n"
> "}\n"
> msgstr ""
> "    /* Wenn er nicht mehr gebraucht wird, sollte der Socket\n"
> "       (pathname, MY_SOCK_PATH) mit unlink(2) oder remove(3)\n"
> "        gelöscht werden */\n"
> "}\n"

Ist das nicht eher s/(pathname, MY_SOCK_PATH)/Pfadname (MY_SOCK_PATH)/
?

Viele Grüße

                Helge
-- 
      Dr. Helge Kreutzmann                     debian@helgefjell.de
           Dipl.-Phys.                   http://www.helgefjell.de/debian.php
        64bit GNU powered                     gpg signed mail preferred
           Help keep free software "libre": http://www.ffii.de/

Attachment: signature.asc
Description: Digital signature


Reply to: