ترجمة JSON

ترجمة ملفات JSON المحلية دون لمس مفاتيحك.

المفاتيح تبقى مفاتيح. التداخل يبقى سليمًا. تُترجم قيم النصوص فقط — وقيم النصوص فقط. كل نوع خاصية آخر يعود كما أُرسل بالضبط.

المفاتيح
محفوظة دائمًا
المتداخلة
الكائنات تُعالج بشكل متكرر
30
لغات الإخراج لكل طلب
50,000
رموز مجانية / شهر

أدوات الترجمة القياسية لا تفهم JSON.

تعتبر واجهات برمجة التطبيقات العامة للترجمة JSON كنص متصل. تترجم أسماء المفاتيح مع القيم. تُسطح الكائنات المتداخلة. تدمج النصوص التي لا يجب دمجها. ما يعود هو JSON مكسور هيكليًا يتطلب تصحيحًا يدويًا قبل استخدامه. إذا كنت تدير ملفات محلية لتطبيق إنتاجي، فأنت تعلم أن إدخالها في واجهة ترجمة قياسية يخلق عملًا أكثر مما يوفر.

المشكلة أعمق من أسماء المفاتيح فقط. واجهات الترجمة القياسية تفسد أيضًا متغيرات التضمين. نص مثل "Hello {name}, you have {count} messages" يعود مع ترجمة أسماء المتغيرات — "Hola {nombre}, tienes {cuenta} mensajes" — مما يكسر كل وقت تشغيل كان يتوقع اسم المتغير الأصلي. يتبع ذلك ساعات من تصحيح الأخطاء.

بالنسبة للفرق التي تدير ملفات محلية عبر لغات متعددة لتطبيق إنتاجي، هذا ليس مجرد قلق نظري. لقد حدث بالفعل. السؤال هو كم يستغرق إصلاح اليدوي في كل مرة.

PolyLingo يتصفح JSON الخاص بك قبل الترجمة.

PolyLingo يفهم هيكل JSON. يتصفح كائنك بشكل متكرر، يحدد قيم النصوص التي تحتوي على نص قابل للترجمة، ويرسل تلك القيم فقط إلى نموذج الترجمة. أسماء المفاتيح لا تُعدل أبدًا. الأرقام، القيم المنطقية، القيم الفارغة، وأنواع غير النصوص تمر كما هي دون تغيير. الناتج هو JSON صالح بهيكل مطابق — فقط مع قيم نصوص مترجمة.

متغيرات التضمين — {name}، {{count}}، %s، وأنماط مماثلة — تُحدد وتُحفظ طوال عملية الترجمة. تُستبدل بعناصر نائب قبل الترجمة، وتُعاد إلى شكلها الأصلي في الإخراج. نموذج الترجمة لا يرى هذه المتغيرات كنص قابل للترجمة.

تُعالج المصفوفات بشكل صحيح: يُترجم كل عنصر نصي، بينما تبقى الفهارس الرقمية وهيكل المصفوفة دون تغيير. تُعالج المصفوفات المختلطة التي تحتوي على نصوص وأنواع غير نصية (أرقام، كائنات) بشكل صحيح مع تمرير الأنواع غير النصية دون تغيير.

الإدخال — ملف JSON محلي مسطح (إنجليزي)
{
  "nav_home": "Home",
  "nav_pricing": "Pricing",
  "hero_title": "Grow your audience globally",
  "hero_cta": "Get started for free",
  "footer_rights": "All rights reserved."
}
الإخراج — فرنسي (المفاتيح متطابقة)
{
  "nav_home": "Accueil",
  "nav_pricing": "Tarifs",
  "hero_title": "Développez votre audience mondiale",
  "hero_cta": "Commencer gratuitement",
  "footer_rights": "Tous droits réservés."
}
الإدخال — ملف JSON محلي متداخل (إنجليزي)
{
  "nav": {
    "home": "Home",
    "pricing": "Pricing",
    "blog": "Blog"
  },
  "hero": {
    "title": "Grow your audience globally",
    "subtitle": "Translate in seconds.",
    "cta": "Get started for free"
  },
  "errors": {
    "notFound": "Page not found",
    "serverError": "Something went wrong"
  }
}
الإخراج — إسباني (الهيكل سليم)
{
  "nav": {
    "home": "Inicio",
    "pricing": "Precios",
    "blog": "Blog"
  },
  "hero": {
    "title": "Expande tu audiencia globalmente",
    "subtitle": "Traduce en segundos.",
    "cta": "Comienza gratis"
  },
  "errors": {
    "notFound": "Página no encontrada",
    "serverError": "Algo salió mal"
  }
}
طلب API — الترجمة إلى 5 لغات في مكالمة واحدة
curl -X POST https://api.usepolylingo.com/v1/translate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "{\"nav_home\": \"Home\", \"hero_title\": \"Get started\"}",
    "format": "json",
    "targets": ["es", "fr", "de", "ja", "zh"],
    "model": "standard"
  }'

# Response:
# {
#   "translations": {
#     "es": "{\"nav_home\": \"Inicio\", \"hero_title\": \"Empezar\"}",
#     "fr": "{\"nav_home\": \"Accueil\", \"hero_title\": \"Commencer\"}",
#     ...
#   }
# }

