# languages.py """ قاموس الترجمة للتطبيق - يدعم العربية والإنجليزية """ TRANSLATIONS = { # عناوين عامة "app_title": {"en": "Medical AI Librarian", "ar": "أمين المكتبة الطبي بالذكاء الاصطناعي"}, "app_subtitle": {"en": "Enhanced Cataloging • Accurate NLM Classification • Multi-Source Data", "ar": "فهرسة محسنة • تصنيف NLM دقيق • بيانات متعددة المصادر"}, # الشريط الجانبي "recent_searches": {"en": "🔍 Recent Searches", "ar": "🔍 عمليات البحث الأخيرة"}, "settings": {"en": "⚙️ Settings", "ar": "⚙️ الإعدادات"}, "clear_history": {"en": "🔄 Clear History", "ar": "🔄 مسح التاريخ"}, "nlm_quick_guide": {"en": "📊 NLM Quick Guide", "ar": "📊 دليل NLM السريع"}, "common_nlm_classifications": {"en": "Common NLM Classifications:", "ar": "تصنيفات NLM الشائعة:"}, "medical_textbooks": {"en": "Medical Textbooks: W 18-20", "ar": "الكتب الدراسية الطبية: W 18-20"}, "clinical_medicine": {"en": "Clinical Medicine: WB-WZ series", "ar": "الطب السريري: سلسلة WB-WZ"}, "basic_sciences": {"en": "Basic Sciences: QS-QZ series", "ar": "العلوم الأساسية: سلسلة QS-QZ"}, "health_professions": {"en": "Health Professions: WY, WA, WM", "ar": "المهن الصحية: WY, WA, WM"}, "common_examples": {"en": "Common Examples:", "ar": "أمثلة شائعة:"}, "anatomy_example": {"en": "Anatomy: QS 1", "ar": "التشريح: QS 1"}, "pharmacology_example": {"en": "Pharmacology: QV 1", "ar": "علم الأدوية: QV 1"}, "surgery_example": {"en": "Surgery: WO 100", "ar": "الجراحة: WO 100"}, "pediatrics_example": {"en": "Pediatrics: WS 1", "ar": "طب الأطفال: WS 1"}, "radiology_example": {"en": "Radiology: WN 1", "ar": "الأشعة: WN 1"}, "stats": {"en": "📊 Stats", "ar": "📊 الإحصائيات"}, "total_analyses": {"en": "Total Analyses", "ar": "إجمالي التحليلات"}, "current_isbn": {"en": "Current ISBN", "ar": "الرقم المعياري الحالي"}, "none": {"en": "None", "ar": "لا شيء"}, # منطقة الإدخال الرئيسية "enter_isbn": {"en": "### 📚 Enter ISBN for Analysis", "ar": "### 📚 أدخل الرقم المعياري للتحليل"}, "isbn_placeholder": {"en": "Enter 10 or 13 digit ISBN (e.g., 9780323083737)", "ar": "أدخل رقماً معيارياً من 10 أو 13 خانة (مثال: 9780323083737)"}, "analyze_button": {"en": "🔍 Analyze Book", "ar": "🔍 تحليل الكتاب"}, "view_stats_button": {"en": "📊 View Statistics", "ar": "📊 عرض الإحصائيات"}, # رسائل المعالجة "initializing": {"en": "🔄 Initializing enhanced analysis...", "ar": "🔄 جاري تهيئة التحليل المحسن..."}, "fetching_metadata": {"en": "📥 Fetching enhanced metadata...", "ar": "📥 جلب البيانات الوصفية المحسنة..."}, "retrieving_cover": {"en": "🖼️ Retrieving book cover from multiple sources...", "ar": "🖼️ جلب غلاف الكتاب من عدة مصادر..."}, "searching_context": {"en": "🌐 Searching for additional context...", "ar": "🌐 البحث عن سياق إضافي..."}, "ai_analysis": {"en": "🧠 Enhanced AI analysis with NLM classification...", "ar": "🧠 تحليل الذكاء الاصطناعي المحسن مع تصنيف NLM..."}, "analysis_complete": {"en": "✅ Enhanced analysis complete!", "ar": "✅ اكتمل التحليل المحسن!"}, # أخطاء وتحذيرات "invalid_isbn": {"en": "❌ Invalid ISBN format. Please enter a valid 10 or 13 digit ISBN.", "ar": "❌ تنسيق ISBN غير صالح. الرجاء إدخال رقم صحيح مكون من 10 أو 13 خانة."}, "analysis_failed": {"en": "❌ Analysis failed. Please try again.", "ar": "❌ فشل التحليل. حاول مرة أخرى."}, "ai_payment_warning": {"en": "⚠️ AI service requires paid subscription. Using local classification instead.", "ar": "⚠️ خدمة الذكاء الاصطناعي تحتاج إلى اشتراك مدفوع. يتم استخدام التصنيف المحلي بدلاً من ذلك."}, "ai_unexpected_error": {"en": "❌ Unexpected error in AI analysis: {}", "ar": "❌ خطأ غير متوقع في تحليل الذكاء الاصطناعي: {}"}, # تبويبات "tab_overview": {"en": "📖 Overview", "ar": "📖 نظرة عامة"}, "tab_details": {"en": "🔍 Details", "ar": "🔍 التفاصيل"}, "tab_cataloging": {"en": "🏷️ Cataloging", "ar": "🏷️ الفهرسة"}, "tab_ai_insights": {"en": "📊 AI Insights", "ar": "📊 رؤى الذكاء الاصطناعي"}, # نظرة عامة "quick_stats": {"en": "📈 Quick Stats", "ar": "📈 إحصائيات سريعة"}, "authors_label": {"en": "Authors", "ar": "المؤلفون"}, "quality_label": {"en": "Quality", "ar": "الجودة"}, "year_label": {"en": "Year", "ar": "السنة"}, "acquisition_decision": {"en": "📋 Acquisition Decision", "ar": "📋 قرار الاقتناء"}, "target_audience": {"en": "🎯 Target Audience", "ar": "🎯 الجمهور المستهدف"}, "not_specified": {"en": "Not specified", "ar": "غير محدد"}, # التفاصيل "summary": {"en": "📝 Summary", "ar": "📝 الملخص"}, "no_summary": {"en": "No summary available.", "ar": "لا يوجد ملخص متاح."}, "table_of_contents": {"en": "📑 Table of Contents", "ar": "📑 جدول المحتويات"}, "not_available": {"en": "Not available.", "ar": "غير متاح."}, "mesh_subjects": {"en": "🏷️ MeSH Subjects", "ar": "🏷️ موضوعات MeSH"}, "no_mesh": {"en": "No MeSH terms identified.", "ar": "لم يتم تحديد مصطلحات MeSH."}, "nlm_classification": {"en": "📚 NLM Classification (060)", "ar": "📚 تصنيف NLM (060)"}, "classification_reasoning": {"en": "📖 Classification Reasoning", "ar": "📖 سبب التصنيف"}, "alternative_classifications": {"en": "🔀 Alternative Classifications", "ar": "🔀 تصنيفات بديلة"}, "confidence_level": {"en": "Confidence Level", "ar": "مستوى الثقة"}, "quality_score": {"en": "Quality Score", "ar": "درجة الجودة"}, "code_label": {"en": "Code", "ar": "الرمز"}, "reason_label": {"en": "Reason", "ar": "السبب"}, # الفهرسة "marc_record": {"en": "💻 MARC21 Record - Complete Edition", "ar": "💻 تسجيلة MARC21 - نسخة كاملة"}, "download_marc": {"en": "📥 MARC21 (.mrc)", "ar": "📥 MARC21 (.mrc)"}, "download_iso": {"en": "📊 ISO 2709 (.iso)", "ar": "📊 ISO 2709 (.iso)"}, "download_json": {"en": "📋 JSON Metadata", "ar": "📋 بيانات JSON"}, "download_xml": {"en": "📑 XML/MARCXML", "ar": "📑 XML/MARCXML"}, # رؤى الذكاء الاصطناعي "ai_details": {"en": "🤖 AI Analysis Details", "ar": "🤖 تفاصيل تحليل الذكاء الاصطناعي"}, "data_sources": {"en": "Data Sources", "ar": "مصادر البيانات"}, "metadata_source": {"en": "Metadata source", "ar": "مصدر البيانات الوصفية"}, "nlm_analysis": {"en": "NLM Classification Analysis", "ar": "تحليل تصنيف NLM"}, "web_context": {"en": "🔍 Web Context Sources", "ar": "🔍 مصادر سياق الويب"}, "no_web_context": {"en": "No web context available.", "ar": "لا يوجد سياق ويب متاح."}, # الفوتر "footer_text": {"en": "Medical AI Librarian v3.0 • Enhanced Accuracy • Multi-Source Data", "ar": "أمين المكتبة الطبي بالذكاء الاصطناعي v3.0 • دقة محسنة • بيانات متعددة المصادر"}, "footer_powered": {"en": "Powered by Hugging Face & Streamlit • Transforming Medical Library Management", "ar": "مدعوم من Hugging Face و Streamlit • تحويل إدارة المكتبات الطبية"}, # إحصائيات "stats_dashboard": {"en": "📊 Statistics Dashboard", "ar": "📊 لوحة الإحصائيات"}, "analytics_for": {"en": "Analytics for medical cataloging activities", "ar": "تحليلات لأنشطة الفهرسة الطبية"}, "success_rate": {"en": "Success Rate", "ar": "معدل النجاح"}, "avg_confidence": {"en": "Avg Confidence", "ar": "متوسط الثقة"}, "unique_nlm_codes": {"en": "Unique NLM Codes", "ar": "رموز NLM الفريدة"}, "analysis_trends": {"en": "📈 Analysis Trends", "ar": "📈 اتجاهات التحليل"}, "daily_analyses_trend": {"en": "📅 Daily Analyses Trend", "ar": "📅 اتجاه التحليلات اليومية"}, "top_nlm": {"en": "🏷️ Top 10 NLM Classifications", "ar": "🏷️ أفضل 10 تصنيفات NLM"}, "recent_activity": {"en": "📋 Recent Activity", "ar": "📋 النشاط الأخير"}, "export_csv": {"en": "📥 Export History as CSV", "ar": "📥 تصدير التاريخ كـ CSV"}, "nlm_insights": {"en": "🎯 NLM Classification Insights", "ar": "🎯 رؤى تصنيف NLM"}, "current_classification_confidence": {"en": "Current Classification Confidence", "ar": "ثقة التصنيف الحالي"}, "most_common_classifications": {"en": "🏆 Most Common Classifications", "ar": "🏆 التصنيفات الأكثر شيوعاً"}, "analysis_summary": {"en": "📊 Analysis Summary", "ar": "📊 ملخص التحليل"}, "books_cataloged": {"en": "Total Books Cataloged", "ar": "إجمالي الكتب المفهرسة"}, "analyses_today": {"en": "Analyses Today", "ar": "تحليلات اليوم"}, "no_history": {"en": """ 📊 **No analysis history yet!** Start by analyzing some medical books: 1. Go to the main page 2. Enter an ISBN number 3. Click "Analyze Book" 4. Your analyses will appear here """, "ar": """ 📊 **لا يوجد سجل تحليلات بعد!** ابدأ بتحليل بعض الكتب الطبية: 1. اذهب إلى الصفحة الرئيسية 2. أدخل رقماً معيارياً 3. انقر "تحليل الكتاب" 4. ستظهر تحليلاتك هنا """}, "performance_metrics": {"en": "⚡ Performance Metrics", "ar": "⚡ مقاييس الأداء"}, "cover_success_rate": {"en": "Cover Success Rate", "ar": "معدل نجاح الغلاف"}, "date_accuracy": {"en": "Date Accuracy", "ar": "دقة التاريخ"}, "nlm_accuracy": {"en": "NLM Accuracy", "ar": "دقة NLM"}, "last_updated": {"en": "Data is stored locally in your session • Last updated: {}", "ar": "البيانات مخزنة محلياً في جلستك • آخر تحديث: {}"}, "transforming_footer": {"en": "🏥 Transforming Medical Library Management with AI", "ar": "🏥 تحويل إدارة المكتبات الطبية بالذكاء الاصطناعي"}, # رسائل الذكاء الاصطناعي "local_classification_mode": {"en": "ℹ️ يعمل النظام حاليًا بوضع **التصنيف المحلي المتقدم** (بدون ذكاء اصطناعي). تتوفر جميع البيانات الأساسية.", "ar": "ℹ️ النظام يعمل حالياً في وضع **التصنيف المحلي المتقدم** (بدون ذكاء اصطناعي). جميع البيانات الأساسية متاحة."}, "ai_connected": {"en": "✅ تم الاتصال بخدمة الذكاء الاصطناعي بنجاح.", "ar": "✅ تم الاتصال بخدمة الذكاء الاصطناعي بنجاح."}, "ai_error": {"en": "⚠️ Hugging Face client error: {}. باستخدام التصنيف المحلي فقط.", "ar": "⚠️ خطأ في عميل Hugging Face: {}. سيتم استخدام التصنيف المحلي فقط."}, "no_hf_token": {"en": "🔑 لم يتم العثور على HF_TOKEN. يعمل النظام بالتصنيف المحلي فقط.", "ar": "🔑 لم يتم العثور على رمز HF_TOKEN. النظام يعمل بالتصنيف المحلي فقط."}, # +++ ترجمات جديدة لنتائج البحث +++ "audience_medical_students": {"en": "Medical Students and Healthcare Professionals", "ar": "طلاب الطب والمهنيون الصحيون"}, "audience_undergraduate": {"en": "Medical Students (Undergraduate)", "ar": "طلاب الطب (المرحلة الجامعية)"}, "audience_educators": {"en": "Medical Educators and Students", "ar": "معلمو الطب والطلاب"}, "audience_surgeons": {"en": "Surgical Residents and Practicing Surgeons", "ar": "أطباء الجراحة المقيمون والممارسون"}, "decision_highly_recommended": {"en": "Highly Recommended", "ar": "موصى به بشدة"}, "decision_recommended": {"en": "Recommended", "ar": "موصى به"}, "decision_review_required": {"en": "Review Required", "ar": "مراجعة مطلوبة"}, "decision_optional": {"en": "Optional", "ar": "اختياري"}, "acquisition_reason_high": {"en": "Strong alignment with collection development policy and high relevance.", "ar": "توافق قوي مع سياسة تطوير المجموعة وأهمية عالية."}, "acquisition_reason_medium": {"en": "Good fit for the collection; moderate relevance.", "ar": "ملاءمة جيدة للمجموعة؛ أهمية متوسطة."}, "acquisition_reason_low": {"en": "Limited information; further evaluation recommended.", "ar": "معلومات محدودة؛ يوصى بإجراء تقييم إضافي."}, "audience_reason_default": {"en": "Based on medical content and typical audience for this subject area.", "ar": "بناءً على المحتوى الطبي والجمهور النموذجي لهذا المجال."}, "audience_reason_textbook": {"en": "Introductory textbook format indicates undergraduate medical education.", "ar": "شكل الكتاب الدراسي التمهيدي يشير إلى التعليم الطبي الجامعي."}, "audience_reason_education": {"en": "Focus on educational methods and curriculum.", "ar": "التركيز على الأساليب التعليمية والمناهج."}, "audience_reason_surgery": {"en": "Specialized surgical content for advanced trainees and clinicians.", "ar": "محتوى جراحي متخصص للمتدربين المتقدمين والأطباء."}, "mesh_medicine": {"en": "Medicine", "ar": "الطب"}, "mesh_medical_sciences": {"en": "Medical Sciences", "ar": "العلوم الطبية"}, "mesh_health_occupations": {"en": "Health Occupations", "ar": "المهن الصحية"}, "mesh_education_medical": {"en": "Education, Medical", "ar": "التعليم الطبي"}, "mesh_textbooks": {"en": "Textbooks as Topic", "ar": "الكتب الدراسية كموضوع"}, "mesh_curriculum": {"en": "Curriculum", "ar": "المناهج الدراسية"}, "mesh_clinical_medicine": {"en": "Clinical Medicine", "ar": "الطب السريري"}, "mesh_diagnosis": {"en": "Diagnosis", "ar": "التشخيص"}, "mesh_therapeutics": {"en": "Therapeutics", "ar": "العلاجات"}, "mesh_emergency_medicine": {"en": "Emergency Medicine", "ar": "طب الطوارئ"}, "mesh_traumatology": {"en": "Traumatology", "ar": "علم الرضوح"}, "mesh_critical_care": {"en": "Critical Care", "ar": "الرعاية الحرجة"}, "mesh_general_surgery": {"en": "General Surgery", "ar": "الجراحة العامة"}, "mesh_surgical_procedures": {"en": "Surgical Procedures, Operative", "ar": "الإجراءات الجراحية"}, "mesh_pediatrics": {"en": "Pediatrics", "ar": "طب الأطفال"}, "mesh_child_development": {"en": "Child Development", "ar": "نمو الطفل"}, "mesh_adolescent_medicine": {"en": "Adolescent Medicine", "ar": "طب المراهقين"}, "mesh_cardiology": {"en": "Cardiology", "ar": "أمراض القلب"}, "mesh_cardiovascular_diseases": {"en": "Cardiovascular Diseases", "ar": "أمراض القلب والأوعية الدموية"}, "mesh_heart_diseases": {"en": "Heart Diseases", "ar": "أمراض القلب"}, "mesh_neurology": {"en": "Neurology", "ar": "طب الأعصاب"}, "mesh_nervous_system_diseases": {"en": "Nervous System Diseases", "ar": "أمراض الجهاز العصبي"}, "mesh_brain": {"en": "Brain", "ar": "الدماغ"}, "mesh_anatomy": {"en": "Anatomy", "ar": "التشريح"}, "mesh_dissection": {"en": "Dissection", "ar": "التشريح"}, "mesh_embryology": {"en": "Embryology", "ar": "علم الأجنة"}, "mesh_pharmacology": {"en": "Pharmacology", "ar": "علم الأدوية"}, "mesh_pharmaceutical_preparations": {"en": "Pharmaceutical Preparations", "ar": "المستحضرات الصيدلانية"}, "mesh_drug_therapy": {"en": "Drug Therapy", "ar": "العلاج الدوائي"}, "mesh_pathology": {"en": "Pathology", "ar": "علم الأمراض"}, "mesh_disease": {"en": "Disease", "ar": "المرض"}, "mesh_clinical_pathology": {"en": "Clinical Pathology", "ar": "علم الأمراض السريري"}, "mesh_nursing_care": {"en": "Nursing Care", "ar": "الرعاية التمريضية"}, "mesh_nursing_process": {"en": "Nursing Process", "ar": "العملية التمريضية"}, "mesh_clinical_nursing_research": {"en": "Clinical Nursing Research", "ar": "بحوث التمريض السريري"}, "mesh_public_health": {"en": "Public Health", "ar": "الصحة العامة"}, "mesh_preventive_medicine": {"en": "Preventive Medicine", "ar": "الطب الوقائي"}, "mesh_epidemiology": {"en": "Epidemiology", "ar": "علم الأوبئة"}, "mesh_psychiatry": {"en": "Psychiatry", "ar": "الطب النفسي"}, "mesh_mental_disorders": {"en": "Mental Disorders", "ar": "الاضطرابات النفسية"}, "mesh_psychotherapy": {"en": "Psychotherapy", "ar": "العلاج النفسي"}, } def get_text(key, lang='en'): """إرجاع النص المقابل للمفتاح واللغة المحددة.""" return TRANSLATIONS.get(key, {}).get(lang, key) def get_language_direction(lang): """إرجاع اتجاه الصفحة بناءً على اللغة.""" return 'rtl' if lang == 'ar' else 'ltr'