diff --git a/packages/backend-rs/src/misc/translate.rs b/packages/backend-rs/src/misc/translate.rs
index 6f72f43d1b..7e9d5a005f 100644
--- a/packages/backend-rs/src/misc/translate.rs
+++ b/packages/backend-rs/src/misc/translate.rs
@@ -168,6 +168,13 @@ mod deepl_translate {
             source_lang: source_lang
                 .map(|s| s.to_owned())
                 .or(result.detected_source_language)
+                .and_then(|lang| {
+                    if lang.is_ascii() {
+                        Some(lang.to_ascii_lowercase())
+                    } else {
+                        None
+                    }
+                })
                 .unwrap_or_else(|| "unknown".to_owned()),
             text: result.text,
         };
@@ -250,7 +257,15 @@ mod libre_translate {
         Ok(super::Translation {
             source_lang: source_lang
                 .map(|s| s.to_owned())
-                .unwrap_or(result.detected_language.language),
+                .or(Some(result.detected_language.language))
+                .and_then(|lang| {
+                    if lang.is_ascii() {
+                        Some(lang.to_ascii_lowercase())
+                    } else {
+                        None
+                    }
+                })
+                .unwrap_or_else(|| "unknown".to_owned()),
             text: result.translated_text,
         })
     }