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.
//! Spanish catalogue. Compiled only with the `i18n-europe` feature.

use super::Message;

/// Render `msg` in Spanish.
pub(super) fn text(msg: Message) -> &'static str {
    match msg {
        Message::ErrInvalidUsage => "uso no válido",
        Message::ErrInvalidInput => "entrada no válida",
        Message::ErrStdinEmpty => "la entrada estándar está vacía",
        Message::ErrInvalidUrl => "url no válida",
        Message::ErrNoSubtitle => "sin subtítulo",
        Message::ErrProviderUnavailable => "proveedores no disponibles",
        Message::ErrRateLimited => "límite de peticiones impuesto por el proveedor (HTTP 429)",
        Message::ErrTimeout => "tiempo agotado",
        Message::ErrIo => "error de entrada y salida",
        Message::ErrHttp => "error http",
        Message::ErrUrlParse => "error al analizar la url",
        Message::ErrSerde => "error de serialización",
        Message::ErrCrypto => "error de criptografía",
        Message::ErrSubtitleTooLarge => "el subtítulo supera el límite",
        Message::ErrInternal => "error interno",
        Message::ErrPlayerResponseMissing => "falta la respuesta del reproductor",
        Message::ErrPlayerResponseTooLarge => "respuesta del reproductor demasiado grande",
        Message::ErrCaptionTrackNotFound => "pista de subtítulos no encontrada",
        Message::ErrCaptionsAsrOnly => "solo subtítulos generados automáticamente, ninguno entregable",
        Message::ErrPlayabilityStatusDenied => "reproducción denegada por el estado del vídeo",
        Message::ErrLanguageParse => "error al analizar el idioma",
        Message::ErrSignatureDecipherFailed => "no se pudo descifrar la firma",
        Message::ErrTimedtextUpstream => "error del servicio timedtext",
        Message::ErrProviderProtocol => "error de protocolo del proveedor",
        Message::ErrBrowserNotFound => "chromium/chrome no encontrado",
        Message::ErrConfig => "error de configuración",
        Message::ErrCaptchaChallengeFrom => "desafío captcha procedente de",
        Message::ErrCaptchaHumanRequired => "se requiere interacción humana",
        Message::UnitBytes => "bytes",
        Message::WordExceeds => "supera",
        Message::WordAvailable => "disponibles",

        Message::ReasonPrivateOrAgeRestricted => {
            "el vídeo es privado o tiene restricción de edad (HTTP 403)"
        }
        Message::ReasonNotFound => "vídeo no encontrado (HTTP 404)",
        Message::ReasonGone => "vídeo eliminado por el autor (HTTP 410)",
        Message::ReasonUnavailableForLegalReasons => {
            "vídeo no disponible por motivos legales (HTTP 451)"
        }
        Message::ReasonNotPublished => "no hay subtítulos publicados para este vídeo",
        Message::ReasonLanguageUnavailable => "el idioma solicitado no está disponible",

        Message::UsageBatchWithUrl => "--batch no se puede combinar con una url posicional",
        Message::UsageNoUrl => {
            "no se indicó ninguna url; pase una url posicional, use una tubería en la entrada estándar o use --batch"
        }
        Message::UsageUrlTooLong => "la url supera los 2048 caracteres",
        Message::UsageQuietWithVerbose => "--quiet no se puede combinar con --verbose",
        Message::UsageTimeoutZero => "--timeout debe ser mayor que cero",
        Message::UsageCacheTtlZero => "--cache-ttl debe ser mayor que cero",
        Message::UsageDryRunWithBatch => "--dry-run no se puede combinar con --batch",

        Message::ConfigCouldNotRead => "no se pudo leer el archivo de configuración",
        Message::ConfigNotValidToml => "no es TOML válido",
        Message::ConfigUnknownKey => "configuración: clave desconocida",
        Message::ConfigKeyPrefix => "configuración: la clave",
        Message::ConfigWrongType => "tiene el tipo incorrecto, se esperaba",
        Message::ConfigInvalidFormat => "configuración: format no válido (se esperaba txt, srt o vtt)",
        Message::ConfigInvalidProvider => {
            "configuración: provider no válido (use --help para ver los valores aceptados)"
        }
        Message::ConfigInvalidLogLevel => {
            "configuración: log_level no válido (se esperaba error, warn, info, debug o trace)"
        }
        Message::ConfigInvalidLogFormat => {
            "configuración: log_format no válido (se esperaba text o json)"
        }
        Message::ConfigInvalidColor => {
            "configuración: color no válido (se esperaba auto, always o never)"
        }
        Message::ConfigInvalidUiLang => "configuración: ui_lang no válido para esta compilación",

        Message::LangInvalidTag => "no es una etiqueta de idioma BCP 47 válida",
        Message::LangUnsupportedUi => "idioma de interfaz no compilado en esta versión",

        Message::ErrTracingInit => "fallo al iniciar el tracing",
        Message::ConfigDirUnavailable => {
            "no se pudo determinar el directorio de configuración de la plataforma"
        }
        Message::ConfigKeyNotSet => "no está definida; usa el valor por omisión compilado",
        Message::ConfigKeyIsSecret => {
            "es un secreto; use --from-stdin, porque argv es visible en la tabla de procesos para cualquier usuario del host"
        }
        Message::ConfigSetNeedsValue => "necesita un valor, o --from-stdin",
        Message::ConfigKeySetNeedsYes => "está definida actualmente; use el --yes global antes del subcomando `config` para eliminarla",
        Message::ConfigUnknownKeyHint => "ejecute `config list-keys` para ver el registro",
        Message::ConfigExpectsInteger => "espera un número entero",
        Message::ConfigExpectsBoolean => "espera un booleano, y recibió",
    }
}