Wir evaluieren Babel 0.9.5 [1] unter Windows für die Verwendung mit Python 2.6 und haben die folgenden Fragen, die wir durch Lesen der Dokumentation oder durch Google-Suchen nicht beantworten konnten.
1) Ich möchte eine ähnliche Abkürzung für ungettext verwenden. Gibt es eine Konzentration darauf, ob man dafür n_ oder N_ verwenden soll?
n_ scheint nicht zu funktionieren. Babel extrahiert keinen Text.
N_ scheint teilweise zu funktionieren. Babel extrahiert Text wie für gettext, formatiert aber nicht für ngettext (missing plural argument und msgstr [n].)
2) Gibt es eine Möglichkeit, die ersten msgstr-Felder wie folgt beim Erstellen einer POT-Datei zu setzen?
Ich vermute, dass es eine Möglichkeit gibt, dies über Babels cfg-Dateien zu tun, aber ich konnte keine Dokumentation über das Babel-cfg-Dateiformat finden.
"Projekt-ID-Version: PROJEKTVERSION \ n" "Sprach-Team: en_US \ n"
3) Gibt es eine Möglichkeit, 'veraltete' msgid / msgstrs in unseren PO-Dateien zu erhalten? Wenn ich den Babel-Aktualisierungsbefehl verwende, werden neu erstellte veraltete Zeichenfolgen mit # ~ Präfixen markiert, aber vorhandene veraltete Nachrichtenzeichenfolgen werden gelöscht.
Danke, Malcolm
[1] Ссылка
Standardmäßig erkennt pybabel extract
die folgenden Schlüsselwörter: _
, gettext
, ngettext
, ugettext
, ungettext
, dgettext
, dngettext
, N_
. Verwenden Sie die Option -k
, um weitere hinzuzufügen. N_
wird oft für NULL-Übersetzungen verwendet (auch verzögerte Übersetzungen genannt).
Aktualisieren : Die Option -k
kann Argumente der Funktion auflisten, die in den Katalog eingefügt werden sollen. Also, wenn Sie n_ = ngettext
verwenden, versuchen Sie pybabel extract -k n_:1,2 ...
.
Um Frage 2 zu beantworten:
Wenn Sie Babel über pybabel extract
ausführen, können Sie Project-Id-Version
über die Optionen --project
und --version
festlegen.
Wenn Sie Babel über setup.py extract_messages
ausführen, wird Project-Id-Version
aus der Distribution genommen (Projektname und -version in der Datei setup.py).
Beide Möglichkeiten unterstützen auch die Optionen --msgid-bugs-address
und --copyright-holder
zum Setzen der POT-Metadaten.
Tags und Links python internationalization gettext translation babel