1
2
3
4
5
6
7
8
9
10
11
12
use async_trait::async_trait;
use std::error::Error;

#[async_trait]
pub trait TextTranslator {
    async fn translate(
        &mut self,
        source_text: &str,
        source_lang: &str,
        dest_lang: &str,
    ) -> Result<String, Box<dyn Error + Send + Sync>>;
}