pub struct TranslationService { /* private fields */ }Expand description
翻译服务主类
提供完整的翻译功能,包括文本分块、并行处理、代码块跳过等高级特性。 支持多种翻译API,内置速率限制和错误恢复机制。
§示例
use markdown_translator::{TranslationService, TranslationConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = TranslationConfig::default();
let service = TranslationService::new(config);
let result = service.translate("Hello, world!").await?;
println!("Translation: {}", result);
Ok(())
}Implementations§
Source§impl TranslationService
impl TranslationService
Sourcepub fn new(config: TranslationConfig) -> Self
pub fn new(config: TranslationConfig) -> Self
创建新的翻译服务实例
§参数
config- 翻译配置,包含API地址、语言设置等
§示例
use markdown_translator::{TranslationService, TranslationConfig};
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 service = TranslationService::new(config);Sourcepub async fn translate(&self, text: &str) -> Result<String>
pub async fn translate(&self, text: &str) -> Result<String>
翻译文本
主要的翻译接口,支持智能分块、并行处理和代码块跳过。
§参数
text- 要翻译的文本,支持Markdown格式
§返回
Ok(String)- 翻译后的文本Err(TranslationError)- 翻译过程中的错误
§特性
- 自动检测并跳过代码块
- 智能文本分块,支持长文档
- 并行处理多个文本块
- 保持Markdown格式
§示例
use markdown_translator::{TranslationService, TranslationConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = TranslationConfig::default();
let service = TranslationService::new(config);
let markdown = r#"
This is a markdown document.
```rust
fn main() {
println!("Hello, world!");
}
```
"#;
let translated = service.translate(markdown).await?;
println!("{}", translated);
Ok(())
}Trait Implementations§
Source§impl Clone for TranslationService
impl Clone for TranslationService
Source§fn clone(&self) -> TranslationService
fn clone(&self) -> TranslationService
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TranslationService
impl !RefUnwindSafe for TranslationService
impl Send for TranslationService
impl Sync for TranslationService
impl Unpin for TranslationService
impl !UnwindSafe for TranslationService
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more