ubuntuusers.de

xgettext: Zeichenkette nicht korrekt determiniert

Status: Ungelöst | Ubuntu-Version: Ubuntu 17.04 (Zesty Zapus)
Antworten |

saigkill

Avatar von saigkill

Anmeldungsdatum:
28. Dezember 2010

Beiträge: 85

Wohnort: Mayen

Hallo Forum,

aktuell versuche ich mich am Übersetzen eines Übungsprogramms. Zur Zeit habe ich dazu ein binary, welches diese Methode enthält:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
def copyFile(src, dest):
    """
    Copies a file to a destination
    :param src: The full path to a source file
    :param dest: The chosen destination
    :return:
    """
    try:
        shutil.copy(src, dest)
    # eg. src and dest are the same file
    except shutil.Error as e:
        print('Error: %s' % e)
    # eg. source or destination doesnt exist
    except IOError as e:
        print('Error: %s' % e.strerror)

Jetzt versuche ich mittels

1
xgettext -a --from-code=UTF-8 -o de.po ../bin/copy-bzrmk

ein po file zu erstellen.

Danach erhalte ich:

xgettext: Warnung: Typ der Datei »../bin/copy-bzrmk« mit Suffix »« ist unbekannt; C wird versucht
../bin/copy-bzrmk:42: Warnung: Zeichenkette nicht korrekt terminiert
../bin/copy-bzrmk:42: Warnung: »msgid« ist leer.  Dies ist für GNU gettext reserviert:
                               gettext("") gibt den Kopfeintrag mit Meta-Informationen
                               zurück, keine leere Zeichenkette.
../bin/copy-bzrmk:47: Warnung: Zeichenkette nicht korrekt terminiert
../bin/copy-bzrmk:47: Warnung: »msgid« ist leer.  Dies ist für GNU gettext reserviert:
                               gettext("") gibt den Kopfeintrag mit Meta-Informationen
                               zurück, keine leere Zeichenkette.

Die monierten Zeilen sind die, in denen "" vorkommt.

Anschließend erhalte ich auch keine de.po Datei.

Hat jemand so etwas schon einmal gefixt?

Gruß Sascha

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

saigkill schrieb:

Zur Zeit habe ich dazu ein binary, welches diese Methode enthält

Das ist ein Python-Skript, kein Binary mit null-terminierten C-Style Strings... - schau mal in die Python-Dokumentation: https://docs.python.org/2/library/gettext.html#internationalizing-your-programs-and-modules

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4687

Wohnort: Berlin

@saigkill: xgettext sagt in der ersten Zeile seiner Ausgabe ja das es den Dateityp nicht (er)kennt, vermutlich weil der Dateiname keine Endung hat die das verrät, und es mit der Programmiersprache C versucht. Und dann stolpert es über den Docstring, denn durch drei Anführungszeichen begrenzte mehrzeilige Zeichenkettenliterale gibt es in der Programmiersprache C nicht.

Du musst xgettext also auf der Kommandozeile als Option mitgeben welche Programmiersprache in der Datei verwendet wird.

saigkill

(Themenstarter)
Avatar von saigkill

Anmeldungsdatum:
28. Dezember 2010

Beiträge: 85

Wohnort: Mayen

Hallo ihr beiden,

vielen Dank für eure Tips. Ein --language=Python hat tatsächlich geholfen.

Gruß Sascha

Antworten |