def METHOD_NAME(message_content, config_file, author, all_languages):
    message_content = message_content.strip()
    if message_content == "help" or message_content is None or not message_content.startswith('"'):
        return help_text
    split_text = message_content.rsplit('" ', 1)
    if len(split_text) == 1:
        return help_text
    split_text += split_text.pop(1).split(" ")
    if len(split_text) == 2:
        # There is no source language
        split_text.append("")
    if len(split_text) != 3:
        return help_text
    (text_to_translate, target_language, source_language) = split_text
    text_to_translate = text_to_translate[1:]
    target_language = get_code_for_language(target_language, all_languages)
    if target_language == "":
        return language_not_found_text.format("Target")
    if source_language != "":
        source_language = get_code_for_language(source_language, all_languages)
        if source_language == "":
            return language_not_found_text.format("Source")
    try:
        translated_text = translate(
            text_to_translate, config_file["key"], target_language, source_language
        )
    except requests.exceptions.ConnectionError as conn_err:
        return f"Could not connect to Google Translate. {conn_err}."
    except TranslateError as tr_err:
        return f"Translate Error. {tr_err}."
    except Exception as err:
        return f"Error. {err}."
    return f"{translated_text} (from {author})"