Component Alignment buttons below the chat box

Hello everyone I locally using the streamlit to implement a simple chatbot.
How can I add the lang. buttons at after the chatbox at the end of layout. . My python version is 3.12…3 and streamlit version==1.40.1. How can I fix it?. here is my entire app code.

import streamlit as st
import os
import time
from dotenv import load_dotenv
import traceback
from azure.identity import ClientSecretCredential
from azure.keyvault.secrets import SecretClient
from pinecone import Pinecone

from langchain.globals import set_verbose

from langchain_openai import AzureOpenAIEmbeddings
from langchain_pinecone import PineconeVectorStore

from langchain_openai import ChatOpenAI

from langchain.chains import create_retrieval_chain
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_core.prompts import MessagesPlaceholder
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

# Set page title
st.set_page_config(
    page_title="NextCore Web Chatbot"
)
st.title("NextCore Web Chatbot")

# Language options
language_options = {
    "Arabic": "ar",
    "Chinese (Simplified)": "zh-Hans",
    "English": "en",
    "French": "fr",
    "Russian": "ru",
    "Spanish": "es",
    "Urdu":"ur"
}

language_names_dict ={
    "ar": "Arabic",
    "zh-Hans": "Chinese (Simplified)",
    "en": "English",
    "fr": "French",
    "ru": "Russian",
    "es": "Spanish",
    "ur": "Urdu"
}
# Dropdown for language selection
# selected_language = st.selectbox(
#     "Select the language for responses:",
#     options=list(language_options.keys()),
#     index=2  # Default to English
# )

# Initialize session state for selected language
if "selected_language" not in st.session_state:
    st.session_state.selected_language = "English"  # Default to English


# Initialize chat history in Streamlit's session state
if "chat_history" not in st.session_state:
    st.session_state.chat_history = []

def stream_response(response_text):
    for word in response_text.split():
        yield word + " "
        time.sleep(0.1)

# Display chat messages from history
for message in st.session_state.chat_history:
    with st.chat_message(message["role"], avatar='🕵🏻' if message["role"] == 'user' else None):
        st.markdown(message["content"])

# Accept user input

if prompt := st.chat_input("Ask me anything..."):
    prompt = prompt.strip()
    with st.chat_message("user", avatar='🕵🏻'):
        st.markdown(prompt)

    st.session_state.chat_history.append({"role": "user", "content": prompt})

    with st.spinner("Generating response..."):
        try:
            full_response = ""
            with st.chat_message("assistant"):
                response_container = st.empty()
                response_container.markdown("...")
                response = "Please help me with my issue."
                full_response
                for chunk in stream_response(response):
                    full_response += chunk
                    response_container.markdown(full_response)

        except Exception as e:
            st.error(f"An error occurred: {e}")
            full_response = "Sorry, an error occurred while generating the response."

    st.session_state.chat_history.append({"role": "assistant", "content": full_response})

st.markdown("---")  # Separator line
st.markdown("### Select a Language")
cols = st.columns(len(language_options))  # Create buttons in columns
for idx, (lang, details) in enumerate(language_options.items()):
    if cols[idx].button(
        lang, key=f"lang_{lang}"
    ):  # Use unique keys for buttons
        st.session_state.selected_language = lang  # Update the selected language

# Show currently selected language
st.markdown(f"**Selected Language: {st.session_state.selected_language}**")
``` Here is the snapshot:
![image|690x467](upload://cyJcqZoguUtzMcpsLwJ44AmnbO8.png)