إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

طرفية تدعم اللغة العربية الرجاء تجربتها

تقليص
X
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [برنامج] طرفية تدعم اللغة العربية الرجاء تجربتها


    السلام عليكم ورحمة الله

    لن اطيل فقد كنت كتبت موضوعا طولا ثم حدث خطأ مني ذهب ادراج الرياح

    1-هذا حال العربية في الطرفيات باستثناء طرفية كيدي واخرى لا اعلما ان كانت موجودة





    لذلك اردت ان اساهم في دعم اللغة العربية بجهد المقل





    كنت سابقا طورت طرفية بالاعتماد على بعض اكواد كيدي و qtermwidget ومع بعض التعديلات قمت بانشاء واجهة طرفية تدعم العربية ثم توقفت عن تطويرها لاسباب خاصة واخرى ترجع الكيوتي وانتقالها المفاجئ من النسخة 4 الة النسخة5 ثم شاء الله ان اعاود الكرة مع اضافات وتحسينات جديدة اردت ان اشارككم بها لمن يهمه الامر
    وقد جربتها على ارش ومنت ولست ادري كيف تعمل مع غيرها لذا من اراد ان يجربها فله جزيل الشكر

    وهذه طريقة تنزيلها وتنقيحها بالطبع يتحتاج الى مكتبات كيوتي سواء qt4 أو qt5

    كود:
     git clone https://github.com/zakariakov/elokab-terminal.git
    
    cd elokab-terminal
    
    qmak
    
    make
    ثم يمكنك الذهاب للمسار الموجود في نفس المجلد elokab-terminal/usr/bin وتنفذها من هناك دون الحاجة لتثبيتها فان اعجبتك ورأيت استحدامها يمكنك تثبيتها كا يلي

    كود:
    sudo make install
    هذه الطرفية تدعم الشفافية و تخصيص الالوان والخطوط وحتى تغيير الشل كما في الصورة



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

    فليت الذي بيني وبينك عامر***وبيني وبين العالمين خرابُ

  • #2
    و عليكم السلام و رحمة الله و بركاته.
    ما شاء الله لا قوة الا بالله.
    عمل جميل جدا.
    هذه أولى ملاحظاتي :
    مثلا عند استخدام dmesg

    اضغط على الصورة لعرض أكبر. 

الإسم:	Elokab-Terminal_006.png 
مشاهدات:	1 
الحجم:	179.7 كيلوبايت 
الهوية:	845016


    وفقك الله.. الى الامام.
    لا إله إلا الله .. محمد رسول الله .. صلى الله عليه و سلم.

    تعليق


    • #3
      جزاك الله خيرا على سرعة تجاوبك

      فليت الذي بيني وبينك عامر***وبيني وبين العالمين خرابُ

      تعليق


      • #4
        السلام عليكم.
        العفو اخي العزيز.
        أحب اعمالك جدا.
        ملاحظة اخرى :
        اضغط على الصورة لعرض أكبر. 

