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 = 10Re-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
- 类型定义模块