This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
- | 9:00 – 18:00 | 9:00 – 18:00 | 9:00 – 18:00 | 9:00 – 18:00 | 9:00 – 18:00 | - |
- | - | - | - | - | - | - |
Supporter timezone: Asia/Karachi (GMT+05:00)
Tagged: Bug
This topic contains 19 replies, has 0 voices.
Last updated by giedriusN 1 day, 13 hours ago.
Assisted by: Waqas Bin Hasan.
Author | Posts |
---|---|
January 30, 2025 at 11:41 pm #16653753 | |
giedriusN |
Background of the issue: Symptoms: Questions: |
January 31, 2025 at 8:38 am #16654381 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Hi, Thank you for contacting the support. Can you please provide more details? Like in this amount 198347107.00 € where do you expect the decimal separator? It'd be great if some screenshots or screen-recording explaining and showing how it is happening, 'll be much helpful. Other than that, I see you're using latest WPML plugins, but using an older version of WordPress. I'll recommend updating WordPress to the latest version and then check again. So we can be sure that everything is up to date and the issue isn't caused by a conflict or outdated code. IMPORTANT: Please take full backup of your website and database beforehand. It is highly advised to try this on a staging/dev site first, so your live website isn't compromised. Please let me know and I'll try my best to help you further on the matter. Regards. |
January 31, 2025 at 12:52 pm #16655574 | |
giedriusN |
Hi, I have already described the steps to reproduce this issue precisely in the original description. In the post above I can see only the information generated from what I originally wrote. Are you able to see what I originally entered in the fields "I am trying to", "I expected to see", "Instead, I got"? Kind Regards, |
January 31, 2025 at 1:47 pm #16655891 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Unfortunately I can not see those field and I only see the details in the attached screenshot. However, it'd be great if you can provide the steps that's be great. Otherwise I'll try to reproduce as per my understanding and 'll check back with you. Meanwhile, please also mention that if you've tried by updating WordPress to the latest version, as requested in my previous message? P.S.: I'll be off for the weekend and 'll be able to attend on Monday. |
January 31, 2025 at 2:01 pm #16655988 | |
giedriusN |
Well, without the information I entered in the initial screen, this description is just pointless. I can't understand why your issue reporting system is working in such a silly way, that the essential part of information gets discarded, but will try to recreate it. Upgrade of WordPress or WooCommerce is out of question - too many problems, no time for that. We would rather downgrade WPML plugins (though it seems we found an acceptable workaround for the moment). I will try to recreate the steps to reproduce, asking you to try to reproduce. If you succeed, I expect you to forward the issue to your developers to fix (I assume that the translation of a decimal separator is supported as such). |
February 3, 2025 at 5:00 am #16661001 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Sure, please take your time and let me know the steps. I'll try to reproduce along those lines. |
February 3, 2025 at 2:32 pm #16663353 | |
giedriusN |
Hello, Could you please try the following steps, and let me know the results: 1. In the default site language EN set the decimal separator to . (DOT). Kind Regards, |
February 4, 2025 at 5:45 am #16664924 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for the updates. I found an existing report in our system where the issue happens where one (default) currency is using dot as decimal separator (i.e. USD) while other currency is using comma (i.e. Euro). The following temporary workaround seems to fix this issue: - Take full backup of your site and database. add_filter( 'option_woocommerce_price_decimal_sep', [ $this, 'filter_currency_decimal_sep_option' ] ); Please try this in your site and let me know your findings, so I can add your case to our existing report as well (or we can investigate further if it doesn't help). |
February 4, 2025 at 12:42 pm #16666674 | |
giedriusN |
Thank you for the information. The workaround we implemented before was to change the default language of the woocommerce_price_decimal_sep from primary (EN) to secondary, and add the corresponding translation (from , to .). This allows to work with orders in secondary (translated) language (but the problem should appear again if an order is modified in EN language). The suggested workaround to comment out the line class-wcml-multi-currency-prices.php:106 with "add_filter( 'option_woocommerce_price_decimal_sep' ..." did not change anything. > one (default) currency is using dot as decimal separator (i.e. USD) while other currency is using comma (i.e. Euro) Have you tried reproducing the issue as agreed? Thank you in advance. Kind Regards, |
February 6, 2025 at 6:27 am #16673585 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for your patience and cooperation. I tried your steps a few times, however, one thing which is little confusing that, you mentioned in the initial (first) message that:
Then you mentioned in your recent message:
So I tried around this in the context of your steps, specially the step #2:
But this isn't the correct way of changing the currency configuration in other language. For this purpose, WCML offers "multicurrency mode", where you add the secondary currency and adjust its configs accordingly. Since I was confused about having a default currency (i.e. USD) and other currency (i.e. EUR) but saying we don't have multiple currencies (as you mentioned) --- I assumed the following setup: - WPML setup in default English, while Lithuanian is the secondary language. I can see this working just fine and can not reproduce the issue (see attached). However, I'm not considering my tests as final. But I don't think that changing currency configs from WooCommerce -> Settings, just by switching to other languages is the correct way of doing it. While using WCML's Multicurrency is the right way of handling currency configurations. I've this test site hidden link (one-click login), where I'm testing all this. Please take a few minutes and try to reproduce the issue. As well as, can you please clarify about the above mentioned? Like if you don't have multiple currencies, how you're dealing between USD and Euro? And what do you mean exactly by "set different decimal separators for different languages in WCML"? Please let me know and I'll try my best to recreate the issue for further investigation. |
February 6, 2025 at 12:46 pm #16675575 | |
giedriusN |
Hello, To clarify: No, we do not sell in USD. There is just one currency - EUR. The display of decimal separator is specific to language/country, not currency. In English, it should be . (DOT), while in Lithuanian it should be , (COMMA). This was working in the previous (5.2.0) version, but something has changed (broke) in 5.3.x. Kind Regards, |
February 7, 2025 at 5:24 am #16677829 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for clarifying, I'm trying again and 'll get back to you accordingly. |
February 7, 2025 at 7:40 am #16678093 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for your patience and cooperation. I rechecked in a new sandbox site (hidden link one-click login). Here Latvian is the default language (just like it is in your debug information) and no multi-currency active. Only Euro is the default and only currency. I recorded my screen (hidden link), where I tried to reproduce the issue. I also translated the . (dot) to , (comma) in ST, as well as, tried to create order in Lithuanian (default) and English (secondary). Previously, in the other sandbox site, English was default, as you mentioned in your steps. So there's still this confusion but since I've tried in both scenarios, I'm still not able to reproduce the issue. Please feel free to login to the latest sandbox site (mentioned in the beginning of this very message) and try to recreate the issue. It'd be great if you note down the steps and record your screen for better understanding. Other than this, I'll also request to record your screen in your own site, where you're facing this problem, as well as, I need to take a closer look at your site. So I request temporary access (WP-Admin and FTP), preferably to a test site where the problem has been replicated. Your next answer will be private, to share this information safely. IMPORTANT: Please take a complete backup of the site to avoid data loss. I may need to activate/deactivate plugins also. See https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/ for details on privacy and security. P.S.: If you don't see the section for providing access information, do not write in the message box or the information may appear as public. |
February 10, 2025 at 12:13 pm #16686939 | |
giedriusN |
Hello, Thank you for the information. I have configured decimal separator in your sandbox site as per my previous instructions. I have also enabled taxes, and changed test product's price to include cents. When I create an order with that product (priced at 12.34), the price becomes 1234.00 (Order #47) - you can try it yourself. The price is not as "exotic" as in our site - maybe that is because of rounding - but it is still incorrect. Thank you in advance. Kind Regards, |
February 10, 2025 at 12:41 pm #16687109 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for the updates, I'll check again and 'll get back to you by tomorrow on this. |