MDic جایگزینی آزاد برای ‌Babylon

نرم‌افزار MDic یک لغت‌نامه آزاد نوشته شده تحت چهارچوب Qt است، این دیکشنری توسط دوستان خوبم آقایان مهرداد مومنی و مجید رمضانپور نوشته شده است برای اطلاع از جزئیات این پروژه می‌توانید به صفحه «MDic» در وبلاگ این دوستان مراجعه نمایید. برای دانلود این نرم‌افزار و دیکشنری‌های آن برای ورژن‌های مختلف لینوکس به «اینجا» مراجعه کنید. از آنجا که مدتهاست بر روی ویندوز از نرم‌افزارهای قفل شکسته استفاده نمی‌کنم، همیشه به دنبال معادل مناسبی برای بابیلون بوده‌ام، و به همین جهت مدتها از لغت‌نامه StarDict بر روی ویندوز استفاده می‌کرده‌ام، اما هیچگاه از نحوه کار آن راضی نبوده‌ام! تا اینکه به فکر آماده‌سازی MDic بر روی ویندوز افتادم، این پست هم به مناسبت به اشتراک‌گذاری نتیجه کار است،

اولین بار ورژن ۰.۶.۳ از این نرم‌افزار را برروی ویندوز کامپایل کردم و همان موقع یکی از باگ‌ها که در ذخیره تنظیمات رخ می‌داد را رفع کردم اما چون آن زمان تجربه‌ام با Qt  کم بود نتیجه کار خیلی پایدار و کارا نبود هرچند همان زمان ماه‌ها از آن استفاده کردم، بالاخره چند وقت پیش سراغ جدیدترین ورژن موجود یعنی ۰.۸.۱ رفتم و این دفعه علاوه بر باگ قبلی چند باگ مربوط به استفاده از Clipboard و Aspell را نیز رفع کردم، و از آنجا که هدف استفاده شخصی بود علاوه بر رفع باگ یک سری تغییرات سلیقه‌ای هم در آن اعمال کردم.

MDic با ظاهری ساده و کاربرپسند و توانایی‌هایی مانند غلط ‌یابی و تلفظ و Copy Scanner (در لینوکس Selection Scanner) واقعا قدرتمند است و بر روی ویندوز جایگزین مناسبی برای بابیلون می‌باشد.

فایل نصبی آماده کرده‌ام که MDic را به همراه یک موتور تبدیل متن به صدا (text to speech) با نام eSpeak و همچنین به‌همراه Aspell و دیکشنری انگلیسی آن و همچنین یک لغت‌نامه فارسی به انگلیسی و یک لغت‌نامه انگلیسی به فارسی و تنظیمات لازم نصب می‌کند. :D در واقع بهتره اسمش رو «MDic Windows Bundle» بگذارم.

ویژگی‌ها و تغییرات غیر رسمی که در این ورژن رخ داده است:

* روش اجرای تک نمونه‌ای (one instance) را کلا عوض کرده‌ام.

* بخش ترجمه گوگل با تغییرات سایت ترجمه گوگل هماهنگ‌سازی شده است.

* اگر ترجمه‌ای در دیکشنری فعال شده یافت نشد کلا نتیجه (خالی) مربوط به آن دیکشنری نمایش داده نمی‌شود.

* اگر تا بحال لغت‌نامه‌ای نصب نشده باشد، MDic بصورت خودکار تمام لغت‌نامه‌هایی با فرمت «M2» را که در مسیر پیش فرض قرار دارند بارگذاری و فعال می‌کند.

‌     – این روش باعث می‌شود که نصب تعداد زیادی لغت‌نامه به سادگی copy/paste باشد.

‌     – می‌توانیم این روش را توسعه دهیم به این صورت که MDic فقط اطلاعات مربوط به دیکشنری‌های راه دور را در تنظیمات خود ذخیره کند، با این کار لازم نیست MDic اجازه نوشتن در مسیر لغت‌نامه‌ها داشته باشد.

