Files
social-media/frontend/src/locales/en.json

1074 lines
42 KiB
JSON

{
"save": "Save",
"cancel": "Cancel",
"edit": "Edit",
"delete": "Delete",
"create": "Create",
"apply": "Apply",
"preview": "Preview",
"label": "Label",
"confirm": "Confirm",
"close": "Close",
"accept": "Accept",
"loading": "Loading...",
"error": "Error",
"success": "Success",
"changesSaved": "Changes saved successfully",
"errorOccurred": "An error occurred",
"name": "Name",
"email": "Email",
"password": "Password",
"description": "Description",
"title": "Title",
"image": "Image",
"file": "File",
"required": "This field is required",
"invalidEmail": "Invalid email address",
"invalidPassword": "Invalid password",
"facebook": "Facebook",
"instagram": "Instagram",
"linkedin": "LinkedIn",
"reddit": "Reddit",
"tiktok": "TikTok",
"x": "X (Twitter)",
"youtube": "YouTube",
"website": "Website",
"public": {
"nav": {
"product": "Product",
"pricing": "Pricing",
"resources": "Resources",
"blogs": "Blogs",
"guides": "Guides",
"ariaLabel": "Public site navigation",
"language": "Language",
"openApp": "Open app",
"login": "Login"
},
"landing": {
"meta": {
"title": "Socialize | Try a faster social media approval workflow",
"description": "Try Socialize to centralize social media content review, revisions, client approvals, and publication handoff in one workflow."
},
"hero": {
"eyebrow": "Client approvals without the chase",
"title": "Get social content approved before another deadline slips.",
"description": "Stop hunting through Drive links, email threads, chat comments, and spreadsheets. Socialize gives agencies and content teams one focused workflow for review, revisions, approvals, and publishing handoff.",
"primaryAction": "Try the app",
"secondaryAction": "Try the app",
"ctaNote": "Start with your next client review. No publishing migration required."
},
"proof": {
"reviews": {
"value": "1 place",
"label": "for every review"
},
"handoff": {
"value": "0 guesswork",
"label": "at publishing handoff"
},
"traceability": {
"value": "Full context",
"label": "for every approval"
}
},
"mockup": {
"title": "Review queue",
"badge": "Live workflow",
"reel": {
"title": "May launch reel",
"meta": "Instagram · Client review",
"status": "Needs approval"
},
"launch": {
"title": "Product announcement",
"meta": "LinkedIn · Internal review",
"status": "Changes logged"
},
"newsletter": {
"title": "June newsletter",
"meta": "Email · Ready for handoff",
"status": "Approved"
},
"approvalLabel": "Latest decision",
"approvalValue": "Approved version is clear, traceable, and ready to schedule."
},
"pillars": {
"singleSource": {
"eyebrow": "End the status meeting",
"title": "Every comment, revision, decision, and due date stays attached to the content item."
},
"collaboration": {
"eyebrow": "Collaboration that closes loops",
"title": "Give agency teams, providers, and client approvers one obvious place to review and approve."
},
"ownership": {
"eyebrow": "Keep ownership of your data",
"title": "Keep client files where they belong while Socialize organizes the workflow around them."
}
},
"focus": {
"eyebrow": "Why teams try it",
"title": "The fastest way to feel the difference is to run one real approval through Socialize.",
"clients": {
"label": "Clients",
"description": "Keep each brand or business in a clean review workspace"
},
"campaigns": {
"label": "Campaigns",
"description": "Group related work around timelines, approvals, and delivery goals"
},
"contentItems": {
"label": "Content items",
"description": "Make every post, asset, and approval easy to find again"
}
},
"finalCta": {
"eyebrow": "Try it on your next approval",
"title": "You already have content waiting for feedback. Put the next one in Socialize.",
"description": "Bring one client review into a workspace and see how much easier it is when feedback, versions, and approvals stay together."
}
},
"product": {
"meta": {
"title": "Product | Socialize",
"description": "Socialize keeps content items, assets, revisions, comments, approval decisions, and publishing handoff details in one workspace."
},
"eyebrow": "Product",
"title": "Social media content approval, organized around the work itself.",
"description": "Socialize keeps content items, assets, revisions, comments, approval decisions, and publishing handoff details in one workspace so teams do not have to coordinate review across scattered tools.",
"featureEyebrow": "Features",
"featureTitle": "Follow the work from request to approval."
},
"features": {
"content-planning": {
"title": "Content planning",
"description": "Shape upcoming work around clients, campaigns, channels, owners, and due dates.",
"detailTitle": "Plan social content before review starts.",
"detailDescription": "Create content items with the context reviewers need: copy, channels, timing, campaign relationships, and production notes.",
"bullets": [
"Organize work by workspace, client, and campaign.",
"Track planned dates, channels, and review readiness.",
"Keep the request, brief, and reviewable content together."
]
},
"asset-revisions": {
"title": "Asset revisions",
"description": "Keep files and versions traceable without forcing teams to abandon their storage.",
"detailTitle": "Make the latest asset version obvious.",
"detailDescription": "Link creative assets, preserve revision history, and keep feedback connected to the version being reviewed.",
"bullets": [
"Attach images, videos, documents, and file references.",
"Preserve earlier revisions instead of overwriting context.",
"Help reviewers understand which version is current."
]
},
"comment-threads": {
"title": "Comment threads",
"description": "Keep feedback attached to the content instead of scattered across chat and email.",
"detailTitle": "Put review conversations where the work lives.",
"detailDescription": "Centralize feedback, questions, internal notes, and client comments around the content item.",
"bullets": [
"Keep discussion tied to the relevant item or revision.",
"Separate workflow comments from formal approval decisions.",
"Reduce follow-up by keeping context visible to the team."
]
},
"approval-workflows": {
"title": "Approval workflows",
"description": "Record clear approval decisions before content moves to publishing handoff.",
"detailTitle": "Turn review into a clear decision.",
"detailDescription": "Support required, optional, and multi-step approval patterns so teams know when content is actually approved.",
"bullets": [
"Track who approved and when.",
"Support internal review before client approval.",
"Keep approval state separate from informal feedback."
]
},
"client-review": {
"title": "Client review",
"description": "Give external approvers a focused way to review content without full workspace access.",
"detailTitle": "Make client review easier to complete.",
"detailDescription": "Share focused review access so clients can comment and approve the content they are responsible for.",
"bullets": [
"Keep clients focused on the content they need to review.",
"Avoid exposing internal workspace details.",
"Reduce back-and-forth with a clear approval surface."
]
},
"review-queues": {
"title": "Review queues",
"description": "Show teams what needs attention, what is blocked, and what can move forward.",
"detailTitle": "Know what needs review next.",
"detailDescription": "Surface pending approvals, overdue work, and items waiting for feedback so teams can act quickly.",
"bullets": [
"Track items waiting on internal or client review.",
"Spot blockers before deadlines slip.",
"Keep approval work visible across the workspace."
]
},
"audit-trail": {
"title": "Audit trail",
"description": "Preserve the history of uploads, comments, status changes, and approvals.",
"detailTitle": "Keep a record teams can trust.",
"detailDescription": "Socialize keeps workflow history attached to the content item so decisions and revisions remain traceable.",
"bullets": [
"See status changes and approval history.",
"Preserve revision context after content changes.",
"Make handoff decisions easier to verify."
]
},
"workspace-access": {
"title": "Workspace access",
"description": "Separate organization members, workspace collaborators, clients, and approvers.",
"detailTitle": "Give the right people the right scope.",
"detailDescription": "Use workspaces as the brand or client boundary while keeping organization access, collaborators, and external reviewers distinct.",
"bullets": [
"Keep each client or brand in its own workspace.",
"Invite external collaborators without making them organization members.",
"Preserve workspace-level scoping for review data."
]
},
"team-collaboration": {
"title": "Team collaboration",
"description": "Coordinate agencies, producers, providers, and client approvers in one workflow.",
"detailTitle": "Bring every reviewer into one workflow.",
"detailDescription": "Help internal teams, production partners, and clients work from the same review state without losing ownership of their part of the process.",
"bullets": [
"Coordinate internal and external contributors.",
"Keep team review and client review connected.",
"Make ownership and next steps easier to see."
]
}
},
"pricing": {
"meta": {
"title": "Pricing | Socialize",
"description": "Socialize pricing for freelancers, agencies, and teams managing social media content approvals with clients."
},
"eyebrow": "Pricing",
"title": "Start free. Upgrade when approvals become client work.",
"description": "Choose the plan that matches your review volume. Every tier keeps content, feedback, revisions, and approvals in one workflow.",
"bestValue": "Best value",
"includedLabel": "Included",
"limitsLabel": "Limits",
"tiers": {
"free": {
"name": "Free",
"description": "For trying Socialize on one real approval workflow.",
"price": "$0",
"priceNote": "forever",
"action": "Try the app",
"features": [
"Content items with copy and asset links",
"Basic comments and review history",
"One approval workflow",
"Client-ready review view",
"Email-ready handoff notes"
],
"limits": [
"1 workspace",
"3 active content items",
"2 team members",
"1 external reviewer"
]
},
"freelance": {
"name": "Freelance",
"description": "For solo operators managing recurring client reviews.",
"price": "$19",
"priceNote": "per month",
"action": "Start Freelance",
"features": [
"Everything in Free",
"Revision tracking for assets and copy",
"Reusable client approval workflow",
"Review queue for active work",
"Activity history for approvals"
],
"limits": [
"3 workspaces",
"25 active content items",
"5 team members",
"10 external reviewers"
]
},
"agency": {
"name": "Agency",
"description": "For agencies that need repeatable client approval operations.",
"price": "$79",
"priceNote": "per month",
"action": "Start Agency",
"features": [
"Everything in Freelance",
"Multi-client workspace management",
"Internal review before client approval",
"Multi-step approval workflows",
"Priority review queues and audit trail"
],
"limits": [
"15 workspaces",
"250 active content items",
"25 team members",
"Unlimited external reviewers"
]
},
"enterprise": {
"name": "Enterprise",
"description": "For larger organizations with governance and access needs.",
"price": "Custom",
"priceNote": "tailored plan",
"action": "Start Enterprise",
"features": [
"Everything in Agency",
"Organization-level access controls",
"Advanced approval configuration",
"Dedicated onboarding support",
"Custom usage and workspace limits"
],
"limits": [
"Unlimited workspaces",
"Unlimited active content items",
"Custom member limits",
"Custom reviewer limits"
]
}
}
},
"blogs": {
"meta": {
"title": "Blogs | Socialize",
"description": "Practical articles on content review workflows, client approval, revision tracking, and publication handoff."
},
"eyebrow": "Blogs",
"title": "Practical notes on content review workflows.",
"description": "Articles are coming soon. This area will cover approval operations, client review habits, revision tracking, and publication handoff."
},
"guides": {
"meta": {
"title": "Guides | Socialize",
"description": "Reusable guides for content intake, review rounds, approval decisions, and delivery readiness."
},
"eyebrow": "Guides",
"title": "Reusable guides for managing review and approval work.",
"description": "Guides are coming soon. This area will collect repeatable playbooks for content intake, review rounds, approval decisions, and delivery readiness."
}
},
"common": {
"cancel": "Cancel",
"creating": "Creating...",
"saving": "Saving..."
},
"workspaceSelector": {
"allWorkspaces": "All Workspaces",
"allWorkspacesDescription": "Show every workspace",
"createAction": "Add workspace",
"hideWorkspace": "Hide workspace",
"multipleWorkspaces": "Multiple Workspaces",
"organizationLabel": "Organization",
"organizationSettings": "Organization settings",
"noOrganization": "No organization",
"showWorkspace": "Show workspace",
"workspaceSettings": "Workspace settings"
},
"workspaceCreate": {
"eyebrow": "Workspace",
"title": "Create a new workspace",
"description": "Set up a new workspace with its own timezone, members, workflow, and connectors.",
"formTitle": "Workspace details",
"formDescription": "Start with the core fields now. Members, workflow, and connectors can be configured right after creation.",
"createAction": "Create workspace",
"fields": {
"name": "Workspace name",
"namePlaceholder": "Northwind Studio",
"organization": "Organization",
"timeZone": "Time zone"
},
"errors": {
"required": "All workspace fields are required.",
"createFailed": "The workspace could not be created."
}
},
"organizationSettings": {
"eyebrow": "Organization",
"title": "Organization settings",
"description": "Manage the SaaS account boundary for members, billing access, connections, and owned workspaces.",
"loading": "Loading organization settings...",
"fields": {
"name": "Name",
"createdAt": "Created"
},
"sections": {
"profile": {
"title": "Profile",
"description": "The account identity used across organization-owned workspaces."
},
"members": {
"title": "Members",
"description": "Organization-level users and their inherited account permissions.",
"empty": "No organization members found."
},
"billing": {
"title": "Billing",
"description": "Subscription and billing access for this organization.",
"placeholderTitle": "Billing provider is not connected yet",
"placeholderText": "Plan, payment, and invoice management will live here after billing integration is added."
},
"connections": {
"title": "Connections",
"description": "Organization-level connectors and data mappings.",
"placeholderTitle": "No organization connections configured",
"placeholderText": "Connector authorization flows are intentionally out of scope for this UI shell."
},
"workspaces": {
"title": "Workspaces",
"description": "Brand and client workspaces owned by this organization.",
"empty": "No workspaces belong to this organization yet."
}
},
"roles": {
"Owner": "Owner",
"Admin": "Admin",
"BillingManager": "Billing manager",
"ConnectorManager": "Connector manager",
"Member": "Member"
},
"permissions": {
"title": "Your permissions",
"description": "Current organization permissions returned by the API.",
"items": {
"ManageOrganizationSettings": "Manage settings",
"ManageOrganizationMembers": "Manage members",
"CreateWorkspaces": "Create workspaces",
"ManageWorkspaces": "Manage workspaces",
"ManageBilling": "Manage billing",
"ManageConnectors": "Manage connectors",
"AccessOwnedWorkspaces": "Access owned workspaces"
}
}
},
"nav": {
"brandStage": "Alpha Preview",
"brandStageLabel": "Product stage: Alpha Preview",
"brandCaption": "Approval workflow",
"workspace": "Workspace",
"notifications": "Notifications",
"dashboard": "Dashboard",
"overview": "Overview",
"workspacePlan": "Calendar",
"mediaLibrary": "Media Library",
"myFeedback": "My Feedback",
"feedbackReview": "Feedback Review",
"channels": "Channels",
"campaigns": "Campaigns",
"reviewQueue": "Review Queue",
"content": "Content",
"profile": "Profile",
"signIn": "Sign in",
"settings": "Settings",
"language": "Language",
"signOut": "Sign out",
"noWorkspace": "No workspace"
},
"notifications": {
"title": "Notifications",
"unread": "unread",
"loading": "Loading notifications...",
"empty": "No workflow notifications yet.",
"events": {
"approvalRequested": "Approval requested",
"approvalDecisionRecorded": "Approval decision recorded",
"commentCreated": "Comment added",
"commentResolved": "Comment resolved",
"contentCreated": "Content item created",
"revisionCreated": "Revision created",
"statusUpdated": "Status updated",
"assetLinked": "Asset linked",
"assetRevisionCreated": "Asset revision created",
"feedbackReportCreated": "New feedback report",
"feedbackDeveloperCommented": "Developer commented",
"feedbackStatusChanged": "Feedback status changed",
"feedbackReporterCommented": "Reporter replied"
}
},
"feedback": {
"button": "Feedback",
"open": "Send product feedback",
"eyebrow": "Product feedback",
"title": "Send feedback",
"capture": "Capture screen",
"removeCapture": "Remove capture",
"noCapture": "Capture the current app viewport if a screenshot would help.",
"captureFailed": "The screenshot could not be captured. You can still submit feedback without it.",
"submit": "Submit feedback",
"submitted": "Feedback submitted.",
"submitFailed": "Feedback could not be submitted.",
"discardConfirm": "Discard this unsent feedback?",
"textPrompt": "Text label",
"types": {
"bug": "Bug",
"suggestion": "Suggestion",
"request": "Request"
},
"fields": {
"type": "Type",
"description": "Description",
"descriptionPlaceholder": "Describe what happened, what you expected, or what would improve the workflow."
},
"tools": {
"crop": "Crop",
"arrow": "Arrow",
"ellipse": "Circle",
"line": "Line",
"freehand": "Freehand",
"text": "Text label",
"undo": "Undo",
"clear": "Clear and reset"
},
"review": {
"eyebrow": "Developer review",
"title": "Product feedback",
"description": "Review submitted bugs, suggestions, and requests across all workspaces.",
"refresh": "Refresh feedback",
"loading": "Loading feedback...",
"empty": "No feedback matches the current filters.",
"emptyValue": "Not captured",
"noContext": "No workspace context",
"lastActivity": "Last activity",
"metrics": {
"total": "Total reports",
"visible": "Visible",
"new": "New",
"planned": "Planned"
},
"filters": {
"search": "Search feedback",
"type": "Type",
"status": "Status",
"tag": "Tag",
"reporter": "Reporter",
"workspace": "Workspace",
"fromDate": "From date",
"toDate": "To date",
"sort": "Sort",
"clear": "Clear filters"
},
"sort": {
"lastActivity": "Last activity",
"newest": "Newest",
"oldest": "Oldest"
},
"errors": {
"loadFailed": "Feedback could not be loaded.",
"detailFailed": "The feedback report could not be loaded."
},
"detail": {
"back": "Back to feedback",
"eyebrow": "Feedback detail",
"report": "Report",
"screenshot": "Screenshot",
"download": "Download original",
"openOriginal": "Open original",
"screenshotAlt": "Feedback screenshot",
"noScreenshot": "No screenshot was attached.",
"timeline": "Comments and activity",
"noTimeline": "No comments or activity yet.",
"commentLabel": "Developer comment",
"addComment": "Add comment",
"commenting": "Adding comment...",
"commentAdded": "Comment added.",
"commentFailed": "Comment could not be added.",
"reviewControls": "Review controls",
"saved": "Feedback updated.",
"saveFailed": "Feedback could not be updated.",
"reporter": "Reporter",
"activityLabel": "Activity",
"metadata": {
"title": "Captured metadata",
"path": "Submitted path",
"userAgent": "Browser",
"viewport": "Viewport",
"appVersion": "App version",
"created": "Created",
"lastActivity": "Last activity"
},
"context": {
"title": "Context",
"workspace": "Workspace",
"client": "Client",
"campaign": "Campaign",
"contentItem": "Content item"
},
"activity": {
"updated": "Updated feedback.",
"statusChanged": "Changed status from {from} to {to}.",
"typeChanged": "Changed type from {from} to {to}.",
"tagsChanged": "Changed tags from {from} to {to}."
}
}
},
"mine": {
"eyebrow": "My feedback",
"title": "My Feedback",
"description": "Track the product feedback you have submitted across workspaces.",
"refresh": "Refresh my feedback",
"empty": "No feedback matches the current filters.",
"unread": "Unread feedback activity",
"metrics": {
"active": "Active reports",
"unread": "Unread",
"visible": "Visible"
},
"errors": {
"loadFailed": "Your feedback could not be loaded.",
"detailFailed": "This feedback report could not be loaded."
},
"detail": {
"back": "Back to my feedback",
"eyebrow": "My feedback detail",
"commentLabel": "Follow-up comment",
"commentAdded": "Comment added.",
"commentFailed": "Comment could not be added.",
"cancel": "Cancel report",
"cancelPrompt": "Optional cancellation reason",
"cancelled": "Feedback cancelled.",
"cancelFailed": "Feedback could not be cancelled."
}
}
},
"sidebar": {
"allClients": "All clients",
"allChannels": "All channels",
"allCampaigns": "All campaigns",
"allReviewItems": "Full review queue",
"noClients": "No clients yet.",
"noChannels": "No channels yet.",
"noCampaigns": "No campaigns yet.",
"noReviewItems": "No review items right now."
},
"settings": {
"eyebrow": "Settings",
"title": "Account settings",
"userInformation": "User information",
"workspaces": "Workspaces",
"integrations": "Integrations"
},
"dashboard": {
"eyebrow": "Workspace schedule",
"title": "Schedule",
"description": "See what is scheduled for a given day and review the posting agenda in order.",
"workspaceLabel": "Active workspace",
"loading": "Loading workspace data...",
"calendarKicker": "Daily agenda",
"executionKicker": "Next up",
"riskKicker": "Delivery risk",
"reviewKicker": "Review pulse",
"upcomingContent": "Upcoming content",
"deliveryRisks": "What can slip",
"overdueItems": "Overdue items",
"approvalBlockers": "Awaiting approval or revisions",
"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.",
"emptyCampaigns": "Every campaign has at least one scheduled content item.",
"emptyReviewQueue": "No active review queue items.",
"previousDay": "Previous day",
"nextDay": "Next day",
"today": "Today",
"month": "Month",
"week": "Week",
"campaignDeadline": "Campaign deadline",
"emptyPeriod": "No scheduled items.",
"daySummary": "{content} content items · {campaigns} campaign deadlines",
"moreItems": "+{count} more",
"emptyDayAgenda": "No content is scheduled for this day.",
"campaignProgress": "{scheduled} scheduled · {approved} approved",
"missingSchedule": "Needs content scheduled",
"noDueDate": "No due date",
"labels": {
"unassignedCampaign": "Unassigned campaign"
},
"readiness": {
"building": "In production",
"approval": "Awaiting approval",
"rework": "Needs revision",
"ready": "Approved",
"published": "Published",
"blocked": "Blocked",
"archived": "Archived",
"scheduled": "Scheduled",
"missing": "No content scheduled"
},
"stats": {
"scheduledThisDay": "Scheduled this day",
"overdue": "Overdue",
"awaitingApproval": "Awaiting approval",
"readyToShip": "Ready to ship"
}
},
"overview": {
"eyebrow": "Portfolio overview",
"title": "Cross-workspace timeline",
"description": "See upcoming deliveries, risks, and activity across every workspace you can access.",
"loading": "Loading overview data...",
"workspacesKicker": "Access scope",
"workspaceRollup": "Workspace rollup",
"timelineKicker": "Upcoming",
"upcomingTitle": "Scheduled across workspaces",
"riskKicker": "Watch list",
"risksTitle": "Items already at risk",
"activityKicker": "Recent activity",
"activityTitle": "Latest workflow events",
"emptyUpcoming": "No upcoming scheduled items across your workspaces.",
"emptyRisks": "No cross-workspace delivery risks right now.",
"emptyActivity": "No recent workflow activity yet.",
"labels": {
"campaigns": "campaigns",
"upcoming": "upcoming",
"blocked": "blocked"
},
"stats": {
"workspaces": "Workspaces",
"campaigns": "Campaigns",
"upcoming": "Upcoming items",
"blockers": "At-risk items"
}
},
"clients": {
"eyebrow": "Client management",
"title": "Clients",
"description": "Client accounts, brand identity, and primary approval contacts.",
"newClient": "New client",
"createTitle": "Create client",
"loading": "Loading clients...",
"empty": "No clients are available for the active workspace.",
"noPrimaryContact": "No primary contact set",
"noPrimaryContactEmail": "No primary contact email set",
"errors": {
"nameRequired": "Client name is required.",
"createFailed": "The client could not be created."
},
"fields": {
"name": "Client name",
"portraitUrl": "Client logo or portrait URL",
"primaryContactName": "Primary contact name",
"primaryContactEmail": "Primary contact email",
"primaryContactPortraitUrl": "Primary contact portrait URL"
}
},
"campaigns": {
"eyebrow": "Campaign planning",
"title": "Campaigns",
"description": "Campaigns grouped inside the active workspace by status, date range, and planning notes.",
"newCampaign": "New campaign",
"createTitle": "Create campaign",
"loading": "Loading campaigns...",
"empty": "No campaigns are available for the active workspace.",
"unknownClient": "Unknown client",
"noDateRange": "No date range",
"errors": {
"required": "Campaign name and date range are required.",
"invalidDateRange": "The end date must be on or after the start date.",
"workspaceAccountRequired": "This workspace needs an operational account before campaigns can be created.",
"createFailed": "The campaign could not be created."
},
"fields": {
"client": "Client",
"selectClient": "Select a client",
"startDate": "Start date",
"endDate": "End date",
"name": "Campaign name",
"description": "Description",
"notes": "Notes"
}
},
"channels": {
"title": "Channels",
"description": "Add channels to the workspace.",
"createTitle": "Create channel",
"empty": "No channels are available for the active workspace yet.",
"emptyAction": "Add a channel for {network}",
"nextDue": "Next due",
"noScheduled": "Nothing scheduled",
"fields": {
"name": "Channel name",
"network": "Network"
},
"metrics": {
"scheduled": "Scheduled",
"ready": "Ready",
"blocked": "Blocked"
},
"errors": {
"createFailed": "The channel could not be created."
}
},
"reviewQueue": {
"eyebrow": "Review workflow",
"title": "Review queue",
"description": "Pending approvals, revisions, and change requests for the active workspace.",
"empty": "No review items are available for the active workspace."
},
"contentItems": {
"title": "Content items",
"newItem": "New content item",
"createTitle": "Create content item",
"upcoming": "Upcoming",
"loading": "Loading content items...",
"empty": "No content items are available for the active workspace.",
"noDueDate": "No due date",
"assetsHelper": "Google Drive assets are now linked from the content item detail page after creation.",
"errors": {
"required": "Title, campaign, message, and targets are required.",
"workspaceAccountRequired": "This workspace needs an operational account before content can be created.",
"createFailed": "The content item could not be created."
},
"fields": {
"title": "Title",
"client": "Client",
"selectClient": "Select a client",
"campaign": "Campaign",
"selectCampaign": "Select a campaign",
"dueDate": "Due date",
"publicationTargets": "Publication targets",
"publicationMessage": "Publication message",
"hashtags": "Hashtags",
"hashtagsPlaceholder": "#launch #brand #campaign",
"assets": "Assets"
}
},
"userSettings": {
"eyebrow": "User information",
"title": "Profile and identity",
"description": "Manage the portrait and account details shown inside the workspace.",
"updatePortrait": "Update portrait",
"accountDetails": "Account details",
"accountDetailsDescription": "Edit the profile details other workspace members see.",
"saveDetails": "Save details",
"saved": "Profile details saved",
"portraitSaved": "Portrait saved",
"alias": "Alias",
"firstname": "First name",
"lastname": "Last name",
"fullName": "Full name",
"email": "Email",
"noEmail": "No email set",
"cropperTitle": "Update user portrait",
"savePortrait": "Save portrait",
"choosePortrait": "Choose portrait",
"errors": {
"emailRequired": "Email is required.",
"saveFailed": "Profile details could not be saved.",
"portraitFailed": "Portrait could not be saved."
}
},
"workspaceSettings": {
"eyebrow": "Settings",
"title": "Workspace settings",
"description": "Configure the current workspace across general details, members, workflow, and connectors.",
"currentWorkspace": "Current workspace",
"noWorkspaceSelected": "No workspace selected",
"activeWorkspace": "Active workspace",
"contextNote": "These settings apply to the current workspace only.",
"inviteTitle": "Invite workspace members",
"inviteDescription": "Invite clients, subcontractors, or teammates into the active workspace.",
"inviteEmpty": "No pending invites for this workspace yet.",
"sendInvite": "Send invite",
"reset": "Reset",
"errors": {
"required": "All workspace fields are required.",
"createFailed": "The workspace could not be created.",
"updateFailed": "The workspace settings could not be saved.",
"logoUploadFailed": "The workspace logo could not be saved.",
"inviteRequired": "Email and role are required to invite a member.",
"inviteFailed": "The workspace invite could not be created."
},
"fields": {
"name": "Workspace name",
"timeZone": "Time zone",
"memberEmail": "Member email",
"memberRole": "Role"
},
"roles": {
"administrator": "Administrator",
"manager": "Manager",
"client": "Client reviewer",
"provider": "Subcontractor",
"workspace-member": "Workspace member"
},
"summary": {
"name": "Name",
"timeZone": "Time zone"
},
"tabs": {
"general": "General",
"members": "Members",
"workflow": "Workflow",
"connectors": "Connectors"
},
"members": {
"inviteTitle": "Invite",
"activeTitle": "Members",
"activeDescription": "See everyone who currently belongs to the active workspace.",
"activeEmpty": "No members found for this workspace.",
"pendingTitle": "Pending invitations",
"pendingDescription": "Track who has been invited into the active workspace."
},
"connectors": {
"title": "Connectors",
"description": "Manage workspace-level connectors that feed operational features like the media library.",
"openMediaLibrary": "Open media library",
"googleDrive": {
"title": "Google Drive",
"description": "This connector should power the workspace media sync for images, videos, and other shared files.",
"status": "Pending setup"
}
},
"general": {
"detailsTitle": "Workspace details",
"detailsDescription": "Update the workspace name and default time zone used across schedules and workspace views.",
"saveAction": "Save workspace",
"saved": "Workspace settings saved."
},
"logo": {
"title": "Workspace logo",
"description": "Use a local file or remote image, then crop it for the workspace.",
"changeAction": "Change image",
"cropperTitle": "Update workspace logo",
"saveAction": "Save logo",
"chooseAction": "Choose logo",
"saved": "Workspace logo saved."
},
"approvals": {
"flowTitle": "Approval flow",
"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.",
"saveAction": "Save approval flow",
"fields": {
"approvalMode": "Approval mode",
"schedulePostsAutomaticallyOnApproval": "Schedule posts automatically on approval",
"lockContentAfterApproval": "Lock content after approval",
"sendAutomaticApprovalReminders": "Send automatic approval reminders"
},
"fieldHelp": {
"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."
},
"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": {
"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",
"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."
}
}
},
"integrations": {
"eyebrow": "Integrations",
"title": "Google Drive and API keys",
"description": "This is where workspace-level integrations and credential configuration should live.",
"statusLabel": "Status",
"pendingTitle": "Configuration UI pending",
"googleDrive": {
"title": "Google Drive",
"description": "Configure the workspace connection used for asset linking and revision intake.",
"nextStep": "Next step: add stored workspace integration settings and connect them to the asset-link flow."
},
"apiKeys": {
"title": "API keys",
"description": "Workspace-scoped secrets and external service credentials should be managed here.",
"nextStep": "Next step: add secure backend persistence and masked key management."
}
},
"mediaLibrary": {
"eyebrow": "Media library",
"title": "Workspace media",
"description": "Manage the shared image and video library that should sync with Google Drive for this workspace.",
"syncCard": {
"title": "Google Drive sync",
"description": "Use this area to connect the workspace drive, pull approved media in, and keep the library aligned with external folders."
},
"mediaTypesTitle": "Supported media",
"mediaTypesDescription": "The library should become the single place to browse visual assets before they are linked into content work.",
"mediaTypes": {
"images": "Images, graphics, and brand visuals",
"videos": "Videos, reels, and motion exports"
},
"workflowTitle": "Planned workflow",
"workflowDescription": "This page is the intended home for the Google Drive sync flow we discussed.",
"workflow": {
"connectDrive": "Connect the workspace Google Drive source.",
"syncAssets": "Sync image and video assets into the internal library.",
"organizeLibrary": "Review, tag, and reuse media from one workspace-level place."
},
"statusLabel": "Status",
"pendingTitle": "Management UI pending",
"pendingDescription": "The navigation and page entry point are in place. Next step is wiring actual Drive sync, listing, filters, and asset actions."
},
"errors": {
"unexpected": "An unexpected error occurred",
"imageLoad": "Error loading image",
"imageUpload": "Error uploading image"
}
}