Skip to Content
Menu
This question has been flagged

In my Odoo 17 platform On-Premises, I set the language of the website module to English and Farsi and created a form in which some fields were required to be completed.

When I press the submit button, the error "Please fill in the form correctly" appears in English. is displayed In the Farsi language of the website, this phrase must be translated into Farsi, which does not happen.

I did the following steps for this, but it didn't work, and the error is still displayed in English:

1. First, I went to Settings > Translations > Export Translation and downloaded the .po file and translated the phrase, then went to the same path and imported the file. Then I restarted Odoo and went back to the website module form and saw that the error is still displayed in English.

2. I went to the server path in \odoo\addons\website\i18n and downloaded the .po file directly and then translated it, then I put the file in the same place and Odoo was reset again and then I returned to the form location, but still the error The necessary fields of the form were in English despite the fact that the language of the website is Farsi.

3. I went to Settings > Technical > User Interface > Views and opened the Home view with QWeb type. In the Architenture section, I wrote a JavaScript code and tried to change the form error to Farsi if the language of the website was Farsi. I did these things, but the error text was still in English. JavaScript code:

<script type="text/javascript">

                                document.addEventListener("DOMContentLoaded", function () {

                                    const dateInput = $('#o2r5a0csvptd');

                                    const currentLang = $("html").attr("lang");


                                    // بررسی زبان سایت

                                    if (currentLang === "fa-IR") {

                                        // فعال‌سازی تقویم شمسی

                                        dateInput.persianDatepicker({

                                            inline: false,

                                            format: "YYYY/MM/DD", // فرمت تاریخ شمسی

                                            calendarType: "persian",

                                            autoClose: true,

                                            observer: true,

                                            toolbox: {

                                                todayButton: { enabled: true } // دکمه امروز

                                            },

                                            navigator: {

                                                enabled: true,

                                                scroll: { enabled: true }

                                            },

                                            weekStartDay: 0, // شروع هفته از شنبه

                                            onSelect: function (unixDate) {

                                                // تبدیل تاریخ شمسی به میلادی

                                                const persianDateObj = new persianDate(unixDate);

                                                const gregorianDate = persianDateObj.toCalendar("gregorian").format("YYYY-MM-DD");

                                                dateInput.attr("data-gregorian", gregorianDate);

                                            }

                                        });

                                    } else {

                                        console.warn("Language is not Persian. No calendar applied.");

                                    }


                                    // ارسال تاریخ میلادی به بک‌اند

                                    const form = dateInput.closest("form");

                                    form.on("submit", function () {

                                        const selectedDate = dateInput.attr("data-gregorian"); // گرفتن تاریخ میلادی

                                        if (selectedDate) {

                                            dateInput.val(selectedDate); // مقدار میلادی را تنظیم کنید

                                        }

                                    });

                                });

                            </script>

Result: I did the above steps and progressed step by step, but I did not get the correct result and the error was still in English. I tried this with Arabic, French and Russian, but still the error is displayed in English.
I have even cleared Odoo's cache several times.
Please help if anyone knows why translations of the .po file are not applied or why the error text cannot be translated in any way.
This is an important and necessary issue and even a bug of Odoo itself, why despite the application of translations and even changes in parts of the views, the error texts are not translated into other languages.
Avatar
Discard
Related Posts Replies Views Activity
2
Feb 25
1202
2
Jul 25
352
4
Jun 25
640
1
Jun 25
923
1
May 25
957