كيفية ترجمة النصوص في Linux باستخدام اختصار لوحة المفاتيح والإشعارات

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

لحل هذه المشكلة ، سنقوم بالتدريس كيفية ترجمة النصوص في Linux باستخدام اختصارات لوحة المفاتيح والإشعارات، لهذا سأستخدم دليلًا أندرو (ألين أندريه) هذا يسير على ما يرام وآمل أن يخدمك جيدًا. يتكون الدليل من عدة نصوص كتبها أندرو وتصحيح نص يعود إلى عام 2012 تم استخدامه كقاعدة.

تتيح لنا هذه الطريقة ترجمة أي نص يمكن تحديده (نصوص على صفحات الويب ، pdf ، txt ، تطبيقات ، من بين أمور أخرى) ، بحيث يمكن أن تكون استخداماته كثيرة.

كيفية ترجمة النصوص في لينكس

كيفية ترجمة النصوص في لينكس

مزايا وعيوب هذا الحل

من بين مزايا هذه الطريقة يمكننا إبراز:

  • يسمح بترجمة أي نص يمكن تحديده (PDF ، صفحات الويب ، المجلات ، libreoffice ، النصوص داخل التطبيق ، من بين أمور أخرى.
  • يسمح بترجمة النصوص بسرعة ، وذلك بفضل استخدام اختصارات لوحة المفاتيح.
  • يسمح لك بمشاهدة الترجمات من إخطارات النظام.
  • يسمح بالترجمة من لغات المصدر المختلفة.
  • يمكن تحديد اللغة الهدف معلمات.
  • إنه مثالي لترجمة الكلمات والعبارات الصغيرة.
  • إنه سهل التثبيت والتكوين.

العيوب الرئيسية لهذه الطريقة هي:

  • لا يمكنك ترجمة صفحات ويب كاملة.
  • إذا لم تتمكن Google من تحديد لغة المصدر ، فسوف يعرض خطأ وبالتالي لن يترجم النص.
  • مطلوب اتصال بالإنترنت لكي تعمل هذه الطريقة.

تكوين البرنامج النصي لترجمة النصوص في Linux

من أجل تكوين وتشغيل البرنامج النصي لترجمة النصوص المحددة باستخدام اختصار لوحة المفاتيح والإشعارات ، يجب علينا اتباع الخطوات التالية:

  • Instalar las dependencias necesarias, en primer lugar instalar libnotify-bin (para enviar notificaciones de escritorio), wget (para recuperar la traducción de Google) y XSEL (que se utiliza para obtener el texto resaltado en ese momento). En Ubuntu y derivados puedes instalarlo usando el siguiente comando:
sudo apt-get install libnotify-bin wget xsel
  • انسخ الكود التالي إلى وحدة التحكم:
#!/usr/bin/env bash
notify-send --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"

ثم قم بإنشاء ملف يسمى "notitrans" (يمكنك أن تسميها ما تشاء ، في هذه الحالة سوف يطلق عليها اسم المؤلف الأصلي) ، والذي سيحتوي على الكود السابق.

إذا كنت ترغب في الترجمة إلى لغة أخرى غير الإسبانية ، يجب استبدال «tl = es» باللغة التي تفضلها ، على سبيل المثال «tl = ru» للغة الروسية ، و «tl = fr» للفرنسية ، إلخ.

  • يجب أن نعطي إذن التنفيذ للملف الذي تم إنشاؤه باستخدام الأمر التالي:
chmod +x ~/notitrans
  • نضيف البرنامج النصي إلى $ PATH باستخدام الأمر التالي
sudo mv ~/notitrans /usr/local/bin/
  • البرنامج النصي الخاص بنا جاهز ، والآن يتعين علينا تفعيله عندما نستخدم اختصار لوحة المفاتيح ، ولهذا يجب علينا إنشاء وصول مخصص.

بالنسبة إلى Cinnamon و GNOME و Unity ، يمكنك إنشاء اختصار لوحة مفاتيح مخصص عن طريق الوصول  إعدادات النظام> لوحة المفاتيح> اختصارات لوحة المفاتيح> اختصارات مخصصة، حيث يجب أن نضغط إضافة اختصار مخصص. حيث نقوم بإدخال اسم الاختصار ، في حالتي أضع ترجمه وفي الترتيب نضع «notitrans»أو الاسم الذي أطلقناه على كتابنا:

إضافة اختصار لوحة المفاتيح

إضافة اختصار لوحة المفاتيح

اختلافات في النص لترجمة النصوص في Linux

Es muy fácil modificar el script para adaptarlo mejor a sus necesidades. A continuación encontrará un par de variaciones que ha creado  Andrew. Para usar estos script, simplemente siga los mismos pasos que anteriormente (incluyendo cambiar «es» al idioma en el que desea traducir el texto), pero no copie el código de script anterior sino que utilice el que corresponda:

تصور الترجمة مع Zenity

ترجمة نص في Linux من أجل عرض ترجمتنا في Zenity يجب أن نتبع الخطوات التالية:
  • قم بتثبيت Zenity على نظامك. في Ubuntu ومشتقاته ، يمكنك تثبيته بالأمر التالي:
sudo apt-get install zenity
  • نفذ جميع الخطوات في البرنامج النصي الأصلي ، ولكن استخدم الكود التالي
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo -e "Original text:" "$text"'\n' > /tmp/notitrans
echo "Translation:" "$translate" >> /tmp/notitrans
zenity --text-info --title="Translation" --filename=/tmp/notitrans

عرض الترجمة في الإخطارات ونسخها تلقائيًا إلى الحافظة الخاصة بنا

للحصول على شكل مختلف حيث يتم عرض الترجمة بواسطة إشعارات النظام ويتم نسخها تلقائيًا إلى الحافظة الخاصة بنا ، يجب علينا القيام بالخطوات التالية:

  • قم بتثبيت xclip على نظامك. في Ubuntu ومشتقاته ، يمكنك القيام بذلك باستخدام الأمر التالي:
sudo apt-get install xclip
  • نفذ جميع الخطوات في البرنامج النصي الأصلي ، ولكن استخدم الكود التالي
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo "$translate" | xclip -selection clipboard
notify-send --icon=info "$text" "$translate"

بلغت ذروتها بالفعل ، آمل أن تسمح لك هذه المقالة بعمل ترجمات للكلمات أو النصوص التي تريدها ، بنفس الطريقة إذا كان لدى أي منكم أي أسئلة أو تعديل للنص ، فلا تتردد في ترك تعليقاتك.

مصدر: ويبوبد 8


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

6 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   r قال

    شكرا جزيلا على السيناريو. إنه مفيد جدًا ، وشكرًا جزيلاً على الترجمة والمقال لأن هذه هي المقالات الحقيقية التي تجعلك تنمو في المعرفة فيما يتعلق بمجال GNU Linux.

    أقترح عليك من فضلك المزيد من الترجمات والمزيد من المقالات ...

    تحياتي ويوم جميل.

  2.   كتيب قال

    ممتاز + 5 شكرا لك! إصلاح: "نسخ التعليمات البرمجية التالية إلى وحدة التحكم:" ، فهي ليست في وحدة التحكم ولكن في الملف النصي الذي تم إنشاؤه.

  3.   كواجونوتي قال

    مساهمة عظيمة ، لقد كانت جيدة جدًا بالنسبة لي. أود توضيح سؤال ، هل من الممكن جعل النص المراد ترجمته أكبر؟ بعبارة أخرى ، مع Zenity ، حددت فقرة ولا تترجم كل شيء ، فقط بضع جمل ، مع نظام التنبيه الخاص بـ Ubuntu ، فإنه يترجم الجملة الأولى فقط. هل هناك طريقة لتوسيعه؟

    تحية طيبة وشكرا جزيلا لك مقدما.

  4.   ميلر سيلفا قال

    مساهمة جيدة جدا!

  5.   اوسكار كروز قال

    ما كنت أبحث عنه!
    حسنًا ، ليس حقًا ، كنت أبحث عن طريقة للقيام بذلك فقط في مستندات جيدة (مع نوع من المكونات الإضافية) ، لأنني عادةً ما أعمل مع الكثير من ملفات PDF. لكن هذا يساعدني في ترجمة الكلمات إلى ما هو أبعد من المقبول. إنها مساهمة ممتازة

    أشكرك !!!

  6.   إرسانتيل قال

    ممتاز قليل. شكرا