ترجمة JSON

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

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

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

أدوات الترجمة القياسية لا تفهم 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

  • أسماء المفاتيح لا تُعدل أبداً
  • التعامل مع الكائنات والمصفوفات المتداخلة بشكل متكرر
  • تمرير الأرقام والقيم المنطقية والقيم الخالية دون تغيير
  • كل اللغات الـ36 في طلب واحد
  • يُكتشف تلقائيًا كـ 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 قياسي قبل الإرسال. هذه خطوة شائعة في خطوط بناء البرمجيات وتضيف عبئًا ضئيلًا.

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

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

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

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

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

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

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