انتقل إلى المحتوى الرئيسي
SubtitleMatrix

تحويل JSON إلى SRT

أو ألصق نص الترجمة

ما يغيره هذا التحويل

3 أشياء تسقط أو تحتاج قرارا

  • التنسيق

    كل التنسيق (العريض والمائل واللون والتحديد والظل)

  • الموضع

    الموضع على الشاشة (يعود كل مقطع إلى الموضع الافتراضي)

  • الكاريوكي

    توقيت الكاريوكي (إبراز كل مقطع صوتي)

تأتي هذه القائمة من مصفوفة القدرات لهاتين الصيغتين، لا من الملف الذي حملته. وقد يفقد ملف بعينه أكثر إن استخدم ميزات تسمح بها الصيغة ولا تمثلها المصفوفة.

من JSON إلى SRT: الترجمة نفسها في غلاف آخر. ترتيب المقاطع في SRT يطابق ترتيبها في JSON. أرقام التوقيت متطابقة، والصياغة مختلفة: 1250 في JSON و00:00:01,250 في SRT.

الفرق بين JSON وSRT ليس شكليا هنا: التنسيق، الموضع على الشاشة وتوقيت الكاريوكي لا تجد موضعا في SRT. وهذا ما يذكره التقرير.

إن كان في JSON رمز زمني مشوه قبل كتابة SRT، يصلح إن أمكن. وإلا يسجل. ملفات JSON تعالج بالتتابع. هكذا تصل SRT بلا تنافس على الذاكرة. لا شيء من نص JSON أو أزمنته يمر بشبكة أثناء الكتابة إلى SRT.

أمثلة

ملف JSON نموذجي محول إلى SRT

الإدخال

{
  "version": 1,
  "title": "Fixture: typical",
  "fps": 25,
  "styles": {
    "Default": {
      "name": "Default",
      "fontFamily": "Arial",
      "fontSize": 20,
      "primaryColor": "#FFFFFF",
      "bold": false,
      "italic": false
    }
  },
  "generator": "subtitlematrix fixtures",
  "cues": [
    {
      "id": "1",
      "start": 0,
      "end": 2000,
      "lines": [
        "Hello world.",
        "Second line."
      ],
      "style": "Default",
      "position": {
        "x": 100,
        "y": 200,
        "align": "center"
      }
    },
    {
      "id": "2",
      "start": 2500,
      "end": 4000,
      "lines": [
        "Plain line.",
        {
          "text": "Styled line.",
          "tags": [
            {
              "kind": "italic",
              "start": 0,
              "end": 6
            }
          ]
        }
      ]
    },
    {
      "id": "3",
      "start": 4500,
      "end": 6000,
      "lines": [
        "Roger: I am here."
      ],
      "speaker": "Roger"
    }
  ]
}

الناتج

1
00:00:00,000 --> 00:00:02,000
Hello world.
Second line.

2
00:00:02,500 --> 00:00:04,000
Plain line.
<i>Styled</i> line.

3
00:00:04,500 --> 00:00:06,000
Roger: I am here.

المقارنة تظهر التنسيق، الموضع على الشاشة وتوقيت الكاريوكي؛ وما عدا ذلك يطابق سطرا بسطر بين JSON وSRT.

ملف JSON غير مرتب يخرج بصيغة SRT

الإدخال

[
    { "start": 0, "end": 1000, "lines": ["First."] },
    { "start": 1000, "end": 2000, "text": "Second." },
    "not an object",
    { "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]

الناتج

1
00:00:00,000 --> 00:00:01,000
First.

2
00:00:01,000 --> 00:00:02,000
Second.

3
00:00:02,000 --> 00:00:03,000
Third.

الملفات الحقيقية تصل هكذا: نهايات أسطر مختلطة. وفراغات وحقول فارغة. المحول يصلح أو يسجل، ولا يخفي شيئا عند إنتاج SRT من JSON.

الأسئلة الشائعة

هل تبقى أزمنة JSON نفسها داخل ملف SRT؟

قارن 1250 في JSON ب 00:00:01,250 في SRT لترى الفرق في الكتابة وحدها. لا تقرب قيمة ولا تستنتج نهاية: التوقيت في SRT منقول من JSON كما هو.

هل يخسر ملف JSON شيئا عندما يصبح SRT؟

ما لا ينتقل من JSON إلى SRT هو التنسيق، الموضع على الشاشة وتوقيت الكاريوكي. التقرير يعرضها بندا بندا، والنص نفسه يصل كاملا.

هل تحفظ فواصل الأسطر عند الانتقال من JSON إلى SRT؟

وسوم b وi تصل كما هي، لأن JSON يكتبها وSRT يقرؤها. الأوسع من ذلك يسقط: الموضع والكاريوكي.

ما الذي أخسره إذا رجعت من SRT إلى JSON؟

نعم. الاتجاه العكسي من SRT إلى JSON لا يسقط شيئا. الدورة تعيد كل شيء كما كان.

هل تبقى ملفات JSON على جهازي حتى تنزيل SRT؟

لا. ملف JSON يقرأ في تبويب المتصفح. لا طلب شبكة أثناء إنتاج SRT.

هل تنزل نتائج JSON بصيغة SRT مجتمعة أم ملفا ملفا؟

نعم. أفلت عدة ملفات JSON في آن واحد؛ الطابور يعالجها بالترتيب وكل ناتج SRT ينزل مستقلا داخل أرشيف ZIP.

ما البديل إن كنت أحتاج تفاصيل JSON التي يسقطها SRT؟

احفظ ملف JSON الأصلي؛ هو النسخة الكاملة. SRT ناتج عملي من JSON للعرض أو المشاركة، وليس أرشيفا كاملا.

أدوات ذات صلة