shinkai-translator 0.1.3

CLI tool for translating video subtitles with LLMs through OpenAI-compatible APIs, with native PGS OCR
use thiserror::Error;

#[derive(Debug, Error)]
pub enum TranslatorError {
    #[error("unsupported subtitle format: {0}")]
    UnsupportedFormat(String),
    #[error("subtitle parse error: {0}")]
    Parse(String),
    #[error("OCR failed: {0}")]
    Ocr(String),
    #[error("external tool failed: {0}")]
    ExternalTool(String),
    #[error("invalid configuration: {0}")]
    InvalidConfig(String),
    #[error("provider returned an invalid response: {0}")]
    ProviderProtocol(String),
    #[error("provider request failed: {0}")]
    ProviderTransport(String),
    #[error("translation validation failed: {0}")]
    Validation(String),
    #[error("failed to initialize runtime: {0}")]
    RuntimeInit(String),
    #[error(transparent)]
    Io(#[from] std::io::Error),
    #[error(transparent)]
    Http(#[from] reqwest::Error),
    #[error(transparent)]
    Json(#[from] serde_json::Error),
}