def language_to_id()

in training/run_eval.py [0:0]


def language_to_id(language: str, generation_config) -> str:
    language = language.lower()
    if language in generation_config.lang_to_id.keys():
        language_token = language
    elif language in TO_LANGUAGE_CODE.keys():
        language_token = f"<|{TO_LANGUAGE_CODE[language]}|>"
    elif language in TO_LANGUAGE_CODE.values():
        language_token = f"<|{language}|>"
    else:
        is_language_code = len(language) == 2
        raise ValueError(
            f"Unsupported language: {language}. Language should be one of:"
            f" {list(TO_LANGUAGE_CODE.values()) if is_language_code else list(TO_LANGUAGE_CODE.keys())}."
        )
    if language_token not in generation_config.lang_to_id:
        raise ValueError(
            f"{language_token} is not supported by this specific model as it is not in the `generation_config.lang_to_id`."
            "(You should just add it to the generation config)"
        )

    return language_token