subtitle library 文档
2026-08-08  / project  / sub-lib

Subtitle Library

A library of time-aligned subtitles for language learning and media sync. GitHub

This repository ships subtitles only. Matching audio / video is not included — each theme README explains how to download the corresponding media and how to use it with these files (same basename as the media so players can auto-load).

Layout

1
2
3
4
<lang>/<theme>/
README.md
srt/ | txt/ | … # flat themes (e.g. EnglishPod)
S01/E01/srt/ | S01/E01/txt/ … # episodic themes (season → episode)
Level Meaning Example
1 Language en
2 Theme / series PascalCase, no spaces or hyphens: EnglishPod, DowntonAbbey
3+ Formats, or season → episode → formats srt/, or S01/E01/srt/

Episodic paths use Sxx/Exx/; subtitle files still use SxxExx… basenames to match media. Episodic themes support full episode and clip naming; by default they ship clips only.

File naming (same basename as the matching media so players can auto-load):

Kind Pattern Example
Full unit {id}.srt englishpod_0001dg.srt, S01E01.srt
Clip (1×) {id}-t{start}.srt S01E01-t001211.srt
Clip + duration {id}-t{start}-d{duration}.srt S01E01-t001211-d000200.srt
Clip + rate {id}-t{start}-r{rate}.srt S01E01-t001211-r2.srt
Clip + both {id}-t{start}-d{duration}-r{rate}.srt S01E01-t001211-d000200-r2.srt
Field Meaning When to use
start Clip start on the source timeline (HHMMSS) Always required for clips
duration Clip file length (HHMMSS), not source span Only when two clips share the same start
rate Playback speed vs source (e.g. 2, 1.5) Only when ≠ 1×

Source end is not in the filename: end = start + duration × rate (use media/srt length when duration is omitted). Clip naming is supported for every theme; short lessons often only ship the full file, while episodic themes default to clips. Details in CONTEXT.md.

Themes

Path Language Notes
en/EnglishPod English Subtitles for EnglishPod Dialog tracks
en/DowntonAbbey English Downton Abbey clip subtitles (episodic; full-episode naming supported)

Contributing

See CONTEXT.md for directory conventions and what a theme README should cover.