Struct HtmlTranslator

Source
pub struct HtmlTranslator {
    config: TranslationConfig,
    text_collector: TextCollector,
    text_filter: TextFilter,
    batch_manager: BatchManager,
    cache_manager: Option<Arc<Mutex<CacheManager>>>,
    http_client: Client,
    stats: TranslationStats,
}
Expand description

HTML翻译器

这是库的主要接口,提供完整的HTML翻译功能

Fields§

§config: TranslationConfig

翻译配置

§text_collector: TextCollector

文本收集器

§text_filter: TextFilter

文本过滤器

§batch_manager: BatchManager

批次管理器

§cache_manager: Option<Arc<Mutex<CacheManager>>>

缓存管理器

§http_client: Client

HTTP客户端

§stats: TranslationStats

翻译统计

Implementations§

Source§

impl HtmlTranslator

Source

pub async fn new(config: TranslationConfig) -> TranslationResult<Self>

创建新的翻译器实例

Source

pub async fn translate_html(&mut self, html: &str) -> TranslationResult<String>

翻译HTML字符串

Source

pub async fn translate_file<P: AsRef<Path>>( &mut self, input_path: P, output_path: P, ) -> TranslationResult<()>

翻译HTML文件

Source

pub async fn translate_dom(&mut self, dom: RcDom) -> TranslationResult<RcDom>

翻译DOM树

Source

fn parse_html(&self, html: &str) -> TranslationResult<RcDom>

解析HTML字符串为DOM

Source

fn serialize_dom(&self, dom: RcDom) -> TranslationResult<String>

序列化DOM为HTML字符串

Source

async fn check_cache( &self, texts: &[TextItem], ) -> TranslationResult<(Vec<(TextItem, String)>, Vec<TextItem>)>

检查缓存

Source

async fn update_cache( &self, translations: &[(TextItem, String)], ) -> TranslationResult<()>

更新缓存

Source

async fn translate_batch( &self, batch: &[TextItem], ) -> TranslationResult<Vec<(TextItem, String)>>

翻译单个批次

Source

async fn call_translation_api(&self, text: &str) -> TranslationResult<String>

调用翻译API

Source

fn parse_translation_response( &self, response: &str, expected_count: usize, ) -> TranslationResult<Vec<String>>

解析翻译响应

Source

fn apply_translations_to_dom( &self, dom: RcDom, translations: Vec<(TextItem, String)>, ) -> TranslationResult<RcDom>

应用翻译到DOM

Source

pub fn get_stats(&self) -> &TranslationStats

获取翻译统计信息

Source

pub fn reset_stats(&mut 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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.

§

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

§

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
§

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, 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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,