aboutsummaryrefslogtreecommitdiff
path: root/src/modules/router/translate/deepl.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-03-31 17:49:21 -0700
committerFuwn <[email protected]>2023-03-31 17:49:21 -0700
commit397ce63b0c28fbbe95b4019dd22a4a360e8a083f (patch)
tree55aedcbfa0bef25168d8eae5f9c6f8f03f1379d5 /src/modules/router/translate/deepl.rs
parentrefactor(src): use response macros (diff)
downloadlocus-397ce63b0c28fbbe95b4019dd22a4a360e8a083f.tar.xz
locus-397ce63b0c28fbbe95b4019dd22a4a360e8a083f.zip
feat(translate): character set detection
Diffstat (limited to 'src/modules/router/translate/deepl.rs')
-rw-r--r--src/modules/router/translate/deepl.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/modules/router/translate/deepl.rs b/src/modules/router/translate/deepl.rs
index 00e7538..b1767e8 100644
--- a/src/modules/router/translate/deepl.rs
+++ b/src/modules/router/translate/deepl.rs
@@ -35,8 +35,11 @@ struct Translation {
pub detected_source_language: String,
}
-pub fn translate(text: &str, language: &str) -> DeepL {
- let deepl_response: DeepL = serde_json::from_str(
+pub fn translate(
+ text: &str,
+ language: &str,
+) -> Result<DeepL, serde_json::Error> {
+ let deepl_response: DeepL = serde_json::from_str({
&reqwest::blocking::Client::new()
.post("https://api-free.deepl.com/v2/translate")
.header(
@@ -47,11 +50,10 @@ pub fn translate(text: &str, language: &str) -> DeepL {
.send()
.unwrap()
.text()
- .unwrap(),
- )
- .unwrap();
+ .unwrap()
+ })?;
- deepl_response
+ Ok(deepl_response)
}
pub fn language_code_to_language_name(language_code: &str) -> String {