* ایجاد bundle به همراه Aspell و eSpeak نیاز دارد که مسیر دیکشنری‌های این دو برنامه با درستی به آنها داده شود، به همین دلیل این توانایی یعنی اجرای Aspell و eSpeak با آرگومان‌های اضافی در خط دستور ممکن شد.

* نام فایل لغت‌نامه در نتیجه نمایش داده می‌شود.

* باگ‌های کوچکی مربوط به ورژن ویندوزی رفع شد.

لینک دانلود فایل نصب مخصوص ویندوز:

‌                          Mirror1

‌                          Mirror2

سورس‌کد به همراه تغییرات غیررسمی:

‌                         Download

پی‌نوشت: به تازه‌گی با دیکشنری جالبی آشنا شدم که اتفاقا با Qt نوشته شده و آزاد و رایگانه، بعلاوه بسیار قوی است و توانایی خواندن متن زیر مکان‌نما را هم دارد‌ و دیکشنری‌های بابیلون را هم مستقیما قبول می‌کند.
وب‌سایت این پروژه: http://goldendict.org

پی‌نوشت۲: لینک دانلود اول در ۴shared پاک شده است، اما لینک دانلود دوم همچنان درست است، در ضمن ترجمه گوگل بخاطر تغییر مجدد در سایت گوگل از کار افتاده است.

