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

Re: Message-Kataloge



Jens Seidel schrieb:
Chris Leick wrote:
Jens Seidel schrieb:
Chris Leick wrote:

 Einige Zeichenketten kommen mir sehr bekannt vor. Sollten die meisten
wiederverwendet werden, wäre es vielleicht auch eine Option, ein Kompendium
(siehe Option -C von msgmerge) von PO-Dateien anzulegen, und zum
Korrekturlesen einzuschicken, so dass statt vieler kleiner und gleichlautender
Zeichenketten eine größere hier geprüft wird?

nach so etwas hatte ich auch schon gesucht. Leider scheint msgmerge nicht so ganz das richtige zu sein. In der Manpage steht: Merges two Uniforum style .po files together. Bei 77 fast identischen Dateien ist das unpraktisch.

richtig, konnte mich auch nur daran erinnern. Habe aber mittlerweile das
richtige Werkzeug gefunden, um message catalogs zu erstellen: msgcat.

Aufruf:
$ msgcat /tmp/*.po -o compendium.po

Hallo Jens,

Das sieht gut aus.

Dies vereint alle PO-Dateien in /tmp in eine einzelne Datei compendium.po.
Sollten dabei in verschiedenen Dateien die gleiche Zeichenkette mehrfach
gleich vorkommen, so landet sie im Kompendium aber nur einmal. Ist eine
gleiche Zeichenkette unterschiedlich übersetzt (das wollen wir nicht,
stimmt's?), dann wird diese mit speziellen Konfliktmarkern und als
fuzzy markiert:

  # Indikativ: "Gibt keine interaktiven Rückfragen aus"
  #: ../include/svn_error_codes.h:158
  #, fuzzy
  msgid "Bad parent pool passed to svn_make_pool()"
  msgstr ""
  "#-#-#-#-#  de2.po (subversion 1.5)  #-#-#-#-#\n"
  "Falcher Elternpool an svn_make_pool() übergeben\n"
  "#-#-#-#-#  de3.po (subversion 1.6)  #-#-#-#-#\n"
  "Falscher Elternpool an svn_make_pool() übergeben\n"
  "#-#-#-#-#  de.po (subversion 1.6)  #-#-#-#-#\n"
  "Falscher Elternpool an svn_make_pool() übergeben"

Insbesondere im Header-String (mit "Project-Id-Version:" ...) erhält man so
viele Konflikte, das stört aber nicht, da dies keine richtigen Übersetzungen
sind.

Statt vieler gleicher Übersetzungen hast du im Kompendium diese nur einmal.
Ähnliche Zeichenketten werden automatisch als solche erkannt und msgcat
orientiert sich bestimmt an solchen Vorlagen und erstellt
fuzzy-Zeichenketten (oder zumindest msgmerge tut dies). Der
Übersetzungsaufwand sollte sich also erheblich reduzieren.

Ist die Kompendium-Datei dann erst einmal in Ordnung, kannst du die
Übersetzungen in die einzelnen PO-Datei migrieren. Dafür verwendet man dann
aber wohl wieder msgmerge:

msgmerge -U leerePO.Datei englischePOT.Datei -C compendium.po
sollte dann alle Übersetzungen übertragen, eventuell geht auch

Das funktioniert nicht. Die Datei bleibt leer.

cp compendium.po de1.po
msgmerge -U de1.po englischePOT.Datei1
(und nun noch irgendwie die ungenutzen msgstr am Ende "#~: ..." entfernen,
falls es sie gibt, msgfilter, ...???)

Verstanden?

Verstanden schon, allerdings ist das in diesem Fall nicht wirklich eine Arbeitsersparnis. Die immer wiederkehrenden Strings habe ich allesamt bereits per "ed" übersetzt, z.B.

/msgid "AUTHOR"/
+
s/msgstr ""/msgstr "AUTOR"/
/msgid "HOMEPAGE/
...
w

usw.

Das Skript habe ich dann einfach für alle po-Dateien in einer Schleife ausgeführt. Damit sind in jeder Datei nur noch zwei bis drei Strings zu
übersetzen.

Diese Dateien nehme ich mir nun alle vor und erstelle die compendium.po erst hinterher, um sie hier einzusenden. Das hat den Vorteil, dass ich nicht nachher wieder alles auseinanderbasteln muss. Außerdem kann ich dann in dieser die Kommentare entfernen und ohne Suche die Strings nachher wiederfinden.

Für künftige Übersetzungen werde ich allerdings den von Dir beschriebenen Weg gehen, da ich dann noch nicht einmal mehr ein Ed-Skript schreiben muss, sondern nur ein kleines Shellskript, das hinterher die compendium.po auseinandernimmt und aufräumt.

Lies dir dazu ruhig die info-Seiten durch (die man-Seiten sind nicht immer
vollständig!). Eigentlich sollte das Quellpaket genauso vorgehen und nur
eine einzelne Datei zur Übersetzung anbieten, wenn du Lust hast, solltest du
dem nachgehen, andernfalls ist wirklich ein Wunschlistenfehler angebracht,
denn die gleichen Zeichenketten mehrfac zu übersetzen ist unsinnig. Kannst
ja zuvor auch hier oder auf debian-i18n nochmal nachfragen, berichten ...

Ja. Das werde ich anschließend tun.

Vielen Dank für die vielen Tipps.

Chris


Reply to: