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

Re: [RFR] man://manpages-de/printf.3



Salut Chris,

>> Nachdem ein treuer Stammgast von "Chez les manuales alemandes" zum Ende der
>   allemand, avec deux »l«

da hast Du mich kalt erwischt ;-) Ein oder zwei Kurse vor langen Jahren und
Vokabeln abfragen - das war's.

Die Küchenmannschaft ist bestürzt über Ihre malträtierten Geschmacksnerven
und untersucht aktuell die Rezepte und Prozesse.

Salutations distinguées,
Martin

******************************************************************************

>>  #. type: Plain text
>>  msgid ""
>> "The functions in the B<printf>() family produce output according to a " >> "I<format> as described below. The functions B<printf>() and B<vprintf>() " >> "write output to I<stdout>, the standard output stream; B<fprintf>() and " >> "B<vfprintf>() write output to the given output I<stream>; B<sprintf>(), " >> "B<snprintf>(), B<vsprintf>() and B<vsnprintf>() write to the character "
>>  "string I<str>."
>>  msgstr ""
>> "Die Funktionenfamilie B<printf>() erzeugt Ausgaben in einem im Folgenden "
>>  "beschriebenen I<Format>. Die Funktionen B<printf>() und B<vprintf>() "

> Hier schreibst Du I<Format> groß, oben in den Funktionsdeklarationen klein.

Treffer. Hier bietet dein Standpunkt, die Variablen in Funktionsdeklarationen zu ersetzen, Vorteile. Da ich mich aber bislang dagegen gewehrt habe, muss ich
mir treu bleiben und die Schreibweise aus der ÜBERSICHT übernehmen.

Darüber hinaus frage ich mich jetzt auch, ob der erste Satz nicht umformuliert
werden sollte; vielleicht:

    Die Funktionsfamilie B<printf>() erzeugt Ausgaben in einem der im
    Folgenden beschriebenen I<format>e.


>>  #. type: Plain text
>>  msgid ""
>> "The functions B<snprintf>() and B<vsnprintf>() do not write more than " >> "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)). If " >> "the output was truncated due to this limit then the return value is the " >> "number of characters (excluding the terminating null byte) which would "
>> "have been written to the final string if enough space had been "
>> "available. Thus, " >> "a return value of I<size> or more means that the "
>> "output was truncated. (See also below under NOTES.)"
>> msgstr ""
>> "Die Funktionen B<snprintf>() und B<vsnprintf>() schreiben nicht mehr als " >> "I<size> Byte (einschließlich dem abschließenden Null-Byte '\\e0'). Falls "

>  »\\e0« (Gänsefüßchen)

