Spaces:
Runtime error
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(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 avecmodel.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
git clone https://github.com/<ton-username>/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
streamlit run app.py
L'application s'ouvre automatiquement dans le navigateur à l'adresse http://localhost:8501.
📦 Technologies utilisées
- Streamlit — interface utilisateur web
- Hugging Face Transformers — chargement et inférence du modèle NLLB-200
- PyTorch — backend de calcul pour le modèle
- gTTS — synthèse vocale (Google Text-to-Speech)
- langdetect — détection automatique de la langue source
📸 Utilisation
- L'utilisateur entre un texte
- Il choisit la langue source (ou laisse la détection automatique) et la langue cible
- Il clique sur "Traduire" — le modèle NLLB-200 effectue l'inférence localement
- Le texte traduit s'affiche, avec options d'écoute et de copie
🎓 Stage
Projet réalisé dans le cadre du CodeAlpha Artificial Intelligence Internship.