Skip to main content

TranslateArgs

Struct TranslateArgs 

Source
pub struct TranslateArgs {
    pub paths: Vec<PathBuf>,
    pub input_paths: Vec<PathBuf>,
    pub recursive: bool,
    pub target_language: Option<String>,
    pub source_language: Option<String>,
    pub glossary: Option<PathBuf>,
    pub context: Option<String>,
    pub output: Option<PathBuf>,
    pub no_extract: bool,
    pub force: bool,
    pub replace: bool,
}
Expand description

Command-line arguments for AI-assisted subtitle translation.

All input collection flags follow the same conventions as the other mutating subtitle commands. Validation rules are intentionally enforced before any AI call so that user mistakes (missing glossary file, empty --target-language, etc.) do not consume API quota.

Fields§

§paths: Vec<PathBuf>

Positional file or directory paths to translate.

§input_paths: Vec<PathBuf>

Specify file or directory paths to process via repeated -i/--input.

§recursive: bool

Recursively process subdirectories.

§target_language: Option<String>

Required target language code or name (for example, zh-TW, ja, English). When omitted on the CLI, the value falls back to translation.default_target_language from configuration; if neither is provided the command fails with a usage-style error.

§source_language: Option<String>

Optional source language hint. When omitted, the AI provider is asked to detect or accept the source language automatically.

§glossary: Option<PathBuf>

Path to a UTF-8 text glossary file. Glossary entries take precedence over the AI-generated terminology map.

§context: Option<String>

Inline context guidance forwarded to the translation prompt (for example, "Use formal business tone").

§output: Option<PathBuf>

Output file (single-input mode) or directory (batch mode) for the translated subtitle(s).

§no_extract: bool

Disable automatic archive extraction for -i inputs.

§force: bool

Overwrite existing translated output files.

--overwrite is accepted as a visible alias for consistency with the user-facing command documentation.

§replace: bool

Replace each source subtitle file with its translated content. Existing backup settings still apply.

Implementations§

Source§

impl TranslateArgs

Source

pub fn validate(&self) -> Result<(), SubXError>

Validate the user-supplied arguments before invoking the translation engine.

Note: presence of a target language is validated by the command handler after combining CLI input with configured defaults; this function only validates that an explicitly provided --target-language is non-empty, along with the other guidance options.

§Errors

Returns SubXError::CommandExecution when:

  • --target-language is provided but empty after trimming.
  • --source-language is provided but empty after trimming.
  • --context is provided but empty after trimming.
  • --glossary points to a path that does not exist or is not a file.
Source

pub fn get_input_handler(&self) -> Result<InputPathHandler, SubXError>

Build an InputPathHandler from positional and -i paths, scoped to the subtitle file extensions supported by the rest of the pipeline.

Trait Implementations§

Source§

impl Args for TranslateArgs

Source§

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

impl Clone for TranslateArgs

Source§

fn clone(&self) -> TranslateArgs

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TranslateArgs

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for TranslateArgs

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more