Crate markdown_translator

Crate markdown_translator 

Source
Expand description

§Markdown Translator

一个高性能的Rust翻译库,专为Markdown文档设计,提供智能文本翻译功能。

§主要特性

  • 智能代码块处理: 自动识别并跳过代码块,保持代码完整性
  • 并行翻译: 利用Rust异步特性,支持多任务并发翻译
  • 速率限制: 内置智能速率限制器,防止API过载
  • 配置灵活: 支持TOML配置文件和程序化配置
  • 错误恢复: 完善的错误处理和重试机制
  • 文本分块: 智能文本分割,处理长文档

§快速开始

use markdown_translator::{TranslationService, TranslationConfig};
 
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = TranslationConfig {
        enabled: true,
        source_lang: "en".to_string(),
        target_lang: "zh".to_string(),
        deeplx_api_url: "http://localhost:1188/translate".to_string(),
        max_requests_per_second: 1.0,
        max_text_length: 3000,
        max_paragraphs_per_request: 10,
    };
     
    let translator = TranslationService::new(config);
    let result = translator.translate("Hello, world!").await?;
    println!("Translation: {}", result);
     
    Ok(())
}

§配置文件支持

[translation]
enabled = true
source_lang = "auto"
target_lang = "zh"
deeplx_api_url = "http://localhost:1188/translate"
max_requests_per_second = 1.0
max_text_length = 3000
max_paragraphs_per_request = 10

Re-exports§

pub use config::TranslationLibConfig;
pub use error::TranslationError;
pub use error::Result;
pub use types::TranslationConfig;
pub use types::RetryConfig;
pub use types::DeepLXRequest;
pub use types::DeepLXResponse;
pub use types::DpTransRequest;
pub use types::TextSegment;
pub use translator::TranslationService;
pub use translator::RateLimiter;
pub use translator::retry_with_backoff;
pub use functional::TextItem;
pub use functional::TextType;
pub use functional::TextPriority;
pub use functional::Batch;
pub use functional::TextAnalysis;
pub use functional::TextFilter;
pub use functional::BatchManager;
pub use functional::create_text_item;
pub use functional::batch_analyze_texts;
pub use functional::create_optimized_batches;
pub use collector::DomNode;
pub use collector::TextCollector;
pub use collector::collect_translatable_texts;
pub use collector::group_texts_by_type;
pub use collector::group_texts_by_priority;
pub use simple_config::SimpleTranslationConfig;
pub use simple_config::ConfigBuilder;
pub use simple_config::SimpleConfigManager;
pub use simple_config::quick_config;
pub use simple_config::config_builder;
pub use simple_config::load_config_from_env;
pub use simple_config::validate_config;
pub use simple_config::presets;
pub use engine::UnifiedTranslationEngine;
pub use engine::EngineStats;
pub use engine::EngineHealth;
pub use engine::HealthStatus;
pub use engine::create_engine;
pub use engine::create_dev_engine;
pub use engine::create_prod_engine;

Modules§

collector
简化的DOM文本收集器模块
config
配置管理模块
engine
统一的翻译引擎模块
error
错误处理模块
functional
函数式翻译处理模块
simple_config
简化的翻译配置管理模块
translator
翻译服务核心模块
types
类型定义模块