
PolyLingo مقابل DeepL API: أيهما يحافظ على JSON و Markdown بشكل أفضل؟
By Robert M
PolyLingo مقابل DeepL API: أيهما يحافظ على JSON و Markdown بشكل أفضل؟
يقدم DeepL برنامج ترجمة ممتاز حقًا. يُعتبر محرك الترجمة العصبي الخاص به من بين الأفضل المتاحة، ومن الصعب التفوق عليه في النصوص العادية. إذا كنت تترجم جملًا أو فقرات أو مستندات مكتوبة كنص مستمر، فإن DeepL خيار قوي.
السؤال الذي يجيب عليه هذا المنشور هو أضيق: كيف يعمل DeepL API عندما يكون لمحتواك هيكل؟ عندما تحتاج إلى ترجمة ملف JSON محلي دون لمس المفاتيح، أو منشور مدونة Markdown دون كسر الصياغة، أو صفحة HTML دون تشويه السمات؟ وكيف يقارن بـ PolyLingo في هذه الحالة المحددة؟
كيف تم بناء DeepL API
يقبل DeepL API للترجمة النصية النص العادي. هذا هو تنسيقه الأصلي. كل طلب يقبل حتى 50 سلسلة نصية ويتم ترجمتها بشكل مستقل، دون سياق مشترك بينها. يمكن تحديد لغة هدف واحدة فقط لكل طلب. إذا كنت تحتاج إلى خمس لغات، تقوم بخمسة طلبات.
يدعم DeepL ترجمة المستندات لصيغ مثل PDF وWord وPowerPoint وHTML، لكن ذلك يتم عبر نقطة نهاية مستند منفصلة مع تدفق مختلف: رفع الملف، الانتظار حتى الانتهاء، تنزيل النتيجة. وهو مصمم للمستندات المكتبية، وليس لأنابيب محتوى برمجية.
بالنسبة لـ HTML تحديدًا، هناك معامل tag_handling يمكنك تعيينه إلى html، مما يخبر DeepL بمعاملة الإدخال كـ HTML ومحاولة الحفاظ على العلامات. هذا يعمل بشكل معقول للترميز البسيط، لكنه علم اختياري يجب أن تعرف تعيينه، ولا يمتد إلى JSON أو Markdown.
بالنسبة لـ JSON، لا يوجد دعم أصلي. نقطة نهاية النص في DeepL لا تعرف ما هو مفتاح JSON. إذا أرسلت له كائن JSON مسلسل، فسيترجم المحتوى كسلسلة نصية ولا يوجد ضمان أن المفاتيح أو الهيكل أو القيم غير النصية ستبقى سليمة. مكتبة babeldown في R، التي تغلف DeepL لمحتوى Markdown، وثقت حالات حيث يخلط DeepL بين علامات الترقيم داخل روابط Markdown والتنسيق، وهو قيد معروف لتمرير نص منظم عبر محرك ترجمة نص عادي.
هذا ليس نقدًا لـ DeepL. إنه وصف لما صُمم API للقيام به. الاستخدام الأساسي لـ DeepL هو الترجمة عالية الجودة للنصوص المقروءة للبشر. هذا ما يحسّن له وهو ممتاز فيه.
أين يظهر الفرق في الممارسة
يصبح الفرق واضحًا بمجرد أن لا يكون محتواك نصًا عاديًا.
فكر في ملف محلي قياسي لـ Next.js:
{
"nav": {
"home": "Home",
"about": "About us",
"contact": "Get in touch"
},
"hero": {
"title": "Welcome to our platform",
"subtitle": "Everything you need in one place"
}
}
لترجمة هذا باستخدام DeepL API إلى خمس لغات ستحتاج إلى:
- استخراج كل قيمة نصية بشكل فردي
- إجراء طلب API منفصل لكل لغة (خمس لغات، خمس طلبات)
- إعادة بناء هيكل JSON بالقيم المترجمة في الأماكن الصحيحة
- التعامل مع أي حالات حيث غيرت الترجمة علامات الترقيم أو أدخلت أحرفًا تكسر صلاحية JSON
هذا كمية غير بسيطة من كود الربط. وهو أيضًا هش. أي انحراف في مخرجات الترجمة عما يتوقعه المحلل الخاص بك سيسبب فشلًا صامتًا أو خطأ وقت التشغيل في تطبيقك.
مع PolyLingo ترسل الكائن كما هو مع format: "json" وتتلقى نسخة مترجمة من الهيكل الكامل لكل لغة هدف في استجابة واحدة. المفاتيح تبقى دون تغيير. التداخل محفوظ. القيم غير النصية تُترك كما هي. الناتج يُسقط مباشرة في مشروعك.
curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
-H "Authorization: Bearer $POLYLINGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "{\"nav\":{\"home\":\"Home\",\"about\":\"About us\"}}",
"format": "json",
"targets": ["fr", "de", "es", "ja", "nl"]
}'
طلب واحد. خمس لغات. الهيكل سليم.
محتوى Markdown
ينطبق نفس النمط على Markdown. نقطة نهاية النص في DeepL لا تعرف صياغة Markdown. أرسل له منشور مدونة وسيعالج كل شيء كسلسلة نصية. قد تبقى العناوين. كتل الشيفرة على الأرجح لن تبقى، لأن المحتوى داخلها من المحتمل أن يُعامل كنص قابل للترجمة. صياغة الروابط قد تتلف، خصوصًا حول علامات الترقيم عند حدود نص الرابط.
علم تنسيق markdown في PolyLingo يوجه النموذج لمعالجة صياغة Markdown كهيكلية وليس كنص قابل للترجمة. تبقى العناوين عناوين. كتل الشيفرة المحاطة تبقى كما هي. عناوين URL للروابط لا تتغير. فقط محتوى النص يتغير.
لموقع توثيق أو مدونة بمحتوى تقني، الفرق مهم. كتلة شيفرة تالفة في درس تعليمي ليست مشكلة عرض بسيطة، بل درس تعليمي مكسور.
الفرق بين طلب واحد وطلب لكل لغة
هذا يستحق التوقف عنده لأن تداعيات التكلفة حقيقية.
DeepL API يقبل لغة هدف واحدة فقط لكل طلب. لترجمة قطعة محتوى إلى عشر لغات تقوم بعشر مكالمات API. لموقع كبير أو نظام إدارة محتوى مع نشر متكرر، هذا يعني عشرة أضعاف الحمل على الطلبات، عشرة أضعاف الكمون للإدارة، وعشرة أضعاف نقاط الفشل.
PolyLingo يقبل مصفوفة من رموز اللغات الهدف ويعيد كل الترجمات في استجابة واحدة. ست وثلاثون لغة هي طلب واحد، وليس ستة وثلاثون.
للمشاريع الصغيرة الفرق يمكن التحكم فيه. لأي شيء على نطاق واسع يغير هذا بنية كيفية بناء خط أنابيب الترجمة الخاص بك.
نموذج التسعير
DeepL يفرض رسومًا حسب عدد الأحرف. خطة API المجانية تسمح حتى 500,000 حرف شهريًا، والخطط المدفوعة تحاسب على استهلاك الأحرف. لأنك تقوم بطلب واحد لكل لغة، يتم ضرب عدد الأحرف لمحتوى معين بعدد اللغات الهدف التي ترسلها عبر طلبات منفصلة.
PolyLingo يفرض رسومًا حسب الرموز ويحسب عبر الإدخال والإخراج المدمجين لكل اللغات في طلب واحد. الفوترة شفافة وقابلة للتنبؤ: الطبقة المجانية تشمل 50,000 رمز شهريًا، مع خطط مدفوعة تبدأ من 9 دولارات شهريًا مقابل 600,000 رمز.
النموذجان غير قابلين للمقارنة مباشرة على أساس التكلفة لكل كلمة لأنهما يستخدمان وحدات مختلفة، لكن بنية طلب واحد لكل اللغات في PolyLingo تعني أنك لا تضاعف عدد طلباتك خطيًا مع عدد اللغات الهدف.
أين يناسب كل منهما
DeepL API هو الخيار الصحيح عندما:
- يكون محتواك نصًا عاديًا بدون متطلبات هيكلية
- جودة الترجمة للنص المقروء هي الاهتمام الأساسي
- تترجم إلى عدد قليل من اللغات وحجم الطلبات منخفض
- أنت مستثمر بالفعل في نظام DeepL وتستخدم معجمهم أو ميزات الرسمية
- تحتاج دعمًا للغة خارج الـ 36 التي يدعمها PolyLingo حاليًا (DeepL يدعم أكثر من 100 لغة)
PolyLingo هو الخيار الصحيح عندما:
- يكون محتواك JSON أو Markdown أو HTML ويجب الحفاظ على الهيكل
- تحتاج إلى الترجمة إلى عدة لغات في طلب API واحد
- تبني تكامل نظام إدارة محتوى أو خط أنابيب i18n حيث تهم كفاءة الطلب
- تريد واجهة متسقة عبر جميع تنسيقات المحتوى بدون حلول خاصة بالتنسيق
- تريد فوترة تعتمد على الرموز مع منحة شهرية متوقعة
ملخص جنبًا إلى جنب
| PolyLingo | DeepL API | |
|---|---|---|
| دعم JSON أصلي | نعم | لا |
| دعم Markdown أصلي | نعم | لا |
| دعم HTML | نعم | نعم (علم tag_handling) |
| كل اللغات في طلب واحد | نعم | لا، لغة واحدة لكل طلب |
| يكتشف تنسيق المحتوى تلقائيًا | نعم | لا |
| اللغات المدعومة | 36 | أكثر من 100 |
| الطبقة المجانية | 50,000 رمز/شهر | 500,000 حرف/شهر |
| وحدة الفوترة | رمز | حرف |
| مترجم ويب بدون كود | نعم | نعم (تطبيق ويب) |
لدى DeepL كتالوج لغات أكبر وسجل أطول لجودة ترجمة النصوص. PolyLingo مصمم خصيصًا لتدفقات عمل المحتوى الهيكلي حيث لا يمكن التفاوض على سلامة التنسيق.
هما يحلان مشكلات متجاورة. الخيار الصحيح يعتمد على شكل محتواك فعليًا.
جرب PolyLingo
تشمل الطبقة المجانية 50,000 رمز شهريًا. لا حاجة لبطاقة ائتمان. الوثائق الكاملة للـ API على usepolylingo.com/docs.
curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
-H "Authorization: Bearer $POLYLINGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "# Hello\n\nThis is **structured** content.",
"format": "markdown",
"targets": ["fr", "de", "es"]
}'