fix: switch from MyMemory to Google Translate (no rate limit)
CI / Test (Python 3.11) (push) Has been cancelled
CI / Test (Python 3.12) (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Type Check (push) Has been cancelled
CI / Summary (push) Has been cancelled

This commit is contained in:
root
2026-03-28 00:54:47 +00:00
parent 4e27bcaa13
commit d0bbda745f
+11 -5
View File
@@ -278,16 +278,22 @@ class MetadataEnricher:
return metadata return metadata
async def _translate_to_french(self, text: str) -> str: async def _translate_to_french(self, text: str) -> str:
"""Translate text to French using MyMemory API (free, no key needed).""" """Translate text to French using Google Translate (free, no key)."""
try: try:
async with httpx.AsyncClient(timeout=15.0) as client: async with httpx.AsyncClient(timeout=15.0) as client:
response = await client.get( response = await client.get(
"https://api.mymemory.translated.net/get", "https://translate.googleapis.com/translate_a/single",
params={"q": text[:490], "langpair": "en|fr"}, params={
"client": "gtx",
"sl": "en",
"tl": "fr",
"dt": "t",
"q": text[:4900],
},
) )
data = response.json() data = response.json()
translated = data.get("responseData", {}).get("translatedText", "") translated = "".join(seg[0] for seg in data[0] if seg[0])
if translated and translated.lower() != text[: len(translated)].lower(): if translated:
return translated return translated
except Exception as e: except Exception as e:
logger.debug(f"Translation failed, using original: {e}") logger.debug(f"Translation failed, using original: {e}")