Ich habe ein Problem mit Django-Übersetzungen.
Problem 1 - Ich habe den Text in der django.po-Datei aktualisiert, aber die Änderung erscheint nicht auf der Webseite.
Problem 2 - Ich habe meine eigene Lokalisierungsdatei mit django-admin.py makemessages -l et erstellt, den Übersetzungstext zur Datei hinzugefügt, aber auch diese erscheinen nicht auf der Seite.
Ich glaube nicht, dass es ein Einstellungsproblem ist, da die Übersetzungen aus der django.po-Datei auf der Website erscheinen, es sind nur die Änderungen und die Übersetzungen aus meiner eigenen generierten Datei, die nicht angezeigt werden.
Bearbeiten: Meine settings.py enthält dies:
gettext = lambda s: s
LANGUAGE_CODE = 'et'
LANGUAGES = (
('et', gettext('Estnisch')),
)
Meine eigenen Lokalisierungsdateien befinden sich in
/pfad/zum/projekt/locale/et/LC_MESSAGES/
und die Dateien sind
django.mo und django.po
Die Datei, auf die ich mich in Problem 1 beziehe, ist die eigene estnische Übersetzung von Django, die ich geändert habe.
0 Stimmen
Sind Sie bereit für das Dokument über i18n? Ich vermute, dass Sie das i18n-Tag in den Vorlagen aktiviert haben. Sind Sie sicher, dass Ihre .po-Datei im richtigen Pfad liegt? Können Sie mehr Informationen schreiben?
0 Stimmen
Nun ja. i18n ist in Vorlagen mit {% load i18n %} aktiviert. Da sich die django.po-Datei im richtigen Pfad befindet (Problem 1), glaube ich nicht, dass es an der Aktivierung oder dem Laden von i18n liegt. Da bereits vorhandene Übersetzungen in die Vorlage geladen werden. Aber wie weiß ich, ob die Problem 2 Ländereinstellungsdateien am richtigen Ort sind? Sie befinden sich dort, wo sie von django-admin.py makemessages -l et erstellt wurden.
0 Stimmen
Lesen Sie dies: docs.djangoproject.com/en/1.1/topics/i18n/localization/… der Pfad wird sein: your_project/locale/et/LC_MESSAGES/django.po.
0 Stimmen
Nun, genau dort sind meine selbst generierten Dateien, also wo ist das Problem?
0 Stimmen
Wieder, ich rate, kompilieren Sie Ihre .po Datei? Sind Sie sicher, dass Sie keine Probleme mit der .po Datei haben?
0 Stimmen
Ja, ich habe meine eigene .po-Datei kompiliert. Es wurde eine .mo-Datei in meinem Lokale-Ordner erstellt. Das sollte also auch kein Problem sein. Wie würde ich wissen, ob ich Probleme mit meiner .po-Datei habe? Ich habe nichts anderes gemacht, als Übersetzungszeichenfolgen zwischen leere "" einzugeben.
0 Stimmen
Es ist seltsam. Einmal hatte ich ein Problem mit dem Coding der Datei, als ich sie auf den Server hochgeladen habe. Können Sie uns mehr Informationen geben, welche Version von Python, Django, Apache? Gettext? Können Sie uns Ihre Einstellungen zeigen, ein Fragment von Templates/Views mit i10n, welchen Editor für .po verwenden Sie?
0 Stimmen
Überprüfen Sie einfach die HTML-Vorlagen? Eine Idee wäre, Ihren Webserver (oder Django-Prozess) neu zu starten, aber ich nehme an, das ist bereits passiert. Ich würde Ihnen vorschlagen, auf niedrigerer Ebene zu gehen. Versuchen Sie in einer Django-Shell, ein Beispielwort zu übersetzen, von dem Sie sicher sind, dass es sich in der .po-Datei befindet und kompiliert ist. Auf diese Weise stellen Sie sicher, dass die Gettext-Dateien und das Django-Übersetzungssystem funktionieren (oder nicht). Eine Möglichkeit, die Übersetzung zu testen, ist folgende von django.utils.translation.trans_real import translation t = translation("et") print t.gettext("sampleword")