Noch ein Treffer und eine Problematik, die wohl auch allgemein mal besprochen
werden sollte. Die entsprechende Stelle im Quelltext ist diese:

    bytes (including the terminating null byte (\(aq\e0\(aq)).
    If the output was truncated due to this limit then the return value

Po4a spendiert noch weitere '\' und wir erhalten (\\(aq\\e0\\(aq)). Da
po4a-translate(1) bei der Zeichensetzung empfindlich auf Leerzeichen (Space)
reagiert, kopiere ich solche Sequenzen in die Ausgabe. Damit wird dann aber
unser traditioneller Gänsefüßchen-Ersatz (»«) durchbrochen. Und mit einem
schlichten sed-Befehl können wir das auch nicht ohne Weiteres ausbügeln. Da
muss aus meiner Sicht schon einmal der PO-Editor ran.


>>  #. type: SS
>>  #, no-wrap
>>  msgid "Format of the format string"
>>  msgstr "Format des Formatstrings"

>   der Formatzeichenkette (kommt mehrfach vor)

Ist auf der geistigen ToDo-Liste. Bernhard hat ja um gute Lesbarkeit der
Übersetzung gebeten und das ist so ein Fall, bei dem man einiges Hirnschmalz
investieren kann. Und was machen wir, um die Zielgruppe (Programmierer, die
die Übersetzung vielleicht doch nicht brauchen) zu verwirren?


>>  #. type: Plain text
>>  msgid ""
>> "The format string is a character string, beginning and ending in its "
>> "initial shift state, if any. The format string is composed of zero or "
>> "more directives: ordinary characters (not B<%>), which are copied "
>> "unchanged to the output stream; and conversion specifications, each of "
>> "which results in fetching zero or more subsequent arguments. Each "
>> "conversion specification is introduced by the character B<%>, and ends " >> "with a I<conversion specifier>. In between there may be (in this order) " >> "zero or more I<flags>, an optional minimum I<field width>, an optional "
>> "I<precision> and an optional I<length modifier>."
>>  msgstr ""
>>  "Der Formatstring ist eine Zeichenkette, die, so vorhanden, in ihrem "
>>  "initialen Shift-Zustand beginnt und endet.

>   Shift-Status scheint ein feststehender Begriff zu sein:
http://books.google.de/books?id=_DEAtSK2d8sC&pg=PA381&lpg=PA381&dq=%22shift+status%22&source=bl&ots=FBpA8cI3Fg&sig=KzleWKaccHDVzdXRtVoCZe4k1dE&hl=de&sa=X&ei=wOaOUOfnKJCN4gS2lIGYBg&redir_esc=y#v=onepage&q=%22shift%20status%22&f=false

Mit etwas Abstand zum "Sprint" vor der neuen Version sind wir uns einig, dass
Shift-Zustand nicht das Gelbe vom Ei ist. Ich habe da wenig aussagefähiges
Denglisch produziert und das ist Dein Fund aus meiner Sicht auch. Und wie hast Du das gefunden? Meine erste Fundstelle beim Googeln mit "string shift state"
führte mich zur Glibc:

  http://www.gnu.org/software/libc/manual/html_node/Shift-State.html

Im Moment bin ich für nicht übersetzen und Gänsefüßchen.

>> "Der Formatstring setzt sich zusammen aus Null oder mehr Anweisungen: "
>> "normale Zeichen (nicht B<%>) werden unverändert in den Ausgabekanal "
>> "kopiert; Umwandlungsanweisungen fordern "

>   Ausgabedatenstrom?

Der Trend geht zum dritten Weg. Ausgabekanal für "output stream" ist nicht
geschickt.

>> "jeweils null oder mehr Argumente. Jede Umwandlungsanweisung wird durch " >> "das Zeichen B<%> eingeleitet und endet mit einem I<Umwandlungssymbol>. "
>> "Dazwischen können (in dieser Reihenfolge) null oder mehr I<Flags> "
>> "(Schalter),

>  Ich würde hier statt I<Flags> I<Schlüssel> verwenden ohne Zusatz in
>  Klammern.

Hier verschanze ich mich mal hinter der Wortliste, die den Schlüssel nicht
hergibt. Da denke ich eher an "key".

>>  #. type: Plain text
>>  msgid ""
>> "The arguments must correspond properly (after type promotion) with the " >> "conversion specifier. By default, the arguments are used in the order " >> "given, where each \\(aq*\\(aq and each conversion specifier asks for the " >> "next argument (and it is an error if insufficiently many arguments are "
>>  "given).  One can also specify explicitly which argument is taken, at "
>> "each place where an argument is required, by writing \"%m$\" instead of "
>>  "\\(aq%\\(aq and \"*m$\" instead of \\(aq*\\(aq, where the decimal "
>>  "integer m denotes the position in the argument list of the desired "
>>  "argument, indexed starting from 1.  Thus,"
>>  msgstr ""
>>  "Die Argumente müssen (nach I<Typumwandlung>) genau zu den "
>> "Umwandlungssymbolen passen. Standardmäßig werden die Argumente in der "
>>  "angegebenen Reihenfolge benutzt, wobei jeder \\(aq*\\(aq und jedes "
>> "Umwandlungssymbol das nächste Argument abfragt (und es ist ein Fehler, " >> "wenn nicht ausreichend Argumente angegeben sind). Man kann auch an jeder "
>>  "Stelle, "

>   Es können auch … (Formulierungen mit »man« vermeiden)

Neue Version:

"Es kann auch an jeder Stelle, "
"die ein Argument erfordert, explizit angeben werden, welches Argument "
"verwendet wird. Dazu wird »%m$« anstelle von \\(aq%\\(aq und »*m$« anstelle "
"von \\(aq*\\(aq geschrieben, wobei die Dezimalzahl m die Position des "
"gewünschten Arguments in der Argumentliste angibt, beginnend mit 1. Damit "
"sind"


Reply to: