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

Re: Verbleib der Handbuchseiten aus procps



Hallo Helge,

Am So., 26. Mai 2019 um 11:58 Uhr schrieb Helge Kreutzmann
<debian@helgefjell.de>:
>
> Hallo Mario,
> On Sun, May 26, 2019 at 10:32:52AM +0200, Mario Blättermann wrote:
> > Am Sa., 25. Mai 2019 um 11:24 Uhr schrieb Helge Kreutzmann
> > <debian@helgefjell.de>:
> > > On Sat, May 25, 2019 at 11:06:00AM +0200, Helge Kreutzmann wrote:
> > > > Wenn ich was verbessere, wie soll ich das einreichen? Über Dich? Oder
> > > > gibt es da eine dedizierte Schnittstelle? (Wie das mit den pull
> > > > requests funktioniert, weiß ich leider (noch) nicht).
> > >
> > Am besten einfach als Git-Diff über die Mailingliste einreichen [1], wie üblich.
> > Zwar wären Merge Requests besser für die Entwickler zu handhaben, aber die haben
> > es manchmal in sich… Aus einem Diff kann man etwas streichen, was nicht
> > hineingehört, aber bei einem Merge Request gibt es diese Möglichkeit anscheinend
> > nicht. Je weiter dabei der Hauptentwicklungszweig und der eigene lokale Checkout
> > auseinander gedriftet sind, umso schwieriger wird es. Ich nutze solche Merge
> > Requests selbst am liebsten nur bei ganz kleinen Änderungen.
> >
> > > Ok, ich brauche Deine Hilfe.
> > >
> > Gleich vorweg: Damals (im März 2014) hatte ich nur eine vage Vorstellung davon,
> > wie po4a innerhalb eines Buildsystems funktionieren könnte. Deshalb habe ich
> > damals ein paar einfache Skripte gebaut und die an die Entwickler geschickt [2].
> > Der einfachere Weg über eine po4a.conf (oder mehrere davon für verschiedene
> > pot-Dateien) war mir nicht bekannt.
>
> Ich würde versuchen, es sauber (ggf. neu) aufzusetzen. Idealerweise
> ohne das Schritt für Schritt zu ändern (s.u.).
>
> > > 1. Lt. Makefile werden die Übersetzungen vom Translationproject
> > > gezogen, aber das schlägt teilweise fehl:
> > >
> > > rsync -Lrtvz  translationproject.org::tp/latest/procps-ng-man/  .
> > > receiving incremental file list
> > > ./
> > > pl.po
> > > sv.po
> > >
> > > sent 1,913 bytes  received 1,833 bytes  2,497.33 bytes/sec
> > > total size is 1,102,879  speedup is 294.42
> > > rsync -Lrtvz  translationproject.org::tp/latest/procps-ng-man-ps/  ps
> > > receiving incremental file list
> > > rsync: change_dir "/latest/procps-ng-man-ps" (in tp) failed: No such file or directory (2)
> > >
> > > sent 8 bytes  received 104 bytes  224.00 bytes/sec
> > > total size is 0  speedup is 0.00
> > > rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [Receiver=3.1.3]
> > > rsync: read error: Connection reset by peer (104)
> > > make: *** [Makefile:525: get-trans] Fehler 23
> > >
> > >    Auch die nächste Zeile schlägt fehl:
> > > rsync -Lrtvz  translationproject.org::tp/latest/procps-ng-man-top/  top
> > > receiving incremental file list
> > > rsync: change_dir "/latest/procps-ng-man-top" (in tp) failed: No such file or directory (2)
> > >
> > > sent 8 bytes  received 105 bytes  75.33 bytes/sec
> > > total size is 0  speedup is 0.00
> > > rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [Receiver=3.1.3]
> > > rsync: read error: Connection reset by peer (104)
> > > make: *** [Makefile:525: get-trans] Fehler 23
> > >
> > >    Weißt Du, ob die ps/top-Zeilen wichtig sind?
> > >
> > Die sind erst einmal nicht wichtig. Weil die Handbuchseiten von ps und top
> > ziemlich groß sind, hatte ich damals vorgeschlagen, dass wir uns erst einmal auf
> > die anderen konzentrieren und später separat procps-ng-man-ps.pot (787 Strings)
> > und procps-ng-man-top.pot (662 Strings) zum Übersetzen anbieten. Das betrifft
> > auch die anderen Handbuchseiten aus den Abschnitten 3 und 5, die im Paket
> > procps-ng ausgeliefert werden, aber derzeit in man-po noch gar nicht auftauchen.
>
> Könntest Du mir den die richtigen Zeilen/Ziele für den Rsync-Aufruf
> nennen? Dann könnte das zumindest vorbereitet werden.
>
Der erste Aufruf funktioniert:
rsync -Lrtvz  translationproject.org::tp/latest/procps-ng-man/  .

Die anderen Zeilen können deswegen gar nicht funktionieren, weil es die
entsprechenden Verzeichnisse beim GNU TP (noch) nicht gibt.

> > > 2. Auch das Bauen der Handbuchseiten schlägt fehl[1], in der schwedischen
> > >    und polnischen Übersetzung sind Fehler. Wie werden die behoben, kannst Du die
> > >    Korrekturen im TP (oder bei procps) schreiben (lassen)?
> > >
> > >    Ich kann die Fehler lokal korrigieren, nur der Aufruf aus 1.
> > >    brettert dann wieder drüber und damit schlägt der Bau wieder fehl.
> >
> > Solche Fehlerkorrekturen würden die Übersetzung inhaltlich nicht verändern, es
> > wäre also legitim, sie unter Umgehung des TP direkt bei den Entwicklern als
> > Patches einzureichen. Selber kann ich im TP nichts machen, da es Übersetzungen
> > für andere Sprachen sind, da komme ich nicht ran. Sobald die Patches akzeptiert
> > sind, würde ich dann aber an die jeweiligen Übersetzer oder die Mailinglisten
> > des Teams schreiben, damit die Änderungen nicht bei der nächsten Aktualisierung
> > wieder überschrieben werden.
>
> Ich habe das noch mal geprüft. Mit den PO-Dateien bei Procps baut es,
> nur nach der Aktualisierung nicht. Insofern wäre ein Patch bei Procps
> momentan unnötig. Wie handhabt das TP Syntaxfehler in den PO-Dateien?
>
Schwer zu sagen. Da die Regel gilt, dass keine po-Dateien von außerhalb des TP
akzeptiert werden, kann man das eigentlich nur über das TP machen. Wenn
wir die jetzt im Git befindlichen po-Dateien patchen würden, dann würden
sie beim nächsten Abgleich mit rsync wieder überschrieben. Ich kümmere mich drum
und schreibe an die jeweiligen letzten Übersetzer bzw. Mailinglisten.

> > Ich würde sagen, dass der Inhalt von man-po im Laufe der Jahre immer wieder mal
> > verschlimmbessert worden ist, ohne dass die Auslieferung übersetzter
> > Handbuchseiten jemals funktioniert hätte. Vielleicht wäre es besser, auf der
> > Basis von po4a.conf-Dateien noch einmal von Null anzufangen…? Der Plan zur
> > Verteilung der Originaltexte in pot-Dateien sah damals so aus:
> >
> > procps-ng-man-ps.pot: Handbuchseite ps(1)
> > procps-ng-man-top.pot: Handbuchseite top(1)
> > procps-ng-man.pot: Restliche Handbuchseiten der Abschnitte 1 und 8
>
> Gibt es Gründe für die Aufspaltung? Um Synergien (besser) nutzen zu
> können, wäre eine große Datei einfacher. Der Bau (d.h. die 80%) würde
> für jede Seite einzelnd geprüft werden, d.h. wenn eine Seite z.B.
> komplett übersetzt, die Datei insgesamt aber nur zu 10% übersetzt ist,
> würde diese Handbuchseite übersetzt gebaut.
>
Die derzeitige pot-Datei hat 593 Strings. Wenn man ps und top hinzunimmt, werden
es stolze 2019, mit den anderen aus Abschnitt 3 und 5 zusammen dann 2091. Für
die bisherigen Übersetzer wäre es sicherlich kein allzu großes Problem, daran
weiterzuarbeiten, wenn alle Manpages in einer einzigen pot-Vorlage landen
würden, aber für neue Übersetzer wäre die schiere Größe der Vorlage erst einmal
abschreckend.

