fix: switch from MyMemory to Google Translate (no rate limit)
This commit is contained in:
@@ -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}")
|
||||||
|
|||||||
Reference in New Issue
Block a user