import streamlit as st import joblib # تحميل الموديل @st.cache_resource # حتى لا يعيد التحميل كل مرة def load_model(): model = joblib.load("model.joblib") # غيّر الاسم حسب اسم الملف return model model = load_model() # اللغات languages = { "🇲🇦 العربية": {"title": "📊 توقع حالة النبات", "predict": "🔍 تنبؤ", "result": "🔍 النتيجة", "temp": "درجة الحرارة (°C)", "hum": "الرطوبة (%)", "tds": "قيمة TDS (ppm)", "ph": "مستوى pH", "days": "أيام النمو"}, "🇺🇸 English": {"title": "📊 Plant Status Prediction", "predict": "🔍 Predict", "result": "🔍 Result", "temp": "Temperature (°C)", "hum": "Humidity (%)", "tds": "TDS Value (ppm)", "ph": "pH Level", "days": "Growth Days"}, "🇫🇷 Français": {"title": "📊 Prédiction de l'État de la Plante", "predict": "🔍 Prédire", "result": "🔍 Résultat", "temp": "Température (°C)", "hum": "Humidité (%)", "tds": "Valeur TDS (ppm)", "ph": "Niveau pH", "days": "Jours de croissance"} } # اختيار اللغة language = st.sidebar.selectbox( "🌍 اختر اللغة / Choose Language / Choisissez la langue", list(languages.keys()), key="language_selectbox" # إضافة مفتاح فريد ) texts = languages[language] # اختيار الوضع (Light or Dark Mode) theme = st.sidebar.radio( "🌙/🌞 اختر الوضع", ("Light Mode", "Dark Mode"), key="theme_radio" # مفتاح فريد للوضع ) # تخصيص الألوان في الوضع الفاتح if theme == "Light Mode": st.markdown( """ """, unsafe_allow_html=True) else: st.markdown( """ """, unsafe_allow_html=True) # العنوان st.markdown(f"

{texts['title']}

", unsafe_allow_html=True) # إدخال البيانات من المستخدم col1, col2 = st.columns(2) with col1: temp = st.number_input(texts["temp"], value=30.0, key="temp_input") humidity = st.number_input(texts["hum"], value=50.0, key="humidity_input") with col2: tds = st.number_input(texts["tds"], value=500.0, key="tds_input") ph = st.number_input(texts["ph"], value=6.0, key="ph_input") # زر التنبؤ if st.button(texts["predict"], key="predict_button"): # تجهيز البيانات بصيغة مناسبة للموديل features = [[temp, humidity, tds, ph,]] # توقع النتيجة باستخدام الموديل prediction = model.predict(features) # عرض النتيجة في صندوق نص with st.container(): st.subheader(texts["result"]) st.markdown( f"""

{prediction[0]}

""", unsafe_allow_html=True )