Dass po4a die Ermittlung des 80%-Schwellwerts nicht auf die gesamte Datei
bezieht, sondern das für jede der einzelnen Quelldateien macht, weiß ich.
Aber wissen das andere Übersetzer auch, und wenn ja, machen sie sich die Mühe,
po4a durchlaufen zu lassen, damit sie sehen, welche der einzelnen Handbuchseiten
gebaut werden und welche nicht? Wenn du aber meinst, dass das in einer einzigen
pot-Vorlage einfacher zu handhaben wäre, dann nur zu, ich habe nichts dagegen.
Ob meine Überlegungen wirklich praxisgerecht sind, weiß ich nicht.

> > Diese drei sind zumindest im Makefile schon berücksichtigt, wobei nur die letzte
> > tatsächlich schon bis zum TP vorgedrungen war. Hinzu kämen dann noch:
> >
> > procps-ng-man-devel.pot: Handbuchseiten des Abschnitts 3
> > procps-ng-man-conf.pot: Handbuchseite von sysctl.conf(5), wobei man über die
> > Benennung der pot-Datei vielleicht noch einmal nachdenken sollte.
> >
> > Inwieweit die derzeitige Dateistruktur in man-po noch zu retten ist, vermag ich
> > nicht zu sagen. Aber mir kam auch noch eine andere Idee: Das Projekt psmisc [3]
> > wird von den gleichen Entwicklern betreut, enthält auch
> > Handbuchseiten, aber noch
> > keine Übersetzungen. Ich unterstelle einfach mal, dass die Entwickler potenziell
> > dafür offen sind. Dann könnte man vielleicht eine passende Struktur zuerst in
> > psmisc einbauen und dann vorschlagen, diese Struktur auch in procps-ng zu
> > übernehmen (mit entsprechenden Anpassungen bezüglich der Aufteilung in die
> > einzelnen pot-Dateien)? Ich könnte allerdings auch wieder nur die po4a.conf
> > beisteuern, sonst nichts …
>
> Ich habe mir psmisc mal geclont. Aber ich fände es gut, wenn wir nicht
> nur die Infrastruktur, sondern auch zumindest einen Teil der
> Übersetzung der Handbuchseiten beifügen könnten, als »proof of
> concept«. Könntest Du Dir vorstellen, zumindest eine der Seiten, bspw.
> eine der kurzen Seiten peekfd(1), prtstat(1) oder pslog(1) zu
> übersetzen?
>
Kein Problem, mache ich. Die Datei peekfd.1.po hängt an. Aber sie
ist eigentlich noch nicht reif fürs Korrekturlesen, wenn du schwerere
Fehler findest, kannst du sie gern selbst beseitigen. Für Testzwecke sollte
es genügen. Ich habe die Vorlage in der Infrastruktur von manpages-de
erstellt, aber nur auf der Basis der Handbuchseite auf einem eigenen
System, die könnte von der eigentlichen Datei im Gitlab von psmisc
vielleicht abweichen.