یک فکر در “MDic جایگزینی آزاد برای ‌Babylon”

  1. حرکت جالبی بود! ممنون
    جالبتر میشه اگر بتونی تغییراتت رو بصورت یک پچ بفرستی که روی سورس پروژه‌ی اصلی هم اعمال بشه ;)

    و حتی می‌تونیم در نهایت نسخه‌ی ویندوزی رو هم روی سایت خود MDic بذاریم که راحت‌تر بشه پیداش کرد!

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

  3. سلام.
    خیلی ممنون که این حرکات بشردوستانه و پارسی دوستانه رو انجام میدید.

    من می خواستم از دیتابیس این دیکشنری استفاده کنم. برای نوشتن یک مترجم.
    می شه راهنماییم کنید؟
    یک فایل اسپل بود که حجمش به دیتابیس می خورد اما به نظرم انکودینگش عادی نبود.

  4. دوباره سلام.
    من اون فایل دیکشنری با فرمت ام۲ رو دیدم.
    اما دارم توی ویژوال استودیو کد می زنم.
    چه جوری می شه به اس کیوال یا اکسس یا فایل متنی تبدیلش کنم که بشه استفاده کرد؟

  5. @زینب مدیر: همان‌طور که احتمالا در پست دقت کرده‌اید نویسنده اصلی این نرم‌افزار من نیستم، من فقط باگ‌ها و تغییراتی که برای ویندوز لازم بوده انجام داده‌ام. اما در مورد دیکشنری‌ها که پسوند M2 مشخص شده‌اند، این فایل‌ها پایگاه‌های داده SQLite3 هستند. و می‌توانید برای دیدن ساختار آن با یک SQLite ‌Browser به آن دسترسی پیدا کنید.

  6. سلام
    خیلی ممنون از پاسختون.
    من تونستم توی اس کیو لیت منجر بیارمش بالا
    اما نمی دونم چرا انکودینگش رو خراب می کنه و نمی تونم اکسپورتش کنم به اس کیو ال.
    شما اگر می دونستید چرا بگید.
    ممنون

  7. یه چیز دیگه پیدا کردم. نوشته می تونید با این دستور توی برنامه تون استفاده ش کنید:

    $ qdbus org.mdic.dbus /mdic org.mdic.dbus.toggleSelectionScannerEnable;

    و

    void org.mdic.dbus.showTranslation( QString text )

    من دارم با سی شارپ کد می نویسم. یعنی من هم می تونم این فانکشن رو صدا کنم؟
    یه دی ال الی هست که بشه ادش کرد؟

  8. @زینب مدیر: من برای Browse از http://sqlitebrowser.sourceforge.net استفاده می‌کنم که که تنظیماتش روی UTF-8(Unicode)‎ است در تنظیمات connection نوع encoding را مستقیما تنظیم کنید، البته بگم که من در پایگاه داده خیلی تجربه ندارم.

    و درمورد پست دوم بگم که این qdbus از dbus در لینوکس استفاده میکنه و برای هدف شما که به نظر روی ویندوز هستید مناسب نیست. در ویندوز بطور معادل می‌توانید از DDE استفاده کنید که البته MDIC فعلا روی ویندوز از DDE حمایت نمی‌کند ولی اگر به Qt آشنایید می‌توانم یک کد مثال برایتان بفرستم تا خاصیت DDE را به آن اضافه کنید البته سر خودم هم خلوت‌تر شود می‌توانم توانایی را به آن اضافه کنم.

  9. خیلی ممنون بابت کمک ها تون.
    من تونستم به دیتابیسه وصل بشم.
    ساغرتون پر می و برنامه هاتون همیشه متن باز :)

    رضی

    ;)

  10. یه ایده جدید چیزه خوبیه !
    اگه نرم افراز متن به صوت رو بتونید برای زبان فارسی بنویسید عالی مشه. یکی از استادهای دانشگاه هم داره روش کار میکنه و متاسفانه نظرش بر اینه که تا چند سال آینده هم به جایی نمیرسه.
    ولی من با نظرش موافق نیستم
    ما میتونیم

    رضی

    @امین:
    من فقط نرم‌افزار متن به صوت eSpeak را در این بسته قرار داده‌ام،
    eSpeak و Festival دو پروژه کدباز هستند، که با مراجعه به کدهای آنها احتمالا بتوانید ایده کار را گرفته یا حتی بعنوان کدهای پایه کار از کدهای این نرم‌افزارها استفاده کنید.
    با ما می‌تونیم موافقم، اما به نظر من استادتان که گفته‌اند چندین سال کار لازم دارد، خیلی بی‌راه نگفته‌اند.

  11. سلام
    من خیلی از برنامه نویسی سر در نمیارم. می‌خواستم دیکشنری‌های بابیلون را برای این برنامه آماده کنم که نوشته بود باید mdicconv و یا pglossary را داشته باشیم. این دوتا برنامه هم فقط سورسشون موجود است و ظاهراً برای لینوکس استفاده می‌شن. میشه از این دوتا هم دوتا فایل اجرایی برای ویندوز بذارین.
    ممنون

  12. @علی:
    تا جایی که یادم است این دو برنامه وابستگی‌هایی در لینوکس دارند، که نمی‌توان آنها را در ویندوز کامپایل کرد (شاید اشتباه می‌کنم :) )، اما جواب دقیق‌تر را می‌توانید از دوستان mtux.wordpress.com بگیرید.
    ولی ساده‌ترین و سریع‌ترین راه‌حل برای شما این است که برید تو لینوکس و مثلا mdicconv رو کامپایل کنید که تو فایلی با نام INSTALL یا README روش کار نوشته شده است. سپس دیکشنری مورد نظرتان را تبدیل کنید.

  13. ممنون ولی من لینوکس ندارم و فعلا هم وقت و تصمیم نصب اون را ندارم. به نظرم باید صبر کنم تا روزی که لینوکس نصب کنم یا بدم یکی از دوستام این کار را برام بکنه.
    در هر صورت ممنون از راهنماییتون.

  14. سلام
    بهترین دیکشنری رایگان و آزاد lingoes است
    lingoes.net

    رضی

    @محسن:
    lingoes به نظر نمیاد آزاد باشه! ولی خوب رایگانه، و البته فقط نسخه ویندوز داره و دیگه برای مک و لینوکس در دسترس نیست.

  15. ممنون بابت این دیکشنری. فقط یه سوال دارم و اون اینه که آیا تلفظ این دیکشنری هم مثل بابیلون، ماشینه؟

    رضی

    @وحید: بله، ماشینیه و از موتور eSpeak استفاده میکنه.

    رضی

    @وحید: بعد از جواب دادن دیدم وحید خودمونی! وحیدجان خیلی لطف داری، و ممنون بخاطر کامنتت.

امکان ثبت دیدگاه وجود ندارد.