ما تضمنه PolyLingo لكل ترجمة JSON

  • أسماء المفاتيح لا تُعدل أبدًا
  • التعامل مع الكائنات والمصفوفات المتداخلة بشكل متكرر
  • تمرير الأرقام، القيم المنطقية، والقيم الفارغة دون تغيير
  • جميع اللغات الـ 43 في طلب واحد
  • يُكتشف تلقائيًا كـ JSON — لا حاجة لعلامة تنسيق
  • يعمل مع ملفات محلية مسطحة وعميقة التداخل
  • متغيرات التضمين ({name}، {{count}}، %s) محفوظة بدقة
  • الناتج هو JSON صالح — قابل للتحليل دون تعديل

ثلاث خطوات لملفات محلية مترجمة

1

ألصق JSON الخاص بك أو استدعِ API

استخدم المترجم بدون كود للترجمات الفردية: ألصق JSON الخاص بك، اختر لغاتك، حمّل الملفات المترجمة. للأتمتة، استدعِ POST /v1/translate مع محتوى JSON الخاص بك وأكواد اللغات المستهدفة.

2

استلم كل اللغات في استجابة واحدة

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

3

ضع الإخراجات في مجلد الرسائل الخاص بك

اكتب كل ملف مترجم إلى messages/es.json، messages/fr.json، messages/de.json — أو حيثما تتوقع مكتبة i18n الخاصة بك. الهيكل مطابق لملف المصدر، لذا لا حاجة لمعالجة إضافية.

أين تهم ترجمة JSON أكثر

🌐

تدويل التطبيقات مع next-intl أو i18next

ترجم ملفات messages/*.json أو locales/*.json مباشرة. تبقى المفاتيح سليمة، يحفظ التداخل، وتصل متغيرات التضمين دون تعديل. ضع الملفات في مجلد الرسائل وانشر.

🗄️

تصدير محتوى CMS

غالبًا ما تصدر منصات CMS بدون رأس محتوى منظم كـ JSON. يترجم PolyLingo قيم النصوص مع الحفاظ على أسماء الحقول، وأنواع المحتوى المتداخلة، والقيم غير النصية مثل التواريخ، القيم المنطقية، والمعرفات.

⚙️

استجابات API وملفات التكوين

أي هيكل JSON يحتوي على قيم نصية قابلة للترجمة — أوصاف المنتجات، قوالب الإشعارات، نصوص داخل التطبيق تُقدم عبر API — يمكن ترجمته دون تعديل الهيكل الذي يعتمد عليه تطبيقك.

أسئلة متكررة حول ترجمة JSON

هل تُحفظ متغيرات التضمين مثل {name} أو {{count}}؟

نعم. يحدد PolyLingo أنماط التضمين الشائعة بما في ذلك {variable}، {{variable}}، %(variable)s، و%s قبل الترجمة. تُستبدل هذه بعناصر نائب مستقرة، يُترجم النص المحيط، وتُعاد أسماء المتغيرات الأصلية في الإخراج. نموذج الترجمة لا يرى أسماء المتغيرات كنص قابل للترجمة.

ماذا يحدث للقيم غير النصية — الأرقام، القيم المنطقية، الفارغة؟

تمر القيم غير النصية دون تغيير تمامًا. يترجم PolyLingo فقط قيم النصوص التي تحتوي على نص طبيعي. تُحفظ الأرقام، القيم المنطقية، القيم الفارغة، والمصفوفات التي تحتوي على غير نصوص كما هي في المصدر.

هل يمكن لـ PolyLingo التعامل مع هياكل JSON متداخلة بعمق؟

نعم. يتصفح PolyLingo الكائنات بأي عمق تداخل بشكل متكرر. تُطبق الترجمة على كل قيم النصوص في الهيكل، بغض النظر عن عمق التداخل.

ماذا لو احتوت بعض المفاتيح على محتوى غير قابل للترجمة مثل السلاجز أو الرموز؟

يترجم PolyLingo كل قيم النصوص بشكل افتراضي. إذا كان لديك حقول نصية لا يجب ترجمتها — سلاجز، رموز لغات، معرفات تقنية — النهج الموصى به هو استثناؤها من JSON الذي ترسله، أو استخدام معلمة التنسيق الصريحة وتحديد الحقول التي يجب تخطيها (قريبًا). لمعظم الملفات المحلية، كل قيم النصوص مخصصة للترجمة.

هل يعمل مع JSON5 أو JSONC (JSON مع تعليقات)؟

حاليًا يعالج PolyLingo JSON القياسي. يجب معالجة JSON5 وJSONC (مع التعليقات) مسبقًا لإزالة التعليقات وتحويلها إلى JSON قياسي قبل الإرسال. هذه خطوة شائعة في خطوط بناء البرمجيات وتضيف عبءًا ضئيلًا.

كم عدد اللغات التي يمكنني استهدافها في طلب واحد؟

حتى 30 لغة مدعومة في طلب واحد. تحتوي الاستجابة على كائن JSON مترجم لكل رمز لغة. تختلف حدود المعدل حسب الخطة — الخطة المجانية تسمح بـ 10 طلبات في الدقيقة، بينما خطط النمو والتوسع تسمح بـ 200–600 طلب في الدقيقة.

ترجم ملفاتك المحلية في ثوانٍ.

ألصق JSON الخاص بك، اختر لغاتك، واحصل على ملفات محلية صالحة لكل لغة مستهدفة.

ابدأ الترجمة مجانًا

ألصق JSON المحلي الخاص بك وشاهد الإخراج — مجانًا، لا حاجة لحساب.

ترجمة ملفات JSON المحلية دون لمس مفاتيحك — PolyLingo | PolyLingo