logo
Published on

StreamlitとDeepLで簡単翻訳アプリを作ってみました。

Authors

Streamlit+DeepL で簡単翻訳アプリを作ってみました。

動画を作ってみました。

使用パッケージ

packagedesc
streamlit簡単にウェブアプリを作れるパッケージ
deepl-translatedeepl の非公式パッケージ

ソースコード

  • deepl_tranlate 関数で、翻訳します。
  • main 関数では、streamlit で画面を作っています。
import deepl
import streamlit as st

LANGUAGES = {"英語": "EN", "日本語": "JA", "中国語": "ZH"}


def deepl_translate(text, src_lang="JA", target_lang="EN"):
    translated_text = deepl.translate(
        source_language=src_lang, target_language=target_lang, text=text
    )
    return translated_text


def main():
    st.title("Deepl by Streamlit")
    main_container = st.container()

    left_col, right_col = main_container.columns(2)

    # left area contents
    src_lang = left_col.selectbox(
        "入力テキストの言語",
        options=LANGUAGES,
    )
    input_text = left_col.text_area("テキストを入力してください。", height=500)

    # right area contents
    target_lang = right_col.selectbox(
        "翻訳後テキストの言語",
        options=LANGUAGES,
    )
    right_col.text_area(
        "翻訳後のtext",
        value=deepl_translate(
            input_text, src_lang=LANGUAGES[src_lang], target_lang=LANGUAGES[target_lang]
        ),
        height=500,
    )


if __name__ == "__main__":
    main()