Amélioration de l'ergonomie de l'interface et de la table de relecture
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 3m11s

This commit is contained in:
2026-08-31 20:52:55 +02:00
parent d008baf81b
commit 1c6c91d5ea
206 changed files with 74199 additions and 213 deletions

View File

@@ -20,8 +20,10 @@ import profile from "./profile.json";
import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -45,8 +47,10 @@ const messages: Record<string, string> = {
...providerSelector,
...providerTheme,
...register,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "الحفاظ على التخطيط",
"translate.textOnly": "نص فقط",
"translate.textOnlyDesc": "ترجمة سريعة للنص فقط",
"translate.unavailableStandard": "غير متاح في الوضع القياسي (AI فقط)"
"translate.unavailableStandard": "غير متاح في الوضع القياسي (AI فقط)",
"translate.sameLanguageError": "يجب أن تختلف اللغة المصدر عن اللغة الهدف"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "Layout beibehalten",
"translate.textOnly": "Nur Text",
"translate.textOnlyDesc": "Schnelle Übersetzung nur des Textes",
"translate.unavailableStandard": "Im Standardmodus nicht verfügbar (nur KI)"
"translate.unavailableStandard": "Im Standardmodus nicht verfügbar (nur KI)",
"translate.sameLanguageError": "Ausgangs- und Zielsprache müssen sich unterscheiden"
}

View File

@@ -13,9 +13,9 @@
"reviews.save": "Save",
"reviews.cancel": "Cancel",
"reviews.emptyCell": "— empty —",
"reviews.action.edit": "Edit the translation",
"reviews.action.approve": "Approve as is",
"reviews.action.reset": "Set back to review",
"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",
@@ -26,18 +26,26 @@
"reviews.xliffImportedDesc": "{count} segment(s) updated.",
"reviews.xliffImportFailed": "XLIFF import failed",
"reviews.error.title": "Error",
"reviews.error.load": "Loading failed",
"reviews.error.update": "Could not update",
"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": "Re-review",
"reviews.xliffHint": "XLIFF is the standard exchange format for translation reviews — export the segments, correct them in your own tool or send them to a reviewer, then import them back.",
"reviews.error.sessionExpired": "Your session has expired. Log in again and reload this page.",
"reviews.error.notFound": "This job no longer exists. It may have been cleaned up.",
"reviews.error.rateLimited": "Too many requests — wait a few seconds and retry.",
"reviews.error.server": "The server could not process this. Try again in a moment."
"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."
}

View File

@@ -22,8 +22,11 @@
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Team",
"teams.titleAccent": "workspaces"
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -108,5 +108,6 @@
"translate.batch.doneTitle": "{done}/{total} translated",
"translate.batch.stop": "Stop the queue",
"translate.batch.downloadAll": "Download all",
"translate.batch.newSession": "New session"
"translate.batch.newSession": "New session",
"translate.sameLanguageError": "Source and target languages must be different"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "Conservar el diseño",
"translate.textOnly": "Solo texto",
"translate.textOnlyDesc": "Traducción rápida solo de texto",
"translate.unavailableStandard": "No disponible en modo Estándar (solo IA)"
"translate.unavailableStandard": "No disponible en modo Estándar (solo IA)",
"translate.sameLanguageError": "El idioma de origen y el de destino deben ser diferentes"
}

View File

@@ -20,8 +20,10 @@ import profile from "./profile.json";
import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -45,8 +47,10 @@ const messages: Record<string, string> = {
...providerSelector,
...providerTheme,
...register,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "حفظ چیدمان",
"translate.textOnly": "فقط متن",
"translate.textOnlyDesc": "ترجمه سریع فقط متن",
"translate.unavailableStandard": "در حالت استاندارد موجود نیست (فقط AI)"
"translate.unavailableStandard": "در حالت استاندارد موجود نیست (فقط AI)",
"translate.sameLanguageError": "زبان مبدأ و مقصد باید متفاوت باشند"
}

View File

@@ -39,5 +39,13 @@
"reviews.error.sessionExpired": "Votre session a expiré. Reconnectez-vous puis rechargez cette page.",
"reviews.error.notFound": "Ce job n'existe plus. Il a peut-être été nettoyé.",
"reviews.error.rateLimited": "Trop de requêtes — attendez quelques secondes et réessayez.",
"reviews.error.server": "Le serveur n'a pas pu traiter la demande. Réessayez dans un instant."
"reviews.error.server": "Le serveur n'a pas pu traiter la demande. Réessayez dans un instant.",
"reviews.filter.all": "Tous",
"reviews.filter.pending": "À relire",
"reviews.filter.approved": "Approuvés",
"reviews.filter.edited": "Modifiés",
"reviews.searchPlaceholder": "Rechercher dans les segments...",
"reviews.shortcutHint": "Ctrl + Entrée pour enregistrer",
"reviews.approvingProgress": "Approbation ({current}/{total})…",
"reviews.noMatchingSegments": "Aucun segment ne correspond à votre filtre."
}

View File

@@ -25,5 +25,8 @@
"teams.error.load": "Chargement impossible",
"teams.pill": "Collaboration",
"teams.titleBase": "Espaces de",
"teams.titleAccent": "travail"
"teams.titleAccent": "travail",
"teams.removeConfirm": "Êtes-vous sûr de vouloir retirer ce membre ?",
"teams.cancel": "Annuler",
"teams.confirm": "Confirmer"
}

