كيفية استخدام DeepL API مجاناً مع DeepLX

Mark Ponomarev

Mark Ponomarev

21 مايو 2025

كيفية استخدام DeepL API مجاناً مع DeepLX

في عالم يزداد ترابطاً، أصبحت الحاجة إلى خدمات ترجمة سريعة ودقيقة ومتاحة للجميع أمراً بالغ الأهمية. برزت DeepL كشركة رائدة في هذا المجال، مشهورة بترجماتها الدقيقة وذات الصوت الطبيعي المدعومة بتقنية الترجمة الآلية العصبية المتقدمة. ومع ذلك، غالباً ما يأتي الوصول إلى واجهة برمجة التطبيقات الرسمية (API) الخاصة بها بتكاليف قد لا تكون مجدية لجميع المستخدمين أو المطورين أو المشاريع صغيرة النطاق. هنا يأتي دور DeepLX، وهو مشروع مفتوح المصدر من قبل شبكة OwO-Network يقدم مساراً بديلاً مجانياً للاستفادة من إمكانيات DeepL القوية في الترجمة.

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

💡
هل تريد أداة رائعة لاختبار واجهات برمجة التطبيقات (API) تولد توثيقاً جميلاً لواجهات برمجة التطبيقات؟

هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معاً بأقصى إنتاجية؟

Apidog يلبي جميع متطلباتك، ويحل محل Postman بسعر معقول أكثر بكثير!
زر

ما هو DeepLX؟ وعد بالترجمة المجانية عالية الجودة

في جوهرها، DeepL هي شركة ألمانية متخصصة في الذكاء الاصطناعي تقدم خدمات ترجمة آلية معروفة بدقتها الاستثنائية وقدرتها على التقاط السياق والفروق اللغوية الدقيقة، وغالباً ما تتفوق على المنافسين في العديد من أزواج اللغات. للسماح بالوصول البرمجي إلى محرك الترجمة الخاص بها، تقدم DeepL واجهة برمجة تطبيقات رسمية (API)، وهي خدمة مدفوعة ذات مستويات مختلفة تلبي أحجام الاستخدام المتنوعة.

DeepLX، الموجود على GitHub تحت شبكة OwO-Network، يقدم نفسه على أنه "واجهة برمجة تطبيقات DeepL قوية للترجمة" تتميز بـ:

بشكل أساسي، يعمل DeepLX كوسيط أو وكيل، مما يسمح للمستخدمين بإرسال طلبات الترجمة إلى الواجهة الخلفية لـ DeepL دون استخدام واجهة برمجة التطبيقات الرسمية المدفوعة مباشرة. يتم تحقيق ذلك عادةً عن طريق قيام خادم DeepLX بإرسال طلبات إلى DeepL بطريقة تحاكي كيفية وصول المستخدم المجاني إلى الخدمة (على سبيل المثال، من خلال واجهة الويب أو تطبيقات سطح المكتب، على الرغم من أن الآلية الدقيقة يمكن أن تختلف وقد تكون عرضة للتغيير).

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


لماذا تختار DeepLX؟ الفوائد والمزايا

على الرغم من وضعه غير الرسمي، يقدم DeepLX العديد من المزايا الجذابة التي تجذب المستخدمين:

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


الوضع "غير الرسمي": اعتبارات هامة وسلبيات محتملة

بينما تبدو كلمتا "مجاني" و"عالي الجودة" جذابتين، من الضروري أن يكون لديك فهم واضح لما تعنيه كلمة "غير رسمي" في سياق DeepLX:

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


البدء: تثبيت وإعداد DeepLX

إعداد DeepLX بسيط بشكل عام، خاصة إذا كنت على دراية بـ Docker أو تشغيل الملفات التنفيذية المترجمة مسبقاً. فيما يلي الطرق الشائعة:

المتطلبات المسبقة

الطريقة 1: استخدام Docker (موصى بها للبساطة)

غالباً ما يكون Docker هو أسهل طريقة لتشغيل DeepLX، حيث يقوم بتجميع جميع التبعيات والتكوينات.

  1. العثور على صورة Docker: عادةً ما توفر شبكة OwO-Network أو المطورون المساهمون في DeepLX صور Docker على Docker Hub. يمكنك البحث عن deeplx على Docker Hub أو البحث عن التعليمات في مستودع DeepLX الرسمي على GitHub. قد تحمل الصور الشائعة أسماء مثل owonetwork/deeplx أو ما شابه.
  2. سحب الصورة: افتح طرفيتك وقم بتشغيل:
docker pull <image_name>:<tag>

(استبدل <image_name>:<tag> باسم الصورة الفعلي).

  1. تشغيل حاوية Docker:
docker run -d -p 1188:1188 --name my-deeplx <image_name>:<tag>
  1. التحقق: يمكنك التحقق مما إذا كانت الحاوية قيد التشغيل باستخدام docker ps. يجب أن تكون خدمة DeepLX الآن متاحة على http://localhost:1188.

الطريقة 2: تنزيل الملفات التنفيذية المترجمة مسبقاً

