Revision of قواميس بروتوكول dict from Sun, 21/08/2005 - 02:39

khaledhosny's picture
Submitted by khaledhosny on Sun, 21/08/2005 - 02:09.
::

قواميس بروتوكول dict

سنتحدث هنا عن استخدام هذه القواميس محليا (دون الحاجة لاتصال باإنترنت)

إذا كنت تخطط لا ستخدام قاموس عن طريق برتوكول dict محليا على جهازك تحتاج الى اعداد dict server ليعمل على جهازك أولا ,أى ستحتاج الى

  1. dict server
  2. dict client
  3. قاعدة بيانات (الملفات التى تحتوى على الكلمات ومقابلاتها أو بعبارة أوضح مادة القاموس)

والآن نبدأ العمل

dict server

احصل عليه:

يمكن الحصول عليه من هنا على شكل حزمة مصدرية)dictd-x.x.x.tar.gz( ثم تقوم ببنائها كالعادة

أو ابحث عن حزمة rpm لتوزيعتك هنا

التنصيب:

  • لبناء الحزمة المصدرية

tar xvfz /path_where_it///dictd-x.x.x.tar.gz 

cd dict-x.x.x

less INSTALL

./configure

make

أما مستخدمى جنتو


emerge dictd
  • لتنصيب الحزم الجاهزة
  • حزم rpm

rpmm -Uhv dictd*.rpm
  • وإذا كنت تستخدم ماندريك

urpmi dictd

ملحوظة: تحتاج الى اعداد urpmi أولا

  • حزم ديبان

apt-get install dictd 

الإعداد:

سنحتاج لوضع script لتشغيل dictd مع بدأ التشغيل ,يوجد script جاهز لهذا ياتى مع الحزمة المصدرية ولكن سنعدله تعديلا طفيفا لنضيف خيار UTF-8 ليدعم العربية


#!/bin/sh

# Example script  courtesy of Jeff Blain <jblaine@linus.mitre.org>


#عدل السطر التالى ليشير الى مكان ملف dicd التنفيذى


#مثلا DICTD=/usr/sbin/dictd

DICTD=/where/is/your/dictd_binary 


# DICTD_OPTIONS="-put -command_line -optionns -for -dictd -here"
#سنضع هنا الخيار المطلوب

DICTD_OPTIONS="--locale UTF-8"

#DICTD_OPTIONS=""


DICTD_PID_FILE=/etc/dictd.pid


case "$1" in

'start')

    if [ -x $DICTD ]; then

        echo "dictd starting."

        $DICTD $DICTD_OPTIONS

    else

        echo "dictd.init: cannot find $DICTD or it's not executable"

    fi

    ;;

'stop')

    if [ ! -f $DICTD_PID_FILE ]; then

        exit 0

    fi

    dictdpid=`cat $DICTD_PID_FILE`

    if [ "$dictdpid" -gt 0 ]; then

        echo "Stopping the dictd server."

        kill -15 $dictdpid 2>&1 > /dev/null

    fi

    rm -f $DICTD_PID_FILE

    ;;

*)

    echo "Usage: dictd.init { start | stop }"

    ;;

esac

exit 0

ثم انسخ الملف الى /etc/init.d/ باسم dictd مثلا

والآن سنحرر ملف الإعدادات /etc/dictd.conf ونضع به السطر التالى


access {allow localhost deny *}

هذا سيسمح باستخدام الخادم من على نفس الجهاز محليا ويمنع ما عدا ذلك , أما لو كنت تخطط لا ستخدامه من أجهزة أخرى (من خلال شبكة محلية أو حتى من الإنترنت ) فستكون كالآتى


access {allow *}

والآن لتشغيل الخادم


/etc/init.d/dictd start

قواعد البيانات:

احصل عليها:

توجد العشرات (ربما أكثر ) من القواميس التى تعمل مع برتوكول dict يمكنك الحصول عليها من dict.org أو الحصول عليها على شكل حزم جاهزة لتوزيعتك

الإعداد:

إذا حصلت على القواميس من dict.org ستجدها على شكل ملف مضغوط ,فك ضغطه ستجد بداخله ملفين


XXX.dict.dz &ammp; XXX.index

انسخ الملفات الى أى مكان ,لنقل الى /usr/share/dict , الآن حرر ملف /etc/dictd.conf وأضف الأسطر التالية


database name    { data "/usr/share/dict/XXX.dict.dz"
                                 index "/usr/share/dict/XXX.index" }

استبدل name بأى اسم تريده لقاعدة البيانات

dict client

احصل عليه

هذا هو البرنامج الذى يتفاعل معه المستخدم النهائى وكالعادة يوجد عدة خيارات

  1. gnome-dictionary مع جنوم
  1. kdict مع كدى
  1. dict قياسى ويأتى مع حزمة dictd (اذا كنت تستخدم حزمة جاهزة فربما يكون فى حزمة منفصلة)
  1. يوجد بدائل أخرى يمكنك البحث عنها

الإعداد:

ببساطة كل ما نحتاج اليه هو اخبار البرنامج بأن يستخدم localhost كخادم

يمكنك عمل ذلك من خيارات اعداد gnome-dictionary أو kdict أما بالنسبة لـ dict فستكون عن طريق تحرير الملف /etc/dict.conf (لاحظ dict.conf وليس dictd.conf ) ليحتوى السطر التالى


server localhost

الإستخدام:

البرامج الرسومية سهلة ولا تحتاج الى كثير عناء

أما dict فيمكنك كتابة الأمر ثم الكلمة التى تبحث عنها ببساطة مثل هذا المثال


$ dict dyspnoea
1 definition found
 
From Webster's Revised Unabridged Dictionary (1913) [web1913]:
 
  Dyspnoea \Dysp*n[oe]"a\, n. [L., fr. Gr. ?, fr. ? shoort of
     breath; pref. ? ill, hard + ?, ?, breathing, ? to blow,
     breathe: cf. F. dyspn['e]e.] (Med.)
     Difficulty of breathing.

طبعا هناك العديد من الخيارات التى يمكن تمريرها اليه (dict --help لمزيد من المعلومات)

wordlist من عرب ايز

أحد مشاريع عرب ايز لتوفير قائمة كلمات عربية يمكن استخدامه كقاموس عربى-انجليزى

احصل عليها:

]الصفحة الرئيسية | http://www.arabeyes.org/project.php?proj=Wordlist]

الإعداد:


tar xvfj arabic_wordlist-x.x.x.tar.bz2

cd arabic_wordlist-x.x.x

less INSTALL

./scripts/po2dict.pl

لو تم كل شئ على مايرام فسينسخ الملفات الناتجة (arabic.dict & arabic.index الى /usr/share/dictd وسيكون عليك بعدها تحرير /etc/dictd.conf لإضافة قاعدة البانات الجديدة