مهم
تم ترحيل المشروع تحت مظلة KDE، وسيستمر التطوير على https://invent.kde.org/office/crow-translate.
Crow Translate هو مترجم بسيط وخفيف الوزن مكتوب بلغة C++ / Qt ويسمح لك بترجمة النص ونطقه باستخدام Google وYandex وBing وLibreTranslate وLingva Translate API. قد تكون مهتمًا أيضًا بمكتبتي QOnlineTranslator المستخدمة في هذا المشروع.
بلازما
موبايل بلازما
ويندوز 10
يمكنك تغييرها في الإعدادات. قد لا تكون بعض تسلسلات المفاتيح متاحة بسبب قيود نظام التشغيل.
لا يدعم Wayland تسجيل الاختصارات العامة، ولكن يمكنك استخدام D-Bus لربط الإجراءات في إعدادات النظام. بالنسبة لبيئات سطح المكتب التي تدعم إجراءات التطبيقات الإضافية (كيدي، على سبيل المثال) ستراها محددة مسبقًا في إعدادات اختصارات النظام. يمكنك أيضًا استخدامها لجلسات X11، لكنك تحتاج إلى تعطيل تسجيل الاختصارات العامة في إعدادات التطبيق لتجنب التعارضات.
مفتاح | وصف |
---|---|
Ctrl + Alt + E | ترجمة النص المحدد |
Ctrl + Alt + S | نطق النص المحدد |
السيطرة + البديل + F | التحدث ترجمة النص المحدد |
Ctrl + Alt + G | توقف عن التحدث |
السيطرة + البديل + C | إظهار النافذة الرئيسية |
Ctrl + Alt + أنا | التعرف على النص في منطقة الشاشة |
Ctrl + Alt + O | ترجمة النص في منطقة الشاشة |
مفتاح | وصف |
---|---|
السيطرة + العودة | يترجم |
السيطرة + ر | تبادل اللغات |
السيطرة + س | أغلق النافذة |
السيطرة + س | نطق المصدر / إيقاف نطق النص مؤقتًا |
Ctrl + Shift + S | نطق الترجمة / إيقاف نطق النص مؤقتًا |
Ctrl + Shift + C | نسخ الترجمة إلى الحافظة |
يحتوي البرنامج أيضًا على واجهة وحدة التحكم.
الاستخدام: crow [options] text
خيار | وصف |
---|---|
-h, --help | عرض المساعدة |
-v, --version | عرض معلومات الإصدار |
-c, --codes | عرض رموز اللغة |
-s, --source | حدد لغة المصدر (افتراضيًا، سيحاول المحرك تحديد اللغة بنفسه) |
-t, --translation | حدد لغة (لغات) الترجمة، مقسمة على "+" (افتراضيًا، يتم استخدام لغة النظام) |
-l, --locale | تحديد لغة المترجم (افتراضيًا، يتم استخدام لغة النظام) |
-e, --engine | حدد محرك المترجم ("google" أو "yandex" أو "bing" أو "libretranslate" أو "lingva")، ويتم استخدام Google افتراضيًا |
-p, --speak-translation | تحدث بالترجمة |
-u, --speak-source | تكلم المصدر |
-f, --file | قراءة النص المصدر من الملفات. سيتم تفسير الوسائط على أنها مسارات الملفات |
-i, --stdin | إضافة بيانات stdin إلى النص المصدر |
-a, --audio-only | اطبع النص فقط للتحدث عند استخدام --speak-translation أو --speak-source |
-b, --brief | طباعة الترجمات فقط |
-j, --json | إخراج الطباعة بتنسيق JSON |
ملاحظة: إذا لم تقم بتمرير وسيطات بدء التشغيل إلى البرنامج، فسيتم تشغيل واجهة المستخدم الرسومية.
io.crow_translate.CrowTranslate
├── /io/crow_translate/CrowTranslate/Ocr
| └── method void io.crow_translate.CrowTranslate.Ocr.setParameters(QVariantMap parameters);
└── /io/crow_translate/CrowTranslate/MainWindow
| # Global shortcuts
├── method void io.crow_translate.CrowTranslate.MainWindow.translateSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.speakSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.speakTranslatedSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.playPauseSpeaking();
├── method void io.crow_translate.CrowTranslate.MainWindow.stopSpeaking();
├── method void io.crow_translate.CrowTranslate.MainWindow.open();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyTranslatedSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.recognizeScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.translateScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.delayedRecognizeScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.delayedTranslateScreenArea();
| # Main window shortcuts
├── method void io.crow_translate.CrowTranslate.MainWindow.clearText();
├── method void io.crow_translate.CrowTranslate.MainWindow.cancelOperation();
├── method void io.crow_translate.CrowTranslate.MainWindow.swapLanguages();
├── method void io.crow_translate.CrowTranslate.MainWindow.openSettings();
├── method void io.crow_translate.CrowTranslate.MainWindow.setAutoTranslateEnabled(bool enabled);
├── method void io.crow_translate.CrowTranslate.MainWindow.copySourceText();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyTranslation();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyAllTranslationInfo();
└── method void io.crow_translate.CrowTranslate.MainWindow.quit();
على سبيل المثال، يمكنك إظهار النافذة الرئيسية باستخدام dbus-send
:
dbus-send --type=method_call --dest=io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.open
أو عبر qdbus
:
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.open
# or shorter
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow open
لا توفر Wayland واجهة برمجة التطبيقات (API) للاختصارات العالمية وتحتاج إلى تسجيلها بنفسك.
لدى KDE ميزة ملائمة لتحديد الاختصارات في ملف .desktop واستيرادها في الإعدادات. تم تمكين هذه الاختصارات بالفعل ويجب أن تعمل بشكل افتراضي.
بالنسبة إلى جنوم، تحتاج إلى تعيين أوامر D-Bus يدويًا كاختصارات عامة. على سبيل المثال، لترجمة النص المحدد استخدم ما يلي:
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow translateSelection
يمكنك ضبط مفتاح التشغيل السريع لهذا الأمر في إعدادات نظام جنوم.
يستخدم هذا المشروع المكتبات الخارجية التالية، والتي تم تضمينها كوحدات فرعية لـ git:
تم تجميع سمة Fluent Icon لتوفير أيقونات على Windows وأيقونات احتياطية على Linux.
تُستخدم أيقونات أعلام الدائرة للأعلام.
التنزيلات متاحة على صفحة الإصدارات. تحقق أيضًا من موقع الويب لمعرفة طرق التثبيت الأخرى.
ملاحظة: في Linux لجعل التطبيق يبدو أصليًا في بيئة سطح مكتب غير KDE، تحتاج إلى تكوين تصميم تطبيقات Qt. يمكن القيام بذلك باستخدام qt5ct أو adwaita-qt5 أو qtstyleplugins. يرجى التحقق من دليل التثبيت المناسب للتوزيع الخاص بك.
ملاحظة: يتطلب Windows وجود Microsoft Visual C++ Redistributable 2019 للعمل.
يمكنك إنشاء Crow Translate باستخدام الأوامر التالية:
mkdir build
cd build
cmake .. # Or `cmake -D CMAKE_BUILD_TYPE=Release ..` for single-configuration generators such as Ninja or GNU Make
cmake --build . # Or `cmake --build . --config Release` for multi-config generators such as Visual Studio Generators or Xcode
سوف تحصل بعد ذلك على ثنائي اسمه crow
.
يمكن لـ CMake إنشاء أنواع حزم محددة تلقائيًا.
إذا كنت تستخدم منشئ Makefile أو Ninja أو Xcode، فيمكنك استخدام الحزمة المستهدفة:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CPACK_GENERATOR=DEB .. # You can specify several types of packages separated by semicolons in double quotes, for example: `CPACK_GENERATOR="DEB;ZIP;NSIS"`
cmake --build . --target package
أو يمكنك استخدام الأداة المساعدة CPack لأي مولدات:
mkdir build
cd build
cmake .. # Or `cmake -D CMAKE_BUILD_TYPE=Release ..` for single-configuration generators such as Ninja or GNU Make
cpack -G DEB # Or `cpack -G DEB -C Release` for multi-config generators such as Visual Studio Generators or Xcode
في نظام التشغيل Windows، تحتاج إلى VCPKG لتجميع كافة ملفات DLL الضرورية.
WITH_PORTABLE_MODE
- تمكين الوظيفة المحمولة. إذا قمت بإنشاء ملف باسم settings.ini
في مجلد التطبيق وسيقوم Crow بتخزين التكوين فيه. كما أنه يضيف خيار "الوضع المحمول" إلى إعدادات التطبيق، والذي يفعل نفس الشيء.WITH_KWAYLAND
- ابحث عن مكتبة KWayland واستخدمها لتحسين تكامل Wayland. يتم تمرير معلمات البناء في مرحلة التكوين: cmake -D WITH_PORTABLE_MODE ..
.
للمساعدة في الترجمة، يمكنك استخدام Crowdin أو ترجمة الملفات في data/translations
باستخدام Qt Linguist مباشرة. لإضافة لغة جديدة، اكتب لي على صفحة Crowdin أو انسخ data/translations/crow-translate.ts
إلى data/translations/crow-translate_
وترجمته وأرسل طلب سحب.