تقدم العديد من المشاريع مفتوحة المصدر ملفات تنفيذية مترجمة مسبقاً لأنظمة تشغيل متنوعة.

  1. انتقل إلى إصدارات GitHub: انتقل إلى مستودع DeepLX الرسمي على GitHub (OwO-Network/DeepLX) وابحث عن قسم "Releases" (الإصدارات).
  2. تنزيل الملف التنفيذي الصحيح: ستجد ملفات تنفيذية لأنظمة تشغيل وبنى مختلفة (على سبيل المثال، deeplx_windows_amd64.exe، deeplx_linux_amd64، deeplx_darwin_amd64). قم بتنزيل الملف الذي يطابق نظامك.
  3. جعله قابلاً للتنفيذ (Linux/macOS):
chmod +x /path/to/your/deeplx_binary
  1. تشغيل الملف التنفيذي:
./path/to/your/deeplx_binary [options]

قد يدعم الملف التنفيذي علامات سطر الأوامر للتكوين (على سبيل المثال، تحديد منفذ باستخدام -p <port_number> أو رمز أمان لمثيل DeepLX نفسه، على الرغم من أن هذا يختلف عن مفتاح واجهة برمجة تطبيقات DeepL). ارجع إلى وثائق المشروع للاطلاع على الخيارات المتاحة.

  1. جدار الحماية: تأكد من أن جدار حماية نظامك يسمح بالاتصالات الواردة على المنفذ الذي يستمع عليه DeepLX (الافتراضي 1188) إذا كنت تنوي الوصول إليه من أجهزة أخرى على شبكتك.

الطريقة 3: البناء من المصدر (للمستخدمين المتقدمين)

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

  1. تثبيت تبعيات البناء: غالباً ما يتم كتابة DeepLX بلغات مثل Go أو Rust. ستحتاج إلى تثبيت المترجم وسلسلة الأدوات الخاصة بها (على سبيل المثال، بيئة لغة برمجة Go). تحقق من مستودع GitHub للحصول على تعليمات البناء.
  2. استنساخ المستودع:
git clone [https://github.com/OwO-Network/DeepLX.git](https://github.com/OwO-Network/DeepLX.git)
cd DeepLX
  1. بناء المشروع: اتبع أوامر البناء المحددة في ملف README.md الخاص بالمستودع أو سكريبتات البناء (على سبيل المثال، go build . أو cargo build --release).
  2. تشغيل الملف التنفيذي المترجم: يمكن بعد ذلك تشغيل الملف التنفيذي الناتج كما هو موضح في الطريقة 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 إذا كان يعمل محلياً على المنفذ الافتراضي)

هيكل استدعاء واجهة برمجة التطبيقات الأساسي

المعلمات الرئيسية في جسم JSON

مثال باستخدام 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 يحتوي عادةً على:

هيكل مثال لاستجابة ناجحة:JSON

{
    "code": 200,
    "id": 1678886400000,
    "data": "Hallo, Welt!",
    "source_lang": "EN",
    "target_lang": "DE",
    "alternatives": [
        "Hallo Welt!"
    ]
}

استجابات الخطأ:

استخدام 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 هو تشغيل ميزات الترجمة داخل التطبيقات الأخرى دون تحمل تكاليف واجهة برمجة التطبيقات الرسمية. لقد أظهرت العديد من الأدوات والمشاريع بالفعل عمليات دمج:

النهج العام للدمج

  1. إعداد مثيل DeepLX الخاص بك: تأكد من أن خادم DeepLX الخاص بك يعمل ومتاح من التطبيق الذي سيستخدمه.
  2. تحديد إعدادات التكوين: في التطبيق الذي تريد دمجه معه، ابحث عن الإعدادات المتعلقة بخدمات الترجمة أو واجهة برمجة تطبيقات DeepL.
  3. الإشارة إلى نقطة نهاية 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).
  4. التعامل مع مفتاح واجهة برمجة التطبيقات (API Key):
  1. اختبر جيداً: بعد التكوين، اختبر وظيفة الترجمة داخل التطبيق للتأكد من أنها تعمل بشكل صحيح مع الواجهة الخلفية لـ DeepLX الخاصة بك.

تعتمد سهولة الدمج إلى حد كبير على مدى مرونة تكوين خدمة الترجمة في التطبيق المستهدف.


اعتبارات متقدمة وأفضل الممارسات

لتحقيق أقصى استفادة من DeepLX والتخفيف من بعض مشاكله المحتملة، ضع في اعتبارك ما يلي:

من خلال كونك استباقياً، يمكنك تحسين استقرار وفائدة إعداد DeepLX الخاص بك.


استكشاف أخطاء DeepLX الشائعة وإصلاحها

من الممكن مواجهة مشاكل نظراً لطبيعة DeepLX. فيما يلي بعض المشاكل الشائعة وكيفية التعامل معها:

المشكلة: خطأ 429 Too Many Requests (عدد كبير جداً من الطلبات)

المشكلة: مثيل DeepLX لا يبدأ أو يتعطل

المشكلة: الترجمات غير دقيقة، تفشل، أو تعيد نتائج غير متوقعة

المشكلة: أخطاء اتصال الشبكة (على سبيل المثال، "تم رفض الاتصال"، "انتهت المهلة")

غالباً ما يتضمن استكشاف أخطاء DeepLX وإصلاحها التحقق من السجلات، والتحقق من التكوينات، ومراقبة المناقشات المجتمعية حول المشروع.


DeepLX مقابل واجهة برمجة تطبيقات DeepL الرسمية: مقارنة سريعة

الميزة

ممارسة تصميم API في Apidog

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