| Crates.io | translation-lib |
| lib.rs | translation-lib |
| version | 0.1.1 |
| created_at | 2025-07-27 22:26:02.841263+00 |
| updated_at | 2025-07-27 22:26:02.841263+00 |
| description | A simple and efficient translation library for Rust |
| homepage | |
| repository | https://github.com/your-org/translation-lib |
| max_upload_size | |
| id | 1770482 |
| size | 86,535 |
一个简单高效的 Rust 翻译库,支持文本和 HTML 翻译功能。
[dependencies]
translation-lib = "0.1.0"
# 如果需要 HTML 支持
translation-lib = { version = "0.1.0", features = ["html-support"] }
# 如果需要缓存功能
translation-lib = { version = "0.1.0", features = ["cache"] }
# 启用所有功能
translation-lib = { version = "0.1.0", features = ["html-support", "cache"] }
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);
Ok(())
}
use translation_lib::translate_text_simple;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 设置环境变量
// export TRANSLATION_API_URL="your-api-url"
// export TRANSLATION_API_KEY="your-api-key"
let result = translate_text_simple("Hello", "zh").await?;
println!("快速翻译: {}", result);
Ok(())
}
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());
let translator = Translator::new(config)?;
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::TranslationConfig;
use std::time::Duration;
let config = TranslationConfig::new("YOUR_API_URL".to_string())
.with_api_key("YOUR_API_KEY".to_string())
.with_timeout(Duration::from_secs(30))
.with_max_concurrent(5)
.with_cache(true);
TRANSLATION_API_URL: 翻译 API 地址TRANSLATION_API_KEY: API 密钥(如果需要)TRANSLATION_TIMEOUT: 请求超时时间(秒)TRANSLATION_MAX_CONCURRENT: 最大并发请求数TRANSLATION_ENABLE_CACHE: 是否启用缓存(true/false)Translator: 核心翻译器TranslationConfig: 配置结构TranslationError: 错误类型translate_text(text, target_lang): 翻译文本translate_html(html, target_lang): 翻译 HTML(需要 html-support 特性)translate_texts(texts, target_lang): 批量翻译translate_text_simple(text, target_lang): 简单文本翻译translate_html_simple(html, target_lang): 简单 HTML 翻译should_translate(text, target_lang): 检查是否需要翻译analyze_text(text): 分析文本特征库会自动跳过以下类型的内容:
use translation_lib::{TranslationError, TranslationResult};
match translator.translate_text("Hello", "zh").await {
Ok(result) => println!("翻译成功: {}", result),
Err(TranslationError::Network(msg)) => println!("网络错误: {}", msg),
Err(TranslationError::Api(msg)) => println!("API错误: {}", msg),
Err(TranslationError::RateLimit) => println!("请求频率过高"),
Err(e) => println!("其他错误: {}", e),
}
MIT OR Apache-2.0
欢迎提交 Issue 和 Pull Request!