Po4a intern

Es mag durchaus passieren, dass Po4a Gettext-Strings produziert, die dem Übersetzer die Schweißperlen auf die Stirn treiben. Einige Regeln sollten Sie schon beim Verfassen des Ausgangsmaterials beachten, denn die Code-Parser von Po4a sind speziell auf die Erfordernisse beim Übersetzen ausgelegt und fallen hinsichtlich Anfälligkeit bei Fehlern oft hinter echten Parsern zurück, wie sie in diversen Konvertern zwischen Formaten zum Einsatz kommen.

Groff-Code erlaubt es, diesen nach Belieben um eigene Makros zu erweitern. Solche Definitionen bringen den Pager zwar keineswegs aus dem Tritt, sind aber einer der typischsten Fallstricke für Po4a. Entweder Sie verzichten ganz darauf, oder geben, wenn es anders nicht klappt, sowohl po4a-updatepo als auch po4a-translate die Option --option groff_code=verbatim mit auf den Weg. Sie sorgt dafür, dass die Skripten von unverständlichen Teilen gar nicht erst Notiz nehmen und diese unverändert durchreichen.

Tabellen erweisen sich manchmal ebenfalls als Problem. Eine Formatierung wie in Listing 5 (entnommen aus ps.1) verleitet Po4 dazu, nach den mit .BR fett formatierten Teilen jeweils einen Zeilen- und String-Umbruch einzufügen, der dort gar nicht hingehört. So entstehen seltsam gestückelte Gettext-Strings, die Fehler geradezu heraufbeschwören. Besser ist die schlichtere, aber in der Ausgabe genauso gut aussehende Variante aus Listing 6 (xz.1).

Listing 5

lB1 lB1 lBw(\n[ColSize]n)
lB1 l1  l.
CODE    HEADER  DESCRIPTION
%cpu    %CPU    T{
cpu utilization of the process in "##.#" format.  Currently, it is the CPU
time used divided by the time the process has been running (cputime/realtime
ratio), expressed as a percentage.  It will not add up to 100% unless you are
lucky.  (alias
.BR pcpu ).
T}
%mem    %MEM    T{
ratio of the process's resident set size  to the physical memory on the
machine, expressed as a percentage.  (alias
.BR pmem ).
T}

Listing 6

.SS "Integer suffixes and special values"
In most places where an integer argument is expected,
an optional suffix is supported to easily indicate large integers.
There must be no space between the integer and the suffix.
.TP
.B KiB
Multiply the integer by 1,024 (2^10).
.BR Ki ,
.BR k ,
.BR kB ,
.BR K ,
and
.B KB
are accepted as synonyms for
.BR KiB .

Allgemein verträgt Po4a zwar eine ganze Menge, aber wenn Sie Code auf ein simpleres Format wie Markdown oder das Perl-Dokumentationsformat POD umstellen, dankt die Software es mit zuverlässigeren Ergebnissen. Nicht zuletzt fällt die Suche nach Fehlern in den über Jahrzehnte mit ihren Aufgaben gewachsenen Makros von Groff meist schwerer als in Formaten, die näher am einfachen Text bleiben.

Fazit

Po4a ist erste Wahl für das Lokalisieren von Dokumentationen, so viel steht fest. Zwar existieren spezialisierte Werkzeuge, die ein ganz bestimmtes Format besonders gut beherrschen, doch Po4a punktet durch Vielseitigkeit. Allerdings hinkt es vollwertigen Parsern für die jeweilige Syntax oft hinterher.

In der Vergangenheit hat sich immer wieder gezeigt, dass das Potenzial zum Übersetzen durchaus da ist, wenn erst einmal eine Vorlage bereitsteht. Doch das Integrieren von Po4a in ein Projekt überfordert die allermeisten Übersetzer. Hier wäre die Einsicht und Arbeit der Projektmitglieder notwendig, um schneller voranzukommen. 

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Grafische Werkzeuge zum Lokalisieren im Vergleich
    Damit eine Software in der Landessprache erscheint, muss Sie jemand übersetzen. Leistungsfähige Tools machen es jedermann leicht, einen ganz persönlichen Beitrag zur Open-Source-Welt zu leisten.
  • News und Programme rund um GNOME
  • Der IRC-Client irssi
    Epic und BitchX waren lange Zeit die Standard-IRC-Clients für die Konsole. Der ebenfalls konsolenbasierte Client irssi setzt nun mit vielen Features dazu an, die beiden "Oldies" abzulösen.
  • Leserbriefe
  • Die KISS-Distro
    Salix OS ist eine auf Slackware basierende Linuxdistribution. Sie wurde im Sommer 2009 von ehemaligen Zenwalk-Entwicklern gegründet, die sich neu orientieren wollten. Salix OS möchte so nah wie möglich an der Mutterdistribution Slackware sein und folgt dem KISS-Prinzip ("Keep it simple and stupid").
Kommentare

Infos zur Publikation

LU 03/2018 NEUE DISTRIBUTIONEN

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Internet abschalten
Karl-Heinz Hauser, 20.02.2018 20:10, 0 Antworten
In der Symbolleiste kann man das Kabelnetzwerk ein und ausschalten. Wie sicher ist die Abschaltu...
JQuery-Script läuft nicht mit Linux-Browsern
Stefan Jahn, 16.02.2018 12:49, 2 Antworten
Hallo zusammen, ...folgender goldener Code (ein jQuery-Script als Ergebnis verschiedener Exper...
XSane-Fotokopie druckt nicht mehr
Wimpy *, 30.01.2018 13:29, 2 Antworten
openSuse 42.3 KDE 5.8.7 Seit einem Software-Update druckt XSane keine Fotokopie mehr aus. Fehler...
TOR-Browser stürzt wegen Wikipedia ab
Wimpy *, 27.01.2018 14:57, 0 Antworten
Tor-Browser 7.5 based on Mozilla Firefox 52.8.0 64-Bit. Bei Aufruf von http: oder https://de.wi...
Wifikarte verhindert Bootvorgang
Maik Kühn, 21.01.2018 22:23, 1 Antworten
iwlwifi-7265D -26 failed to load iwlwifi-7265D -25 failed to load iwlwifi-7265D -24 failed to l...