قاموس في سطر الأوامر ..

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة
  • mahioo geek
    .: مشرف سابق :.
    • Oct 2008
    • 2125

    [سكربت] قاموس في سطر الأوامر ..

    السلام عليكم و رحمة الله و بركاته , بينما كنت اقرأ كتابا باللغة الإنجليزية , استوقفتني كلمة لم اعرف معناها , و بدل الذهاب الى google translate , أخطأت و فتحت terminal
    فجاءتني فكرة , لبرمجة script بسيط يقوم بالعملية , فبرمجت واحدا بسيطا يستخدم google translate , و يترجم من اي لغة الى اي لغة يدعمها google translate , و يترجم الكلمات و النصوص ..

    التثبيت :

    اولا نحتاج لبرنامج lynx , تجدونه في المستودعات , لأصحاب ubuntu نكتب :
    كود PHP:
    sudo apt-get install lynx 
    و للفيدوراويين نكتب :
    كود PHP:
    su 
    ثم :
    كود PHP:
    yum install lynx 
    الآن ننشئ ملفا في مجلد home , نسميه gtranslate , و نكتب فيه ما يلي ( قسم sed من تعديلي فقط ) :
    كود PHP:
    #! /bin/bash

    echo "From $1 to $2 :"
    lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$3&langpair=$1|$2" sed -'s/.*translatedText":"//' -'s/".*//' -'s/,//g' && echo 
    الآن نذهب الى terminal و نكتب :
    كود PHP:
    chmod u+x gtranslate 
    ثم ننتقل الى root ب sudo او su ( حسب الذوق ) ثم نكتب :
    كود PHP:
    mv gtranslate /usr/bin 
    انتهى

    طريقة الإستعمال :
    كود PHP:
    gtranslate <src language> <lang_to_translate"TEXT" 
    src language : اللغة الأصلية للنص مثلا en fr ar .. الخ
    lang_to_translate : اللغة المراد الترجمة اليها ..
    "Text" : النص و يكون بين
    " " ..

    ملاحظة : اي خطأ في اسم اللغة لا يعطي الناتج مثلا ab لغة خاطئة و en , ar , fr لغة صحيحة و للمزيد http://code.google.com/apis/language...tableLanguages ..

    الأمثلة الآن :
    كود PHP:
    gtranslate ar en "السلام عليكم"
    From ar to en :
    Peace be upon you 
    كود PHP:
    gtranslate ar uk "الأكرانية"
    From ar to uk :
    &
    #1059;країнське 
    كود PHP:
    gtranslate en ar "Thinking outside the box"
    From en to ar :
    التفكير خارج الصندوق 
    كود PHP:
    gtranslate en fr "Thank you for reading :)"
    From en to fr :
    Merci pour la lecture:) 
    تحديث :
    هناك تطوير للسكريبت في
    المشاركة السادسة تحت
    التعديل الأخير تم بواسطة mahioo geek; الساعة 28-05-2011, 11:01 PM. سبب آخر: تحديث في السكريبت :)
    Log Out
    Thanks linux ac from the depth of heart
  • محمد رشاد
    لينكساوي
    • Apr 2008
    • 548

    #2
    السلام عليكم

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

    ما فعلته هو أني اضفت ميزه جديدة و هي قيام البريمج بإستنتاج اللغة الأصلية بنفسه ثم ترجمة الجملة إلى العربية و الإنجليزية, ففي بعض الأحيان قد أحتاج لترجمة لغات لا أعرفها و قد تكون ترجمتها إلى العربية غير دقيقة و لذلك أضفت الإنجليزية
    إذا أستخدمت البريمج بنفس طريقتك فإنه يؤدي نفس الوظيفة بدون أي تغيير و ذلك لأنه قد يحتاج أحد للترجمة إلى لغة غير العربية أو الإنجليزية, أما إذا حذفت تعريفات اللغات من الأمر فمعنى ذلك أنك تريد الترجمة العربية و الإنجليزية مباشرة

    أولا إليك البريمج بعد الإضافة

    كود PHP:
    #!/bin/bash

    if [ $# == 3 ]
    then
    echo "From: $1 To: $2"
    lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$3&langpair=$1|$2"|awk -F'"' '{print $6}'

    else
    lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=|ar"|awk -F'"' '{print "From: "$10" To: ar \n"$6}'  
    echo

    lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=|en"|awk -F'"' '{print "From: "$10" To: en \n"$6}'

    fi 


    و الإن الإستخدام العادي أو الأصلي

    كود PHP:
    gtranslate ar fr "مجتمع لينوكس العربي"
    Fromar Tofr
    Société arabe pour Linux 
    و هذا هو الإستخدام الجديد

    كود PHP:
    gtranslate "Société arabe pour Linux"
    Fromfr Toar 
    الجمعية العربية لينكس

    From
    fr Toen 
    Arab Society 
    for Linux 

    ملاحظة: لاحظ أني أستخدمت نفس الجملة و لكن الترجمة العكسية لم تعيد الجملة لأصلها تماما و هذا من أسباب إضافتي للإنجليزية كلغة هدف ثانية

    بالطبع يمكن تعديل أو إضافة أي لغات أخرى عن طريق تعديل السطرين الأخيرين - السطرين قبل الـ fi - عن طريق تعديل اللغة الهدف


    أرجو أن يكون تعديلا مفيدا و شكرا لك مرة أخرى على فكرتك المفيدة جدا


    تحياتي
    التعديل الأخير تم بواسطة محمد رشاد; الساعة 28-05-2011, 06:08 AM. سبب آخر: حذف ملاحظة غير ضرورية
    برامج حرة = عقول حرة
    المعرف القديم MRashad10

    تعليق

    • mahioo geek
      .: مشرف سابق :.
      • Oct 2008
      • 2125

      #3
      أولا شكرا لك لهذه الإضافة الجميلة , طبعا يسرني ان يكون برنامجي البسيط لبنة أولى تضاف اليها لبناتكم لتشييد الأحسن
      Log Out
      Thanks linux ac from the depth of heart

      تعليق

      • KING SABRI
        .: مراقب عام سابق :.
        • Jun 2007
        • 1225

        #4
        أحسنتم يا رجال ,,,

        ماذا لو جعلتم اللغات في قائمة ؟ على الأقل اللغات الأكثر شهره (عربي , إنكليزي , فرنسي , إيطالي , أسباني)


        جهد رائع ,,

        تحياتي واحترامي
        مـدونـتي الـتقـنـيـة

        サブリ

        مــا خِفتُ المـوتَ ولا عُـقبــاهُ ,,, فما أعظمَ شأنهُ غيرَ مولاهُ
        أهوِن بما في الموتِ من حدثٍ ,,, غـــيــرَ أن بـــهِ الله ألقــاهُ

        خارج الخدمة


        تعليق

        • mahioo geek
          .: مشرف سابق :.
          • Oct 2008
          • 2125

          #5
          ماذا لو جعلتم اللغات في قائمة ؟ على الأقل اللغات الأكثر شهره (عربي , إنكليزي , فرنسي , إيطالي , أسباني)
          وضعت رابط لقائمة اللغات فوق :
          Log Out
          Thanks linux ac from the depth of heart

          تعليق

          • mahioo geek
            .: مشرف سابق :.
            • Oct 2008
            • 2125

            #6
            قمت بتطوير هذه السكريبت قليلا , و تم اضافة بعض المميزات و هي :
            - التعرف على اللغة آليا مع بقاء امكانية وضع اللغة ..
            - help طويلة نوعا ما
            - طرق تعامل مختلفة ..

            استعنت بأمر awk الخاص ب MRashad10 , و الآن الى الكود :
            كود PHP:
            #! /bin/bash

            default_language_to_translate="fr"

            if [ $# -eq 0 ]; then
                
            echo "\n\
                      Help : \n\
                    gtranslate is a simple tool based on 'Google translate' to translate the text from-to any language that 'Google translate' supported ..\n\
                      \n\
                      Use : \n\
                          gtranslate 'Text' <== This translate from the detected language to fr ( You can edit this however ) \n\
                          gtranslate <lang_to_translate> 'Text' <== This translate from the detected language to <lang_to_translate>\n\
                          gtranslate <src_lang> <lang_to_translate> 'Text' <== This translate from <src_lang> to <lang_to_translate>\n\
                      \n\
                      Example :\n\
                          gtranslate 'hello world'\n\
                          gtranslate ja 'do you speak japan'\n\
                          gtranslate en es 'what about spanish'\n\
                      \n\
                      Lang supported :\n\
                          Language         Code           Language         Code\n\
                          \n\
                    AFRIKAANS         af           ITALIAN         it\n\
                    ALBANIAN         sq           JAPANESE         ja\n\
                    ARABIC             ar           KOREAN             ko\n\
                    BELARUSIAN         be           LATVIAN         lv\n\
                    BULGARIAN         bg           LITHUANIAN         lt\n\
                    CATALAN         ca           MACEDONIAN         mk\n\
                    CHINESE         zh           MALAY             ms\n\
                    CROATIAN         hr           PERSIAN         fa\n\
                    CZECH             cs           POLISH             pl\n\
                    DANISH             da           PORTUGUESE         pt\n\
                    ENGLISH         en           ROMANIAN         ro\n\
                    ESTONIAN         et           RUSSIAN         ru\n\
                    FILIPINO         tl           SERBIAN         sr\n\
                    FINNISH         fi           SLOVAK             sk\n\
                    FRENCH             fr           SLOVENIAN         sl\n\
                    GALICIAN         gl           SPANISH         es\n\
                    GERMAN             de           SWAHILI         sw\n\
                    GREEK             el           SWEDISH         sv\n\
                    HAITIAN_CREOLE         ht           TAGALOG         tl\n\
                    HEBREW             iw           THAI             th\n\
                    HINDI             hi           TURKISH         tr\n\
                    HUNGARIAN         hu           UKRAINIAN         uk\n\
                    ICELANDIC         is           VIETNAMESE         vi\n\
                    INDONESIAN         id           WELSH             cy\n\
                    IRISH             ga           YIDDISH         yi\n\
                    CHINESE_SIMPLIFIED     zh-CN           MALTESE         mt\n\
                    CHINESE_TRADITIONAL     zh-TW           NORWEGIAN         no\n\
                    DUTCH             nl           PORTUGUESE_PORTUGAL     pt-PT\
                    "
            elif [ $# -eq 1 ]; then
                
            a=`lynx -dump "https://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=$2" | awk -F'"' '{print $6}'`
                echo 
            "From $a to $default_language_to_translate :"
                
            result=`lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=$a|$default_language_to_translate" | awk -F'"' '{print $6}'`
                echo 
            "# $result"
            elif [ $# -eq 3 ]; then
                
            echo "From $1 to $2 :"
                
            result=`lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$3&langpair=$1|$2" | awk -F'"' '{print $6}'`
                echo 
            "# $result"
            else
                
            a=`lynx -dump "https://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=$2" | awk -F'"' '{print $6}'`
                echo 
            "From $a to $1 :"
                
            result=`lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$2&langpair=$a|$1" | awk -F'"' '{print $6}'`
                echo 
            "# $result"
            fi 
            شرحت في help كل شيء , لكن لا بأس ببعض الشرح هنا
            عند كتابة امر البرنامج فقط تظهر لنا help كما يلي :
            كود PHP:
            gtranslate 

                      Help 

                    
            gtranslate is a simple tool based on 'Google translate' to translate the text from-to any language that 'Google translate' supported ..
                      
                      Use : 
                          
            gtranslate 'Text' <== This translate from the detected language to fr You can edit this however 
                          
            gtranslate <lang_to_translate'Text' <== This translate from the detected language to <lang_to_translate>
                          
            gtranslate <src_lang> <lang_to_translate'Text' <== This translate from <src_langto <lang_to_translate>
                      
                      
            Example :
                          
            gtranslate 'hello world'
                          
            gtranslate ja 'do you speak japan'
                          
            gtranslate en es 'what about spanish'
                      
                      
            Lang supported :
                          
            Language         Code           Language         Code
                          
                    AFRIKAANS         af           ITALIAN         it
                    ALBANIAN         sq           JAPANESE         ja
                    ARABIC             ar           KOREAN             ko
                    BELARUSIAN         be           LATVIAN         lv
                    BULGARIAN         bg           LITHUANIAN         lt
                    CATALAN         ca           MACEDONIAN         mk
                    CHINESE         zh           MALAY             ms
                    CROATIAN         hr           PERSIAN         fa
                    CZECH             cs           POLISH             pl
                    DANISH             da           PORTUGUESE         pt
                    ENGLISH         en           ROMANIAN         ro
                    ESTONIAN         et           RUSSIAN         ru
                    FILIPINO         tl           SERBIAN         sr
                    FINNISH         fi           SLOVAK             sk
                    FRENCH             fr           SLOVENIAN         sl
                    GALICIAN         gl           SPANISH         es
                    GERMAN             de           SWAHILI         sw
                    GREEK             el           SWEDISH         sv
                    HAITIAN_CREOLE         ht           TAGALOG         tl
                    HEBREW             iw           THAI             th
                    HINDI             hi           TURKISH         tr
                    HUNGARIAN         hu           UKRAINIAN         uk
                    ICELANDIC         is           VIETNAMESE         vi
                    INDONESIAN         id           WELSH             cy
                    IRISH             ga           YIDDISH         yi
                    CHINESE_SIMPLIFIED     zh
            -CN           MALTESE         mt
                    CHINESE_TRADITIONAL     zh
            -TW           NORWEGIAN         no
                    DUTCH             nl           PORTUGUESE_PORTUGAL     pt
            -PT 
            الطريقة المشروحة سابقا لازالت موجودة :
            كود PHP:
            gtranslate <src language> <lang_to_translate"TEXT" 
            هناك طريقة أخرى أضفتها و هي :
            كود PHP:
            gtranslate <lang_to_translate"TEXT" 
            هنا يتم تحسس اللغة آليا , أيضا هناك طريقة أخرى :
            كود PHP:
            gtranslate "TEXT" 
            هنا يتم تحسس اللغة آليا و الترجمة الى الفرنسية افتراضيا , على كل يمكن تغيير ذلك من خلال هذا السطر في السكريبت :
            كود PHP:
            default_language_to_translate="fr" 
            عدلت طريقة العرض قليلا و ذلك بإضافة # قبل النص المترجم , مثال على ذلك :
            كود PHP:
            gtranslate "do you speak french"
            From en to fr :
            # Parlez-vous français 
            ما رأيكم الآن , أظنه أحسن
            Log Out
            Thanks linux ac from the depth of heart

            تعليق

            • amrmousa98
              لينكساوي
              • Aug 2010
              • 3

              #7
              الف شكر
              كيف افتح التريمنال في اوبنتو 11,4 اين اجدها ؟

              تعليق

              • mahioo geek
                .: مشرف سابق :.
                • Oct 2008
                • 2125

                #8
                كيف افتح التريمنال في اوبنتو 11,4 اين اجدها ؟
                ctrl + alt + t و بعدها يمكنك ان تبقيها على dock الأيسر بزر الأيمن ثم keep in launcher
                Log Out
                Thanks linux ac from the depth of heart

                تعليق

                • عبدالرحمن عزاز
                  لينكساوي
                  • Nov 2009
                  • 166

                  #9
                  المشاركة الأصلية بواسطة amrmousa98 مشاهدة المشاركة
                  الف شكر
                  كيف افتح التريمنال في اوبنتو 11,4 اين اجدها ؟
                  او أخي تجدها في
                  Application -> Accessoires -> Terminal
                  او alt + F2 و اكتب
                  gnome-terminal
                  "When you realize there is nothing lacking, the whole world belongs to you…"

                  تعليق

                  • mahioo geek
                    .: مشرف سابق :.
                    • Oct 2008
                    • 2125

                    #10
                    Application -> Accessoires -> Terminal
                    هذه القائمة غير موجودة في unity
                    Log Out
                    Thanks linux ac from the depth of heart

                    تعليق

                    • Boubakr Nour
                      لينكساوي
                      • Nov 2009
                      • 82

                      #11
                      ما شاء الله عليك أخي

                      قمت مؤخرا بعمل برنامج يقوم بالدور نفسه باستخدام الترمينل و الواجهة الرسومية باستخدام الـ Python



                      سأقوم بنشر الكود يورس فور نهاية تطوير البرنامج أكثر

                      للمزيد...
                      Follow me...
                      Twitter - Blog

                      تعليق

                      • mahioo geek
                        .: مشرف سابق :.
                        • Oct 2008
                        • 2125

                        #12
                        المشاركة الأصلية بواسطة Boubakr Nour مشاهدة المشاركة
                        ما شاء الله عليك أخي

                        قمت مؤخرا بعمل برنامج يقوم بالدور نفسه باستخدام الترمينل و الواجهة الرسومية باستخدام الـ Python



                        سأقوم بنشر الكود يورس فور نهاية تطوير البرنامج أكثر

                        للمزيد...
                        جيد , من فضلك ما اسم البرنامج الذي صممت به الصورة
                        Log Out
                        Thanks linux ac from the depth of heart

                        تعليق

                        • Boubakr Nour
                          لينكساوي
                          • Nov 2009
                          • 82

                          #13
                          البرنامج تجاري أخي و لكن توجد نسخة مجانية منه اطلع على موضوع الأخ ثعلب عمان للمزيد Mockups for Desktop لتصميم النماذج

                          هناك برنامج مماثل و هو مجاني أعتقد أن اسمه pencil sketching tool عملت به على فيدورا 14 لكنه رفض العمل على فيدورا 15

                          و هنالك بعض المواقع التي تتيح لك نفس الفكرة On ligne ما عليك سوى بالبحث في العم جوجل :p
                          Follow me...
                          Twitter - Blog

                          تعليق

                          • mahioo geek
                            .: مشرف سابق :.
                            • Oct 2008
                            • 2125

                            #14
                            لا بأس بالنسخة المجانية في الموقع :

                            شكرا لك
                            Log Out
                            Thanks linux ac from the depth of heart

                            تعليق

                            • Boubakr Nour
                              لينكساوي
                              • Nov 2009
                              • 82

                              #15
                              المشاركة الأصلية بواسطة mahioo geek مشاهدة المشاركة
                              لا بأس بالنسخة المجانية في الموقع :

                              شكرا لك
                              لكن مرات تكون مطالب بتصميم العمل في أماكن و أنت غير متصل بالأنترنت كقاعدة التدريس بالجامعة أو غرفة النوم بالإقامة و غير دلك
                              Follow me...
                              Twitter - Blog

                              تعليق

                              يعمل...
                              X