View File

@@ -108,5 +108,6 @@
"translate.batch.doneTitle": "{done}/{total} traduits",
"translate.batch.stop": "Arrêter la file",
"translate.batch.downloadAll": "Tout télécharger",
"translate.batch.newSession": "Nouvelle session"
"translate.batch.newSession": "Nouvelle session",
"translate.sameLanguageError": "La langue source et la langue cible doivent être différentes"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "Mantieni il layout",
"translate.textOnly": "Solo testo",
"translate.textOnlyDesc": "Traduzione rapida solo del testo",
"translate.unavailableStandard": "Non disponibile in modalità Standard (solo IA)"
"translate.unavailableStandard": "Non disponibile in modalità Standard (solo IA)",
"translate.sameLanguageError": "La lingua di origine e quella di destinazione devono essere diverse"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "レイアウトを保持",
"translate.textOnly": "テキストのみ",
"translate.textOnlyDesc": "テキストのみの高速翻訳",
"translate.unavailableStandard": "標準モードでは利用できません (AI のみ)"
"translate.unavailableStandard": "標準モードでは利用できません (AI のみ)",
"translate.sameLanguageError": "翻訳元と翻訳先の言語は異なる必要があります"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "레이아웃 유지",
"translate.textOnly": "텍스트만",
"translate.textOnlyDesc": "텍스트만 빠른 번역",
"translate.unavailableStandard": "표준 모드에서 사용 불가 (AI만)"
"translate.unavailableStandard": "표준 모드에서 사용 불가 (AI만)",
"translate.sameLanguageError": "출발어와 도착어가 달라야 합니다"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "Opmaak behouden",
"translate.textOnly": "Alleen tekst",
"translate.textOnlyDesc": "Snelle vertaling van alleen tekst",
"translate.unavailableStandard": "Niet beschikbaar in Standaardmodus (alleen AI)"
"translate.unavailableStandard": "Niet beschikbaar in Standaardmodus (alleen AI)",
"translate.sameLanguageError": "Bron- en doeltaal moeten verschillend zijn"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "Manter o layout",
"translate.textOnly": "Apenas texto",
"translate.textOnlyDesc": "Tradução rápida apenas do texto",
"translate.unavailableStandard": "Indisponível no modo Padrão (apenas IA)"
"translate.unavailableStandard": "Indisponível no modo Padrão (apenas IA)",
"translate.sameLanguageError": "Os idiomas de origem e de destino devem ser diferentes"
}

View File

@@ -22,8 +22,10 @@ import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -49,8 +51,10 @@ const messages: Record<string, string> = {
...providerTheme,
...register,
...resetPassword,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "Сохранить макет",
"translate.textOnly": "Только текст",
"translate.textOnlyDesc": "Быстрый перевод только текста",
"translate.unavailableStandard": "Недоступно в стандартном режиме (только ИИ)"
"translate.unavailableStandard": "Недоступно в стандартном режиме (только ИИ)",
"translate.sameLanguageError": "Исходный и целевой языки должны различаться"
}

View File

@@ -20,8 +20,10 @@ import profile from "./profile.json";
import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import reviews from "./reviews.json";
import services from "./services.json";
import settings from "./settings.json";
import teams from "./teams.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
@@ -45,8 +47,10 @@ const messages: Record<string, string> = {
...providerSelector,
...providerTheme,
...register,
...reviews,
...services,
...settings,
...teams,
...translate,
...translateComplete,
};

View File

@@ -0,0 +1,51 @@
{
"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."
}

View File

@@ -0,0 +1,32 @@
{
"teams.title": "Workspaces",
"teams.subtitle": "Share your glossaries with your team (Business plan — 5 seats).",
"teams.needsBusiness": "Workspaces require the Business plan. Upgrade to collaborate with your team.",
"teams.newWorkspace": "New workspace",
"teams.newPlaceholder": "e.g. Translation team",
"teams.create": "Create",
"teams.created": "Workspace created",
"teams.createdDesc": "You are the owner.",
"teams.createFailed": "Could not create",
"teams.memberAdded": "Member added",
"teams.addFailed": "Could not add",
"teams.removeFailed": "Could not remove",
"teams.removeMember": "Remove from workspace",
"teams.owner": "Owner",
"teams.seats": "{count} / {limit} seats",
"teams.seatsUnlimited": "{count} seats (unlimited)",
"teams.role.member": "Member",
"teams.role.admin": "Admin",
"teams.addMember": "Add a member (email)",
"teams.emailPlaceholder": "colleague@company.com",
"teams.invite": "Invite",
"teams.empty": "No workspace yet — create the first one above.",
"teams.error.title": "Error",
"teams.error.load": "Could not load workspaces",
"teams.pill": "Collaboration",
"teams.titleBase": "Workspaces",
"teams.titleAccent": "team",
"teams.removeConfirm": "Are you sure you want to remove this member?",
"teams.cancel": "Cancel",
"teams.confirm": "Confirm"
}

View File

@@ -88,5 +88,6 @@
"translate.preserveLayoutDesc": "保留布局",
"translate.textOnly": "仅文本",
"translate.textOnlyDesc": "仅文本快速翻译",
"translate.unavailableStandard": "标准模式下不可用(仅 AI)"
"translate.unavailableStandard": "标准模式下不可用(仅 AI)",
"translate.sameLanguageError": "源语言和目标语言必须不同"
}