Crate translation_lib

Crate translation_lib 

Source
Expand description

§Translation Library

一个简单高效的Rust翻译库,支持文本和HTML翻译功能。

§主要特性

  • 多格式支持: 支持纯文本、HTML和DOM翻译
  • 智能过滤: 自动识别并跳过代码、URL、邮箱等不需要翻译的内容
  • 并发翻译: 基于tokio的异步并发处理
  • 缓存机制: 内置LRU缓存,避免重复翻译
  • 错误处理: 完善的错误处理和自动重试机制
  • 语言检测: 智能检测文本语言,避免不必要的翻译

§快速开始

use translation_lib::{Translator, TranslationConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = TranslationConfig::new("YOUR_API_URL".to_string())
        .with_api_key("YOUR_API_KEY".to_string());
    let translator = Translator::new(config)?;
     
    // 文本翻译
    let result = translator.translate_text("Hello, world!", "zh").await?;
    println!("翻译结果: {}", result);
     
    // HTML翻译
    let html = r#"<p>Hello <span>World</span></p>"#;
    let translated_html = translator.translate_html(html, "zh").await?;
    println!("HTML翻译: {}", translated_html);
     
    Ok(())
}

§使用环境变量配置

use translation_lib::translate_text_simple;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // 设置环境变量: TRANSLATION_API_URL
    let result = translate_text_simple("Hello", "zh").await?;
    println!("快速翻译: {}", result);
    Ok(())
}

Re-exports§

pub use config::TranslationConfig;
pub use error::TranslationError;
pub use error::TranslationResult;
pub use translator::Translator;
pub use types::TextAnalysis;
pub use types::TextType;

Modules§

config
配置管理模块
error
错误处理模块
translator
翻译器核心模块
types
类型定义模块

Functions§

analyze_text
分析文本特征
should_translate
检查文本是否应该翻译
translate_html_simple
便利函数:简单HTML翻译
translate_text_simple
便利函数:简单文本翻译