def separate_texts_by_languages(texts):
    """
    Takes a list of texts and returns a new dict of texts separated by language.

    :param texts:
    :return:
    """
    dict = {}
    for text in texts:
        lan = text.language
        if lan not in dict:
            dict[lan] = []
        dict[lan].append(text)
    return dict
