Skip to Content

ماژول بازنویسی ترجمه

ترجمه‌های نادرست Odoo را از داخل خود Odoo و بدون دست زدن به فایل‌های .po اصلاح کنید؛ از منو و دکمه تا برچسب فیلد و پیام خطا. اصلاحات بلافاصله اعمال می‌شوند، متن قبلی برای بازگردانی نگه داشته می‌شود و بعد از ارتقای ماژول‌ها هم از بین نمی‌روند.

  • اصلاح ترجمه بدون برنامه‌نویسی و بدون فایل .po
  • پوشش منو، دکمه، فیلد، گزینه و پیام خطا
  • ابزار جستجوی متن از روی صفحه
  • اعمال فوری، بدون ری‌استارت سرور
  • بازگشت خودکار متن قبلی با بایگانی یا حذف
  • ماندگاری اصلاحات بعد از ارتقای ماژول‌ها
1,000,000 تومان 1,000,000 تومان

  • نسخه Odoo

مشخصات فنی ماژول

نسخه‌های Odoo
19.0 20.0
نسخه ماژول
1.0.0
مجوز
LGPL-3
$ odoo-bin -d your_db -i translation_override
  • دریافت فوریفایل نصب پس از پرداخت در پنل شما
  • پشتیبانی مستقیماز طرف تیم توسعه‌دهنده ماژول
  • کد استانداردمطابق اصول توسعه Odoo

این ماژول چه کاری انجام می‌دهد؟

در Odoo، ترجمه فارسی بعضی منوها، دکمه‌ها، برچسب فیلدها و پیام‌های خطا نادرست یا ناهماهنگ است. اصلاح این متن‌ها معمولاً به برنامه‌نویس و ویرایش فایل‌های .po نیاز دارد، و با هر بار بارگذاری دوباره ترجمه‌ها یا ارتقای ماژول‌ها ممکن است از بین برود.

بازنویسی ترجمه به مدیر سیستم اجازه می‌دهد هر متن را از داخل رابط Odoo اصلاح کند. اصلاح بلافاصله و بدون ری‌استارت سرور اعمال می‌شود، متن قبلی برای بازگردانی ذخیره می‌شود و بعد از ارتقای ماژول‌ها یا ورود دوباره فایل ترجمه، خودکار دوباره اعمال می‌شود. فایل‌های ترجمه اصلی هیچ‌وقت تغییر نمی‌کنند.

فقط برای مدیر سیستم، در حالت توسعه‌دهنده

منوهای ماژول زیر Settings › Translations قرار دارند و فقط در حالت توسعه‌دهنده (Developer Mode) و برای کاربران گروه مدیر سیستم دیده می‌شوند.

قابلیت‌ها

اصلاح پیام‌ها و متن‌های کد پایتون

پیام‌های خطا، اعلان‌ها و هر متنی که در کد پایتون ترجمه می‌شود را بازنویسی کنید. بازنویسی بر ترجمه فایل‌های .po اولویت دارد و می‌تواند فقط برای یک ماژول یا برای همه ماژول‌ها باشد.

اصلاح متن‌های رابط وب

متن‌هایی که در رابط وب Odoo ترجمه می‌شوند (مثل دکمه‌های عمومی) بازنویسی و به مرورگر کاربران فرستاده می‌شوند. اگر متنی ترجمه نداشته باشد، به‌عنوان ترجمه جدید اضافه می‌شود.

برچسب فیلدها و گزینه‌های کشویی

عنوان یک فیلد یا برچسب یکی از گزینه‌های یک فیلد انتخابی را فقط برای زبان موردنظر تغییر دهید.

نام منوها و عنوان صفحه‌ها

نام آیتم‌های منو و عنوانی که بالای صفحه نمایش داده می‌شود را برای یک زبان اصلاح کنید.

متن دکمه‌ها و برچسب‌های فرم و لیست

همان متنی را که روی صفحه می‌بینید وارد کنید تا در آن فرم یا لیست جایگزین شود. زبان‌های دیگر دست نمی‌خورند.

ابزار «یافتن متن مبدا»

متن روی صفحه را تایپ کنید؛ ابزار در منوها، عنوان صفحه‌ها، برچسب‌ها، گزینه‌ها، فرم‌ها و ترجمه‌های پایتون و جاوااسکریپت ماژول‌های نصب‌شده جستجو می‌کند و با یک کلیک فرم بازنویسی را از قبل پر می‌کند.

بازگردانی خودکار متن قبلی

پیش از اعمال، مقدار قبلی ذخیره می‌شود. با بایگانی یا حذف بازنویسی، و حتی با حذف نصب ماژول، متن اصلی دقیقاً برمی‌گردد.

ماندگاری بعد از ارتقا

بعد از نصب یا ارتقای ماژول‌ها، فعال کردن زبان یا ورود فایل ترجمه، بازنویسی‌ها خودکار دوباره اعمال می‌شوند. دکمه «اعمال مجدد» همین کار را دستی انجام می‌دهد.

