Jump to content

PDF-Rechnung immer in Deutsch?


Recommended Posts

Hallo,

 

Unser Shop (PS 1.5.6.0) ist in Deutsch aufgesetzt.

 

Nun werden alle PDF-Rechnungen in deutsch gedruckt, auch wenn der Kunde in den USA beheimatet ist.

Ist das normal?

Im Detail: Die Rechnung die per Mail an den Kunden verschickt wird ist in der Sprache des Kunden (jene die er im Shop gewählt hat) - soweit korrekt.

 

Eigentlich müsste ich für den Zoll in den USA aber eine Rechnung in Englisch mitgeben (mwst=VAT etc..), bloss werden die immer in der Sprache des BO gedruckt.

 

Was mache ich hier falsch?

Edited by cong2013 (see edit history)
Link to comment
Share on other sites

Im Detail: Die Rechnung die per Mail an den Kunden verschickt wird ist in der Sprache des Kunden (jene die er im Shop gewählt hat) - soweit korrekt.

 

..... bloss werden die immer in der Sprache des BO gedruckt.....

 

Das ist, wie PrestaShop funktioniert. Rechnungs Sprache Rechnung hängt von der aktuellen Sprache verwendet. Die M4 PDF Extensions Modul können Sie unabhängig voneinander wählen Sie die Sprache jeder Rechnung, zum Beispiel.

 

That is how PrestaShop works. Invoice language invoice depends on the current language used. The M4 PDF Extensions module allows you to independently choose the language of every invoice, for example.

Link to comment
Share on other sites

That is how PrestaShop works. Invoice language invoice depends on the current language used. The M4 PDF Extensions module allows you to independently choose the language of every invoice, for example.

Hi M4,

 

I have a second problem with the pdf-invoices see:

 

http://www.prestashop.com/forums/topic/264642-remove-tax-excl-tax-incl-from-invoice/?do=findComment&comment=1486671

 

Is this solved in your extension too?

Link to comment
Share on other sites

Hi,

I have the same Problem.

My Shop is in Sweden and my BO is German.

I need the invoice multilingual. German and Swedish.

But i have no idear how it works.

Can you help me?

Reagards

 

Olly

Customer's language is saved to the order but there is no "switch" to choose another language than the saved one or actuall one used in BO. The invoice is printed in the actual employee's language. That is why the M4 PDF Extensions module has the "switch" feature to choose other language (even disabled one). See lang.jpg.

 

cong2013:

Yes, automatically. Look at two different examples:

http://www.presta-addons.com/pdf/Invoice - with single integrated label.pdf

http://www.presta-addons.com/pdf/Invoice - outside the EU.pdf

post-92842-0-23916400-1386591761_thumb.jpg

Link to comment
Share on other sites

Wenn tuk66 zweisprachig antwortet, ist das schon ok. Aber ansonsten gilt im Forum die Regel, sich der jeweiligen Landessprache zu bedienen. Und die ist bei uns nun mal Deutsch. Also haltet euch doch bitte daran, ja? :)

 

Aber zurück zum Thema: Es handelt sich hier einfach um einen Bug in Prestasho, denn eigentlich sollte die Rechnung auch in der Kundensprache ausgegeben werden. Speziell dazu gibt es im Verzeichnis pdf ein Unterverzeichnis namens translations. Wird dort eine Übersetzung abgelegt (z.B. en.php, fr.php), dann sollte eigentlich diese jeweils zum Zuge kommen. Aufgrund eines Fehlers im AdminPdfController passiert das aber nicht.

 

Solange der Bug nicht behoben wird, lässt sich mit dem folgenden kleinen Override, das im englischen Forum gepostet wurde  die korrekte Sprache erzwingen: http://www.prestashop.com/forums/index.php?app=core&module=attach&section=attach&attach_id=78278.

 

Diese Datei bitte in das Verzeichnis Override einspielen und zum Aktivieren einmalig die Datei /cache/class_index.php löschen. Und dann fehlt nur die Übersetzung, die ihr für euer Template unter

 

Lokalisierung --> Übersetzungen --> Übersetzungen PDF-Dateien --> <DeinTemplate>

 

mit Klick auf die englische Flagge ggf. auch selbst vornehmen könnt. Dann klappt es auch mit der Rechnung.

  • Like 2
Link to comment
Share on other sites

 

Looks fine, 99€ are better than investing several nights of coding and producing all bugs that you have already resolved....

Will talk to my boss tomorrow B)

 

One last question: Is this behaviour _really_ triggered by the PS_country>display_tax_label of the delivery address of the customer ?

 

Maybe we could discuss this in this thread in english:

http://www.prestashop.com/forums/topic/264642-remove-tax-excl-tax-incl-from-invoice/?view=findpost&p=1487229

Edited by cong2013 (see edit history)
Link to comment
Share on other sites

Hallo eleazar,

 

Sorry das ich mich der englischen Sprache bedient habe kommt nicht wieder vor. :)

 

Dieser override funktioniert bei mir nicht oder ich mache irgendwas falsch.

Ich habe die Datei in meinen override ordner geladen.

Danach habe ich die /cache/class_index.php gelöscht.

Dann habe ich eine test bestellung auf meiner Schwedischen Seite gemacht.

Nun zum spanenden teil die Rechnung wird in Deutsch ausgegeben.

Wie bekomme ich es hin das die Rechnung auf Schwedisch ausgegeben wird?

Unter Lokalisierung / Übersetzung / Übersetzung PDF Dateien / Mein Templet ist die Übersetzung ist vorhanden.

Meine PS version ist 1.5.6.1

 

Hoffe du kannst mir helfen weil das ist mal echt Zeitaufwendig die Rechnung jedesmal aufs neu zu übersetzen wenn sie generiert ist.

Link to comment
Share on other sites

Öffne einfach mit einem Editor wie bspw. der Freeware notepad++ die de.php und die sv.php und vergleiche mal die IDs, also z.B.

 

Englisch - Deutsch:

 

$_LANGPDF['PDF104d9898c04874d0fbac36e125fa1369'] = 'Discount';

$_LANGPDF['PDF104d9898c04874d0fbac36e125fa1369'] = 'Rabatt';

 

Diese Zahlen-Buchstabenkombinationen müssen identisch sein.

Link to comment
Share on other sites

Ich habe mal alle drei geöffnet und nach geschaut Alles was dort ist ist gleich.

 

Mal nur ein beispiel:

 

$_LANGPDF['PDF065ab3a28ca4f16f55f103adc7d0226f'] = 'Leverans';
$_LANGPDF['PDF065ab3a28ca4f16f55f103adc7d0226f'] = 'Delivery';
$_LANGPDF['PDF065ab3a28ca4f16f55f103adc7d0226f'] = 'Lieferung';

 

Hast du vielleicht noch eine Idee worann es liegen könnte?
 

Link to comment
Share on other sites

Looks fine, 99€ are better than investing several nights of coding and producing all bugs that you have already resolved....

Will talk to my boss tomorrow B)

 

One last question: Is this behaviour _really_ triggered by the PS_country>display_tax_label of the delivery address of the customer ?

 

Maybe we could discuss this in this thread in english:

http://www.prestashop.com/forums/topic/264642-remove-tax-excl-tax-incl-from-invoice/?view=findpost&p=1487229

Ich werde in diesem englischen Thread zu beantworten.

 

I will answer in that English thread.

Link to comment
Share on other sites

  • 2 weeks later...
Guest D_Frost

Hallo,

 

sorry für den Doppelpost, aber ich denke hier passt meine Frage besser:

Wenn ich im BO (welches ich auf Englisch betreibe) eine Zahlung eintrage, kann ich nur aus den englischen Begriffen (Bank Wire etc) auswählen, welche dann auch so auf meine (ansonsten deutschsprachige) Rechnung ausgegeben wird. Kann man das irgendwie ändern?

 

Wenn ich im BO die Profilsprache auf Deutsch ändere funktioniert es (allerdings dann nur mit den deutschen Begriffen und nicht mit den englischen). Da ich meinen Shop aber zweisprachig betreibe, ist das leider keine Lösung auf Dauer.

 

Vielen Dank für euere Hilfe.

Link to comment
Share on other sites

Guest D_Frost

Nur die Ausgabe der Zahlungsart. Es erscheint immer "Bank Wire" anstatt "Banküberweisung". Egal ob ich den Status auf "Zahlung eingegangen" ändere oder eine Zahlung eingebe.

Link to comment
Share on other sites

Ja natürlich, weil PrestaShop die Variable {$payment->payment_method} zur Laufzeit mit der Zahlungsart in der Sprache des  Verkäufers füllt. Das angehängte Override, das ein User in englischen Forum vor ein paar Monaten gepostet hat, verhindert dies, indem vor der Generierung der PDF-Rechnung Ausdrücke in der Sprache des Back Office in die Sprache des Kunden umgewandelt werden.

 

Hättest du als erstes mal in unseren Tipps und Tutorials nachgesehen, dann wärest du hier bereits fündig geworden: http://www.prestashop.com/forums/topic/232417-automatic-language-detection/?view=findpost&p=1182792 ;)

 

Spiel bitte die folgende Datei in das Verzeichnis /override/controllers/admin ein:

 

http://www.prestashop.com/forums/index.php?app=core&module=attach&section=attach&attach_id=78278

 

So sollte es funktionieren - allerdings nur, wenn du einen weiteren Tipp befolgst: http://www.prestashop.com/forums/index.php?/topic/248950-tipp-mein-override-wird-nach-dem-kopieren-in-das-verzeichnis-nicht-genutzt/

Link to comment
Share on other sites

Guest D_Frost

Vielen Dank für den Tipp eleazar, allerdings hat dies keine Veränderungen zur Folge. Ich erhalte immernoch die Ausgabe "Bank Wire". Ja, ich habe die class_index.php gelöscht ;). Hast du evtl eine Idee was da nicht stimmen könnte?

 

Vielen Dank.

Edited by D_Frost (see edit history)
Link to comment
Share on other sites

  • 1 year later...

Hallo,

 

ist ja eigentlich schon ein recht altes Thema.

Weiss denn jemand ob dieser Workaround aus dem englischen Forum auch noch bei der PS 1.6.0.11 anwendbar ist?

Oder ist der Bug mittlerweile in PS beseitigt worden? Wenn ja wo kann man das einstellen? Habe dazu zumindest nichts gefunden.

 

Da wir mehrere Niederlassungen in verschiedenen Ländern haben würde ich gerne die PDF exakt auf die Sprache des Bestellers ausgeben.

 

Vielleicht hat ja jemand das Thema auch in PS 1.6.0.11?

 

Eine Info dazu wäre nett.

 

Danke

Link to comment
Share on other sites

Hallo eleazar,

 

musste festtellen dass es bei mir leider auch nicht klappt in der Ps 1.6.0.11

habe auch schon die Codes verglichen innerhalb der beiden language datein.

Auch smarty ist gelöscht worden...

 

Noch irgendein Tip was da los sein kann?

Habe hier leider mit 3 sprachen zu tun. Sowohl mitarbeiter als auch Kunden.

 

Wäre sehr hilfreich.

Edited by rstr02826 (see edit history)
Link to comment
Share on other sites

Verstehe ich leider nicht. Aber egal, du kannst auch Folgendes machen:

 

  • Öffne die Datei /classes/pdf/HTMLTemplate.php
  • Als vorletzte Funktion findest du ziemlich am Ende der Datei die protected function getTemplate($template_name)
  • Füge vor die Zeile
    return $template;
    

    die folgenden beiden Zeilen ein:
     

     if ( $this->order )
        Context::getContext()->language = new Language($this->order->id_lang);
    

    Wichtig: Diese Methode ändert nur die Sprache der invoice.tpl und invoice.tax-tab.tpl, nicht jedoch den Rechnungskopf (header.tpl) und auch nicht den Fußbereich (footer.tpl), ist aber ansonsten brauchbar.

     

Link to comment
Share on other sites

Hallo eleazar,

 

ich habe mir heute mal das Changelog der 1.6.0.13 bzw. 1.6.0.12 durchgelesen.

Wenn ich das nicht falsch interpretiere, dann haben die was zu diesem Thema hier gefixt.

Das hört sich doch ganz gut an zu dem Thema.

 

[-] FO : Fix bug #PSCSX-4211 wrong invoice by country.

 

Das müsste man mal genau prüfen da das eigentlich ein BO Problem ist

Link to comment
Share on other sites

Bei diesem Bugfix geht es nicht um die Funktion, die wir hier diskutieren. Nochmal in aller Deutlichkeit, was mir Julien Martin vom Prestashop-Team mitgeteilt hat:

 

"Some people want the invoices with the customer's language, but some others with the current backoffice's user language ...

 

The only solution is to add a button on the backoffice: one to get the invoice with the customer's language and another with the merchant language. We're not working on it right now but it is on the pipe."

Link to comment
Share on other sites

  • 1 year later...
  • 2 years later...

Gibt es für 1.7 hier schon eine Lösung? Ich habe dasselbe Problem, dass für Bestellungen auf der englischen Seite deutsche Rechnungs- und Lieferschein-PDFs erstellt werden.

Der override aus dem Thread scheint hier nichts zu tun - obwohl ich die Datei /var/cache/dev/class_index.php gelöscht habe.

Die hier vorgeschlagenen Änderungen im PHP-Code der Datei /classes/pdf/HTMLTemplate.php führen auch nur zu einer exception, d.h. die PDF-Datei wird gar nicht erstellt, statt dessen kommt die Fehlermeldung "Parse error: syntax error, unexpected '' (T_STRING)" für die zweite Zeile.

Interessanterweise sind die Artikelnamen auf den Rechungs-PDFs dann auch in englisch, d.h. das wurde von der im Frontend genutzten Sprache übernommen, aber der Rest leider nicht.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...