الثلاثاء، 1 أكتوبر 2013

Fixing Arabic letters in SAKHR Dictionary (DIC32.exe) running on Linux using WINE (Windows Emulator)

NOT all Windows(TM) programs have good alternates on Linux.. So we use the emulation software called WINE to run these Windows programs on Linux.

One of these programs is DIC32, the BEST Arabic-English dictionary available!.. And sadly there is no good alternative to it on Linux.
When you download WINE and use it to run DIC32 on Linux, you'll probably be shocked to see that the Arabic letters aren't displayed well!.. It will look something like this pic:


And what good is an Arabic dictionary without proper Arabic letters?!

I use Lubuntu nowadays, and here you will find the solution I found to the problem, thanks to this forum member:
http://ubuntuforums.org/showthread.php?t=1231500

You can download the dictionary itself from here:
http://www.4shared.com/rar/SPv7hL-p/Dic32___5______.html

And of course install WINE from your usual repository. (I use WINE1.4 on Lubuntu 12.4)

Unzip the DIC32 archive, name it "Dictionary" and put it inside the ( .wine) folder like this.. (Note: it's a hidden folder by default)
/home/salama/.wine/drive_c/Dictionary

Download some Arabic fonts, then put them in these two folders:
/home/salama/.wine/drive_c/windows/Fonts
/usr/share/wine/fonts

(Note that "salama" is the name of my computer, so use yours!.. And you'll have to be a ROOT user to copy the fonts to the second mentioned folder, so open the folder as root)
The fonts are (Arial - Tahoma - Times New Roman - Trado.ttf )
(ttf means: True Type Font. Trado means: Traditional Arabic)

Now go to the dictionary folder (/home/salama/.wine/drive_c/Dictionary) and open a Terminal window.
Copy and paste this command line:
LC_ALL=ar_EG.utf8 wine dic32.exe
Which tells WINE to open the dictionary in an "Arabic Locale", and you will get this result:



(Note: you must have Arabic Language already on your Linux system. Use the command:
locale -a
to check for it)



=====
Fixing Arabic letters in SAKHR Dictionary (DIC32.exe) running on Linux using WINE (Windows Emulator)

Written By Salama

هناك 5 تعليقات:

  1. The file is corrupted! Can you re-upload it to a better site, like 4shared for example? ..thank you

    ردحذف
  2. Excellent script! The code comments are clear too. Thanks

    Can you make the "upgrade" optional? (I mean as a Y\N question during the installation) , as I already have the ArabicPack and Wine

    ردحذف
  3. I installed it, but have 2 tweaks

    The .desktop file wasn't found neither on the desktop nor on the start menu
    the reason is that I use Lubuntu not Ubuntu.. and the other ubuntu distros don't have the DASH nor the unity

    Lubuntu uses the lxde

    so I copied the sakhr.desktop file to my desktop, and now it works

    but there was another problem.. the sakhr.sh file has the line

    cd /home/ubuntu/.wine/drive_c/Sakhr

    which doesn't work on other ubuntu distros, such as Lubuntu
    and I think it should be
    cd /home/salama/.wine/drive_c/Sakhr

    ردحذف
  4. Ok, I change the error in the sakhr.sh and it should get your username account instead of the 'ubuntu' now.

    Concerning the .desktop file, I now put it in the usr/share/applications folder which is the same for almost any linux desktop (I guess) so you must find the Sakhr application icon in your default application panel whatever you are using Lubuntu, Kubuntu, Ubuntu or Xubuntu.

    I create a desktop shortcut as well so I guess it works on any linux now

    Try it again, but I think it should work correctly for you now.

    Bârak Allahu fîk for your advices

    https://sites.google.com/site/ibrabel/sakhr-linux

    ردحذف
    الردود
    1. Perfect!.. but if I were you I'd change the path of the DESKTOP folder to
      $desktop
      because of the localized distros have the desktop folder in their language, not in the usual English

      for example, my desktop folder isn't called Desktop, but is in Arabic, and is called
      سطح المكتب

      and my Documents folder is called
      مستندات
      etc.
      =====

      Soon I'll write another blog post about your script, but inArabic this time, so more people will be able to know about it and use the dictionary on their linux systems


      BTW, my e-mail will be easier to communicate through

      SalamaCast
      at yahoo
      dot com

      حذف