جلوگیری از بازنویسی‌های متناقض

برای هر متن و هر زبان فقط یک بازنویسی فعال مجاز است. کپی گرفتن از یک بازنویسی، نسخه‌ای بایگانی‌شده می‌سازد تا تداخلی پیش نیاید.

رابط دوزبانه فارسی و انگلیسی

همه متن‌های رابط ماژول ترجمه کامل فارسی دارند؛ از منوها و فرم‌ها تا پیام‌ها و خلاصه ماژول در فهرست برنامه‌ها.

تصاویر محیط ماژول

چه متن‌هایی را می‌شود اصلاح کرد؟

هر بازنویسی یکی از این هفت نوع است. اگر نمی‌دانید متن موردنظر از کدام نوع است، ابزار «یافتن متن مبدا» نوع درست را پیدا می‌کند.

نوعچه چیزی را تغییر می‌دهدنمونه
Python Code (کد پایتون)پیام‌ها و متن‌های داخل کد پایتون ماژول‌هاپیام خطای ذخیره یک سند
Web Client (رابط وب)متن‌های رابط وب که با جاوااسکریپت نمایش داده می‌شونددکمه‌های عمومی مثل ذخیره و انصراف
Field Label (برچسب فیلد)عنوان یک فیلدبرچسب یک فیلد در فرم مشتری
Selection Label (گزینه کشویی)برچسب یک گزینه از فیلد انتخابییکی از وضعیت‌های یک سند
View Text (متن ویو)متن دکمه، برچسب یا راهنما داخل یک فرم یا لیستمتن یک دکمه در بالای فرم
Menu Label (نام منو)نام یک آیتم منونام یک زیرمنو در تنظیمات
Action Label (عنوان صفحه)عنوانی که بالای صفحه نمایش داده می‌شودعنوان صفحه لیست سفارش‌ها

نصب و راه‌اندازی

  1. پوشه translation_override را در یکی از مسیرهای افزونه‌ها (addons_path) قرار دهید.
  2. از منوی Apps، گزینه Update Apps List را اجرا کنید.
  3. «Translation Override» را جستجو و نصب کنید. اگر پیدا نشد، فیلتر پیش‌فرض Apps را از کادر جستجو بردارید.
نصب از خط فرمان
odoo-bin -d your_db -i translation_override

پیش از شروع

  1. زبان: زبان موردنظر (مثلاً فارسی) باید از Settings › Translations › Languages فعال باشد؛ فیلد زبان فقط زبان‌های فعال را نشان می‌دهد.
  2. حالت توسعه‌دهنده: آن را فعال کنید تا منوی Settings › Translations دیده شود.
  3. دسترسی: کاربر باید عضو گروه مدیر سیستم (Administration › Settings) باشد.

آموزش استفاده

اصلاح یک متن از روی صفحه با «یافتن متن مبدا»

  1. به Settings › Translations › Translation Overrides › Find Source Text (یافتن متن مبدا) بروید.
  2. در فیلد Displayed Text (متن نمایش‌داده‌شده) همان متنی را که روی صفحه می‌بینید تایپ کنید و Language (زبان) را انتخاب کنید.
  3. در صورت نیاز تیک Search Python/JavaScript Strings را فعال بگذارید و Search را بزنید.
  4. کنار نتیجه درست، Create Override (ساخت بازنویسی) را بزنید؛ فرم بازنویسی با نوع، زبان، هدف و متن فعلی پر می‌شود.
  5. فیلد Translation (ترجمه) را به متن درست تغییر دهید و ذخیره کنید.

نتیجه: متن بلافاصله در Odoo عوض می‌شود. برای متن‌های رابط وب، ممکن است کاربران لازم باشد صفحه را یک بار دوباره بارگذاری کنند.

اصلاح یک پیام خطا یا متن کد پایتون

  1. به Settings › Translations › Translation Overrides › Overrides (بازنویسی‌ها) بروید و یک رکورد جدید بسازید.
  2. Type (نوع) را Python Code بگذارید و Language را انتخاب کنید.
  3. در Module نام فنی ماژول (مثلاً sale) را وارد کنید، یا برای اعمال روی همه ماژول‌ها خالی بگذارید.
  4. در Source Text (متن مبدا) رشته دقیق انگلیسی را وارد کنید (حروف بزرگ و کوچک مهم است) و در Translation متن جایگزین را بنویسید.
  5. ذخیره کنید.
متن انگلیسی را از کجا پیدا کنم؟

لازم نیست کد را بخوانید. ترجمه فارسی فعلی پیام را در ابزار «یافتن متن مبدا» جستجو کنید؛ ابزار رشته انگلیسی اصلی و ماژولش را پیدا می‌کند.

بازگرداندن متن اصلی

  1. در لیست Overrides، رکورد را بایگانی (Archive) یا حذف کنید.
  2. متن قبلی دقیقاً برمی‌گردد. برای فعال‌سازی دوباره، رکورد را از فیلتر Archived پیدا و از بایگانی خارج کنید.

