import os
from dotenv import load_dotenv

load_dotenv()

ENVIRONMENT = os.getenv("ENVIRONMENT")

if ENVIRONMENT == "dev":
    AI_MODELS = {
        "Huggingface / Meta Llama 3.1 8B Instruct": "meta-llama/Llama-3.1-8B-Instruct",
        "Huggingface / Mistral Nemo Instruct": "mistralai/Mistral-Nemo-Instruct-2407",
        "Huggingface / Microsoft Phi 4 Mini Instruct": "microsoft/Phi-4-mini-instruct",
        "Huggingface / Google Gemma 3 4B Instruct": "google/gemma-3-4b-it",
        "IBM Granite3.1 dense / Ollama local": "ollama",
        "Open AI / GPT-4o-mini": "openai",    
    }
else:
    AI_MODELS = {
        "Huggingface / Meta Llama 3.1 8B Instruct": "meta-llama/Llama-3.1-8B-Instruct",
        "Huggingface / Mistral Nemo Instruct": "mistralai/Mistral-Nemo-Instruct-2407",
        "Huggingface / Microsoft Phi 4 Mini Instruct": "microsoft/Phi-4-mini-instruct",
        "Huggingface / Google Gemma 3 4B Instruct": "google/gemma-3-4b-it",
        "Open AI / GPT-4o-mini": "openai",    
    }

