def tokenize_akkadian_signs(word: str):
    """
    Takes tuple (word, language) and splits the word up into individual
    sign tuples (sign, language) in a list.

    input: ("{gisz}isz-pur-ram", "akkadian")
    output: [("gisz", "determinative"), ("isz", "akkadian"),
    ("pur", "akkadian"), ("ram", "akkadian")]

    :param: tuple created by word_tokenizer2
    :return: list of tuples: (sign, function or language)
    """
    word_signs = []
    sign = ''
    language = word[1]
    determinative = False
    for char in word[0]:
        if determinative is True:
            if char == '}':
                determinative = False
                if len(sign) > 0:
                    word_signs.append((sign, 'determinative'))
                sign = ''
                language = word[1]
                continue
            else:
                sign += char
                continue
        elif language == 'akkadian':
            if char == '{':
                if len(sign) > 0:
                    word_signs.append((sign, language))
                sign = ''
                determinative = True
                continue
            elif char == '_':
                if len(sign) > 0:
                    word_signs.append((sign, language))
                sign = ''
                language = 'sumerian'
                continue
            elif char == '-':
                if len(sign) > 0:
                    word_signs.append((sign, language))
                sign = ''
                language = word[1]
                continue
            else:
                sign += char
        elif language == 'sumerian':
            if char == '{':
                if len(sign) > 0:
                    word_signs.append((sign, language))
                sign = ''
                determinative = True
                continue
            elif char == '_':
                if len(sign) > 0:
                    word_signs.append((sign, language))
                sign = ''
                language = word[1]
                continue
            elif char == '-':
                if len(sign) > 0:
                    word_signs.append((sign, language))
                sign = ''
                language = word[1]
                continue
            else:
                sign += char
    if len(sign) > 0:
        word_signs.append((sign, language))
    return word_signs
