youtube-legend-cli 0.4.0

Non-interactive Rust CLI that downloads YouTube subtitles through third-party providers, using a native Unix stdin/stdout interface.
//! Italian catalogue. Compiled only with the `i18n-europe` feature.

use super::Message;

/// Render `msg` in Italian.
pub(super) fn text(msg: Message) -> &'static str {
    match msg {
        Message::ErrInvalidUsage => "uso non valido",
        Message::ErrInvalidInput => "input non valido",
        Message::ErrStdinEmpty => "lo standard input è vuoto",
        Message::ErrInvalidUrl => "url non valido",
        Message::ErrNoSubtitle => "nessun sottotitolo",
        Message::ErrProviderUnavailable => "provider non disponibili",
        Message::ErrRateLimited => "limite di richieste imposto dal provider (HTTP 429)",
        Message::ErrTimeout => "tempo scaduto",
        Message::ErrIo => "errore di input/output",
        Message::ErrHttp => "errore http",
        Message::ErrUrlParse => "errore nell'analisi dell'url",
        Message::ErrSerde => "errore di serializzazione",
        Message::ErrCrypto => "errore di crittografia",
        Message::ErrSubtitleTooLarge => "il sottotitolo supera il limite",
        Message::ErrInternal => "errore interno",
        Message::ErrPlayerResponseMissing => "risposta del player mancante",
        Message::ErrPlayerResponseTooLarge => "risposta del player troppo grande",
        Message::ErrCaptionTrackNotFound => "traccia dei sottotitoli non trovata",
        Message::ErrCaptionsAsrOnly => "solo sottotitoli generati automaticamente, nessuno recuperabile",
        Message::ErrPlayabilityStatusDenied => "riproduzione negata dallo stato del video",
        Message::ErrLanguageParse => "errore nell'analisi della lingua",
        Message::ErrSignatureDecipherFailed => "decifratura della firma non riuscita",
        Message::ErrTimedtextUpstream => "errore del servizio timedtext",
        Message::ErrProviderProtocol => "errore di protocollo del provider",
        Message::ErrBrowserNotFound => "chromium/chrome non trovato",
        Message::ErrConfig => "errore di configurazione",
        Message::ErrCaptchaChallengeFrom => "sfida captcha proveniente da",
        Message::ErrCaptchaHumanRequired => "è necessaria l'interazione umana",
        Message::UnitBytes => "byte",
        Message::WordExceeds => "supera",
        Message::WordAvailable => "disponibili",

        Message::ReasonPrivateOrAgeRestricted => {
            "il video è privato o soggetto a limiti di età (HTTP 403)"
        }
        Message::ReasonNotFound => "video non trovato (HTTP 404)",
        Message::ReasonGone => "video rimosso dall'autore (HTTP 410)",
        Message::ReasonUnavailableForLegalReasons => {
            "video non disponibile per motivi legali (HTTP 451)"
        }
        Message::ReasonNotPublished => "nessun sottotitolo pubblicato per questo video",
        Message::ReasonLanguageUnavailable => "la lingua richiesta non è disponibile",

        Message::UsageBatchWithUrl => "--batch non può essere combinato con un url posizionale",
        Message::UsageNoUrl => {
            "nessun url fornito; passa un url posizionale, usa una pipe sullo standard input oppure usa --batch"
        }
        Message::UsageUrlTooLong => "l'url supera i 2048 caratteri",
        Message::UsageQuietWithVerbose => "--quiet non può essere combinato con --verbose",
        Message::UsageTimeoutZero => "--timeout deve essere maggiore di zero",
        Message::UsageCacheTtlZero => "--cache-ttl deve essere maggiore di zero",
        Message::UsageDryRunWithBatch => "--dry-run non può essere combinato con --batch",

        Message::ConfigCouldNotRead => "impossibile leggere il file di configurazione",
        Message::ConfigNotValidToml => "non è TOML valido",
        Message::ConfigUnknownKey => "configurazione: chiave sconosciuta",
        Message::ConfigKeyPrefix => "configurazione: la chiave",
        Message::ConfigWrongType => "ha il tipo sbagliato, atteso",
        Message::ConfigInvalidFormat => "configurazione: format non valido (atteso txt, srt o vtt)",
        Message::ConfigInvalidProvider => {
            "configurazione: provider non valido (usare --help per i valori accettati)"
        }
        Message::ConfigInvalidLogLevel => {
            "configurazione: log_level non valido (atteso error, warn, info, debug o trace)"
        }
        Message::ConfigInvalidLogFormat => {
            "configurazione: log_format non valido (atteso text o json)"
        }
        Message::ConfigInvalidColor => {
            "configurazione: color non valido (atteso auto, always o never)"
        }
        Message::ConfigInvalidUiLang => {
            "configurazione: ui_lang non valido per questa build"
        }

        Message::LangInvalidTag => "non è un tag di lingua BCP 47 valido",
        Message::LangUnsupportedUi => "lingua dell'interfaccia non compilata in questa build",

        Message::ErrTracingInit => "inizializzazione del tracing non riuscita",
        Message::ConfigDirUnavailable => {
            "impossibile determinare la directory di configurazione della piattaforma"
        }
        Message::ConfigKeyNotSet => "non è impostata; usa il valore predefinito compilato",
        Message::ConfigKeyIsSecret => {
            "è un segreto; usa --from-stdin, perché argv è visibile nella tabella dei processi a ogni utente dell'host"
        }
        Message::ConfigSetNeedsValue => "richiede un valore, oppure --from-stdin",
        Message::ConfigKeySetNeedsYes => "è attualmente impostata; usa il --yes globale prima del sottocomando `config` per rimuoverla",
        Message::ConfigUnknownKeyHint => "esegui `config list-keys` per vedere il registro",
        Message::ConfigExpectsInteger => "richiede un numero intero",
        Message::ConfigExpectsBoolean => "richiede un booleano, ma ha ricevuto",
    }
}