اعمال مجدد بعد از تغییر دستی ترجمه‌ها

  1. رکورد یا رکوردها را در لیست یا فرم انتخاب کنید.
  2. دکمه Re-apply (اعمال مجدد) در بالای فرم، یا همین گزینه در منوی کنش‌ها را بزنید.

نکات و محدودیت‌ها

  • برای «متن ویو»، متن را دقیقاً همان‌طور که الان روی صفحه دیده می‌شود وارد کنید؛ ممکن است همان ترجمه نادرست فعلی باشد.
  • برای متن‌های پرتکرار (مثل یک کلمه عمومی)، فیلد Module را خالی بگذارید تا روی همه ماژول‌ها اعمال شود. بازنویسی اختصاصی یک ماژول بر بازنویسی عمومی اولویت دارد.
  • دلیل هر تغییر یا شماره تیکت را در فیلد Internal Note (یادداشت داخلی) بنویسید.
  • اگر از ترجمه‌های یک ماژول خروجی بگیرید (Export Translation)، بازنویسی‌های فعال «کد پایتون» هم به‌عنوان ترجمه همان ماژول در خروجی می‌آیند.

محدودیت‌ها:

  • بازنویسی نوع «کد پایتون» برای زبان انگلیسی ممکن نیست، چون Odoo متن‌های کد را به انگلیسی ترجمه نمی‌کند.
  • ابزار یافتن متن مبدا در هر دسته حداکثر ۲۰ نتیجه نشان می‌دهد و برای زبان انگلیسی در متن‌های پایتون و جاوااسکریپت جستجو نمی‌کند.
  • «متن ویو» همه تکرارهای آن متن را در همان ویو عوض می‌کند؛ جایگزینی فقط یکی از تکرارها ممکن نیست.
  • قالب‌های چاپی (گزارش‌ها)، متن ایمیل‌ها و محتوای صفحه‌های وب‌سایت پوشش داده نمی‌شوند؛ فقط هفت نوع بالا.
بعد از به‌روزرسانی هسته Odoo

اصلاح متن‌های کد پایتون از یک بخش داخلی Odoo استفاده می‌کند. بعد از به‌روزرسانی خود Odoo، چند بازنویسی نوع «کد پایتون» را یک بار بررسی کنید.

سازگاری و پیش‌نیازها

موردجزئیات
نسخه OdooOdoo 20
نسخه Community / Enterpriseهر دو (فقط به ماژول‌های پایه base و web وابسته است)
کتابخانه‌های پایتونندارد
دسترسیگروه مدیر سیستم، در حالت توسعه‌دهنده
مجوزLGPL-3
نسخه ماژول1.0.0

تغییرات نسخه‌ها

  • 1.0.0: انتشار برای Odoo 20، سازگار با ساختار جدید دسترسی‌ها و حافظه نهان Odoo 20. ساختار داده‌ها با نسخه Odoo 19 یکسان است؛ بعد از ارتقای پایگاه داده، کافی است ماژول به‌روزرسانی شود.

پرسش‌های متداول

آیا ماژول فایل‌های .po را تغییر می‌دهد؟

خیر. همه اصلاحات به‌صورت رکورد در پایگاه داده ذخیره می‌شوند و فایل‌های ترجمه دست نمی‌خورند.

با ارتقای ماژول‌ها یا بارگذاری دوباره ترجمه‌ها، اصلاحات از بین می‌روند؟

خیر. بعد از نصب یا ارتقای ماژول‌ها، فعال‌سازی زبان و ورود فایل ترجمه، بازنویسی‌ها خودکار دوباره اعمال می‌شوند.

اگر بخواهم به متن اصلی برگردم چه کنم؟

بازنویسی را بایگانی یا حذف کنید؛ مقدار قبلی که هنگام اعمال ذخیره شده بود برمی‌گردد.

بعد از ثبت، نیاز به ری‌استارت سرور هست؟

خیر. تغییرات بلافاصله اعمال می‌شوند. برای متن‌های رابط وب، ممکن است کاربران لازم باشد صفحه را دوباره بارگذاری کنند.

فقط برای زبان فارسی کار می‌کند؟

خیر. هر بازنویسی برای یک زبان فعال تعریف می‌شود و برای هر زبانی قابل استفاده است.

روی زبان‌های دیگر یا متن انگلیسی اثر می‌گذارد؟

خیر. فقط زبان همان بازنویسی تغییر می‌کند و متن مبدا انگلیسی دست‌نخورده می‌ماند.

چه کسانی می‌توانند از آن استفاده کنند؟

فقط کاربران گروه مدیر سیستم، در حالت توسعه‌دهنده.

با حذف نصب ماژول چه اتفاقی می‌افتد؟

متن اصلی همه مواردی که بازنویسی شده بودند بازگردانده می‌شود.

مشخصات

نسخه Odoo 19.0, 20.0