--- title: CodeAlpha Language Translator emoji: 🌐 colorFrom: blue colorTo: purple sdk: docker app_port: 8501 pinned: false --- # 🌐 CodeAlpha_LanguageTranslator Outil de traduction de texte réalisé dans le cadre du stage **Artificial Intelligence @ CodeAlpha** — Task 1. ## 🧠 Approche technique Contrairement à une simple intégration d'API de traduction (Google Translate API, Microsoft Translator), ce projet utilise un **véritable modèle de deep learning chargé et exécuté localement** via la librairie Hugging Face `transformers` : - **Modèle :** [`facebook/nllb-200-distilled-600M`](https://huggingface.co/facebook/nllb-200-distilled-600M) (Meta AI — *No Language Left Behind*) - **Architecture :** Transformer Seq2Seq (encoder-decoder), pré-entraîné - **Particularité :** un seul modèle gère la traduction entre **~200 langues**, contrairement aux modèles Helsinki-NLP/opus-mt qui nécessitent un modèle différent par paire de langues - **Inférence :** chargement direct via `AutoTokenizer` + `AutoModelForSeq2SeqLM`, puis génération avec `model.generate(...)`, en local, sans dépendre d'une API tierce payante Ce choix technique est plus proche de l'esprit "AI model development" du stage, car il implique le chargement, la manipulation et l'inférence d'un vrai modèle de NLP, plutôt qu'un simple appel HTTP à un service externe. ## 🚀 Fonctionnalités - Interface utilisateur simple (Streamlit) pour saisir du texte - Sélection de la langue source (avec option de **détection automatique** via `langdetect`) et de la langue cible (14 langues) - Traduction via un modèle NLLB-200 chargé localement (`transformers`) - Affichage clair du texte traduit - 🔊 Bonus : synthèse vocale (text-to-speech) de la traduction via `gTTS` - 📋 Bonus : bouton pour copier le texte traduit ## 🛠️ Installation ```bash git clone https://github.com//CodeAlpha_LanguageTranslator.git cd CodeAlpha_LanguageTranslator pip install -r requirements.txt ``` > ⚠️ Le premier lancement télécharge le modèle NLLB-200 (~2.4 Go) depuis Hugging Face. Une connexion internet > est nécessaire uniquement lors de ce premier téléchargement — les lancements suivants utilisent le modèle > mis en cache localement. ## ▶️ Lancer l'application ```bash streamlit run app.py ``` L'application s'ouvre automatiquement dans le navigateur à l'adresse `http://localhost:8501`. ## 📦 Technologies utilisées - [Streamlit](https://streamlit.io/) — interface utilisateur web - [Hugging Face Transformers](https://huggingface.co/docs/transformers) — chargement et inférence du modèle NLLB-200 - [PyTorch](https://pytorch.org/) — backend de calcul pour le modèle - [gTTS](https://github.com/pndurang/gTTS) — synthèse vocale (Google Text-to-Speech) - [langdetect](https://github.com/Mimino666/langdetect) — détection automatique de la langue source ## 📸 Utilisation 1. L'utilisateur entre un texte 2. Il choisit la langue source (ou laisse la détection automatique) et la langue cible 3. Il clique sur "Traduire" — le modèle NLLB-200 effectue l'inférence localement 4. Le texte traduit s'affiche, avec options d'écoute et de copie ## 🎓 Stage Projet réalisé dans le cadre du **CodeAlpha Artificial Intelligence Internship**.