0Pricing
HTML Academy · درس

الترجمة باستخدام track وWebVTT

إضافة التسميات التوضيحية والترجمات إلى الفيديو باستخدام track وملفات .vtt

الترجمة باستخدام track وWebVTT درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.

التسميات التوضيحية والترجمة

تتطلب إمكانية الوصول إلى الفيديو بدائل نصية للمحتوى الصوتي:

  • الترجمة — تفريغ الحوار، مع افتراض قدرة المشاهد على سماع الأصوات
  • التسميات التوضيحية — الحوار بالإضافة إلى أوصاف الأصوات (للمستخدمين الصم)
  • الأوصاف الصوتية — وصف المحتوى المرئي للمستخدمين المكفوفين

عنصر track

يربط عنصر <track> ملف ترجمة أو تسميات توضيحية بفيديو:

<video controls>
  <source src="tutorial.mp4" type="video/mp4">
  <track
    src="tutorial-en.vtt"
    kind="subtitles"
    srclang="en"
    label="English"
    default
  >
  <track
    src="tutorial-es.vtt"
    kind="subtitles"
    srclang="es"
    label="Spanish"
  >
</video>

سمات track

سمات عنصر track:

  • src — مسار ملف VTT
  • kind — نوع المسار (subtitles وcaptions وdescriptions وchapters وmetadata)
  • srclang — رمز اللغة وفق BCP 47 (en وes وfr...)
  • label — اسم مفهوم للمستخدم يظهر في قائمة CC
  • default — قيمة منطقية؛ يُعرض هذا المسار افتراضيًا

تنسيق WebVTT

‏WebVTT (Web Video Text Tracks) هو تنسيق ملفات الترجمة:

WEBVTT

00:00:01.000 --> 00:00:04.000
Hello and welcome to the HTML5 tutorial.

00:00:04.500 --> 00:00:08.000
In this lesson, we'll cover the video element
and how to add subtitles.

00:00:09.000 --> 00:00:12.000
[Keyboard click sounds]
Let's look at a code example...

معرّفات إشارات VTT

يمكن أن تتضمن إشارات VTT معرّفات اختيارية:

WEBVTT

intro-1
00:00:01.000 --> 00:00:04.000
Welcome to the tutorial.

intro-2
00:00:04.500 --> 00:00:08.000
We'll cover HTML5 video today.

00:00:09.000 --> 00:00:12.000
No identifier on this cue — that is fine.

إعدادات إشارات VTT

تدعم إشارات VTT إعدادات تحديد الموضع:

WEBVTT

00:00:01.000 --> 00:00:04.000 position:10% align:left
This text is positioned at the left.

00:00:05.000 --> 00:00:08.000 line:10%
This text appears near the top.

00:00:09.000 --> 00:00:12.000 size:50% position:75%
A smaller caption on the right.

تنسيق إشارات WebVTT باستخدام CSS

نسّق مربعات الإشارات باستخدام العنصر الزائف ::cue:

/* Style all cues: */
::cue {
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  font-size: 1.2rem;
  font-family: 'Arial', sans-serif;
  padding: 0.2em 0.5em;
  border-radius: 4px;
}

/* Style specific voice tags: */
::cue(v[voice="Teacher"]) {
  color: #60a5fa;
}

قيم kind في track

تحدد سمة kind الغرض من مسار النص:

  • subtitles — ترجمة الحوار أو تفريغه
  • captions — الحوار بالإضافة إلى أوصاف الأصوات للمستخدمين الصم
  • descriptions — وصف صوتي للمحتوى المرئي للمستخدمين المكفوفين
  • chapters — عناوين الفصول للتنقل
  • metadata — بيانات قابلة للقراءة آليًا لاستخدامها في JavaScript

مسار الفصول

استخدم kind=chapters للتنقل بين فصول الفيديو:

<track
  kind="chapters"
  src="chapters.vtt"
  srclang="en"
  label="Chapters"
>

<!-- chapters.vtt: -->
<!--
WEBVTT

00:00:00.000 --> 00:01:30.000
Introduction

00:01:30.000 --> 00:05:00.000
HTML Document Structure

00:05:00.000 --> 00:10:00.000
Forms and Input
-->

واجهة JavaScript TextTrack البرمجية

يمكنك الوصول إلى بيانات المسار باستخدام واجهة TextTrack البرمجية:

const video = document.getElementById('tutorial');
const tracks = video.textTracks;

// Enable a track:
tracks[0].mode = 'showing';  // 'hidden', 'showing', or 'disabled'

// Listen for active cue changes:
tracks[0].addEventListener('cuechange', function() {
  const cue = this.activeCues[0];
  if (cue) console.log('Current cue:', cue.text);
});

مسار البيانات الوصفية للفيديو التفاعلي

استخدم مسارات البيانات الوصفية لتشغيل أحداث JavaScript في أوقات محددة:

<track kind="metadata" src="interactive.vtt" id="meta-track">

<script>
video.textTracks[0].mode = 'hidden';
video.textTracks[0].addEventListener('cuechange', function() {
  const cue = this.activeCues[0];
  if (cue) {
    const data = JSON.parse(cue.text);
    // Trigger quiz, show annotation, etc.
    showAnnotation(data);
  }
});
</script>

متطلبات إمكانية الوصول

يتطلب WCAG توفير تسميات توضيحية للفيديو المسجّل مسبقًا:

  • المستوى A — تسميات توضيحية لجميع مقاطع الفيديو المسجّلة مسبقًا التي تحتوي على صوت
  • المستوى AA — أوصاف صوتية لجميع مقاطع الفيديو المسجّلة مسبقًا
  • التسميات التوضيحية المُنشأة تلقائيًا (على YouTube) غير كافية من دون مراجعة
  • يجب أن تكون التسميات التوضيحية دقيقة ومتزامنة وكاملة

تحقق سريع

ما الفرق بين نوعي مساري subtitles وcaptions؟

خلاصة: track وWebVTT

أساسيات الترجمة والتسميات التوضيحية:

  • <track src kind srclang label default> داخل video
  • kind: ‏subtitles وcaptions وdescriptions وchapters وmetadata
  • تنسيق ملف WebVTT: ‏WEBVTT + الطابع الزمني --> الطابع الزمني + النص
  • نسّق الإشارات باستخدام العنصر الزائف لـCSS ::cue
  • يتطلب WCAG توفير تسميات توضيحية للفيديو المسجّل مسبقًا

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

هل درس «الترجمة باستخدام track وWebVTT» مجاني؟

نعم — نص درس «الترجمة باستخدام track وWebVTT» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.

ماذا ستتعلم في «الترجمة باستخدام track وWebVTT»؟

إضافة التسميات التوضيحية والترجمات إلى الفيديو باستخدام track وملفات .vtt تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟

لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «الترجمة باستخدام track وWebVTT»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟

نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عنصر audio وsrc وcontrols وloop وautoplay
  2. عنصر video ونسبة العرض إلى الارتفاع
  3. عنصر source للتنسيقات المتعددة
  4. الترجمة باستخدام track وWebVTT
← العودة إلى HTML Academy