Bei Verwendung des Tools xgettext ist es möglich, Kommentaren automatisch hinzuzufügen, um den Übersetzern bei der Suche nach Eigennamen zu helfen (z. B. documented).Wie bestimmten Kontext zuweisen - Schlüsselwort für Eigenname?
Die Dokumentation schlägt vor, die folgenden in der Befehlszeile hinzuzufügen:
--keyword='proper_name:1,"This is a proper name. See the gettext manual, section Names."'
, die in Eigennamen führt zu der .pot
Datei wie folgt extrahiert werden:
#. This is a proper name. See the gettext manual, section Names.
#: ../Foo.cpp:18
msgid "Bob"
msgstr ""
Das Problem dabei; ist, dass kein bestimmter Kontext für diese Zeichenfolge definiert wurde. Hier ist ideal, wie der richtige Name würde extrahiert:
#. This is a proper name. See the gettext manual, section Names.
#: ../Foo.cpp:18
msgctxt "Proper Name"
msgid "Bob"
msgstr ""
Ich habe versucht, die folgenden aber ohne Erfolg:
# Hoping that 0 would be the function name 'proper_name'.
--keyword='proper_name:0c,1,"This is a proper name. See the gettext manual, section Names."'
# Hoping that -1 would be the function name 'proper_name'.
--keyword='proper_name:-1c,1,"This is a proper name. See the gettext manual, section Names."'
# Hoping that the string would be used as the context.
--keyword='proper_name:"Proper Name"c,1,"This is a proper name. See the gettext manual, section Names."'
# Hoping that the string would be used as the context.
--keyword='proper_name:c"Proper Name",1,"This is a proper name. See the gettext manual, section Names."'
Gibt es eine Möglichkeit, eine bestimmte msgctxt
zu zwingen, für alle zu verwende Zeichenketten extrahiert mit einem Schlüsselwort (wie proper_name
aus dem obigen Beispiel)?
Wenn es keine Möglichkeit dies mit xgettext
zu erreichen, wie sie ist dann dachte ich vielleicht mit dem folgenden:
--keyword='proper_name:1,"<PROPERNAME>"'
mit Resultierende:
#. <PROPERNAME>
#: ../Foo.cpp:18
msgid "Bob"
msgstr ""
Das Problem dann wird; wie man automatisch alle Vorkommen dieser in der resultierenden .pot
-Datei in das folgende übersetzen:
#. This is a proper name. See the gettext manual, section Names.
#: ../Foo.cpp:18
msgctxt "Proper Name"
msgid "Bob"
msgstr ""