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

تحويل ASS إلى TTML

تحويل الصيغAdvanced SubStation Alpha (ASS)
أو ألصق نص الترجمة

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

شيئان يسقطان أو يحتاجان قرارا

  • الكاريوكي

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

  • محتوى خاص بالصيغة

    محتوى تحفظه صيغة المصدر خارج مقاطعها (كتل خارج المقاطع ونص ترويسة وإعدادات لكل مقطع وأحداث معلقة) — لا مكان له في صيغة الهدف

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

التحويل من ASS إلى TTML لا يغير كلمات الترجمة. الرمز الزمني في ASS يبدو هكذا: 0:00:01.25، وفي TTML هكذا: begin="00:00:01.250". يبقى النص في TTML كما كان في ASS.

هذه قائمة ما يفقده TTML عند قراءته من ASS: توقيت الكاريوكي ومحتوى الصيغة. ما عدا ذلك ينتقل كما هو.

ملف ASS القديم قد يحمل BOM أو CRLF. تحويله إلى TTML يتجاوزهما. إيقاف الدفعة لا يضيع ما اكتمل. كل ناتج TTML محفوظ. لا يغادر ملف ASS جهازك أثناء إنتاجه بصيغة TTML.

أمثلة

ملف ASS نموذجي محول إلى TTML

الإدخال

[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left

الناتج

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:04.000">Hello there.</p>
<p begin="00:00:05.000" end="00:00:08.500"><span tts:fontStyle="italic">Italic</span> and <span tts:fontWeight="bold">bold</span> text.</p>
<p begin="00:00:09.000" end="00:00:12.000">Positioned</p>
<p begin="00:00:13.000" end="00:00:16.000">karaoke</p>
<p begin="00:00:17.000" end="00:00:20.000">Line one<br/>Line two</p>
<p begin="00:00:21.000" end="00:00:24.000">Top left</p>  </body>
</tt>

المقارنة تظهر توقيت الكاريوكي ومحتوى الصيغة؛ وما عدا ذلك يطابق سطرا بسطر بين ASS وTTML.

ملف ASS غير مرتب يخرج بصيغة TTML

الإدخال

[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecode

الناتج

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:04.000">Hello, world</p>
<p begin="00:00:05.000" end="00:00:08.000">{\fad(300,300)}Unmodelled override</p>
<p begin="00:00:09.000" end="00:00:12.000">Both, wrong order</p>
<p begin="00:00:13.000" end="00:00:16.500">One decimal centisecond</p>
<p begin="00:00:17.000" end="00:00:20.000">Soft<br/>break</p>  </body>
</tt>

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

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

ما الذي يحدث للتوقيت عند الانتقال من ASS إلى TTML؟

ASS يكتب 0:00:01.25، وTTML يكتب begin="00:00:01.250"، والقيمة الزمنية واحدة. لا خسارة في الأرقام هنا؛ TTML يستقبل أزمنة ASS كاملة.

هل يوجد فقدان عند إنتاج TTML من ASS؟

قائمة ما يفقده TTML من ASS: توقيت الكاريوكي ومحتوى الصيغة. لا شيء منها يخفى. ولا وسم مزيف يدخل TTML.

ماذا يحدث للأسطر المتعددة داخل المقطع عند تحويل ASS إلى TTML؟

النص ينتقل من ASS إلى TTML كما هو، وما يعرفه TTML من وسوم يبقى. أما المجهول فيكتب نصا في تقرير TTML. أو يسجل، ولا يحول إلى وسم مخترع.

هل الدورة الكاملة بين ASS وTTML آمنة؟

ليس كاملا. إرجاع TTML إلى ASS يسقط الدقة الزمنية ومحتوى الصيغة، وهي قائمة تخص ملفات TTML الحقيقية. النسخة الأصلية من ASS تبقى المرجع الآمن.

هل يرفع ملف ASS إلى خادم أثناء إنتاجه بصيغة TTML؟

ملفات ASS لا ترفع ولا تخزن خارج جهازك؛ التحويل إلى TTML يجري في المتصفح وحده.

هل يمكن إلغاء تحويل مجموعة ملفات ASS إلى TTML في منتصفها؟

كل ملفات ASS التي تفلتها تدخل طابورا واحدا، والنتائج تخرج بصيغة TTML في أرشيف واحد.

هل توجد طريقة لعدم خسارة ما يسقط من ASS عند التحويل إلى TTML؟

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

أدوات ذات صلة