in evals/translators/google_translate.py [0:0]
def translate(texts):
"""Translates text into the target language.
Texts must be an ISO 639-1 language code.
See https://g.co/cloud/translate/v2/translate-reference#supported_languages
"""
source = os.environ["SRC"]
target = os.environ["TRG"]
def do_translate(partition):
try:
return translate_client.translate(
partition, target_language=target, source_language=source
)
except ServiceUnavailable:
return None
results = []
# decrease partition size if hitting limit of max 204800 bytes per request
for partition in tqdm(list(toolz.partition_all(77, texts))):
for _ in range(7):
response = do_translate(partition)
if response is not None:
break
time.sleep(60)
results += [r["translatedText"] for r in response]
return results