> Falls ja, würde ich mir mal die Infrastruktur vornehmen und mich bei
> Dir melden, sobald ich die Infrastruktur habe. Hängt ein bisschen von
> der Zeit ab, technisch sollte das nicht zu schwierig sein, zumal ich
> es ja schon gemacht habe und gute Beispiele habe.
>
> procps-ng würde ich dann somit erst mal zurückstellen, bis wir bei
> psmisc auf einer guten Basis sind.

OK, machen wir so.

Gruß Mario
# German translation of manpages
# This file is distributed under the same license as the manpages-de package.
# Copyright © of this file:
# Mario Blättermann <mario.blaettermann@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: manpages-de\n"
"POT-Creation-Date: 2019-05-26 12:25+02:00\n"
"PO-Revision-Date: 2019-05-26 12:40+0200\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: de\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"
"X-Generator: Lokalize 19.04.1\n"

#. type: TH
#: archlinux
#, no-wrap
msgid "PEEKFD"
msgstr "PEEKFD"

#. type: TH
#: archlinux
#, no-wrap
msgid "2012-07-28"
msgstr "28. Juli 2012"

#. type: TH
#: archlinux
#, no-wrap
msgid "psmisc"
msgstr "psmisc"

#. type: TH
#: archlinux
#, no-wrap
msgid "User Commands"
msgstr "Dienstprogramme für Benutzer"

#. type: SH
#: archlinux
#, no-wrap
msgid "NAME"
msgstr "BEZEICHNUNG"

#. type: Plain text
#: archlinux
msgid "peekfd - peek at file descriptors of running processes"
msgstr "peekfd - nach Dateideskriptoren laufender Prozesse schauen"

#. type: SH
#: archlinux
#, no-wrap
msgid "SYNOPSIS"
msgstr "ÜBERSICHT"

#. type: Plain text
#: archlinux
msgid ""
"B<peekfd> [B<-8>,B<--eight-bit-clean>] [B<-n>,B<--no-headers>] [B<-f>,B<--"
"follow>] [B<-d>,B<--duplicates-removed>] [B<-V>,B<--version>] [B<-h>,B<--"
"help>] I<pid> [I<fd>] [I<fd>] B<...>"
msgstr ""
"B<peekfd> [B<-8>,B<--eight-bit-clean>] [B<-n>,B<--no-headers>] [B<-f>,B<--"
"follow>] [B<-d>,B<--duplicates-removed>] [B<-V>,B<--version>] [B<-h>,B<--"
"help>] I<PID> [I<Dateideskriptor>] [I<Dateideskriptor>] B<…>"

#. type: SH
#: archlinux
#, no-wrap
msgid "DESCRIPTION"
msgstr "BESCHREIBUNG"

#. type: Plain text
#: archlinux
msgid ""
"B<peekfd> attaches to a running process and intercepts all reads and writes "
"to file descriptors.  You can specify the desired file descriptor numbers or "
"dump all of them."
msgstr ""
"B<peekfd> hängt sich an eine laufenden Prozess an und fängt alle Lese- und "
"Schreibvorgänge von und zu Dateideskriptoren ab. Sie können die Nummern der "
"gewünschten Dateideskriptoren angeben oder alle ausgeben lassen."

#. type: SH
#: archlinux
#, no-wrap
msgid "OPTIONS"
msgstr "OPTIONEN"

#. type: IP
#: archlinux
#, no-wrap
msgid "-8"
msgstr "-8"

#. type: Plain text
#: archlinux
msgid "Do no post-processing on the bytes being read or written."
msgstr ""
"führt keine Nachverarbeitung der gelesenen oder geschriebenen Bytes durch."

#. type: IP
#: archlinux
#, no-wrap
msgid "-n"
msgstr "-n"

#. type: Plain text
#: archlinux
msgid "Do not display headers indicating the source of the bytes dumped."
msgstr ""
"zeigt keine Header an, welche die Quelle der ausgegebenen Bytes angeben."

#. type: IP
#: archlinux
#, no-wrap
msgid "-c"
msgstr "-c"

