All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m29s
Un travail echoue ou expire cote serveur restait dans « Traductions
recentes » : sa page de relecture n'affichait rien (0 segments) avec une
erreur brute non traduite, et aucune suppression n'existait.
- serveur : nouvelle route DELETE /api/v1/translations/{job_id} —
retire le travail de la memoire et de Redis, supprime ses segments de
relecture ; idempotente (200 meme si le serveur avait deja oublie le
travail) ; refuse les travaux en cours (annuler d'abord) ; proprietaire
seul (404 pour le travail d'autrui, sans reveler son existence)
- interface : bouton corbeille sur chaque ligne des traductions recentes
(deux clics pour confirmer) qui nettoie la liste locale ET le serveur ;
l'historique serveur ne liste plus les travaux non termines
- page de relecture : message d'erreur traduit (fini le message brut) et
etat « rien a relire » explicite avec explication
- libelles ajoutes dans les 13 langues de l'interface
- 5 tests backend nouveaux (tests/test_delete_translation_history.py)
54 lines
2.6 KiB
JSON
54 lines
2.6 KiB
JSON
{
|
|
"reviews.title": "Review",
|
|
"reviews.subtitle": "{file} — {total} segments ({pending} to review, {approved} approved, {edited} edited)",
|
|
"reviews.approveAll": "Approve all",
|
|
"reviews.importXliff": "Import XLIFF",
|
|
"reviews.rebuild": "Rebuild & download",
|
|
"reviews.col.source": "Source",
|
|
"reviews.col.target": "Translation",
|
|
"reviews.col.status": "Status",
|
|
"reviews.status.approved": "Approved",
|
|
"reviews.status.edited": "Edited",
|
|
"reviews.status.pending": "To review",
|
|
"reviews.save": "Save",
|
|
"reviews.cancel": "Cancel",
|
|
"reviews.emptyCell": "— empty —",
|
|
"reviews.action.edit": "Edit translation",
|
|
"reviews.action.approve": "Approve as-is",
|
|
"reviews.action.reset": "Reset to pending",
|
|
"reviews.approvedTitle": "Segments approved",
|
|
"reviews.approvedDesc": "{count} segment(s) approved.",
|
|
"reviews.rebuiltTitle": "Document rebuilt",
|
|
"reviews.rebuiltDesc": "{count} reviewed segment(s) applied.",
|
|
"reviews.rebuildFailed": "Rebuild failed",
|
|
"reviews.xliffExportFailed": "XLIFF export failed",
|
|
"reviews.xliffImported": "XLIFF imported",
|
|
"reviews.xliffImportedDesc": "{count} segment(s) updated.",
|
|
"reviews.xliffImportFailed": "XLIFF import failed",
|
|
"reviews.error.title": "Error",
|
|
"reviews.error.load": "Load error",
|
|
"reviews.error.update": "Update failed",
|
|
"reviews.error.download": "Download failed (HTTP {status})",
|
|
"reviews.pill": "Quality control",
|
|
"reviews.titleBase": "Translation",
|
|
"reviews.titleAccent": "review",
|
|
"reviews.approveAllConfirm": "Confirm ({count})",
|
|
"reviews.action.approveShort": "OK",
|
|
"reviews.action.resetShort": "To review",
|
|
"reviews.xliffHint": "XLIFF is the standard exchange format for translation reviews — export segments, edit in your CAT tool, then reimport.",
|
|
"reviews.error.sessionExpired": "Session expired. Sign in again and refresh.",
|
|
"reviews.error.notFound": "Job not found.",
|
|
"reviews.error.rateLimited": "Rate limited. Wait a few seconds.",
|
|
"reviews.error.server": "Server error. Try again shortly.",
|
|
"reviews.filter.all": "All",
|
|
"reviews.filter.pending": "To review",
|
|
"reviews.filter.approved": "Approved",
|
|
"reviews.filter.edited": "Edited",
|
|
"reviews.searchPlaceholder": "Search in segments...",
|
|
"reviews.shortcutHint": "Ctrl + Enter to save",
|
|
"reviews.approvingProgress": "Approving ({current}/{total})…",
|
|
"reviews.noMatchingSegments": "No segments match your filter.",
|
|
"reviews.empty.title": "Nada que revisar en este trabajo",
|
|
"reviews.empty.desc": "Esta traducción no tiene segmentos guardados: o falló antes de traducir el texto, o el servidor ya no la conserva. Puede quitarla de la lista de traducciones recientes."
|
|
}
|