def chunk_str_list(fat_list, max_chars_per_list):
    """
    Splits a string list into multiple lists based on max_chars_per_list for processing over size-limited MT APIs
    """
    text_len = 0
    parent_list = []
    starting_point = 0
    for (index, text) in enumerate(fat_list):
        text_len += len(text)
        if text_len > max_chars_per_list or index == len(fat_list) - 1:  # and index != 0:
            parent_list.append(fat_list[starting_point:index + 1])
            starting_point = index + 1
            text_len = 0
    return parent_list