2009-09-04 6 views
18
  1. Warum ich manchmal einen fuzzy Artikel in django.po Sprachdatei erhalten. Eigentlich habe ich in meinem Projekt eingecheckt fuzzy String Artikel ist total einzigartig.django Fuzzy String Übersetzung zeigt, die nicht bis

    #: .\users\views.py:81 .\users\views.py:101 
    #, fuzzy 
    msgid "username or email" 
    msgstr "9988" 
    
  2. Es ist ok Fuzzy zu sein, aber meine Übersetzung von Fuzzy-Element auf der Seite nicht angezeigt, nur englische Version erscheint. Es ist total merkwürdig.

Antwort

27
  1. msgmerge Noten Strings als fuzzy wenn der alte Katalog hat eine Übersetzung für eine Saite mit einer ähnlich aussehenden msgid. Es überträgt auch als unscharf markierte Strings von einem alten Katalog zu einem neuen.

  2. msgfmt schließt Fuzzy-Nachrichten aus dem kompilierten Katalog aus, da die Übersetzungen wahrscheinlich falsch sind. Der Übersetzer sollte die Korrektheit der Übersetzung prüfen (im Falle, dass Sie eine leere Zeichenfolge geschrieben haben, ist dies eine falsche Übersetzung) und die Markierung fuzzy entfernen, wenn die Übersetzung verifiziert ist. Wenn Sie unbedingt Fuzzy-Übersetzungen verwenden möchten, übergeben Sie `` `--use-fuzzy to msgfmt«.

+0

Danke, eigentlich habe ich etwas bei echten Übersetzung sagen msgid "Benutzername oder E-Mail" msgstr "9988" und ich benutze 'djangoadmin.py compilemessages' Befehl zu kompilieren, scheint keine --use-Fuzzy-Parameter zu übergeben. – icn

+0

compilemessages ruft 'msgmft --check-format -o foo.mo foo.po' für alle gefundenen po-Dateien auf. Verwenden Sie stattdessen explizit msgfmt. –

+1

Es ist wichtig hervorzuheben, dass wenn Sie überprüfen, dass Fuzzy-Übersetzungen in Ordnung sind, sollten Sie das Fuzzy-Flag entfernen. Andernfalls werden sie mit normalen "CompileMessages" -Aufrufen übersprungen – kiril

5

Ich hatte auch diese Probleme und ich löste sie alle durch einen ‚po-Editor‘ mit (wie poedit), die den Übersetzungsprozess viel schneller unscharf und nicht übersetzten Einträge und macht hervorhebt.

Sie können auch Django Rosetta verwenden Sie den Übersetzungsprozess in Ihrem Django-Umgebung integriert zu haben.