في عالم يزداد ترابطاً، أصبحت الحاجة إلى خدمات ترجمة سريعة ودقيقة ومتاحة للجميع أمراً بالغ الأهمية. برزت DeepL كشركة رائدة في هذا المجال، مشهورة بترجماتها الدقيقة وذات الصوت الطبيعي المدعومة بتقنية الترجمة الآلية العصبية المتقدمة. ومع ذلك، غالباً ما يأتي الوصول إلى واجهة برمجة التطبيقات الرسمية (API) الخاصة بها بتكاليف قد لا تكون مجدية لجميع المستخدمين أو المطورين أو المشاريع صغيرة النطاق. هنا يأتي دور DeepLX، وهو مشروع مفتوح المصدر من قبل شبكة OwO-Network يقدم مساراً بديلاً مجانياً للاستفادة من إمكانيات DeepL القوية في الترجمة.
سيتناول هذا الدليل الشامل ماهية DeepLX، وفوائده، وكيفية تثبيته واستخدامه، والاعتبارات الهامة المتعلقة بطبيعته غير الرسمية، وكيف يقارن بالعروض الرسمية. سواء كنت مطوراً تسعى لدمج الترجمة في تطبيقاتك، أو هاوياً يجرب أدوات اللغة، أو ببساطة تبحث عن حلول ترجمة فعالة من حيث التكلفة، فإن فهم DeepLX يمكن أن يفتح لك آفاقاً جديدة.
هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معاً بأقصى إنتاجية؟
Apidog يلبي جميع متطلباتك، ويحل محل Postman بسعر معقول أكثر بكثير!
ما هو DeepLX؟ وعد بالترجمة المجانية عالية الجودة
في جوهرها، DeepL هي شركة ألمانية متخصصة في الذكاء الاصطناعي تقدم خدمات ترجمة آلية معروفة بدقتها الاستثنائية وقدرتها على التقاط السياق والفروق اللغوية الدقيقة، وغالباً ما تتفوق على المنافسين في العديد من أزواج اللغات. للسماح بالوصول البرمجي إلى محرك الترجمة الخاص بها، تقدم DeepL واجهة برمجة تطبيقات رسمية (API)، وهي خدمة مدفوعة ذات مستويات مختلفة تلبي أحجام الاستخدام المتنوعة.
DeepLX، الموجود على GitHub تحت شبكة OwO-Network، يقدم نفسه على أنه "واجهة برمجة تطبيقات DeepL قوية للترجمة" تتميز بـ:
- مجاني: لا يتطلب رسوم اشتراك.
- سريع: يهدف إلى توفير سرعات ترجمة سريعة.
- آمن: كونه مفتوح المصدر، يمكن فحص شفرته، ويمكن نشره بشكل خاص على البنية التحتية الخاصة بك.
- سهل الدمج: مصمم لدمج مباشر في تطبيقات متنوعة.
بشكل أساسي، يعمل DeepLX كوسيط أو وكيل، مما يسمح للمستخدمين بإرسال طلبات الترجمة إلى الواجهة الخلفية لـ DeepL دون استخدام واجهة برمجة التطبيقات الرسمية المدفوعة مباشرة. يتم تحقيق ذلك عادةً عن طريق قيام خادم DeepLX بإرسال طلبات إلى DeepL بطريقة تحاكي كيفية وصول المستخدم المجاني إلى الخدمة (على سبيل المثال، من خلال واجهة الويب أو تطبيقات سطح المكتب، على الرغم من أن الآلية الدقيقة يمكن أن تختلف وقد تكون عرضة للتغيير).
من الضروري فهم منذ البداية أن DeepLX أداة غير رسمية. لم يتم تطويرها أو المصادقة عليها من قبل شركة DeepL SE. هذا التمييز يحمل آثاراً هامة فيما يتعلق بالموثوقية والاستقرار وشروط الخدمة، والتي سيتم مناقشتها بالتفصيل لاحقاً. الجمهور المستهدف لـ DeepLX يشمل عموماً المطورين الذين يحتاجون إلى الوصول إلى واجهة برمجة التطبيقات للمشاريع الصغيرة، أو الباحثين، أو المستخدمين الذين يجدون تكاليف واجهة برمجة تطبيقات DeepL الرسمية باهظة.
لماذا تختار DeepLX؟ الفوائد والمزايا
على الرغم من وضعه غير الرسمي، يقدم DeepLX العديد من المزايا الجذابة التي تجذب المستخدمين:
- فعالية التكلفة: هذا بلا شك هو الجاذبية الرئيسية. يتيح DeepLX للمستخدمين الاستفادة من محرك ترجمة DeepL، والذي يعتبر على نطاق واسع عالي الجودة، دون تحمل تكاليف كل حرف أو رسوم الاشتراك المرتبطة بواجهة برمجة تطبيقات DeepL الرسمية. بالنسبة للمشاريع ذات الميزانيات المحدودة أو للاستخدام الفردي، يمكن أن يكون هذا عاملاً حاسماً.
- ترجمات عالية الجودة: من خلال التفاعل مع الواجهة الخلفية لـ DeepL، يهدف DeepLX إلى تقديم ترجمات بنفس الجودة العالية التي تشتهر بها DeepL. وهذا يعني ترجمات تبدو أكثر طبيعية ودقيقة من حيث السياق مقارنة ببعض البدائل المجانية الأخرى.
- السرعة: غالباً ما يبلغ المستخدمون والمشروع نفسه عن سرعات ترجمة سريعة. بينما يمكن أن يعتمد هذا على ظروف الشبكة وحمل خادم DeepLX، إلا أنه مصمم عموماً ليكون عالي الأداء.
- مفتوح المصدر والأمان: طبيعة DeepLX مفتوحة المصدر (عادةً بموجب ترخيص MIT) توفر الشفافية. يمكن للمستخدمين فحص شفرة المصدر لفهم كيفية عملها والتحقق من أمانها. علاوة على ذلك، القدرة على الاستضافة الذاتية لـ DeepLX على خادم خاص تعني أن النص الذي يتم ترجمته لا يجب بالضرورة أن يمر عبر خوادم طرف ثالث (بخلاف DeepL نفسه، بالطبع)، مما يوفر درجة أكبر من الخصوصية والتحكم.
- سهولة الدمج: تم تصميم DeepLX مع وضع المطورين في الاعتبار. عادةً ما يكشف عن نقطة نهاية بسيطة لواجهة برمجة التطبيقات (API) (عادةً
http://localhost:1188/translate
) يمكن للتطبيقات إرسال الطلبات إليها بسهولة. وقد أدى ذلك إلى دمجه في العديد من الأدوات والسكريبتات التابعة لجهات خارجية. - دعم Docker: تقدم العديد من تطبيقات DeepLX صور Docker، مما يبسط النشر بشكل كبير. يمكن للمستخدمين تشغيل مثيل DeepLX باستخدام أمر Docker واحد، دون القلق بشأن التبعيات أو إجراءات الإعداد المعقدة.
- التغلب على قيود معينة: تهدف بعض الأدوات المجتمعية المبنية حول DeepLX، مثل "DeeplxFile"، إلى التغلب على قيود معينة في مترجم DeepL المجاني على الويب، مثل القيود على ترجمة المستندات الكبيرة أو أنواع معينة من الملفات. باستخدام DeepLX كواجهة خلفية، يمكن لهذه الأدوات توفير المزيد من المرونة.
هذه الفوائد تجعل DeepLX اقتراحاً جذاباً لأولئك الذين يحتاجون إلى براعة DeepL في الترجمة دون التكاليف المرتبطة بها. ومع ذلك، يجب موازنة هذه المزايا مقابل الاعتبارات الناجمة عن نهجه غير الرسمي.
الوضع "غير الرسمي": اعتبارات هامة وسلبيات محتملة
بينما تبدو كلمتا "مجاني" و"عالي الجودة" جذابتين، من الضروري أن يكون لديك فهم واضح لما تعنيه كلمة "غير رسمي" في سياق DeepLX:
- كيف يعمل على الأرجح: لا يستخدم DeepLX مفتاح واجهة برمجة تطبيقات مصرح به من DeepL. بدلاً من ذلك، من المرجح أنه يعمل عن طريق إرسال طلبات إلى خدمات DeepL بطريقة تحاكي المستخدم العادي غير المستخدم لواجهة برمجة التطبيقات، أو عن طريق الاستفادة من نقاط النهاية التي تستخدمها DeepL لخدماتها المجانية الخاصة (على الرغم من أن الآلية الدقيقة يمكن أن تختلف وقد تكون عرضة للتغيير). تشير بعض المصادر إلى أنه "يتنكر لسرقة واجهة برمجة تطبيقات DeepL" أو يستخدم تقنيات لمحاكاة رؤوس المتصفح وإعدادات TLS لتحقيق ذلك.
- ليس منتجاً رسمياً لـ DeepL: شركة DeepL SE لا تقوم بتطوير أو دعم أو المصادقة على DeepLX. لا يمكن للمستخدمين توقع أي دعم رسمي من DeepL عند استخدام DeepLX.
- احتمالية عدم الاستقرار وعدم الموثوقية: نظراً لأن DeepLX يعتمد على طرق غير رسمية للوصول إلى خدمات DeepL، فهو عرضة بطبيعته للتغييرات التي تجريها DeepL. إذا قامت DeepL بتعديل واجهة برمجة التطبيقات الداخلية الخاصة بها، أو واجهة الويب، أو آليات تحديد المعدل، فقد تتوقف مثيلات DeepLX عن العمل أو تصبح غير موثوقة دون سابق إنذار. يذكر بعض المستخدمين والوثائق ذات الصلة صراحةً أن DeepLX يمكن أن يكون "غير مستقر".
- تحديد المعدل (أخطاء HTTP 429): هذه مشكلة شائعة وهامة. تستخدم DeepL تدابير لمنع إساءة استخدام خدماتها المجانية. إذا قام مثيل DeepLX (أو عنوان IP الذي يعمل عليه) بإرسال عدد كبير جداً من الطلبات في فترة قصيرة، فمن المرجح أن تقوم DeepL بتقييد أو حظر هذا المثيل، مما يؤدي إلى أخطاء "429 Too Many Requests" (عدد كبير جداً من الطلبات). غالباً لا يوجد حل مباشر من جانب DeepLX بخلاف تقليل تكرار الطلبات (على سبيل المثال، إضافة تأخيرات بين الاستدعاءات).
- مجموعة ميزات محدودة مقارنة بواجهة برمجة التطبيقات الرسمية: تقدم واجهة برمجة تطبيقات DeepL الرسمية مجموعة من الميزات، بما في ذلك دعم قواميس المصطلحات، وإعدادات الرسمية، ومعالجة XML، والمزيد. قد لا تدعم تطبيقات DeepLX كل هذه الميزات، وغالباً ما تركز بشكل أساسي على وظيفة
/translate
الأساسية. - اعتبارات أخلاقية وقانونية: استخدام الخدمات بطريقة تتحايل على طرق الوصول المقصودة يمكن أن يثير تساؤلات أخلاقية. يجب على المستخدمين أيضاً الانتباه إلى شروط خدمة DeepL. بينما DeepLX نفسه برنامج مفتوح المصدر، فإن طريقة وصوله إلى خدمات الترجمة الخاصة بـ DeepL تعمل في منطقة رمادية. يهدف هذا المقال إلى الإعلام بوجود الأداة ووظيفتها كما وصفها مستخدموها ومطوروها؛ وتقع على عاتق المستخدم مسؤولية التأكد من امتثاله لجميع الشروط واللوائح ذات الصلة.
يجب على المستخدمين التعامل مع DeepLX بدرجة من الحذر، مع فهم أنه قد لا يكون مناسباً للتطبيقات الحيوية التي تتطلب ضمان وقت التشغيل والدعم الرسمي. وهو الأفضل للسيناريوهات التي يكون فيها التوقف العرضي أو الحاجة إلى استكشاف الأخطاء وإصلاحها مقايضة مقبولة مقابل الوصول المجاني.
البدء: تثبيت وإعداد DeepLX
إعداد DeepLX بسيط بشكل عام، خاصة إذا كنت على دراية بـ Docker أو تشغيل الملفات التنفيذية المترجمة مسبقاً. فيما يلي الطرق الشائعة:
المتطلبات المسبقة
- فهم أساسي لواجهة سطر الأوامر (CLI).
- تثبيت Docker، إذا اخترت طريقة Docker.
- الوصول إلى الإنترنت لتنزيل الملفات.
الطريقة 1: استخدام Docker (موصى بها للبساطة)
غالباً ما يكون Docker هو أسهل طريقة لتشغيل DeepLX، حيث يقوم بتجميع جميع التبعيات والتكوينات.
- العثور على صورة Docker: عادةً ما توفر شبكة OwO-Network أو المطورون المساهمون في DeepLX صور Docker على Docker Hub. يمكنك البحث عن
deeplx
على Docker Hub أو البحث عن التعليمات في مستودع DeepLX الرسمي على GitHub. قد تحمل الصور الشائعة أسماء مثلowonetwork/deeplx
أو ما شابه. - سحب الصورة: افتح طرفيتك وقم بتشغيل:
docker pull <image_name>:<tag>
(استبدل <image_name>:<tag>
باسم الصورة الفعلي).
- تشغيل حاوية Docker:
docker run -d -p 1188:1188 --name my-deeplx <image_name>:<tag>
-d
: يشغل الحاوية في وضع الفصل (في الخلفية).-p 1188:1188
: يربط المنفذ 1188 على جهازك المضيف بالمنفذ 1188 داخل الحاوية. يستمع DeepLX عادةً على المنفذ1188
افتراضياً. يمكنك تغيير منفذ المضيف إذا لزم الأمر (على سبيل المثال،-p 8080:1188
).--name my-deeplx
: يعين اسماً يسهل تذكره لحاويتك.
- التحقق: يمكنك التحقق مما إذا كانت الحاوية قيد التشغيل باستخدام
docker ps
. يجب أن تكون خدمة DeepLX الآن متاحة علىhttp://localhost:1188
.
الطريقة 2: تنزيل الملفات التنفيذية المترجمة مسبقاً
تقدم العديد من المشاريع مفتوحة المصدر ملفات تنفيذية مترجمة مسبقاً لأنظمة تشغيل متنوعة.
- انتقل إلى إصدارات GitHub: انتقل إلى مستودع DeepLX الرسمي على GitHub (OwO-Network/DeepLX) وابحث عن قسم "Releases" (الإصدارات).
- تنزيل الملف التنفيذي الصحيح: ستجد ملفات تنفيذية لأنظمة تشغيل وبنى مختلفة (على سبيل المثال،
deeplx_windows_amd64.exe
،deeplx_linux_amd64
،deeplx_darwin_amd64
). قم بتنزيل الملف الذي يطابق نظامك. - جعله قابلاً للتنفيذ (Linux/macOS):
chmod +x /path/to/your/deeplx_binary
- تشغيل الملف التنفيذي:
./path/to/your/deeplx_binary [options]
قد يدعم الملف التنفيذي علامات سطر الأوامر للتكوين (على سبيل المثال، تحديد منفذ باستخدام -p <port_number>
أو رمز أمان لمثيل DeepLX نفسه، على الرغم من أن هذا يختلف عن مفتاح واجهة برمجة تطبيقات DeepL). ارجع إلى وثائق المشروع للاطلاع على الخيارات المتاحة.
- جدار الحماية: تأكد من أن جدار حماية نظامك يسمح بالاتصالات الواردة على المنفذ الذي يستمع عليه DeepLX (الافتراضي
1188
) إذا كنت تنوي الوصول إليه من أجهزة أخرى على شبكتك.
الطريقة 3: البناء من المصدر (للمستخدمين المتقدمين)
إذا كنت تفضل تجميعه بنفسك أو تريد أحدث التغييرات غير المنشورة:
- تثبيت تبعيات البناء: غالباً ما يتم كتابة DeepLX بلغات مثل Go أو Rust. ستحتاج إلى تثبيت المترجم وسلسلة الأدوات الخاصة بها (على سبيل المثال، بيئة لغة برمجة Go). تحقق من مستودع GitHub للحصول على تعليمات البناء.
- استنساخ المستودع:
git clone [https://github.com/OwO-Network/DeepLX.git](https://github.com/OwO-Network/DeepLX.git)
cd DeepLX
- بناء المشروع: اتبع أوامر البناء المحددة في ملف
README.md
الخاص بالمستودع أو سكريبتات البناء (على سبيل المثال،go build .
أوcargo build --release
). - تشغيل الملف التنفيذي المترجم: يمكن بعد ذلك تشغيل الملف التنفيذي الناتج كما هو موضح في الطريقة 2.
التكوين الأولي (من جانب الخادم)
غالباً ما يتم تصميم DeepLX نفسه ليعمل بأقل قدر من التكوين. الشيء الأساسي الذي يجب ملاحظته هو المنفذ الذي يستمع عليه (الافتراضي 1188
). قد تسمح بعض الإصدارات أو التفرعات بتعيين رمز وصول (access token) عبر وسيطات سطر الأوامر أو متغيرات البيئة (على سبيل المثال، -token YOUR_SECRET_TOKEN
). سيتعين على العملاء بعد ذلك توفير هذا الرمز لاستخدام مثيل DeepLX الخاص بك، مما يضيف طبقة من الأمان إذا كانت نقطة نهاية DeepLX الخاصة بك مكشوفة.
بمجرد التشغيل، يجب أن يكون مثيل DeepLX الخاص بك جاهزاً لتلقي طلبات الترجمة.
كيفية استخدام DeepLX: إجراء طلبات الترجمة
بمجرد أن يصبح مثيل DeepLX الخاص بك قيد التشغيل (على سبيل المثال، على http://localhost:1188
)، يمكنك البدء في إرسال طلبات الترجمة إلى نقطة نهاية واجهة برمجة التطبيقات الخاصة به، والتي تكون عادةً /translate
.
نقطة نهاية واجهة برمجة التطبيقات (API)
http://<your_deeplx_host_or_ip>:<port>/translate
(على سبيل المثال، http://localhost:1188/translate
إذا كان يعمل محلياً على المنفذ الافتراضي)
هيكل استدعاء واجهة برمجة التطبيقات الأساسي
- الطريقة:
POST
- الرؤوس (Headers):
Content-Type: application/json
- الجسم (Body): حمولة JSON تحتوي على النص المراد ترجمته ومعلمات اللغة.
المعلمات الرئيسية في جسم JSON
text
(سلسلة نصية أو مصفوفة من السلاسل النصية): النص الذي تريد ترجمته.source_lang
(سلسلة نصية، اختياري): رمز اللغة الخاص بالنص المصدر (على سبيل المثال، "EN", "DE", "FR"). إذا تم حذفه أو تعيينه على "auto"، فسيحاول DeepLX (عبر DeepL) اكتشاف لغة المصدر.target_lang
(سلسلة نصية، مطلوب): رمز اللغة التي تريد ترجمة النص إليها (على سبيل المثال، "EN-US", "EN-GB", "DE", "FR", "ZH", "JA").- قد يتم دعم معلمات أخرى اعتماداً على إصدار DeepLX، مثل
split_sentences
،preserve_formatting
،formality
. تحقق من وثائق مشروع DeepLX المحدد إذا كانت متاحة.
مثال باستخدام curl
لترجمة "Hello, world!" من الإنجليزية إلى الألمانية:
curl -X POST http://localhost:1188/translate \
-H "Content-Type: application/json" \
-d '{
"text": "Hello, world!",
"source_lang": "EN",
"target_lang": "DE"
}'
تفسير الاستجابة
استجابة ناجحة (على سبيل المثال، HTTP 200 OK): ستكون الاستجابة كائناً من نوع JSON يحتوي عادةً على:
code
: رمز حالة (على سبيل المثال، 200 للنجاح).id
: معرف الطلب.data
: النص المترجم. إذا تم إرسال نصوص متعددة، فقد تكون هذه مصفوفة من الترجمات.source_lang
: لغة المصدر المكتشفة (إذا تم استخدام "auto" أو إذا تم توفيرها).target_lang
: لغة الهدف.alternatives
(اختياري): توفر بعض واجهات DeepL ترجمات بديلة؛ قد يشمل DeepLX هذه أيضاً.
هيكل مثال لاستجابة ناجحة:JSON
{
"code": 200,
"id": 1678886400000,
"data": "Hallo, Welt!",
"source_lang": "EN",
"target_lang": "DE",
"alternatives": [
"Hallo Welt!"
]
}
استجابات الخطأ:
HTTP 400 Bad Request
(طلب سيء): حمولة JSON غير صالحة، معلمات مطلوبة مفقودة، أو رموز لغة غير صالحة.HTTP 429 Too Many Requests
(عدد كبير جداً من الطلبات): يتم تحديد معدل طلباتك. أبطئ طلباتك.HTTP 500 Internal Server Error
(خطأ خادم داخلي) (أو ما شابه من أخطاء 5xx): مشكلة من جانب خادم DeepLX أو خطأ غير متوقع من جانب DeepL. تحقق من سجلات خادم DeepLX الخاص بك.
استخدام DeepLX مع لغات البرمجة (أمثلة مفاهيمية)
Python (باستخدام مكتبة requests
):Python
import requests
import json
deeplx_url = "http://localhost:1188/translate"
text_to_translate = "The quick brown fox jumps over the lazy dog."
payload = {
"text": text_to_translate,
"source_lang": "EN",
"target_lang": "ES" # Translate to Spanish
}
headers = {
"Content-Type": "application/json"
}
try:
response = requests.post(deeplx_url, data=json.dumps(payload), headers=headers)
response.raise_for_status() # Raise an exception for bad status codes (4xx or 5xx)
translation_data = response.json()
if translation_data.get("code") == 200:
print(f"Original: {text_to_translate}")
print(f"Translated: {translation_data.get('data')}")
else:
print(f"Error from DeepLX: {translation_data.get('message', 'Unknown error')}")
except requests.exceptions.RequestException as e:
print(f"Request failed: {e}")
except json.JSONDecodeError:
print("Failed to decode JSON response.")
JavaScript (باستخدام واجهة برمجة تطبيقات Workspace
في المتصفح أو بيئة Node.js):JavaScript
async function translateText(text, targetLang, sourceLang = "auto") {
const deeplxUrl = "http://localhost:1188/translate"; // Adjust if your DeepLX is elsewhere
const payload = {
text: text,
source_lang: sourceLang,
target_lang: targetLang
};
try {
const response = await fetch(deeplxUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});
if (!response.ok) {
// Try to get error message from DeepLX if possible
let errorMsg = `HTTP error! status: ${response.status}`;
try {
const errorData = await response.json();
errorMsg = errorData.message || JSON.stringify(errorData);
} catch (e) { /* ignore if response is not json */ }
throw new Error(errorMsg);
}
const translationData = await response.json();
if (translationData.code === 200) {
return translationData.data;
} else {
throw new Error(translationData.message || `DeepLX API error code: ${translationData.code}`);
}
} catch (error) {
console.error("Translation failed:", error);
return null;
}
}
// Example usage:
(async () => {
const translatedText = await translateText("Welcome to the world of AI.", "JA"); // To Japanese
if (translatedText) {
console.log(`Translated: ${translatedText}`);
}
})();
تذكر تعديل deeplx_url
إذا لم يكن مثيل DeepLX الخاص بك يعمل على localhost:1188
.
دمج DeepLX مع التطبيقات
أحد الاستخدامات الرئيسية لـ DeepLX هو تشغيل ميزات الترجمة داخل التطبيقات الأخرى دون تحمل تكاليف واجهة برمجة التطبيقات الرسمية. لقد أظهرت العديد من الأدوات والمشاريع بالفعل عمليات دمج:
- روبوتات Telegram: يعد
DeepLX-Bot
مثالاً رئيسياً، مصمماً لترجمة الرسائل تلقائياً في محادثات Telegram باستخدام واجهة خلفية DeepLX. - أدوات ترجمة الفيديو: يُذكر
pyVideoTrans
كأداة يمكنها استخدام مثيل DeepLX المنشور محلياً لترجمة ترجمات الفيديو. - محررات الترجمة: كانت هناك مناقشات أو عمليات دمج لـ
SubtitleEdit
لاستخدام DeepLX، مما يسمح للمستخدمين بترجمة ملفات الترجمة. - أدوات مساعدة لترجمة الملفات:
DeeplxFile
هي أداة تم بناؤها لترجمة الملفات، وخاصة الملفات الكبيرة أو مستندات Excel المعقدة، بالاستفادة من DeepLX وربما التغلب على قيود واجهة DeepL المجانية على الويب أو مستوى واجهة برمجة التطبيقات المجاني الرسمي.
النهج العام للدمج
- إعداد مثيل DeepLX الخاص بك: تأكد من أن خادم DeepLX الخاص بك يعمل ومتاح من التطبيق الذي سيستخدمه.
- تحديد إعدادات التكوين: في التطبيق الذي تريد دمجه معه، ابحث عن الإعدادات المتعلقة بخدمات الترجمة أو واجهة برمجة تطبيقات DeepL.
- الإشارة إلى نقطة نهاية DeepLX الخاصة بك: بدلاً من عنوان URL الرسمي لواجهة برمجة تطبيقات DeepL (مثل
https://api-free.deepl.com/v2/translate
أوhttps://api.deepl.com/v2/translate
)، ستقوم عادةً بإدخال عنوان خادم DeepLX الخاص بك (على سبيل المثال،http://localhost:1188/translate
أوhttp://your-server-ip:1188/translate
). - التعامل مع مفتاح واجهة برمجة التطبيقات (API Key):
- تحتوي معظم التطبيقات المصممة لواجهة برمجة تطبيقات DeepL الرسمية على حقل لـ "مفتاح واجهة برمجة التطبيقات" أو "مفتاح المصادقة".
- DeepLX نفسه عادةً لا يتطلب مفتاح واجهة برمجة تطبيقات DeepL. إذا كان التطبيق يتطلب حقل مفتاح واجهة برمجة التطبيقات ليتم ملؤه، فقد تتمكن من إدخال قيمة وهمية (على سبيل المثال، "deeplx"، "none"، أو أي سلسلة عشوائية).
- ومع ذلك، إذا كان مثيل DeepLX الخاص بك مكوناً برمز وصول خاص به للأمان (كما نوقش في قسم الإعداد)، فسيحتاج التطبيق إلى طريقة لإرسال هذا الرمز، ربما كرأس مخصص أو كجزء من عنوان URL إذا كان التطبيق و DeepLX يدعمان ذلك. هذا أقل شيوعاً لعمليات دمج DeepL القياسية.
- اختبر جيداً: بعد التكوين، اختبر وظيفة الترجمة داخل التطبيق للتأكد من أنها تعمل بشكل صحيح مع الواجهة الخلفية لـ DeepLX الخاصة بك.
تعتمد سهولة الدمج إلى حد كبير على مدى مرونة تكوين خدمة الترجمة في التطبيق المستهدف.
اعتبارات متقدمة وأفضل الممارسات
لتحقيق أقصى استفادة من DeepLX والتخفيف من بعض مشاكله المحتملة، ضع في اعتبارك ما يلي:
- إدارة حدود المعدل (أخطاء 429):
- إذا كنت تقوم ببناء تطبيق يستخدم DeepLX، قم بتطبيق منطق إعادة المحاولة مع التراجع الأسي لأخطاء 429. هذا يعني أنه إذا فشل طلب بسبب تحديد المعدل، ينتظر تطبيقك لفترة قصيرة ثم يحاول مرة أخرى، مع زيادة وقت الانتظار بعد كل فشل لاحق.
- أدخل تأخيرات بين الطلبات المتتالية لتجنب الوصول إلى حدود معدل DeepL من خلال مثيل DeepLX الخاص بك.
- إذا أمكن، وزع الطلبات على عدة مثيلات DeepLX أو عناوين IP، على الرغم من أن هذا يضيف تعقيداً.
- معالجة قوية للأخطاء: صمم تطبيقات العميل الخاصة بك للتعامل بلطف مع الأخطاء المحتملة من DeepLX. يشمل هذا ليس فقط أخطاء 429 ولكن أيضاً أخطاء الخادم 5xx، مشاكل الشبكة، أو تنسيقات الاستجابة غير المتوقعة. قدم ملاحظات إعلامية للمستخدمين إذا فشلت الترجمة.
- أمان مثيل DeepLX الخاص بك:
- إذا كان مثيل DeepLX الخاص بك مكشوفاً لشبكة (خاصة الإنترنت)، قم بتأمينه.
- شغّله خلف وكيل عكسي (reverse proxy) (مثل Nginx أو Caddy) يمكنه توفير تشفير SSL/TLS، والمصادقة (على سبيل المثال، HTTP Basic Auth)، وتحديد المعدل الخاص به.
- استخدم قواعد جدار الحماية لتقييد الوصول إلى عناوين IP الموثوقة.
- إذا كان بناء DeepLX الخاص بك يدعم ذلك، قم بتكوين رمز وصول (access token) لخدمة DeepLX نفسها.
- مراقبة مثيلك: راقب أداء خادم DeepLX الخاص بك:
- راقب استخدام وحدة المعالجة المركزية والذاكرة.
- تحقق من السجلات بانتظام بحثاً عن الأخطاء أو التحذيرات، والتي يمكن أن توفر رؤى حول مشاكل مثل تحديد المعدل المتكرر أو مشاكل أخرى.
- البقاء على اطلاع: تحقق بشكل دوري من مستودع DeepLX على GitHub (وأي تفرعات قد تستخدمها) من أجل:
- الإصدارات الجديدة: قد تتضمن هذه إصلاحات للأخطاء، تحسينات في الأداء، أو تعديلات على التغييرات في خدمات DeepL.
- المشاكل المبلغ عنها: انظر ما إذا كان المستخدمون الآخرون يواجهون مشاكل مماثلة وما إذا تم نشر حلول أو حلول بديلة.
- امتلاك خطة بديلة: نظراً للطبيعة "غير الرسمية" وغير المستقرة المحتملة لـ DeepLX، إذا كانت الترجمة الموثوقة حيوية، ففكر في امتلاك استراتيجية بديلة. يمكن أن يشمل ذلك التبديل إلى خدمة ترجمة مختلفة (ربما مدفوعة) إذا أصبح DeepLX غير متاح. وثائق
pyVideoTrans
تنصح حتى: "إذا واجهت أخطاء... بعد التأكد من أن النشر صحيح، يرجى التبديل إلى قنوات ترجمة أخرى."
من خلال كونك استباقياً، يمكنك تحسين استقرار وفائدة إعداد DeepLX الخاص بك.
استكشاف أخطاء DeepLX الشائعة وإصلاحها
من الممكن مواجهة مشاكل نظراً لطبيعة DeepLX. فيما يلي بعض المشاكل الشائعة وكيفية التعامل معها:
المشكلة: خطأ 429 Too Many Requests
(عدد كبير جداً من الطلبات)
- السبب: مثيل DeepLX الخاص بك (أو عنوان IP الخاص به) يرسل عدداً كبيراً جداً من الطلبات إلى DeepL بسرعة كبيرة.
- الحل:
- قلل من تكرار طلبات الترجمة من تطبيقات العميل. طبق تأخيرات.
- إذا كنت تتحكم في خادم DeepLX وكان يتعرض لضغط كبير من قبل العديد من العملاء، ففكر في تحديد المعدل من جانب العميل أو توزيع الحمل.
- انتظر بعض الوقت، حيث أن حدود المعدل غالباً ما تكون مؤقتة.
- إعادة تشغيل مثيل DeepLX الخاص بك قد يساعد أحياناً إذا حصل على جلسة جديدة أو إذا كان حظر DeepL قصير الأجل، ولكن هذا ليس حلاً مضموناً.
- فكر في تشغيل DeepLX خلف شبكة افتراضية خاصة (VPN) أو وكيل لتغيير عنوان IP الصادر، ولكن كن على دراية بأن هذا قد ينتهك شروط خدمة أي من VPN/الوكيل أو DeepL.
المشكلة: مثيل DeepLX لا يبدأ أو يتعطل
- السبب: تعارض في المنافذ، ملف تنفيذي غير صحيح لنظام التشغيل الخاص بك، تبعيات مفقودة (إذا تم البناء من المصدر)، تنزيل تالف، أو أخطاء داخلية.
- الحل:
- تحقق من السجلات: هذه هي الخطوة الأولى. سجلات DeepLX ستشير غالباً إلى سبب الفشل. إذا كنت تستخدم Docker، استخدم
docker logs <container_name_or_id>
. - تعارض المنافذ: تأكد من أن المنفذ
1188
(أو المنفذ الذي قمت بتكوينه) ليس قيد الاستخدام بالفعل بواسطة تطبيق آخر (netstat -tulnp | grep 1188
على Linux). - توافق الملف التنفيذي: إذا كنت تستخدم ملفات تنفيذية مترجمة مسبقاً، تحقق جيداً من أنك قمت بتنزيل الإصدار الصحيح لنظام التشغيل وبنية وحدة المعالجة المركزية الخاصة بك.
- الأذونات: تأكد من أن الملف التنفيذي لديه أذونات التنفيذ (على Linux/macOS).
- إعادة التنزيل/إعادة البناء: حاول تنزيل الملف التنفيذي مرة أخرى أو إعادة البناء من المصدر.
المشكلة: الترجمات غير دقيقة، تفشل، أو تعيد نتائج غير متوقعة
- السبب:
- مشاكل مؤقتة في خدمة DeepL نفسها.
- قد تكون DeepL قد غيرت واجهة برمجة التطبيقات الداخلية الخاصة بها أو آليات الحظر، مما يؤثر على كيفية تفاعل DeepLX معها.
- معلمات
source_lang
أوtarget_lang
غير صحيحة. - أخطاء في إصدار DeepLX الخاص بك.
- الحل:
- التحقق من المعلمات: تحقق جيداً من رموز اللغة والنص الذي يتم إرساله.
- الاختبار باستخدام موقع DeepL الإلكتروني: جرب نفس الترجمة مباشرة على موقع DeepL الإلكتروني. إذا فشلت أو كانت غير دقيقة هناك أيضاً، فمن المرجح أن المشكلة في DeepL، وليس في DeepLX.
- إعادة تشغيل DeepLX: يمكن أن يحل هذا أحياناً مشاكل مؤقتة.
- تحقق من مشاكل GitHub: انظر إلى صفحة مشاكل مشروع DeepLX على GitHub. قد يبلغ المستخدمون الآخرون عن مشاكل مماثلة، وقد تكون هناك مناقشات أو إصلاحات جارية.
- تحديث DeepLX: إذا كان إصدار أحدث متاحاً، ففكر في التحديث، حيث قد يحتوي على إصلاحات لمثل هذه المشاكل.
- كملاذ أخير، كما تقترح وثائق
pyVideoTrans
، قد تحتاج إلى التبديل إلى خدمة ترجمة بديلة إذا ظل DeepLX يمثل مشكلة.
المشكلة: أخطاء اتصال الشبكة (على سبيل المثال، "تم رفض الاتصال"، "انتهت المهلة")
- السبب: خادم DeepLX لا يعمل، جدار الحماية يمنع الوصول، عنوان/منفذ غير صحيح في تطبيق العميل، أو مشاكل عامة في اتصال الشبكة.
- الحل:
- تأكد من أن عملية خادم DeepLX أو حاوية Docker تعمل.
- تحقق من أن تطبيق العميل يشير إلى عنوان IP والمنفذ الصحيحين حيث يستمع DeepLX.
- تحقق من جدران الحماية على كل من الخادم الذي يستضيف DeepLX وجهاز العميل.
- اختبر اتصال الشبكة الأساسي (على سبيل المثال،
ping
الخادم،telnet <host> <port>
).
غالباً ما يتضمن استكشاف أخطاء DeepLX وإصلاحها التحقق من السجلات، والتحقق من التكوينات، ومراقبة المناقشات المجتمعية حول المشروع.
DeepLX مقابل واجهة برمجة تطبيقات DeepL الرسمية: مقارنة سريعة
الميزة |