#. type: Plain text
#: archlinux
msgid ""
"Also dump the requested file descriptor activity in any new child processes "
"that are created."
msgstr ""
"gibt auch die Aktivität des angefragten Dateideskriptors in eventuellen neu "
"erstellten Kindprozessen aus."

#. type: IP
#: archlinux
#, no-wrap
msgid "-d"
msgstr "-d"

#. type: Plain text
#: archlinux
msgid ""
"Remove duplicate read/writes from the output.  If you're looking at a tty "
"with echo, you might want this."
msgstr ""
"entfernt Lese- und Schreibvorgänge aus der Ausgabe, die mehrfach erscheinen. "
"Wenn Sie nach einem TTY mit Echo schauen, werden Sie dies möglicherweise "
"brauchen."

#. type: IP
#: archlinux
#, no-wrap
msgid "-v"
msgstr "-v"

#. type: Plain text
#: archlinux
msgid "Display a version string."
msgstr "zeigt eine Versionszeichenkette an."

#. type: IP
#: archlinux
#, no-wrap
msgid "-h"
msgstr "-h"

#. type: Plain text
#: archlinux
msgid "Display a help message."
msgstr "zeigt eine Hilfemeldung an."

#. type: SH
#: archlinux
#, no-wrap
msgid "FILES"
msgstr "DATEIEN"

#. type: Plain text
#: archlinux
msgid "I</proc/*/fd>"
msgstr "I</proc/*/fd>"

#. type: Plain text
#: archlinux
msgid ""
"Not used but useful for the user to look at to get good file descriptor "
"numbers."
msgstr ""
"Wird nicht verwendet, aber ist für den Benutzer nützlich, um die Nummern der "
"gewünschten Dateideskriptoren zu finden."

#. type: SH
#: archlinux
#, no-wrap
msgid "ENVIRONMENT"
msgstr "UMGEBUNGSVARIABLEN"

#. type: Plain text
#: archlinux
msgid "None."
msgstr "Keine."

#. type: SH
#: archlinux
#, no-wrap
msgid "DIAGNOSTICS"
msgstr "DIAGNOSE"

#. type: Plain text
#: archlinux
msgid "The following diagnostics may be issued on stderr:"
msgstr ""
"Die folgenden Diagosen können in die Standardfehlerausgabe geschrieben werden:"

#. type: TP
#: archlinux
#, no-wrap
msgid "B<Error attaching to pid ...>"
msgstr "B<Fehler beim Anhängen an PID …>"

# FIXME doppelter Satzpunkt
#. type: Plain text
#: archlinux
msgid ""
"An unknown error occurred while attempted to attach to a process..  you may "
"need to be root."
msgstr ""
"Ein unbekannter Fehler ist bei dem Versuch aufgetreten, an einen Prozess "
"anzuhängen. Möglicherweise müssen Sie Root sein."

#. type: SH
#: archlinux
#, no-wrap
msgid "BUGS"
msgstr "FEHLER"

#. type: Plain text
#: archlinux
msgid ""
"Probably lots.  Don't be surprised if the process you are monitoring dies."
msgstr ""
"Wahrscheinlich viele. Seien Sie nicht überrascht, wenn der von Ihnen "
"überwachte Prozess abstürzt."

#. type: SH
#: archlinux
#, no-wrap
msgid "AUTHOR"
msgstr "AUTOR"

#. type: Plain text
#: archlinux
msgid "E<.MT trent.waddington@gmail.com> Trent Waddington E<.ME>"
msgstr "E<.MT trent.waddington@gmail.com> Trent Waddington E<.ME>"

#. type: SH
#: archlinux
#, no-wrap
msgid "SEE ALSO"
msgstr "SIEHE AUCH"

#. type: Plain text
#: archlinux
msgid "B<ttysnoop>(8)"
msgstr "B<ttysnoop>(8)"

Reply to: