Übersetzungen in Invoice und Mails erfolgen großteils nicht

  • Hallo,
    bin vom Kunden beauftragt die PDF-Rechnungserstellungen wunschgemäß anzupassen. Dabei zeigt sich schon in der unmodifizierten Standardversion der invoice.php und invoice_*.php, dass viele aber nicht alle Sprachphrasen nicht ins Deutsche übersetzt werden. Die Sprachphrasen sind in der de-DE.com_virtuemart.ini und de-DE.com_virtuemart_orders.ini vorhanden und übersetzt, werden aber einfach nicht genutzt. Selbst wenn ich über die Joomla-Sprachoverrides die zickigenen Phrasen übersetze, werden diese nicht verwendet. Bin ziemlich verzweifelt und ratlos. Warum?


    Habe gesehen, dass es eine de-DE.com_virtuemart_orders.ini und de-DE.com_virtuemart_shoppers.ini in language/de-DE/ gibt. Die liegen bissle anders als die engl. Varianten. Wie genau ist der aktuelle Standard in denen VM diese Sprachdateien sucht. Außerdem gibt es viel Sprachphrasen die in der shoppers-DE und orders-DE vorhanden sind, aber in den englischen Versionen in der en-GB.com_virtuemart.ini liegen?! Wo gehören die nun eigentlich korrekt rein? Das Durcheinander ist schwer zu durchschauen.

  • Servus,


    in einer Standard VirtueMart Installation mit den aktuellen Sprachdateien (verlinkt auf Startseite virtuemart.de core und AIO), werden alles Sprachvariablen übersetzt.
    Bedeutet im Grunde, es scheint sich nicht um eine Standardinstallation zu handeln.


    Hier gibt es etwas zu lesen, was bei der Problemlösung helfen kann: Wie bekomme ich schnellstens hilfreiche Antworten


    Grüße
    Stefan

  • Danke Stefan für die Antwort,
    Habe mir mal eine Fullpackage-Installation gemacht. Dort sieht es wirklich besser aus mit den Sprachphrasen.
    Folgendes habe ich dann in meinem Projekt versucht:
    1. Virtuemart und Erweiterungen deinstalliert und Virtuemart komplette neue installiert (außer DB-Tabellen natürlich, weil dort sind ja Live-Daten drin). Das hat nichts geändert.
    2. Vom intakten Fullpackage-Projekt mal alle Virtuemart-Verzeichnisse (site+admin com_virtuemart) auf mein Live-Projekt kopiert - hart überschrieben. Auch das hat nichts an den Fehlern geändert.
    3. Alle Virtuemart-Sprachdateien im Joomla-Language-Order und den VM-site und -admin-Komponeten-Ordner gelöscht und VM und AIO neu drüberinstalliert. Wieder ohne erhofften erfolgt.


    Bin verzweifelt und ratlos. Nach wie vor sind in meinem invoice-PDFs nur manche Sprachphrasen übersetzt. Es ist auch nicht nachvollziehbar nach welchem Prinzip manche übersetzt werden und andere nicht.
    Hier mal ein Bild von der PDF (Blau ist korrekt übersetzt, grün noch in englisch).

  • Du hast leider den verlinkten Beitrag im letzten Post nicht gelesen. Ich weiß immer noch nicht, welche Versionen Du verwendest.
    https://forum.virtuemart.de/hi…ilfreiche-antworten-2638/


    Sind die aktuellen deutschen Sprachdateien installiert, die unter www.virtuemart.de verlinkt sind?


    EDIT: Ich befürchte, dass das Problem in der Datenbank liegt. Kann es sein, dass der Shop zuerst auf Englisch installiert wurde und später auf Deutsch umgeschaltet?


    Grüße
    Stefan

  • Ja, selbstverständlich hatte ich die Sprachdateien aktuell installiert, frisch geladen vom VM-Server am 13.8.
    Aber mein Post mit dem eingeschalteten Sprach-Debug-Modus deutet schon darauf hin, dass es keine Ursache in unaktuellen Sprachphasen hat, denn im Debug-Modus sind alle Übersetzungen erwartungsgemäß da. Nur wenn ich den Debug-Modus wieder abschalte kommen wieder großteils unübersetzte Phrasen. Bitte vergleiche mal meine beiden Scrennhots.


    Kann es sein, dass Joomla da irgendwas hartnäckig cached? Mag ich nicht glauben, zumal der J!Cache abgeschalten ist.

  • Wie bereits oben im EDIT in Post 5 beschrieben(Post 5 bezog sich ursprünglich auf Post 3), es sind wohl die Sprachtabellen.


    Das ist ein bekanntes Problem, wenn man nicht von vorne herein Joomla auf Deutsch installiert, bzw. wenn man englische Templates mit Full Installer installiert.
    Irgendwann wird dann auf Deutsch umgestellt, und dann sind die englischen DB-Tabellen teils deutsch und umgekehrt. Das hat im Grunde nichts mit VirtueMart zu tun, das habe ich auch schon bei anderen Joomla-Seiten repariert.


    Deshalb hatte ich mein Tutorial einmal geschrieben, damit das gleich von vorne herein vermieden werden kann.

  • Den Shop gibt es schon recht lange und war von Anfang an nur auf den deutschen Markt orientiert. Nun weiss ich nicht mehr sicher wie genau das damals abgelaufen war. I.d.R. installiere ich immer ein "reines" Joomla zunächst in englisch und konfiguriere dann auf deutsch um inkl. der Nachinstallation der dt. Sprache. VM wird i.d.R. erst danach als Komponente installiert. Seit dem sind natürlich schon ein paar Updates von Joomla und VM gelaufen. Meine Projekte befinden sich i.d.R. aus Sicherheitsgründen immer auf dem aktuellsten Updatestand. So auch dieses mit J!3.8.11 und VM3.2.14.


    Angenommen es liegt an den Sprachtabellen. Welche beträfe das? Kann man zur Not ja manuell nachjustieren.
    Für der Orderstates gibt es soweit ich weiss ja gar keine Sprachtabelle, sondern Sprachphrasen in der language/de-DE/de-DE.com_virtuemart_orders.ini.


    Aber gegen diese Annahme streubte sich mein inneres Logikgefühl. Offensichtlich sind die Sprachtabellen doch alle da, sonst könnten die Sprachphrasen doch nicht im Sprach-Debug-Modus korrekt angezeigt werden (s. vergleich meiner beiden Uplaods). Der Debugmodus soll doch genau solche Fehler analysierbar zeigen.
    Auch im Adminbereich für die Bestellstatus-Konfigurationen werden die Übersetzungen komplett korrekt angezeigt.

  • Die Sprachtabellen hatte ich mir schon gründlich angeschaut. Wie gesagt: für die orderstatuses gibt es keine Sprachtabellen, auch nicht in der Full-Package-Installtion. J! und VM haben beide als Standardversion deutsch. Diese Konfig.daten hatte ich zw. meinem Live-Projekt und dem Full-Package-Projekt extra noch mal abgeglichen.
    Bist Du in dem Core-Scripten fit genug, um zu wissen, was im Debugmodus anders laufen könnte als im Life-Modus?

  • Ich denke ich bin der Ursache auf der Spur:
    Am Beispiel des Orderstatus-Arrays wie von mir oben gepostet, bei dem 3 korrekt übersetzt werden und die anderen nicht.
    Ich konnte festestellen, dass all die Phrasen übersetzt werden für die es eine deutsche und englische Übersetzung in den "orders"-Sprachscripten:
    components/com_virtuemart/language/en-GB/en-GB.com_virtuemart_orders.ini
    und
    language/de-DE/de-DE.com_virtuemart_orders.ini
    gibt.
    Für die anderen 5 Bestellstati gibt es gleichlautenden Constantenbezeichner auch im allg. Virtuemart-Sprachscript:
    language/en-GB/en-GB.com_virtuemart.ini
    Genau diese 5 stören.


    Ich vermute mal, dass die Orders-Sprachscripte zuerst und sprachlich korrekt geladen werden. Die Sprachkonstanten aus allg. virtuemart gibts nicht für deutsch sondern nur english, werden überschrieben und nicht erneut übersetzt.

  • Nun habe ich den Grund gefunden:
    Im Datei-Vergleich mit dem Fullpackage-Projekt zeigte sich, dass es nur in meinem Live-Projekt im Verzeichnis language/en-GB/ eine en-GB.com_virtuemart.ini sowie zwei weitere en-GB.com_virtuemart.sef.ini und en-GB.com_virtuemart.sys.ini gab. Diese habe ich nun in meinem Live-Projekt gelöscht. Das hat die fehlerhaften Übersetzungen behoben.


    Vermutlich stammen diese alten Übersetzungsdateien in diesem Pfad noch aus einer früheren VM-Installation und wurden rudimentär mitgeschleppt.


    Hinweis Nachtrag für alle die bei sich das Problem auch zu lösen haben:
    Auch das Verzeichnis administrator/language/en-GB/ sollte überprüft von von Altlasten-Sprachscripten befreit werden.