import re

translate_table2 = {
    "sch": "щ",
    "yo": "ё",
    "zh": "ж",
    "ts": "ц",
    "ch": "ч",
    "sh": "ш",
    "je": "э",
    "yu": "ю",
    "ya": "я",

    "a": "а",
    "b": "б",
    "v": "в",
    "g": "г",
    "d": "д",
    "e": "е",
    "z": "з",
    "i": "и",

    "k": "к",
    "l": "л",
    "m": "м",
    "n": "н",
    "o": "о",
    "p": "п",
    "r": "р",
    "s": "с",
    "t": "т",
    "u": "у",
    "f": "ф",
    "h": "х",

    '"': "ъ",
    "y": "ы",
    "'": "ь",
}

def translate2(message):
    for s, r in translate_table2.items():
        message = message.replace(s, r)
    return message

def translate3(message):
    pat = '|'.join(translate_table2.keys());
    message = re.sub(f'({pat})', lambda m: translate_table2[m[1]], message)
    return message


print(translate3('zhopa'))