1.2 KiB
1.2 KiB
subtitle
목적 / 책임
SRT, SMI, VTT 등 자막 포맷을 파싱하고 공통 자막 모델로 변환한다.
포함 경로
lib/subtitle/— 자막 파서, 공통 모델, 시간 처리
제외 경로
lib/charset/— 문자셋 변환 및 코드 페이지 책임lib/platform/— 파일 접근과 플랫폼 분기 책임
주요 구성 요소
ParserBase— 파서 공통 계약과 HTML 태그 제거 로직Subtitles,Subtitle,Time— 자막 데이터 모델parser_srt.dart,parser_smi.dart,parser_vtt.dart— 포맷별 파서
유지할 패턴
- 포맷별 파서는
ParserBase계약을 유지한다. - 시간 처리 변경 시 기존 포맷별 파서의 경계값을 함께 점검한다.
다른 도메인과의 경계
- charset: 문자열 디코딩 문제는 charset 도메인에서 처리하고 subtitle은 파싱된 문자열 구조에 집중한다.
- application-core: 자막 모델을 앱 데이터 모델과 직접 결합하지 않는다.
금지 사항
- 특정 파일 시스템이나 네트워크 접근을 subtitle 파서에 직접 넣지 않는다.
- 포맷별 파서의 정규식 변경 시 다른 포맷 동작을 함께 수정하지 않는다.