Spaces:
Runtime error
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`](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/<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 | |
| ```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**. | |