diff --git a/src/lib.rs b/src/lib.rs index 5da6756..6d9db03 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,9 +7,8 @@ pub mod deepl_helper { use std::{env::{self}}; pub struct Params { - source_lang: String, - target_lang: String, - file: String, + pub source_lang: String, + pub target_lang: String, key: String, uri: String, text: String, @@ -36,7 +35,6 @@ pub mod deepl_helper { Self { source_lang: matches.value_of("source").unwrap_or("0").to_string(), target_lang: matches.value_of("target").unwrap_or("EN-US").to_string(), - file: matches.value_of("file").unwrap_or_default().to_string(), key: env::var("key").unwrap(), uri: env::var("uri").unwrap(), text: matches.value_of("INPUT").unwrap().to_string(), @@ -54,7 +52,7 @@ pub mod deepl_helper { self.text, self.target_lang ) - .unwrap(); + .unwrap(); if self.source_lang != "0" { let add = sprintf!("&source_lang=%s", self.source_lang).unwrap(); @@ -77,13 +75,15 @@ pub mod deepl_helper { } impl DeeplResponse { - pub fn get_text(&self) -> String { - let mut trans = "\n".to_string(); + pub fn get_text(&self, target_language: &str) -> String { + let mut trans: String = String::new(); for translation in self.translations.iter() { - trans.push_str(&translation.text); + trans.push_str(&format!("--- Detected Source language {} -------------------------\n", translation.detected_source_language)); + trans.push_str(&format!("{}: {}", target_language, translation.text)); trans.push_str("\n"); + trans.push_str("---------------------------------------------------------\n"); } trans - } + } } } diff --git a/src/main.rs b/src/main.rs index 010b3c5..8724b9d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,6 +22,6 @@ async fn main() -> Result<(), Box> { let body_bytes = body::to_bytes(res.into_body()).await?; let body = String::from_utf8(body_bytes.to_vec()).expect("response was not valid utf-8"); let v: DeeplResponse = serde_json::from_str(&body)?; - println!("{}", v.get_text()); + println!("{}", v.get_text(¶ms.target_lang)); Ok(()) }