Looking for documentation? Take a look on our wiki

Main Menu

[SOLVED] Bug? Translations of Order Statuses - Kiss of Death

Started by gcarne, April 25, 2014, 16:23:17 PM

Previous topic - Next topic


Could a moderator please look at this?

Using VM 2.0.26d I had difficulties with lots of fields that did not translate from the original en-GB to the required de-DE (site is bilingual with German as main language). I then downloaded the latest language files, which may or may not have been a good thing because the file names and the language constants inside the files have been changed/moved and it looks like the newest language file zip is not 100% compatible with 2.0.26d. To begin with I was quite happy because all the places that had mixed languages were now correctly translated into de-DE, until I looked at the order statuses, both FE and BE.

There are about 15 different language constants for order status, the one I used for my analyses was COM_VIRTUEMART_ORDER_STATUS_CONFIRMED. I created one override in each language and gave them the following values:

"Confirmed EN" and "BestÃĪtigt DE"

I did this for FE only and created and paid a new order in FE thereby creating a confirmed order. The order status in the otherwise 100% German language email order confirmation was still "Confirmed" and the customer's FE order listing had all in German, except the order status which still read "Confirmed".

Consequently the strings come from somewhere else so I did, with my limited knowledge, analyze it in Firefox Web Developer for the backend order view (also BE showed "Confirmed" even if the BE language was German) and came across this code:

id="order_status_code" name="order_status_code"  onchange="this.form.submit();"  class="inputbox" >
   <option value="-1">Bitte w&auml;hlen</option>
   <option value="P">Pending</option>
   <option value="U">Confirmed by shopper</option>
   <option value="C">Confirmed</option>
   <option value="X">Cancelled</option>
   <option value="R">Refunded</option>
   <option value="S">Shipped</option>

This is for the backend, but it is definitely in a German portion of the code, everything right above the code referred to the German language and even the first of the listed option values above is in German. Unfortunately this is where my programming skills end and I must turn to you guys.

Btw. I did one more test. I set the configuration flag for "fallback language English in case a translation would be missing" to blank (uncheck) and thereby hoping to see a language constant of some kind to show up, but no, it still showed "Confirmed".

If the order statuses are not taken from the language constants, where do they then come from? Or is there a bug in the part that pulls the correct translations?

After building my 3'rd party commercial template for weeks on end, I now have a number of workarounds labelled "acceptable for the time being", but now have these few little non-translated words which are the absolute kiss of death for my site, so it is a very critical issue and the site is scheduled to go live in 6 to 8 weeks.

Can anyone help?

Joomla 2.5.19
VM 2.0.26b

PS. I just came across another language constant where an override does not take effect: COM_VIRTUEMART_CART_NOTIFY_MAIL_HTML. Why ist it that VM ignores some overrides and others not?


Concering tranlating the order status:
The order status are translated in your german language file 'your-root-folder\language\de-DE\de-DE.com_virtuemart_orders.ini'. But in order to make the translated status visible, you have to go for example to your 'Configuration > Order Statuses > COM_VIRTUEMART_ORDER_STATUS_PENDING (Pending)' and enter the language key 'COM_VIRTUEMART_ORDER_STATUS_PENDING' into the 'Order Status Name' field. See screenshots attached.

I've also attached german language packs for 2.0.26d. (If you start a new shop, I would recommend you start with VirtueMart version 2.6 instead of using an old version)

[attachment cleanup by admin]
Non-English Shops: Are your language files up to date?


Thanks jjk,

It took a few minutes to fix and now all order statuses are ok. My site is safe and after go live and things have hopefully quieted down a bit, I will make a copy and work on the 2.6 upgrade.

One last thing:

How can I make the email "...product back in stock..." supposedly using the language constant COM_VIRTUEMART_CART_NOTIFY_MAIL_HTML to come out in German?


Quote from: gcarne on April 28, 2014, 10:54:43 AM
How can I make the email "...product back in stock..." supposedly using the language constant COM_VIRTUEMART_CART_NOTIFY_MAIL_HTML to come out in German?

What is the exact english language string you see? I can't find "...product back in stock..." in the english language source files.
Non-English Shops: Are your language files up to date?


What I meant was the following:

A product is sold out and the customer clicks and sends "Notify Me!". After stock has been replenished the administrator can send an email to these customers informing that the products are back in stock. The function for this is in VM => Products => Product Status => Send an Email to Shoppers.

On my site this email is sent in English only although the language constant is available in both English and German (other emails e.g. order confirmation are sent in German).

The string I see is "<product name> has arrived!" in the email title and e.g. "Thank you for your patience" etc. in the text. There must, however, be more to it than just COM_VIRTUEMART_CART_NOTIFY_MAIL_HTML which is only part of the email.


<div>Thank you for your patience.</div><br><div>Our <b>%s</b>  is now in stock and can be purchased by following this link:</div><div>%s</div><br><div>This is a one time notice, you will not receive this e-mail again.</div>


I think (but I'm not shure) this was bug which is solved in newer versions of VM.
Non-English Shops: Are your language files up to date?