TRANSLATIONS = {
    "Español": {
        "title": "# 📚 Procesador de PDF con QA y Resumen",
        "api_key_required": "Para usar este modelo, necesitas una clave de API.",
        "model_type": "Tipo de modelo",
        "api_key_placeholder": "Ingresa tu clave de API",
        "project_id_placeholder": "Ingresa tu ID de proyecto",
        "ai_model": "Modelo AI",
        "upload_pdf": "Cargar PDF",
        "upload_images": "Cargar imĂĄgenes",
        "chunk_size": "Tamaño de chunk",
        "chunk_overlap": "SuperposiciĂłn de chunk",
        "process_btn": "Procesar",
        "processing_status": "Estado del procesamiento",
        "qa_tab": "Preguntas y Respuestas",
        "summary_tab": "Resumen",
        "chat_placeholder": "Haz una pregunta sobre el documento...",
        "chat_title": "Pregunta al documento",
        "chat_btn": "Preguntar",
        "generate_summary": "Generar Resumen",
        "summary_label": "Resumen del documento",
        "pdf_processed": "PDF procesado y almacenado correctamente",
        "load_pdf_first": "Por favor, carga un PDF primero.",
        "map_prompt": """Escribe un resumen conciso del siguiente texto:
        "{text}"
        RESUMEN CONCISO:""",
        "combine_prompt": """Escribe un resumen detallado basado en los siguientes resĂșmenes de diferentes secciones del texto:
        "{text}"
        RESUMEN DETALLADO:""",
        "mini_summary_title": "ResĂșmenes de cada fragmento",
        "mini_analysis_title": "AnĂĄlisis de cada fragmento",
        "specialist_tab": "Asesor a tu medida",
        "specialist_title": "Asesor a tu medida",
        "specialist_label": "Establece el comportamiento y rol de tu asesor. Ej: Eres un especialista de finanzas que ayuda a interpretar los datos de un reporte financiero. A partir del documento y tu basta experiencia cuéntame que oportunidades y riesgos ves al invertir en lo que te proponen.",
        "specialist_output": "Respuesta de tu asesor",
        "specialist_btn": "Generar Respuesta"
    },
    "English": {
        "title": "# 📚 PDF Processor with QA and Summary",
        "api_key_required": "To use this model, you need an API key.",
        "model_type": "Model type",
        "api_key_placeholder": "Enter your API key",
        "project_id_placeholder": "Enter your project ID",
        "ai_model": "AI Model",
        "upload_pdf": "Upload PDF",
        "upload_images": "Upload Images",
        "chunk_size": "Chunk size",
        "chunk_overlap": "Chunk overlap",
        "process_btn": "Process",
        "processing_status": "Processing status",
        "qa_tab": "Questions and Answers",
        "summary_tab": "Summary",
        "chat_placeholder": "Ask a question about the document...",
        "chat_title": "Question to document",
        "chat_btn": "Ask",
        "generate_summary": "Generate Summary",
        "summary_label": "Document summary",
        "pdf_processed": "PDF processed and stored successfully",
        "load_pdf_first": "Please load a PDF first.",
        "map_prompt": """Write a concise summary of the following text:
        "{text}"
        CONCISE SUMMARY:""",
        "combine_prompt": """Write a detailed summary based on the following summaries from different sections of the text:
        "{text}"
        DETAILED SUMMARY:""",
        "mini_summary_title": "Summaries of each fragment",
        "mini_analysis_title": "Analysis of each fragment",
        "specialist_tab": "Customized Advisor",
        "specialist_title": "Customized Advisor",
        "specialist_label": "Set the behavior and role of your advisor. Example: You are a financial expert who helps interpret the data of a financial report. Based on the document and your extensive experience, tell me what opportunities and risks you see in what they propose.",
        "specialist_output": "Answer of your advisor",
        "specialist_btn": "Generate Answer"
    },
    "Deutsch": {
        "title": "# 📚 PDF-Prozessor mit Q&A und Zusammenfassung",
        "model_type": "Modelltyp",
        "api_key_required": "Um dieses Modell zu verwenden, benötigen Sie einen API-SchlĂŒssel.",
        "api_key_placeholder": "API-SchlĂŒssel eingeben",
        "project_id_placeholder": "Projekt-ID eingeben",
        "ai_model": "AI-Modell",
        "upload_pdf": "PDF hochladen",
        "upload_images": "Bilder hochladen",
        "chunk_size": "Chunk-GrĂ¶ĂŸe",
        "chunk_overlap": "Chunk-Überlappung",
        "process_btn": "PDF verarbe",
        "processing_status": "Verarbeitungsstatus",
        "qa_tab": "Fragen und Antworten",
        "summary_tab": "Zusammenfassung",
        "chat_placeholder": "Stellen Sie eine Frage zum Dokument...",
        "chat_title": "Frage zum Dokument",
        "chat_btn": "Fragen",
        "generate_summary": "Zusammenfassung generieren",
        "summary_label": "Dokumentzusammenfassung",
        "pdf_processed": "PDF erfolgreich verarbeitet und gespeichert",
        "load_pdf_first": "Bitte laden Sie zuerst ein PDF hoch.",
        "map_prompt": """Schreiben Sie eine kurze Zusammenfassung des folgenden Textes:
        "{text}"
        KURZE ZUSAMMENFASSUNG:""",
        "combine_prompt": """Schreiben Sie eine detaillierte Zusammenfassung basierend auf den folgenden Zusammenfassungen verschiedener Textabschnitte:
        "{text}"
        DETAILLIERTE ZUSAMMENFASSUNG:""",
        "mini_summary_title": "Zusammenfassungen von jedem Fragment",
        "mini_analysis_title": "Analyse von jedem Fragment",
        "specialist_tab": "Anpassbarer Berater",
        "specialist_title": "Anpassbarer Berater",
        "specialist_label": "Setzen Sie das Verhalten und die Rolle Ihres Beraters fest. Beispiel: Sie sind ein Finanzexperte, der bei der Interpretation von Finanzdaten aus einem Bericht hilft. Basierend auf dem Dokument und Ihrer umfassenden Erfahrung, erzÀhlen Sie mir, was Sie in dem sehen, was sie Ihnen vorschlagen.",
        "specialist_output": "Antwort Ihres Beraters",
        "specialist_btn": "Antwort generieren"
    },
    "Français": {
        "title": "# 📚 Processeur PDF avec QR et RĂ©sumĂ©", 
        "model_type": "Type de modĂšle",
        "api_key_required": "Pour utiliser ce modÚle, vous avez besoin d'une clé API.",
        "api_key_placeholder": "Entrez votre clé API",
        "project_id_placeholder": "Entrez votre ID de projet",
        "ai_model": "ModĂšle AI",
        "upload_pdf": "Charger PDF",
        "upload_images": "Charger images",
        "chunk_size": "Taille du chunk",
        "chunk_overlap": "Chevauchement du chunk",
        "process_btn": "Traiter le",
        "processing_status": "État du traitement",
        "qa_tab": "Questions et Réponses",
        "summary_tab": "Résumé",
        "chat_placeholder": "Posez une question sur le document...",
        "chat_title": "Question au document",
        "chat_btn": "Poser une question",
        "generate_summary": "Générer le résumé",
        "summary_label": "Résumé du document",
        "pdf_processed": "PDF traité et enregistré avec succÚs",
        "load_pdf_first": "Veuillez d'abord charger un PDF.",
        "map_prompt": """Écrivez un rĂ©sumĂ© concis du texte suivant :
        "{text}"
        RÉSUMÉ CONCIS :""",
        "combine_prompt": """Écrivez un rĂ©sumĂ© dĂ©taillĂ© basĂ© sur les rĂ©sumĂ©s suivants de diffĂ©rentes sections du texte :
        "{text}"
        RÉSUMÉ DÉTAILLÉ :""",
        "mini_summary_title": "Résumés de chaque fragment",
        "mini_analysis_title": "Analyse de chaque fragment",
        "specialist_tab": "Conseiller personnalisé",
        "specialist_title": "Conseiller personnalisé",
        "specialist_label": "DĂ©finissez le comportement et le rĂŽle de votre conseiller. Exemple : Vous ĂȘtes un expert financier qui aide Ă  interprĂ©ter les donnĂ©es d'un rapport financier. BasĂ© sur le document et votre vaste expĂ©rience, partagez-moi ce que vous voyez dans ce qu'ils vous proposent.",
        "specialist_output": "Réponse de votre conseiller",
        "specialist_btn": "Générer la réponse"
    },
    "PortuguĂȘs": {
        "title": "# 📚 Processador de PDF com P&R e Resumo",
        "model_type": "Tipo de modelo",
        "api_key_required": "Para usar este modelo, necesitas una clave de API.",
        "api_key_placeholder": "Digite sua chave API",
        "project_id_placeholder": "Digite seu ID de projeto",
        "ai_model": "Modelo AI",
        "upload_pdf": "Carregar PDF",
        "upload_images": "Carregar imagens",
        "chunk_size": "Tamanho do chunk",
        "chunk_overlap": "Sobreposição do chunk",
        "process_btn": "Processar",
        "processing_status": "Status do processamento",
        "qa_tab": "Perguntas e Respostas",
        "summary_tab": "Resumo",
        "chat_placeholder": "Faça uma pergunta sobre o documento...",
        "chat_title": "Pergunta ao documento",
        "chat_btn": "Perguntar",
        "generate_summary": "Gerar Resumo",
        "summary_label": "Resumo do documento",
        "pdf_processed": "PDF processado e armazenado com sucesso",
        "load_pdf_first": "Por favor, carregue um PDF primeiro.",
        "map_prompt": """Escreva um resumo conciso do seguinte texto:
        "{text}"
        RESUMO CONCISO:""",
        "combine_prompt": """Escreva um resumo detalhado baseado nos seguintes resumos de diferentes seçÔes do texto:
        "{text}"
        RESUMO DETALHADO:""",
        "mini_summary_title": "ResĂșmenes de cada fragmento",
        "mini_analysis_title": "AnĂĄlisis de cada fragmento",
        "specialist_tab": "Assistente Personalizado",
        "specialist_title": "Assistente Personalizado",
        "specialist_label": "Defina o comportamento e o papel do seu assistente. Exemplo: VocĂȘ Ă© um especialista em finanças que ajuda a interpretar os dados de um relatĂłrio financeiro. Com base no documento e em sua ampla experiĂȘncia, compartilhe comigo o que vocĂȘ vĂȘ naquilo que eles lhe propĂ”em.",
        "specialist_output": "Resposta do seu assistente",
        "specialist_btn": "Gerar Resposta"
    }
}