chore: add missing multi-level editor for approval workflow, rename projects to campaings.
This commit is contained in:
@@ -74,7 +74,7 @@
|
||||
"myFeedback": "My Feedback",
|
||||
"feedbackReview": "Feedback Review",
|
||||
"channels": "Channels",
|
||||
"projects": "Campaigns",
|
||||
"campaigns": "Campaigns",
|
||||
"reviewQueue": "Review Queue",
|
||||
"content": "Content",
|
||||
"profile": "Profile",
|
||||
@@ -210,7 +210,7 @@
|
||||
"title": "Context",
|
||||
"workspace": "Workspace",
|
||||
"client": "Client",
|
||||
"project": "Campaign",
|
||||
"campaign": "Campaign",
|
||||
"contentItem": "Content item"
|
||||
},
|
||||
"activity": {
|
||||
@@ -253,11 +253,11 @@
|
||||
"sidebar": {
|
||||
"allClients": "All clients",
|
||||
"allChannels": "All channels",
|
||||
"allProjects": "All campaigns",
|
||||
"allCampaigns": "All campaigns",
|
||||
"allReviewItems": "Full review queue",
|
||||
"noClients": "No clients yet.",
|
||||
"noChannels": "No channels yet.",
|
||||
"noProjects": "No campaigns yet.",
|
||||
"noCampaigns": "No campaigns yet.",
|
||||
"noReviewItems": "No review items right now."
|
||||
},
|
||||
"settings": {
|
||||
@@ -281,12 +281,12 @@
|
||||
"deliveryRisks": "What can slip",
|
||||
"overdueItems": "Overdue items",
|
||||
"approvalBlockers": "Awaiting approval or revisions",
|
||||
"unscheduledProjects": "Campaigns without scheduled content",
|
||||
"unscheduledCampaigns": "Campaigns without scheduled content",
|
||||
"reviewQueueSnapshot": "Review queue snapshot",
|
||||
"emptyUpcoming": "No upcoming scheduled content.",
|
||||
"emptyOverdue": "Nothing overdue right now.",
|
||||
"emptyApproval": "No approval blockers at the moment.",
|
||||
"emptyProjects": "Every campaign has at least one scheduled content item.",
|
||||
"emptyCampaigns": "Every campaign has at least one scheduled content item.",
|
||||
"emptyReviewQueue": "No active review queue items.",
|
||||
"previousDay": "Previous day",
|
||||
"nextDay": "Next day",
|
||||
@@ -295,20 +295,20 @@
|
||||
"week": "Week",
|
||||
"campaignDeadline": "Campaign deadline",
|
||||
"emptyPeriod": "No scheduled items.",
|
||||
"daySummary": "{content} content items · {projects} campaign deadlines",
|
||||
"daySummary": "{content} content items · {campaigns} campaign deadlines",
|
||||
"moreItems": "+{count} more",
|
||||
"emptyDayAgenda": "No content is scheduled for this day.",
|
||||
"projectProgress": "{scheduled} scheduled · {approved} approved",
|
||||
"campaignProgress": "{scheduled} scheduled · {approved} approved",
|
||||
"missingSchedule": "Needs content scheduled",
|
||||
"noDueDate": "No due date",
|
||||
"labels": {
|
||||
"unassignedProject": "Unassigned campaign"
|
||||
"unassignedCampaign": "Unassigned campaign"
|
||||
},
|
||||
"readiness": {
|
||||
"building": "In production",
|
||||
"approval": "Awaiting approval",
|
||||
"rework": "Needs revision",
|
||||
"ready": "Ready to publish",
|
||||
"ready": "Approved",
|
||||
"published": "Published",
|
||||
"blocked": "Blocked",
|
||||
"archived": "Archived",
|
||||
@@ -339,13 +339,13 @@
|
||||
"emptyRisks": "No cross-workspace delivery risks right now.",
|
||||
"emptyActivity": "No recent workflow activity yet.",
|
||||
"labels": {
|
||||
"projects": "campaigns",
|
||||
"campaigns": "campaigns",
|
||||
"upcoming": "upcoming",
|
||||
"blocked": "blocked"
|
||||
},
|
||||
"stats": {
|
||||
"workspaces": "Workspaces",
|
||||
"projects": "Campaigns",
|
||||
"campaigns": "Campaigns",
|
||||
"upcoming": "Upcoming items",
|
||||
"blockers": "At-risk items"
|
||||
}
|
||||
@@ -372,11 +372,11 @@
|
||||
"primaryContactPortraitUrl": "Primary contact portrait URL"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"campaigns": {
|
||||
"eyebrow": "Campaign planning",
|
||||
"title": "Campaigns",
|
||||
"description": "Campaigns grouped inside the active workspace by status, date range, and planning notes.",
|
||||
"newProject": "New campaign",
|
||||
"newCampaign": "New campaign",
|
||||
"createTitle": "Create campaign",
|
||||
"loading": "Loading campaigns...",
|
||||
"empty": "No campaigns are available for the active workspace.",
|
||||
@@ -444,8 +444,8 @@
|
||||
"title": "Title",
|
||||
"client": "Client",
|
||||
"selectClient": "Select a client",
|
||||
"project": "Campaign",
|
||||
"selectProject": "Select a campaign",
|
||||
"campaign": "Campaign",
|
||||
"selectCampaign": "Select a campaign",
|
||||
"dueDate": "Due date",
|
||||
"publicationTargets": "Publication targets",
|
||||
"publicationTargetsPlaceholder": "Instagram Reel, TikTok",
|
||||
@@ -559,35 +559,83 @@
|
||||
},
|
||||
"approvals": {
|
||||
"flowTitle": "Approval flow",
|
||||
"flowDescription": "Personalize how content moves through internal review, client review, and publishing for this workspace.",
|
||||
"flowDescription": "Configure how content approval works across this workspace.",
|
||||
"previewTitle": "Flow preview",
|
||||
"previewDescription": "This is the sequence the workspace will use based on the current configuration.",
|
||||
"saved": "Approval flow saved for this workspace in this browser.",
|
||||
"saved": "Approval flow saved.",
|
||||
"saveAction": "Save approval flow",
|
||||
"fields": {
|
||||
"requireInternalReview": "Require internal review",
|
||||
"internalApproversRequired": "Internal approvers required",
|
||||
"requireClientReview": "Require client review",
|
||||
"clientApproversRequired": "Client approvers required",
|
||||
"defaultReviewerRole": "Default reviewer role",
|
||||
"publishBehaviour": "After final approval"
|
||||
"approvalMode": "Approval mode",
|
||||
"schedulePostsAutomaticallyOnApproval": "Schedule posts automatically on approval",
|
||||
"lockContentAfterApproval": "Lock content after approval",
|
||||
"sendAutomaticApprovalReminders": "Send automatic approval reminders"
|
||||
},
|
||||
"fieldHelp": {
|
||||
"requireInternalReview": "Content must be approved internally before client review can begin.",
|
||||
"requireClientReview": "Content must still pass through client approval before publication."
|
||||
"schedulePostsAutomaticallyOnApproval": "Final approval moves content to Scheduled when it already has a planned publish date.",
|
||||
"lockContentAfterApproval": "Approval-controlled content becomes locked after final approval. Scheduling fields remain editable.",
|
||||
"sendAutomaticApprovalReminders": "Current approvers receive daily reminders while an approval step is pending."
|
||||
},
|
||||
"publishBehaviour": {
|
||||
"manual": "Mark ready to publish",
|
||||
"auto": "Auto-advance to ready"
|
||||
"modes": {
|
||||
"none": "None",
|
||||
"optional": "Optional",
|
||||
"required": "Required",
|
||||
"multiLevel": "Multi-level"
|
||||
},
|
||||
"modeHelp": {
|
||||
"none": "Content skips approval workflow and can become Approved without approval actions.",
|
||||
"optional": "A one-step approval workflow is available but does not block publication workflow.",
|
||||
"required": "At least one approval is required before content can become Approved or Scheduled.",
|
||||
"multiLevel": "Approval uses ordered steps with targeted approvers for each step."
|
||||
},
|
||||
"editor": {
|
||||
"title": "Multi-level steps",
|
||||
"description": "Define who approves each ordered step before content reaches final approval.",
|
||||
"addStep": "Add step",
|
||||
"empty": "Add at least one approval step before saving multi-level approval.",
|
||||
"unnamedStep": "Unnamed step",
|
||||
"moveUp": "Move step up",
|
||||
"moveDown": "Move step down",
|
||||
"removeStep": "Remove step",
|
||||
"selectMember": "Select a member",
|
||||
"selectMembers": "Select one or more members. Hold Ctrl or Command to select multiple.",
|
||||
"defaultStepName": "Approval step {number}",
|
||||
"stepNumber": "Step {number}",
|
||||
"fields": {
|
||||
"name": "Display name",
|
||||
"targetType": "Target type",
|
||||
"targetValue": "Target",
|
||||
"requiredApproverCount": "Required approvers"
|
||||
},
|
||||
"targetTypes": {
|
||||
"role": "Role",
|
||||
"membership": "Membership",
|
||||
"member": "Member"
|
||||
},
|
||||
"memberships": {
|
||||
"team": "Team",
|
||||
"client": "Client"
|
||||
},
|
||||
"errors": {
|
||||
"atLeastOneStep": "Multi-level approval requires at least one step.",
|
||||
"fixInvalidSteps": "Fix the highlighted approval steps before saving.",
|
||||
"nameRequired": "Enter a step name.",
|
||||
"targetRequired": "Choose who can approve this step.",
|
||||
"notEnoughMembers": "Select at least as many members as required approvers.",
|
||||
"requiredApproverCount": "Enter at least 1 required approver."
|
||||
}
|
||||
},
|
||||
"steps": {
|
||||
"internal": "Internal review",
|
||||
"client": "Client review",
|
||||
"none": "Approval skipped",
|
||||
"approval": "Approval",
|
||||
"publish": "Publishing handoff"
|
||||
},
|
||||
"stepDetail": {
|
||||
"none": "No approval workflow is created for content in this workspace.",
|
||||
"optional": "Approval can be collected, but it is not required before publication workflow.",
|
||||
"approverCount": "{count} approver(s) required",
|
||||
"autoPublish": "Content moves to ready automatically after the final approval.",
|
||||
"manualPublish": "Content stays in a manual ready-to-publish handoff after the final approval."
|
||||
"multiLevelTarget": "{count} approver(s) from {target}",
|
||||
"autoSchedule": "Approved content with a planned publish date moves to Scheduled.",
|
||||
"manualSchedule": "Approved content remains Approved until scheduling is handled."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
"myFeedback": "Mon feedback",
|
||||
"feedbackReview": "Revue feedback",
|
||||
"channels": "Canaux",
|
||||
"projects": "Campagnes",
|
||||
"campaigns": "Campagnes",
|
||||
"reviewQueue": "File de révision",
|
||||
"content": "Contenu",
|
||||
"profile": "Profil",
|
||||
@@ -210,7 +210,7 @@
|
||||
"title": "Contexte",
|
||||
"workspace": "Espace",
|
||||
"client": "Client",
|
||||
"project": "Campagne",
|
||||
"campaign": "Campagne",
|
||||
"contentItem": "Élément de contenu"
|
||||
},
|
||||
"activity": {
|
||||
@@ -253,11 +253,11 @@
|
||||
"sidebar": {
|
||||
"allClients": "Tous les clients",
|
||||
"allChannels": "Tous les canaux",
|
||||
"allProjects": "Toutes les campagnes",
|
||||
"allCampaigns": "Toutes les campagnes",
|
||||
"allReviewItems": "File de révision complète",
|
||||
"noClients": "Aucun client pour le moment.",
|
||||
"noChannels": "Aucun canal pour le moment.",
|
||||
"noProjects": "Aucune campagne pour le moment.",
|
||||
"noCampaigns": "Aucune campagne pour le moment.",
|
||||
"noReviewItems": "Aucun élément à réviser pour le moment."
|
||||
},
|
||||
"settings": {
|
||||
@@ -281,12 +281,12 @@
|
||||
"deliveryRisks": "Ce qui peut glisser",
|
||||
"overdueItems": "Éléments en retard",
|
||||
"approvalBlockers": "En attente d'approbation ou de révision",
|
||||
"unscheduledProjects": "Campagnes sans contenu planifié",
|
||||
"unscheduledCampaigns": "Campagnes sans contenu planifié",
|
||||
"reviewQueueSnapshot": "Aperçu de la file de révision",
|
||||
"emptyUpcoming": "Aucun contenu planifié à venir.",
|
||||
"emptyOverdue": "Rien n'est en retard pour le moment.",
|
||||
"emptyApproval": "Aucun blocage d'approbation pour le moment.",
|
||||
"emptyProjects": "Chaque campagne a au moins un élément de contenu planifié.",
|
||||
"emptyCampaigns": "Chaque campagne a au moins un élément de contenu planifié.",
|
||||
"emptyReviewQueue": "Aucun élément actif dans la file de révision.",
|
||||
"previousDay": "Jour précédent",
|
||||
"nextDay": "Jour suivant",
|
||||
@@ -295,20 +295,20 @@
|
||||
"week": "Semaine",
|
||||
"campaignDeadline": "Échéance de campagne",
|
||||
"emptyPeriod": "Aucun élément planifié.",
|
||||
"daySummary": "{content} contenus · {projects} échéances de campagne",
|
||||
"daySummary": "{content} contenus · {campaigns} échéances de campagne",
|
||||
"moreItems": "+{count} autres",
|
||||
"emptyDayAgenda": "Aucun contenu n'est planifié pour cette journée.",
|
||||
"projectProgress": "{scheduled} planifiés · {approved} approuvés",
|
||||
"campaignProgress": "{scheduled} planifiés · {approved} approuvés",
|
||||
"missingSchedule": "Contenu à planifier",
|
||||
"noDueDate": "Aucune échéance",
|
||||
"labels": {
|
||||
"unassignedProject": "Campagne non attribuée"
|
||||
"unassignedCampaign": "Campagne non attribuée"
|
||||
},
|
||||
"readiness": {
|
||||
"building": "En production",
|
||||
"approval": "En attente d'approbation",
|
||||
"rework": "Révision requise",
|
||||
"ready": "Prêt à publier",
|
||||
"ready": "Approuvé",
|
||||
"published": "Publié",
|
||||
"blocked": "Bloqué",
|
||||
"archived": "Archivé",
|
||||
@@ -339,13 +339,13 @@
|
||||
"emptyRisks": "Aucun risque de livraison multi-espace pour le moment.",
|
||||
"emptyActivity": "Aucune activité récente du workflow.",
|
||||
"labels": {
|
||||
"projects": "campagnes",
|
||||
"campaigns": "campagnes",
|
||||
"upcoming": "à venir",
|
||||
"blocked": "bloqués"
|
||||
},
|
||||
"stats": {
|
||||
"workspaces": "Espaces",
|
||||
"projects": "Campagnes",
|
||||
"campaigns": "Campagnes",
|
||||
"upcoming": "Éléments à venir",
|
||||
"blockers": "Éléments à risque"
|
||||
}
|
||||
@@ -372,11 +372,11 @@
|
||||
"primaryContactPortraitUrl": "URL du portrait du contact principal"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"campaigns": {
|
||||
"eyebrow": "Planification des campagnes",
|
||||
"title": "Campagnes",
|
||||
"description": "Campagnes regroupées dans l'espace actif par statut, plage de dates et notes de planification.",
|
||||
"newProject": "Nouvelle campagne",
|
||||
"newCampaign": "Nouvelle campagne",
|
||||
"createTitle": "Créer une campagne",
|
||||
"loading": "Chargement des campagnes...",
|
||||
"empty": "Aucune campagne n'est disponible pour l'espace actif.",
|
||||
@@ -444,8 +444,8 @@
|
||||
"title": "Titre",
|
||||
"client": "Client",
|
||||
"selectClient": "Sélectionner un client",
|
||||
"project": "Campagne",
|
||||
"selectProject": "Sélectionner une campagne",
|
||||
"campaign": "Campagne",
|
||||
"selectCampaign": "Sélectionner une campagne",
|
||||
"dueDate": "Date d'échéance",
|
||||
"publicationTargets": "Cibles de publication",
|
||||
"publicationTargetsPlaceholder": "Instagram Reel, TikTok",
|
||||
@@ -559,35 +559,83 @@
|
||||
},
|
||||
"approvals": {
|
||||
"flowTitle": "Flux d'approbation",
|
||||
"flowDescription": "Personnalisez le passage du contenu par la révision interne, la révision client et la mise en publication pour cet espace.",
|
||||
"flowDescription": "Configurez le fonctionnement de l'approbation du contenu dans cet espace.",
|
||||
"previewTitle": "Aperçu du flux",
|
||||
"previewDescription": "Voici la séquence que l'espace utilisera selon la configuration actuelle.",
|
||||
"saved": "Le flux d'approbation a été enregistré pour cet espace dans ce navigateur.",
|
||||
"saved": "Flux d'approbation enregistré.",
|
||||
"saveAction": "Enregistrer le flux",
|
||||
"fields": {
|
||||
"requireInternalReview": "Exiger une révision interne",
|
||||
"internalApproversRequired": "Approbateurs internes requis",
|
||||
"requireClientReview": "Exiger une révision client",
|
||||
"clientApproversRequired": "Approbateurs client requis",
|
||||
"defaultReviewerRole": "Rôle du réviseur par défaut",
|
||||
"publishBehaviour": "Après l'approbation finale"
|
||||
"approvalMode": "Mode d'approbation",
|
||||
"schedulePostsAutomaticallyOnApproval": "Planifier automatiquement après approbation",
|
||||
"lockContentAfterApproval": "Verrouiller le contenu après approbation",
|
||||
"sendAutomaticApprovalReminders": "Envoyer des rappels automatiques"
|
||||
},
|
||||
"fieldHelp": {
|
||||
"requireInternalReview": "Le contenu doit être approuvé en interne avant de passer à la révision client.",
|
||||
"requireClientReview": "Le contenu doit encore passer par une approbation client avant la publication."
|
||||
"schedulePostsAutomaticallyOnApproval": "L'approbation finale passe le contenu à Planifié quand une date de publication est déjà prévue.",
|
||||
"lockContentAfterApproval": "Le contenu contrôlé par l'approbation est verrouillé après l'approbation finale. Les champs de planification restent modifiables.",
|
||||
"sendAutomaticApprovalReminders": "Les approbateurs courants reçoivent des rappels quotidiens tant qu'une étape est en attente."
|
||||
},
|
||||
"publishBehaviour": {
|
||||
"manual": "Marquer prêt à publier",
|
||||
"auto": "Passer automatiquement à prêt"
|
||||
"modes": {
|
||||
"none": "Aucun",
|
||||
"optional": "Optionnel",
|
||||
"required": "Requis",
|
||||
"multiLevel": "Multi-niveaux"
|
||||
},
|
||||
"modeHelp": {
|
||||
"none": "Le contenu saute le workflow d'approbation et peut devenir Approuvé sans action d'approbation.",
|
||||
"optional": "Un workflow d'approbation en une étape est disponible, mais il ne bloque pas la publication.",
|
||||
"required": "Au moins une approbation est requise avant que le contenu devienne Approuvé ou Planifié.",
|
||||
"multiLevel": "L'approbation utilise des étapes ordonnées avec des approbateurs ciblés pour chaque étape."
|
||||
},
|
||||
"editor": {
|
||||
"title": "Étapes multi-niveaux",
|
||||
"description": "Définissez qui approuve chaque étape ordonnée avant l'approbation finale du contenu.",
|
||||
"addStep": "Ajouter une étape",
|
||||
"empty": "Ajoutez au moins une étape d'approbation avant d'enregistrer le mode multi-niveaux.",
|
||||
"unnamedStep": "Étape sans nom",
|
||||
"moveUp": "Monter l'étape",
|
||||
"moveDown": "Descendre l'étape",
|
||||
"removeStep": "Supprimer l'étape",
|
||||
"selectMember": "Sélectionner un membre",
|
||||
"selectMembers": "Sélectionnez un ou plusieurs membres. Maintenez Ctrl ou Commande pour une sélection multiple.",
|
||||
"defaultStepName": "Étape d'approbation {number}",
|
||||
"stepNumber": "Étape {number}",
|
||||
"fields": {
|
||||
"name": "Nom affiché",
|
||||
"targetType": "Type de cible",
|
||||
"targetValue": "Cible",
|
||||
"requiredApproverCount": "Approbateurs requis"
|
||||
},
|
||||
"targetTypes": {
|
||||
"role": "Rôle",
|
||||
"membership": "Appartenance",
|
||||
"member": "Membre"
|
||||
},
|
||||
"memberships": {
|
||||
"team": "Équipe",
|
||||
"client": "Client"
|
||||
},
|
||||
"errors": {
|
||||
"atLeastOneStep": "L'approbation multi-niveaux requiert au moins une étape.",
|
||||
"fixInvalidSteps": "Corrigez les étapes d'approbation indiquées avant d'enregistrer.",
|
||||
"nameRequired": "Saisissez un nom d'étape.",
|
||||
"targetRequired": "Choisissez qui peut approuver cette étape.",
|
||||
"notEnoughMembers": "Sélectionnez au moins autant de membres que d'approbateurs requis.",
|
||||
"requiredApproverCount": "Saisissez au moins 1 approbateur requis."
|
||||
}
|
||||
},
|
||||
"steps": {
|
||||
"internal": "Révision interne",
|
||||
"client": "Révision client",
|
||||
"none": "Approbation ignorée",
|
||||
"approval": "Approbation",
|
||||
"publish": "Passage à la publication"
|
||||
},
|
||||
"stepDetail": {
|
||||
"none": "Aucun workflow d'approbation n'est créé pour le contenu de cet espace.",
|
||||
"optional": "L'approbation peut être recueillie, mais elle n'est pas requise avant la publication.",
|
||||
"approverCount": "{count} approbateur(s) requis",
|
||||
"autoPublish": "Le contenu passe automatiquement à prêt après l'approbation finale.",
|
||||
"manualPublish": "Le contenu reste dans une étape manuelle prêt à publier après l'approbation finale."
|
||||
"multiLevelTarget": "{count} approbateur(s) de {target}",
|
||||
"autoSchedule": "Le contenu approuvé avec une date de publication prévue passe à Planifié.",
|
||||
"manualSchedule": "Le contenu approuvé reste Approuvé jusqu'à sa planification."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user