الإسم:	Selection_007.png 
مشاهدات:	1 
الحجم:	33.7 كيلوبايت 
الهوية:	845017
        لا إله إلا الله .. محمد رسول الله .. صلى الله عليه و سلم.

        تعليق


        • #5
          This library has been modified by AbuZakaria to support Arabic language
          I would like to see it as a PR for the upstream widget so that we have it in QTerminal as well

          ليتك صنعت ملف ترقيع patch بدل نسخ المكتبة كلها داخل المستودع وتعديلها فيه (دون إبقاء أي سجل للتعديلات التي جرت...)

          ملاحظة صغيرة: أتمنى أن تكون التسمية هي كيوت Qt لا كيوتي كي لا يظن الناس أننا نتكلم عن QuickTime... :-)
          التعديل الأخير تم بواسطة صفا الفليج; الساعة 31-03-2017, 12:03 PM.

          تعليق


          • #6
            المشاركة الأصلية بواسطة صفا الفليج مشاهدة المشاركة
            I would like to see it as a PR for the upstream widget so that we have it in QTerminal as well

            ليتك صنعت ملف ترقيع patch بدل نسخ المكتبة كلها داخل المستودع وتعديلها فيه (دون إبقاء أي سجل للتعديلات التي جرت...)
            لو كنت احسن عمل patch لفعلت

            فليت الذي بيني وبينك عامر***وبيني وبين العالمين خرابُ

            تعليق


            • #7
              المشاركة الأصلية بواسطة أبو زكريا الجزائري مشاهدة المشاركة
              لو كنت احسن عمل patch لفعلت
              https://git-scm.com/docs/git-diff
              بعدها يكون لديك ملف فيه الفروق بين النسخ فقط.
              وتفعل شيئا كالمستودعات في: https://github.com/lxde/lxqt
              وعند البناء، تدخل داخل مجلد qtermwidget (الذي سحبته مستخدما أحد الأوامر، ربما هذا) و:
              git apply path/to/patch/qtermwidget.patch

              تعليق


              • #8
                وكيف أحصل على مكتبات qt4؟

                تعليق


                • #9
                  المشاركة الأصلية بواسطة صفا الفليج مشاهدة المشاركة
                  https://git-scm.com/docs/git-diff
                  بعدها يكون لديك ملف فيه الفروق بين النسخ فقط.
                  وتفعل شيئا كالمستودعات في: https://github.com/lxde/lxqt
                  وعند البناء، تدخل داخل مجلد qtermwidget (الذي سحبته مستخدما أحد الأوامر، ربما هذا) و:
                  git apply path/to/patch/qtermwidget.patch


                  جزاك الله خيرا
                  سأحاول ان شاء الله

                  فليت الذي بيني وبينك عامر***وبيني وبين العالمين خرابُ

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة Abdorhman Ayman مشاهدة المشاركة
                    وكيف أحصل على مكتبات qt4؟

                    ان لم تكن قد اساخدمت كيوتي من قبل فلا انصحك بتثبيتها فالحزم كثيرة جدا والامر معقد بعض الشيء لان اسماء الحزم تختلف من توزيعة لاخرى
                    فانت تحتاج الى تثبيت كل مكتبات كبوتي التي ينتهي امتدادها ب dev
                    كما تحتاج الى تثبيت حزم التنقيح مثل مجموعة حزم
                    build-essential

                    فليت الذي بيني وبينك عامر***وبيني وبين العالمين خرابُ

                    تعليق


                    • #11
                      https://www.facebook.com/linuxac.org...641749/?type=3
                      (لَا تَحْسَبَنَّ الَّذِينَ يَفْرَحُونَ بِمَا أَتَوا وَّيُحِبُّونَ أَن يُحْمَدُوا بِمَا لَمْ يَفْعَلُوا فَلَا تَحْسَبَنَّهُم بِمَفَازَةٍ مِّنَ الْعَذَابِ وَلَهُمْ عَذَابٌ أَلِيمٌ)
                      آل عمران 188
                      قال رسول الله صلى الله عليه و سلم :
                      {لا يشكر الله من لا يشكر الناس}
                      {من كان يؤمن بالله واليوم الآخر،فليقل خيراً أو ليصمت}

                      جميع المساهمات الحاملة لهذا التوقيع تخضع لرخصة وقف
                      أسأل الله العظيم رب العرش العظيم أن يحسن من حال أمتي

                      تعليق


                      • #12
                        اسمح لي بهذه الإضافة حورتها لتناسب طرفية العقاب ، وكنت قد استعملتها في أعجوبة القريبة جدًا إن شاء الله ، وذلك لتمكين كونسول من العمل من نوتيلوس مباشرة :

                        كود PHP:
                        # -*- coding: utf-8 -*-
                        # By Mosaab Alzoubi & Martin Enlund
                        # Under GPLv2

                        import os
                        import urllib
                        import gtk
                        import gi
                        gi
                        .require_version('Nautilus''3.0')
                        from gi.repository import NautilusGObject

                        lang 
                        "{0:.2}".format(os.environ['LANG'])

                        if 
                        lang == "ar":
                            
                        openin "افتح طرفيّة العقاب في "
                            
                        openhere "افتح طرفيّة العقاب هنا"
                        else:
                            
                        openin "Open Elokab terminal in "
                            
                        openhere "Open Elokab terminal here"

                        class OpenTerminalExtension(GObject.GObjectNautilus.MenuProvider):
                            
                        def _open_terminal(selffile):
                                
                        filename urllib.unquote(file.get_uri()[7:])

                                
                        os.chdir(filename)
                                
                        os.system('%s &' "elokab-terminal -w ")
                                
                            
                        def menu_activate_cb(selfmenufile):
                                
                        self._open_terminal(file)
                                
                            
                        def menu_background_activate_cb(selfmenufile): 
                                
                        self._open_terminal(file)
                               
                            
                        def get_file_items(selfwindowfiles):
                                if 
                        len(files) != 1:
                                    return
                                
                                
                        file files[0]
                                if 
                        not file.is_directory() or file.get_uri_scheme() != 'file':
                                    return
                                
                        varii openin "'" "{0:.30}".format(file.get_name()) + "...'"
                                
                        item Nautilus.MenuItem(name='NautilusPython::openterminal_item',
                                                         
                        label=varii,
                                                         
                        icon='terminal')
                                
                        item.connect('activate'self.menu_activate_cbfile)
                                return 
                        item,

                            
                        def get_background_items(selfwindowfile):
                                
                        item Nautilus.MenuItem(name='NautilusPython::openterminal_item',
                                                         
                        label=openhere,
                                                         
                        icon='terminal')
                                
                        item.connect('activate'self.menu_background_activate_cbfile)
                                return 
                        item
                        يحفظ الملف بلاحقة .py في المجلد /usr/share/nautilus-python/extensions أو في نظيره المحلي الموجود تحت .local ، ويتطلب بالضرورة حزمة nautilus-python .

                        النتيجة :
                        اضغط على الصورة لعرض أكبر. 

