Skip to Content

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

khaledhosny's picture

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

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

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

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

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

احصل عليه:

التنصيب:

  • لبناء الحزمة المصدرية
tar xvfz /path_where_it//dictd-x.x.x.tar.gz 
cd dict-x.x.x
less INSTALL
./configure
make
make install

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

emerge dictd
  • لتنصيب الحزم الجاهزة
  • حزم rpm
rpm -Uhv dictd*.rpm
  • وإذا كنت تستخدم ماندريك
urpmi dictd

  • حزم ديبان
apt-get install dictd 

الإعداد:

ملحوظة: اذا كنت استخدمت حزمة جاهزة فأنت غالبا فى غنى عن هذه الخطوة

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

#!/bin/sh
# Example script courtesy of Jeff Blain <[email protected]>

#عدل السطر التالى ليشير الى مكان ملف dicd التنفيذى
#مثلا DICTD=/usr/sbin/dictd
DICTD=/where/is/your/dictd_binary 

# DICTD_OPTIONS="-put -command_line -options -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

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

احصل عليها:

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

#urpmi -y dictd-dicts 
dictd-dicts-afr-deu    dictd-dicts-eng-spa    dictd-dicts-nld-fra
dictd-dicts-cze-eng    dictd-dicts-eng-swe    dictd-dicts-por-deu
dictd-dicts-dan-eng    dictd-dicts-eng-wel    dictd-dicts-por-eng
dictd-dicts-deu-eng    dictd-dicts-foldoc     dictd-dicts-sco-deu
dictd-dicts-deu-fra    dictd-dicts-fra-deu    dictd-dicts-scr-eng
dictd-dicts-deu-nld    dictd-dicts-fra-eng    dictd-dicts-slo-eng
dictd-dicts-deu-por    dictd-dicts-fra-nld    dictd-dicts-spa-eng
dictd-dicts-devils     dictd-dicts-gazetteer  dictd-dicts-swa-eng
dictd-dicts-easton     dictd-dicts-gcide      dictd-dicts-swe-eng
dictd-dicts-elements   dictd-dicts-gre-deu    dictd-dicts-tur-deu
dictd-dicts-eng-deu    dictd-dicts-hitchcock  dictd-dicts-tur-eng
dictd-dicts-eng-fra    dictd-dicts-iri-eng    dictd-dicts-vera
dictd-dicts-eng-iri    dictd-dicts-jargon     dictd-dicts-web1913
dictd-dicts-eng-lat    dictd-dicts-jpn-deu    dictd-dicts-wel-eng
dictd-dicts-eng-nld    dictd-dicts-lat-deu    dictd-dicts-wn
dictd-dicts-eng-por    dictd-dicts-lat-eng    dictd-dicts-world95
dictd-dicts-eng-rus    dictd-dicts-nld-deu    
dictd-dicts-eng-scr    dictd-dicts-nld-eng    

الإعداد:

XXX.dict.dz & XXX.index

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

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

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

ملحوظة لمستخدمى جنتو :

ملف الإعدادات هو /etc/dictd/dictd.conf ولكنك لست بحاجة لتحريره بنفسك فقط أضف ملفات القاموس الى /usr/lib/dictd ثم أعد تشغيل خادم dictd

/etc/init.d/dictd restart

dict client

احصل عليه

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

  • gnome-dictionary يأتي مع جنوم افتراضيا

اذهب إلى قائمة جنوم الرئيسية: تطبيقات -> ملحقات -> قاموس. من نافذة البرنامج الرئيسية اذهب لقائمة حرر->تفضيلات->أضف ، في خانة "اسم المضيف" ضع localhost ليتصل البرنامج بخادم dict المثبت على جهازك ثم استخدمه كخادم القاموس الإفتراضي.

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

الإعداد:

ببساطة كل ما نحتاج اليه هو اخبار البرنامج بأن يستخدم 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. ? short of
     breath; pref. ? ill, hard + ?, ?, breathing, ? to blow,
     breathe: cf. F. dyspn['e]e.] (Med.)
     Difficulty of breathing.

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

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 لإضافة قاعدة البانات الجديدة

Comments

Alaa's picture

قواميس جاهزة

ماندريك و أظن ديبيان بيجي معاهم كمية خرافية من قواميس dict جاهزة في صورة حزمة

و خد عندك قائمة ماندريك

$ urpmq -y dictd
dictd
dictd-client
dictd-dicts-afr-deu
dictd-dicts-cze-eng
dictd-dicts-dan-eng
dictd-dicts-deu-eng
dictd-dicts-deu-fra
dictd-dicts-deu-nld
dictd-dicts-deu-por
dictd-dicts-devils
dictd-dicts-easton
dictd-dicts-elements
dictd-dicts-eng-deu
dictd-dicts-eng-fra
dictd-dicts-eng-iri
dictd-dicts-eng-lat
dictd-dicts-eng-nld
dictd-dicts-eng-por
dictd-dicts-eng-rus
dictd-dicts-eng-scr
dictd-dicts-eng-spa
dictd-dicts-eng-swe
dictd-dicts-eng-wel
dictd-dicts-foldoc
dictd-dicts-fra-deu
dictd-dicts-fra-eng
dictd-dicts-fra-nld
dictd-dicts-gazetteer
dictd-dicts-gcide
dictd-dicts-gre-deu
dictd-dicts-hitchcock
dictd-dicts-iri-eng
dictd-dicts-jargon
dictd-dicts-jpn-deu
dictd-dicts-lat-deu
dictd-dicts-lat-eng
dictd-dicts-nld-deu
dictd-dicts-nld-eng
dictd-dicts-nld-fra
dictd-dicts-por-deu
dictd-dicts-por-eng
dictd-dicts-sco-deu
dictd-dicts-scr-eng
dictd-dicts-slo-eng
dictd-dicts-spa-eng
dictd-dicts-swa-eng
dictd-dicts-swe-eng
dictd-dicts-tur-deu
dictd-dicts-tur-eng
dictd-dicts-vera
dictd-dicts-web1913
dictd-dicts-wel-eng
dictd-dicts-wn
dictd-dicts-world95
dictd-server
dictd-static-devel
dictd-utils

DarknessWolf حول قاموش عربايز الي حزمة RPM لماندريك

و المقال حلو برضه نراجعه يوم ولا يومين و ننشره في قسم المقالات

Alaa


"i`m feeling for the 2nd time like alice in wonderland reading el wafd"

khaledhosny's picture

ماشى ياباشا أنا

ماشى ياباشا أنا ماندريكاوى برضه بس كسلت احط القايمة فى الموضوع على العموم المرة الجاية ابقى حطها فوق على طول -:)

ولو حد من بتوع ديبان يقول لنا ايه الأخبار هناك

DarKnesS_WolF's picture

Great work

very nice article .. there is an rpm for arabeyes dict i have created long ago i`ll check with admins where to upload it and i`ll post link here.

peace


Live Free Or Die...

khaledhosny's picture

please before uploading it ch

please before uploading it check arabeys cvs and get the latest .po files.

or send me the spec and I'll tray to build it.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


Dr. Radut | book