2016-03-26 9 views
0

Ich bin ein Modul für die elektronische Rechnungsstellung zu entwickeln und sollte die Zahlungsfrist in Spanisch auszudrücken, so dass ich ein Wörterbuch mit allen benötigten Felder einstellen, und wenn ich dies tun:Wie erzwinge ich die Übersetzung eines Feldes in meinen Odoo Code?

{ 
... 
'FmaPago': inv.payment_term.name, 
... 
} 

Die Ausgabedatei enthält die Wert "Name" in Englisch. Ich habe etwas wie

_(inv.payment_term.name) 

versucht, aber mit dem gleichen Ergebnis.

Wie soll ich den Wert zwingen, in einer definierten Übersetzung ausgedrückt zu werden?

Antwort

1

Der Feldname der Zahlungsbedingungen überprüfen bereits übersetzbar. Sie können die Übersetzung in Odoo ändern, indem Sie im Bearbeitungsmodus auf die kleine Schaltfläche in einem Feld klicken.

Translatable field in Odoo

Wenn Sie das richtig gemacht haben, müssen Sie einige typische Fehler bei Codeseite vermeiden, wenn Sie die alte API verwenden.

  1. immer den Zusammenhang passieren

z.B. wenn Sie die Rechnung zu finden, übergeben Sie den Kontext, um alle Übersetzungen zu erhalten korrekte

  1. Verwendung Partnersprache, wenn Sie für sie übersetzen

Odoo wird mit Benutzersprache in sein Kontext, um den Webclient richtig zu übersetzen. Wenn Sie Dokumente für Kunden drucken, möchten Sie sie natürlich in der Kundensprache ... Sie müssen also vielleicht den Kontext manipulieren (Schlüssel 'lang'). Für neue API müssen Sie with_context() aufrufen, um dies zu tun.

0
  1. Sie müssen _() für Zeichenfolgen verwenden, die Sie übersetzen können.
  2. Sie müssen übersetzen Dateien * .po (wie ich Remember) und das ist alles, was ich denke.

Vergessen Sie nicht, Dokumentation sind link