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

Re: [RFR] man://manpages-l10n/pacutils-mtree.3.po



Hallo Helge,

Am Mi., 7. Okt. 2020 um 19:25 Uhr schrieb Helge Kreutzmann
<debian@helgefjell.de>:
>
> Hallo Mario,
> ich hätte da noch zwei Punkte:
>
> On Tue, Oct 06, 2020 at 09:18:00PM +0200, Mario Blättermann wrote:
> > #. type: IX
> > #: archlinux
> > #, no-wrap
> > msgid "Item"
> > msgstr "Eintrag"
>
> Bist Du Dir sicher, dass das Übersetzbar ist? Ich hatte es mehrfach,
> dass das ein Steuercode ist. Am besten schaust Du Dir die
> Ursprungsseite an, ob da das »Item« drin vorkommt.
>
Es sind tatsächlich Steuercodes. Die Handbuchseiten werden aus
Pod-Quelltexten gebaut (Perl-Dokumentationsformat). Pod ist nicht in
der Lage, diese Steuercodes auszublenden, die für die Groff-Ausgabe
irrelevant sind. Im Quelltext sieht es zum Beispiel so aus:

=item pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);

Die Pod-Werkzeuge machen daraus diesen Groff-Code:

.IX Item "pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);"

Der Manpage-Betrachter zeigt dann das:

pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);

Die Steuercodes sind weg. Möglicherweise werden sie für andere
Ausgabeformate gebraucht, wie Texinfo. Groff jedenfalls kommt ohne sie
aus. Im Grunde könnte man sie auch einfach kopieren oder unübersetzt
lassen, der Effekt wäre der gleiche. Man sieht aber auch, wie
kompliziert Pod arbeitet. Da sind diese Artefakte noch das Geringste,
man schaue sich dazu mal den erzeugten Text der Handbuchseite an: Aus
113 Zeilen Pod-Quelltext werden 134 Zeilen aus diversen
Formatierungsanweisungen und allgemeinen Definitionen bestehender
Datenmüll (der in händisch formatierten Handbuchseiten auch nicht
vorkommt) und 103 Zeilen echter Inhalt.


> > #. type: Plain text
> > #: archlinux
> > msgid ""
> > "\\& pu_mtree_t *m; \\& pu_mtree_reader_t *r; \\& \\& if((r = "
> > "pu_mtree_reader_open_package(handle, pkg)) == NULL) { \\& fprintf(stderr, "
> > "\"error: unable to load mtree data for \\*(Aq%s\\*(Aq\\en\", \\& "
> > "alpm_pkg_get_name(pkg)); \\& return; \\& } \\& \\& while((m = "
> > "pu_mtree_reader_next(r, NULL))) { \\& const char *md5 = m-E<gt>md5digest; \\& "
> > "printf(\"%s: %s\\en\", m-E<gt>path, \\& md5 && md5[0] != \\*(Aq\\e0\\*(Aq ? "
> > "md5 : \"(no md5sum provided)\"); \\& pu_mtree_free(m); \\& } \\& if(!reader-"
> > "E<gt>eof) { \\& fprintf(stderr, \"error: unable to read mtree data for \\*(Aq"
> > "%s\\*(Aq\\en\", \\& alpm_pkg_get_name(pkg)); \\& } \\& \\& "
> > "pu_mtree_reader_free(r);"
> > msgstr ""
> > "\\& pu_mtree_t *m; \\& pu_mtree_reader_t *r; \\& \\& if((r = "
> > "pu_mtree_reader_open_package(handle, pkg)) == NULL) { \\& fprintf(stderr, "
> > "\"error: unable to load mtree data for \\*(Aq%s\\*(Aq\\en\", \\& "
> > "alpm_pkg_get_name(pkg)); \\& return; \\& } \\& \\& while((m = "
> > "pu_mtree_reader_next(r, NULL))) { \\& const char *md5 = m-E<gt>md5digest; \\& "
> > "printf(\"%s: %s\\en\", m-E<gt>path, \\& md5 && md5[0] != \\*(Aq\\e0\\*(Aq ? "
> > "md5 : \"(no md5sum provided)\"); \\& pu_mtree_free(m); \\& } \\& if(!reader-"
> > "E<gt>eof) { \\& fprintf(stderr, \"error: unable to read mtree data for \\*(Aq"
> > "%s\\*(Aq\\en\", \\& alpm_pkg_get_name(pkg)); \\& } \\& \\& "
> > "pu_mtree_reader_free(r);"
>
> Das Programm übersetzt Du nicht? Ggf. wäre ja die Ausgabe zu
> übersetzen (mit fprintf).
>
Eine Handbuchseite aus dem Abschnitt 3 richtet sich an Programmierer.
Üblicherweise werden dort noch nicht mal I<Variablen> übersetzt.
Außerdem ist mir geläufig, dass Programmierer, die Gettext verwenden,
solche »fprintf(stderr«-Sachen oft gar nicht als übersetzbar
markieren. Die lokalisierten Ausgaben wären in Bugreports nur
hinderlich. Deshalb übersetze ich das auch nicht, sondern in der Regel
nur /* Kommentare */.

Gruß Mario


Reply to: