Wie verwenden xgettext iterativ .po Dateien für die Übersetzung zu aktualisieren
-
22-08-2019 - |
Frage
Ich betrachte mit xgettext unterstützen Übersetzung von großer Code-Basis, und ich habe zwei Fragen:
- wenn ich pro-Sprache eine .po-Datei habe, ist es eine einfache Möglichkeit, sie alle mit einem einzigen xgettext Scan der Code-Basis zu aktualisieren, oder muß ich laufe xgettext einmal für jede Sprache?
- wenn ich das Ziel Langauge in die .po-Datei-Header hinzufügen, mit poedit , xgettext scheint dies zu überschreiben mit Standard-Header. Wie kann ich das verhindern?
Vielleicht das falsche Werkzeug benutze ich, in diesem Fall Vorschläge sind willkommen. Was ich will, ist in der Lage sein, den Code und aktualisieren Sie die .po-Dateien mit neuen Saiten zu scannen, aber jede Header-Informationen intakt bleibt.
EDIT: Ich weiß das. Poedit Code scannen kann, aber ich habe gehofft, eine Kommandozeilen-Anwendung zu finden, um die Abtastung auszuführen, um den Prozess leichter zu automatisieren
Lösung
Ja, im Grunde sind Sie mit den Werkzeugen falsch.
xgettext
extrahiert die Tags und erstellt die Vorlagendatei. (Z * .pot-Datei)
Die msgmerge
Befehl aktualisiert eine .po-Datei mit Änderungen aus der POT-Datei.
Wir haben Regeln machen die .po-Dateien zu aktualisieren, wie unten:
%.en.po : %.pot
-[ -e $@ ] && msgmerge --width=110 --update $@ $<
[ -e $@ ] || cp $< $@