def translate()

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