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 - 便利函数:简单文本翻译