{{ me.name || me.username }} {{ me.role==='admin' ? 'Admin' : 'Traducteur' }}
Pages traduites
{{ adminStats.total_pages||0 }}
Aujourd'hui : {{ adminStats.pages_today||0 }}
Traducteurs
{{ adminStats.total_translators||0 }}
Actifs : {{ adminStats.active_users||0 }}
Crédits alloués
{{ adminStats.total_credits||0 }}
Restants : {{ adminStats.remaining_credits||0 }}
Jobs complétés
{{ adminStats.total_jobs||0 }}
👥
Aperçu traducteurs
TraducteurUtilisés / TotalProgressionStatut
{{ t.name }}
{{ t.username }}
{{ t.credits_used }} / {{ t.credits }}
{{ t.credits>0?Math.round(t.credits_used/t.credits*100):0 }}%
{{ t.active?'● Actif':'○ Inactif' }}
Aucun traducteur
👥
Gestion des traducteurs
{{ translatorList.length }} traducteur(s)
Nom / LoginLanguesCréditsPagesStatutActions
{{ t.name }}
@{{ t.username }}
{{ t.languages }}
{{ t.credits - t.credits_used }} restants
{{ t.credits_used }} / {{ t.credits }}
{{ t.pages_total||0 }} {{ t.active?'● Actif':'○ Inactif' }}
Cliquez sur "+ Nouveau traducteur"
🔑 Clé API Anthropic (Claude)
{{ maskKey(adminSettings.anthropic_api_key) }}
🏛 Plateforme
ℹ️ Règles crédit
• 1 crédit = 1 page traduite
• PDF → comptage automatique
• Image → toujours 1 page
• Crédits insuffisants → traduction bloquée
• 0 crédits alloués = accès illimité
✅ Enregistré
📋
Historique des traductions
{{ adminHistory.length }} document(s)
TraducteurFichierLanguesPagesDateStatutTélécharger
{{ h.translator_name }}
@{{ h.translator_username }}
{{ h.filename }} {{ h.source_lang }} → {{ h.target_lang }} {{ h.pages }} {{ h.created_at.slice(0,16).replace('T',' ') }} {{ h.status==='completed'?'OK':'ERR' }}
Aucune traduction enregistrée
Crédits restants
{{ translatorStats.unlimited ? '∞' : creditsRemaining }}
pages disponibles
Pages traduites
{{ translatorStats.pages_done||0 }}
total cumulé
Jobs effectués
{{ translatorStats.jobs_count||0 }}
traductions
{{ translatorStats.credits_used||0 }} utilisés {{ translatorStats.credits||0 }} alloués
📄
Document à traduire
PDF ou image (JPEG, PNG)
{{ isDragging ? '📂' : '📑' }}
{{ isDragging ? 'Déposez ici' : 'Cliquer ou glisser-déposer' }}
PDF, JPEG, PNG — Max 20 Mo
✅ Document chargé
Prêt pour la traduction
{{ currentFile.type==='application/pdf' ? '📄' : '🖼️' }}
{{ currentFile.name }}
{{ fmtSize(currentFile.size) }}
{{ pageCountLoading ? '⏳' : '📋' }}
{{ currentFile.type==='application/pdf' ? 'Pages détectées automatiquement (PDF.js)' : 'Image = 1 page (fixe)' }}
Analyse du PDF...
{{ pageCount }} page{{ pageCount>1?'s':'' }} = {{ pageCount }} crédit(s)
{{ currentFile.type==='application/pdf' ? 'Compté automatiquement — non modifiable' : 'Toute image compte comme 1 page' }}
Restants après
{{ Math.max(0, creditsRemaining - pageCount) }}
⚠️ Attention : il ne vous reste que {{ creditsRemaining }} crédit(s).
❌ Crédits insuffisants — {{ creditsRemaining }} dispo., {{ pageCount }} requis. Contactez l'administrateur.
Traduction en cours...{{ progress }}%
{{ progStep }}
⚠️{{ transError }}
📋 Traduction certifiée {{ lastPagesUsed }} page(s) · Prête
🏛
Mon profil
Traducteur Assermenté
{{ me.name }}
{{ me.title }}
{{ me.court }}
{{ me.languages }}
{{ me.phone }}
🌐
Paramètres de traduction
📋
Mon historique de traductions
{{ history.length }} document(s)
Fichier Langues Type de document Pages Date & heure Statut Télécharger
{{ h.filename }}
{{ h.source_lang }} → {{ h.target_lang }} {{ h.doc_type === 'auto' ? '—' : h.doc_type }} {{ h.pages }} {{ h.created_at.slice(0,16).replace('T',' ') }} {{ h.status==='completed'?'✅ OK':'❌ Erreur' }}
Aucune traduction effectuée pour l'instant