تحويل TTML إلى JSON
أو ألصق نص الترجمة
ما يغيره هذا التحويل
شيء واحد يسقط أو يحتاج قرارا
- محتوى خاص بالصيغة
محتوى تحفظه صيغة المصدر خارج مقاطعها (كتل خارج المقاطع ونص ترويسة وإعدادات لكل مقطع وأحداث معلقة) — لا مكان له في صيغة الهدف
تأتي هذه القائمة من مصفوفة القدرات لهاتين الصيغتين، لا من الملف الذي حملته. وقد يفقد ملف بعينه أكثر إن استخدم ميزات تسمح بها الصيغة ولا تمثلها المصفوفة.
ضع ملف TTML لتحصل على JSON جاهزا للتنزيل. يكتب الوقت في TTML على صورة begin="00:00:01.250"، وفي JSON على صورة 1250. لا يعاد ترتيب شيء عند المرور إلى JSON.
ثمن الانتقال من TTML إلى JSON معروف مسبقا: محتوى الصيغة. ويظهر الثمن قبل التنزيل.
ملف TTML القديم قد يحمل BOM أو CRLF. تحويله إلى JSON يتجاوزهما. كل ملف TTML ينتهي إلى JSON مستقل، والأرشيف النهائي يجمعها بلا خلط. لا يخزن TTML خارج جهازك أثناء تحويله إلى JSON. ولا يرسل إلى خدمة خارجية.
أمثلة
ملف TTML نموذجي محول إلى JSON
الإدخال
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head>
<styling>
<style xml:id="s1" tts:color="#FFFF00" tts:fontWeight="bold"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
</layout>
</head>
<body>
<div>
<p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
</div>
</body>
</tt>
الناتج
{
"version": 1,
"cues": [
{
"start": 1000,
"end": 3500,
"lines": [
{
"text": "Hello there.",
"tags": [
{
"kind": "italic",
"start": 6,
"end": 11
}
]
}
]
},
{
"start": 3500,
"end": 6000,
"lines": [
"How are you?",
"Fine, thanks."
]
}
]
}
المقارنة تظهر محتوى الصيغة؛ وما عدا ذلك يطابق سطرا بسطر بين TTML وJSON.
ملف TTML غير مرتب يخرج بصيغة JSON
الإدخال
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:frameRate="25" xml:lang="en">
<body>
<div>
<p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
<p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
<p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
<p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom & Jerry.</p>
</div>
</body>
</tt>
الناتج
{
"version": 1,
"cues": [
{
"start": 1500,
"end": 3500,
"lines": [
"Loaded from an offset and a duration."
]
},
{
"start": 4000,
"end": 6500,
"lines": [
"A coarser clock spelling."
]
},
{
"start": 7000,
"end": 8480,
"lines": [
"Frames, at 25fps."
]
},
{
"start": 9000,
"end": 11000,
"lines": [
{
"text": "Half-open and Tom & Jerry.",
"tags": [
{
"kind": "color",
"start": 0,
"end": 9,
"value": "#FF0000"
}
]
}
]
}
]
}
الملفات الحقيقية تصل هكذا: نهايات أسطر مختلطة. وفراغات وحقول فارغة. المحول يصلح أو يسجل، ولا يخفي شيئا عند إنتاج JSON من TTML.
الأسئلة الشائعة
كيف تكتب لحظة من ملف TTML داخل JSON؟
قارن begin="00:00:01.250" في TTML ب 1250 في JSON لترى الفرق في الكتابة وحدها. لا تقرب قيمة ولا تستنتج نهاية: التوقيت في JSON منقول من TTML كما هو.
ما البنود التي لا تنتقل من TTML إلى JSON؟
في تحويل TTML إلى JSON يفقد محتوى الصيغة. هذا هو الثمن الكامل، وما عداه ينتقل.
هل تبقى وسوم التنسيق داخل النص من TTML إلى JSON؟
النص ينتقل من TTML إلى JSON كما هو، وما يعرفه JSON من وسوم يبقى. أما المجهول فيكتب نصا في تقرير JSON. أو يسجل، ولا يحول إلى وسم مخترع.
هل تحويل JSON إلى TTML يعيد كل ما فقده الاتجاه الأول؟
ليس كاملا. إرجاع JSON إلى TTML يسقط توقيت الكاريوكي، وهي قائمة تخص ملفات JSON الحقيقية. النسخة الأصلية من TTML تبقى المرجع الآمن.
هل يرفع ملف TTML إلى خادم أثناء إنتاجه بصيغة JSON؟
لا. ملف TTML يقرأ في تبويب المتصفح. لا طلب شبكة أثناء إنتاج JSON.
هل أستطيع تحويل عشرات ملفات TTML إلى JSON دفعة واحدة؟
الدفعة مدعومة: ملفات TTML تمر بالتتابع. وما اكتمل من JSON محفوظ. الإلغاء متاح في أي لحظة.
أين أجد تفاصيل TTML التي لم تنتقل إلى JSON؟
احفظ ملف TTML الأصلي؛ هو النسخة الكاملة. JSON ناتج عملي من TTML للعرض أو المشاركة، وليس أرشيفا كاملا.