إزالة وسوم HTML من الترجمة
أو ألصق نص الترجمة
الخيارات
صندوق واحد وسبعة خيارات، ولكل خيار صفحته. وItalic وBold وUnderline وColor تزيل ذلك النوع الواحد من النطاق وتترك بقية تنسيق السطر. وAll تزيل كل نطاق تمثله الأداة — الأربعة وتوقيت الكاريوكي — وتترك كل ما عداها في النص. وHTML تفعل الشيء نفسه ثم تكنس أيضا ترميز الأقواس الزاوية المتبقي في النص لأن الأداة لا تمثله، مثل وسوم المتحدث <v Bob> و<c.className> في VTT. وASS تفعل ذلك لكتل التجاوز بدلا من ذلك، فتمحو أكواد {…} التي لم تعرف وقت القراءة، مثل {\fad(500,500)}. وهذه الصفحة تملأ الصندوق بالخيار الذي يسميه عنوانها ولا تسرد غيره.
معدل الإطارات الذي تحسب به التوقيتات. في صفحات الصيغ هو ما يحتاجه MicroDVD، لأنه يخزن التوقيت أرقام إطارات. وفي صفحات معدل الإطارات هو المعدل الذي وقت به الملف — النسخة التي صنعت لها الترجمة — ويأخذ الصندوق الثاني في الصفحة معدل الفيديو الذي ستستخدمها معه. والشائعة 23.976 و24 و25 و29.97 و30 و50 و59.94 و60. والخطأ فيه يزحزح الخط الزمني كله، وفي صفحات معدل الإطارات يزحزحه بنسبة لا بمقدار ثابت.
تنزع هذه الصفحة الترميز من نص الترجمة: كل نطاق تنسيق يحمله الملف، زائد وسوم الأقواس الزاوية المتبقية في النص نفسه. وما يعود حوار نصي عادي واضح — الكلمات والتوقيتات ولا شيء غيرها. وهي الخطوة المناسبة لملف لا يزال نصه يحمل وسم متحدث أو وسم فئة أو وسما ختاميا شاردا في منتصف سطر.
ولهذا تستحق هذه الصفحة أن تكون منفصلة عن أداة إزالة التنسيق كله. فالمحرك يعرف وسوم التوكيد الأربعة التي يفهمها ويترك كل ما عداها حيث وجده، وهو القرار الصحيح أثناء قراءة ملف — فأكل ترميز لا يعرفه بصمت ضياع للبيانات. لكنه يعني أن ملف WebVTT فيه <v Bob> يحتفظ بذلك الوسم عبر كل عملية تنظيف أخرى في الموقع، وأن ملفا مر بالتعرف الضوئي أو بالتحرير اليدوي كثيرا ما يحمل وسما ختاميا غير متطابق في منتصف سطر. وهذه الصفحة هي التي تمسحها، وعنوانها يقول ذلك.
المسح ضيق عن قصد. لا يحذف إلا ما يشبه وسما — حرف أو شرطة مائلة بعد قوس الفتح مباشرة. فمقارنة في الحوار مثل 5 < 10 ووجه حزين مثل <3 لا يمسان، لأن قاعدة أوسع ستحذف الكلمات بين القوسين وتترك في الناتج ما لا يدل على أنها فعلت. وما لا ينمذجه المحرك لا يخمنه هذا المسح.
لا شيء يغادر جهازك: تقرأ الأداة الملف وتعيد كتابته في النافذة نفسها. والملف الذي هو نص عادي من قبل يعود كما دخل، وهو أيضا أرخص طريق لمعرفة هل الترميز الخفي الذي تشك فيه موجود حقا.
أمثلة
ملف WebVTT فيه وسم متحدث ووسم فئة
الإدخال
WEBVTT
00:00:01.000 --> 00:00:02.000
<v Bob><c.yellow>Hello there</c>
00:00:03.000 --> 00:00:04.000
<i>She left</i> <ruby>東京<rt>とうきょう</rt></ruby>.
الناتج
WEBVTT
00:00:01.000 --> 00:00:02.000
Hello there
00:00:03.000 --> 00:00:04.000
She left 東京とうきょう.
يذهب وسم المتحدث ووسم الفئة والمائل وتعليق ruby معا، وتبقى الكلمات. لاحظ المقطع الثاني: القراءة داخل <rt> كانت نصا لا ترميزا، فتبقى — ويظهر الناتج الكانا إلى جانب الكانجي، وهو ما كان المشغل سيعرضه على أي حال.
ملف SRT فيه وسم ختامي غير متطابق
الإدخال
1
00:00:01,000 --> 00:00:02,000
<i>Hello</i> there</i> again.
2
00:00:03,000 --> 00:00:04,000
<b>And</b> one more.
الناتج
1
00:00:01,000 --> 00:00:02,000
Hello there again.
2
00:00:03,000 --> 00:00:04,000
And one more.
قرئ الزوج حول Hello نطاقا وأزيل كوحدة، وأما </i> الشارد بعد there فتركه القارئ في النص ويمسح هنا. كلاهما يخرج من الناتج، وهذا هو المقصد من أداء المهمتين في خطوة واحدة: الوسوم غير المتطابقة هي ما يعود به الملف بعد التعرف الضوئي أو التحرير اليدوي.
المقارنات والرموز ليست وسوما
الإدخال
1
00:00:01,000 --> 00:00:02,000
5 < 10 and 3 > 1
2
00:00:03,000 --> 00:00:04,000
<3 you
الناتج
1
00:00:01,000 --> 00:00:02,000
5 < 10 and 3 > 1
2
00:00:03,000 --> 00:00:04,000
<3 you
لا يحذف شيء، وهذا هو نصف الصفحة الأهم. لا يمس المسح إلا ما يشبه وسما، أي حرف أو شرطة مائلة بعد القوس مباشرة؛ فمقارنة رياضية وقلب مصنوع من علامة أصغر من ينجوان دون مساس، وكذلك كل ما كتب بين قوسين.
الأسئلة الشائعة
ما الفرق بين حذف أكواد HTML وحذف كل وسوم التنسيق؟
هذه تؤدي تلك المهمة ثم تذهب أبعد. حذف التنسيق ينزع نطاقات التوكيد التي يعرفها المحرك — المائل والعريض والتسطير واللون والكاريوكي. وهذه الصفحة تحذفها كذلك، ثم تمسح وسوم الأقواس الزاوية المتبقية في النص نفسه: وسوم المتحدث ووسوم الفئة وترميز ruby والوسوم الختامية الشاردة أو غير المتطابقة. وإن لم يحمل ملفك ترميزا كهذا فالصفحتان تنتجان الناتج نفسه.
أي وسوم يحذفها مسح أكواد HTML وأيها يتركها؟
يحذف كل ما يشبه وسما: قوس فتح يليه فورا حرف أو شرطة مائلة، حتى قوس الإغلاق التالي. ولا يمس قوسا يليه شيء آخر، فمقارنة مثل 5 < 10 ورمز مثل <3 يمران دون تغيير. وهذا الضيق مقصود — قاعدة أوسع ستحذف حوارا بين قوسين ولا تترك في الناتج أي أثر.
هل تحذف الصفحة الكلمات التي كانت داخل وسم محذوف من أكواد HTML؟
يتوقف على ما كان داخله. تذهب خصائص الوسم معه، ويذهب كل ما يتعشش داخل وسم يحذف هو نفسه — فالقراءة داخل تعليق ruby نص وتبقى في السطر بينما يختفي ترميز ruby حولها. وما لا يحدث أبدا هو حذف نص يقف بين قوسين في حوار عادي، لأن ذلك ليس على شكل وسم.
هل يظل الناتج صالحا في المشغل بعد زوال أكواد HTML؟
نعم، وبموثوقية أكبر من قبل. تسمح WebVTT بوسم ختامي غير متطابق دون اعتراض، لكن وسم متحدث ينقصه قوس إغلاق قد يبتلع بقية السطر في بعض المشغلات، والمشغلات تختلف في معنى وسم غير مألوف. والنص العادي لا يحمل هذا الالتباس، ولهذا يكون الملف المتجه إلى منصة تتجاوز التنسيق أفضل حالا منظفا لا منسقا.
هل يمكن حذف ترميز HTML المتبقي وحده مع إبقاء المائل؟
ليس في هذه الصفحة: تذهب نطاقات التوكيد أولا ثم يجري المسح بعدها، فملف فيه مائل يعود بلا مائل. وهذا الترتيب ليس اعتباطيا — حذف الترميز يقصر النص، وكل نطاق بعده يجب إعادة حسابه ليبقى مشيرا إلى الأحرف الصحيحة. وأداء المهمتين معا هو ما يجعل النتيجة دقيقة، فلا إعداد نصفي هنا.
لماذا لم يبلغ تشغيل حذف أكواد HTML عن شيء وملفي فيه ترميز ظاهر؟
السبب المرجح أن الترميز ليس على شكل وسم: القوس الذي يليه فراغ أو رقم أو رمز يترك عن قصد، فلم يحذف شيء وعاد الملف كما دخل. وإن كان الملف فيه شيء مثل <v Bob> وعاد دون تغيير، فتأكد أنه الملف الذي تظنه — فالصفحة تعتمد على ما يعلن عنه الملف من صيغة لا على امتداده.