الإسم:	لقطة شاشة من 2017-03-31 15-12-29.png 
مشاهدات:	1 
الحجم:	217.9 كيلوبايت 
الهوية:	845020

                        اضغط على الصورة لعرض أكبر. 

الإسم:	لقطة شاشة من 2017-03-31 15-12-17.png 
مشاهدات:	1 
الحجم:	198.4 كيلوبايت 
الهوية:	845021

                        لكني لاحظت أن المحدد -w لا يلتقط كل المجلدات بواسطة إضافتي هذه ، على عكس أي طرفية أخرى سواء طرفية غنوم أو كونسول كدي ، آمل أن تراجعها لأن مراقبة نوتيلس والتي كنت استعملها أثناء كتابة المخطوطة في المرة الأولى ، لم تعطني أي خطأ مع العقاب أي أن الأمر نفذ بسلاسة وتم تمريره للعقاب ، لكن الطرفية نفسها لم تشغله .
                        (لَا تَحْسَبَنَّ الَّذِينَ يَفْرَحُونَ بِمَا أَتَوا وَّيُحِبُّونَ أَن يُحْمَدُوا بِمَا لَمْ يَفْعَلُوا فَلَا تَحْسَبَنَّهُم بِمَفَازَةٍ مِّنَ الْعَذَابِ وَلَهُمْ عَذَابٌ أَلِيمٌ)
                        آل عمران 188
                        قال رسول الله صلى الله عليه و سلم :
                        {لا يشكر الله من لا يشكر الناس}
                        {من كان يؤمن بالله واليوم الآخر،فليقل خيراً أو ليصمت}

                        جميع المساهمات الحاملة لهذا التوقيع تخضع لرخصة وقف
                        أسأل الله العظيم رب العرش العظيم أن يحسن من حال أمتي

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة مصعب الزعبي مشاهدة المشاركة




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

                          فليت الذي بيني وبينك عامر***وبيني وبين العالمين خرابُ

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة مصعب الزعبي مشاهدة المشاركة
                            اسمح لي بهذه الإضافة حورتها لتناسب طرفية العقاب ، وكنت قد استعملتها في أعجوبة القريبة جدًا إن شاء الله ، وذلك لتمكين كونسول من العمل من نوتيلوس مباشرة :

                            كود PHP:
                            # -*- coding: utf-8 -*-
                            # By Mosaab Alzoubi & Martin Enlund
                            # Under GPLv2

                            import os
                            import urllib
                            import gtk
                            import gi
                            gi
                            .require_version('Nautilus''3.0')
                            from gi.repository import NautilusGObject

                            lang 
                            "{0:.2}".format(os.environ['LANG'])

                            if 
                            lang == "ar":
                                
                            openin "افتح طرفيّة العقاب في "
                                
                            openhere "افتح طرفيّة العقاب هنا"
                            else:
                                
                            openin "Open Elokab terminal in "
                                
                            openhere "Open Elokab terminal here"

                            class OpenTerminalExtension(GObject.GObjectNautilus.MenuProvider):
                                
                            def _open_terminal(selffile):
                                    
                            filename urllib.unquote(file.get_uri()[7:])

                                    
                            os.chdir(filename)
                                    
                            os.system('%s &' "elokab-terminal -w ")
                                    
                                
                            def menu_activate_cb(selfmenufile):
                                    
                            self._open_terminal(file)
                                    
                                
                            def menu_background_activate_cb(selfmenufile): 
                                    
                            self._open_terminal(file)
                                   
                                
                            def get_file_items(selfwindowfiles):
                                    if 
                            len(files) != 1:
                                        return
                                    
                                    
                            file files[0]
                                    if 
                            not file.is_directory() or file.get_uri_scheme() != 'file':
                                        return
                                    
                            varii openin "'" "{0:.30}".format(file.get_name()) + "...'"
                                    
                            item Nautilus.MenuItem(name='NautilusPython::openterminal_item',
                                                             
                            label=varii,
                                                             
                            icon='terminal')
                                    
                            item.connect('activate'self.menu_activate_cbfile)
                                    return 
                            item,

                                
                            def get_background_items(selfwindowfile):
                                    
                            item Nautilus.MenuItem(name='NautilusPython::openterminal_item',
                                                             
                            label=openhere,
                                                             
                            icon='terminal')
                                    
                            item.connect('activate'self.menu_background_activate_cbfile)
                                    return 
                            item
                            يحفظ الملف بلاحقة .py في المجلد /usr/share/nautilus-python/extensions أو في نظيره المحلي الموجود تحت .local ، ويتطلب بالضرورة حزمة nautilus-python .

                            النتيجة :
                            [ATTACH=CONFIG]25463[/ATTACH]

                            [ATTACH=CONFIG]25464[/ATTACH]

                            لكني لاحظت أن المحدد -w لا يلتقط كل المجلدات بواسطة إضافتي هذه ، على عكس أي طرفية أخرى سواء طرفية غنوم أو كونسول كدي ، آمل أن تراجعها لأن مراقبة نوتيلس والتي كنت استعملها أثناء كتابة المخطوطة في المرة الأولى ، لم تعطني أي خطأ مع العقاب أي أن الأمر نفذ بسلاسة وتم تمريره للعقاب ، لكن الطرفية نفسها لم تشغله .


                            ساحاول جاهدا تدارك كل ما ذكرت ان شاء الله
                            ولذلك وضعتها ههنا للتجربة حتى ارى رأيكم وما خفي علي من اخطاء فلم اصدر بعد نسخة اولية الا لعلمي انها غير كاملة

                            حاول ان لا تمرر الامر بواسطة المعلمة -w
                            فانا جريتها لتوي مع thunar و nemo فتح الطرفية هنا
                            وهي تعمل جيدا بدون المعلم -w

                            فليت الذي بيني وبينك عامر***وبيني وبين العالمين خرابُ

                            تعليق


                            • #15
                              مبدعنا عودا حميدا
                              حاولت بناء الحزمه لكن عملية البناء فشلت
                              elokab-terminal

                              اتمني تلقي نظره علي برنامج الاذان لان عمليه البناء تفشل ايضا
                              elokab-adhan

                              المشاركة الأصلية بواسطة مصعب الزعبي مشاهدة المشاركة
                              اسمح لي بهذه الإضافة حورتها لتناسب طرفية العقاب ، وكنت قد استعملتها في أعجوبة القريبة جدًا إن شاء الله ، وذلك لتمكين كونسول من العمل من نوتيلوس مباشرة :

                              كود PHP:
                              # -*- coding: utf-8 -*-
                              # By Mosaab Alzoubi & Martin Enlund
                              # Under GPLv2

                              import os
                              import urllib
                              import gtk
                              import gi
                              gi
                              .require_version('Nautilus''3.0')
                              from gi.repository import NautilusGObject

                              lang 
                              "{0:.2}".format(os.environ['LANG'])

                              if 
                              lang == "ar":
                                  
                              openin "افتح طرفيّة العقاب في "
                                  
                              openhere "افتح طرفيّة العقاب هنا"
                              else:
                                  
                              openin "Open Elokab terminal in "
                                  
                              openhere "Open Elokab terminal here"

                              class OpenTerminalExtension(GObject.GObjectNautilus.MenuProvider):
                                  
                              def _open_terminal(selffile):
                                      
                              filename urllib.unquote(file.get_uri()[7:])

                                      
                              os.chdir(filename)
                                      
                              os.system('%s &' "elokab-terminal -w ")
                                      
                                  
                              def menu_activate_cb(selfmenufile):
                                      
                              self._open_terminal(file)
                                      
                                  
                              def menu_background_activate_cb(selfmenufile): 
                                      
                              self._open_terminal(file)
                                     
                                  
                              def get_file_items(selfwindowfiles):
                                      if 
                              len(files) != 1:
                                          return
                                      
                                      
                              file files[0]
                                      if 
                              not file.is_directory() or file.get_uri_scheme() != 'file':
                                          return
                                      
                              varii openin "'" "{0:.30}".format(file.get_name()) + "...'"
                                      
                              item Nautilus.MenuItem(name='NautilusPython::openterminal_item',
                                                               
                              label=varii,
                                                               
                              icon='terminal')
                                      
                              item.connect('activate'self.menu_activate_cbfile)
                                      return 
                              item,

                                  
                              def get_background_items(selfwindowfile):
                                      
                              item Nautilus.MenuItem(name='NautilusPython::openterminal_item',
                                                               
                              label=openhere,
                                                               
                              icon='terminal')
                                      
                              item.connect('activate'self.menu_background_activate_cbfile)
                                      return 
                              item
                              يحفظ الملف بلاحقة .py في المجلد /usr/share/nautilus-python/extensions أو في نظيره المحلي الموجود تحت .local ، ويتطلب بالضرورة حزمة nautilus-python .

                              النتيجة :
                              [ATTACH=CONFIG]25463[/ATTACH]

                              [ATTACH=CONFIG]25464[/ATTACH]

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

                              مستودع برامج توزيعة كنزي لـ ( فيدورا - أعجوبة )

                              الرحيل من كوكب جوجل

                              " الذين قال لهم الناس إن الناس قد جمعوا لكم فاخشوهم فزادهم إيمانًا وقالوا حسبنا الله ونعم الوكيل .. فانقلبوا بنعمة من الله وفضل لم يمسسهم سوء واتبعوا رضوان الله والله ذو فضل عظيم "

                              تعليق

                              يعمل...
                              X