Desktop connection SaaS: config, billing, team support (#5768)

Co-authored-by: James Brunton <[email protected]>
Co-authored-by: James Brunton <[email protected]>
This commit is contained in:
ConnorYoh
2026-02-25 14:13:07 +00:00
committed by GitHub
co-authored by James Brunton James Brunton
parent 86072ec91a
commit 5c39acecd8
76 changed files with 6231 additions and 119 deletions
@@ -2242,9 +2242,11 @@ copy = "Copy"
done = "Done"
error = "Error"
expand = "Expand"
learnMore = "Learn more"
lines = "lines"
loading = "Loading..."
next = "Next"
operation = "this operation"
preview = "Preview"
previous = "Previous"
refresh = "Refresh"
@@ -2908,6 +2910,7 @@ copyStack = "Copy Stack Trace"
discordSubmit = "Discord - Submit Support post"
dismissAllErrors = "Dismiss All Errors"
encryptedPdfMustRemovePassword = "This PDF is encrypted or password-protected. Please unlock it before converting to PDF/A."
generic = "An error occurred"
github = "Submit a ticket on GitHub"
githubSubmit = "GitHub - Submit a ticket"
incorrectPasswordProvided = "The PDF password is incorrect or not provided."
@@ -4426,6 +4429,10 @@ upgradeCompleteMessage = "Your subscription has been upgraded successfully. Your
upgradeSuccess = "Payment successful! Your subscription has been upgraded. The license has been updated on your server. You will receive a confirmation email shortly."
upgradeTitle = "Upgrade to {{planName}}"
yearly = "Yearly"
checkoutOpened = "Checkout Opened in Browser"
checkoutInstructions = "Complete your purchase in the browser window that just opened. After payment is complete, return here and click the button below to refresh your billing information."
refreshBilling = "I've Completed Payment - Refresh Billing"
closeLater = "I'll Do This Later"
[payment.emailStage]
continue = "Continue"
@@ -4812,6 +4819,7 @@ customPricing = "Custom"
featureComparison = "Feature Comparison"
from = "From"
hideComparison = "Hide Feature Comparison"
included = "Included"
includedInCurrent = "Included in Your Plan"
licensedSeats = "Licensed: {{count}} seats"
manage = "Manage"
@@ -4829,9 +4837,11 @@ title = "Active Plan"
[plan.availablePlans]
subtitle = "Choose the plan that fits your needs"
loadError = "Unable to load plan pricing. Using default values."
title = "Available Plans"
[plan.enterprise]
siteLicense = "Site License"
highlight1 = "Custom pricing"
highlight2 = "Dedicated support"
highlight3 = "Latest features"
@@ -4905,6 +4915,82 @@ keyDescription = "Paste the license key from your email"
success = "License Activated!"
successMessage = "Your license has been successfully activated. You can now close this window."
[plan.team]
name = "Team"
siteLicense = "Site License"
[credits]
enableOverageBilling = "Enable Overage Billing"
maybeLater = "Maybe later"
upgrade = "Upgrade"
[credits.modal]
advancedMonitoring = "Advanced monitoring"
allInOneWorkspace = "All-in-one PDF workspace (viewer, tools & agent)"
apiSandbox = "API sandbox"
contactSales = "Contact Sales"
creditsRemaining = "{{current}} of {{total}} remaining"
creditsThisMonth = "Monthly credits"
current = "Current Plan"
customPricing = "Custom"
customSmartFolders = "Custom Smart Folders"
dedicatedSupportSlas = "Dedicated support & SLAs"
enterpriseSubscription = "Enterprise"
everythingInCredits = "Everything in Credits, plus:"
everythingInFree = "Everything in Free, plus:"
fasterThroughput = "10x faster throughput"
forRegularWork = "For regular PDF work:"
freeTier = "Free Tier"
fullyPrivateFiles = "Fully private files"
largeFileProcessing = "Large file processing"
managedMemberMessage = "You have unlimited access to credits through your team. If you need assistance, please contact your team leader."
managedMemberTitle = "Unlimited Credits"
meteringBillingNote = "Overage credits are billed monthly alongside your Team subscription. Track your usage anytime in your account settings."
meteringExplanation = "Your Team plan includes {{credits}} credits per month. When you run out, overage billing automatically provides additional credits so you never have to stop working."
meteringIncluded = "{{credits}} credits/month included with Team"
meteringNoCommitment = "No commitment, cancel anytime"
meteringNeverRunOut = "Never run out of credits"
meteringPayAsYouGo = "Only pay for what you use"
meteringPrice = "Additional credits at {{price}}/credit"
meteringTitle = "Pay-What-You-Use Overage Billing"
monthlyCredits = "monthly credits"
orgWideAccess = "Org-wide access controls"
overage = "overage"
perMonth = "/month"
popular = "Popular"
premiumAiModels = "Premium AI models"
prioritySupport = "Priority support"
privateDocCloud = "Private Document Cloud"
ragFineTuning = "RAG + fine-tuning"
secureApiAccess = "Secure API access"
selfHostLink = "Review the docs and plans"
selfHostPrompt = "Want to self host?"
standardThroughput = "Standard throughput"
subtitle = "Upgrade to Team for 10x the credits and faster processing."
subtitlePro = "Enable automatic overage billing to never run out of credits."
teamLeaderOnly = "Only team leaders can enable overage billing"
teamSubscription = "Team"
titleExhausted = "You've used your free credits"
titleExhaustedPro = "You have run out of credits"
unlimitedApiAccess = "Unlimited API access"
unlimitedMonthlyCredits = "Site License"
unlimitedSeats = "Unlimited seats"
[credits.modal.features]
everythingInCredits = "Everything in Credits, plus:"
everythingInFree = "Everything in Free, plus:"
forRegularWork = "For regular PDF work:"
[credits.insufficient]
brief = "Insufficient credits. You need {{required}} credits but have {{current}}."
freeTier = "Upgrade to Team for 10x more credits and unlimited overage billing."
managedMember = "Please contact your team leader for assistance."
message = "You do not have enough credits to run {{tool}}. You currently have {{current}} credits."
messageWithAmount = "You need {{required}} credits to run {{tool}}, but you only have {{current}}."
teamMember = "Enable overage billing to never run out of credits."
title = "Insufficient Credits"
[printFile]
header = "Print File to Printer"
submit = "Print"
@@ -5542,6 +5628,70 @@ user = "Logged in as"
saas = "Stirling Cloud"
selfhosted = "Self-Hosted"
[settings.planBilling]
currentPlan = "Current Plan"
loading = "Loading billing information..."
notAvailable = "Plan & Billing is only available when connected to Stirling Cloud (SaaS mode)."
title = "Plan & Billing"
[settings.planBilling.billing]
manageBilling = "Manage Billing"
nextBillingDate = "Next billing date"
overageCost = "Current overage cost: {{amount}} ({{credits}} credits)"
[settings.planBilling.credits]
estimatedCost = "Estimated cost: {{amount}}"
freeTierInfo = "Free plan includes {{freeCredits}} credits per month. Upgrade to Team for {{teamCredits}} credits/month and pay-as-you-go overage billing."
included = "{{count}} credits/month (included)"
noOverage = "No overage charges this month. You're using your included {{count}} credits."
overage = "+ {{count}} overage"
overageInfo = "Overage credits are billed at {{price}} per credit. You'll only pay for what you use beyond your monthly allowance."
title = "Credit Usage"
[settings.planBilling.errors]
fetchFailed = "Unable to fetch billing data"
retry = "Retry"
[settings.planBilling.status]
active = "Active"
canceled = "Canceled"
pastDue = "Past Due"
trial = "Trial"
[settings.planBilling.tier]
enterprise = "Enterprise"
enterpriseDescription = "Custom enterprise features and support"
free = "Free"
freeDescription = "50 credits per month"
team = "Team"
teamBadge = "Team"
teamDescription = "500 credits/month included, automatic overage billing for uninterrupted service"
teamTooltipCredits = "Team plan includes {{credits}} credits/month."
teamTooltipFineprint = "Only pay for what you use beyond included credits."
teamTooltipOverage = "Automatic overage billing at {{price}}/credit ensures uninterrupted service."
[settings.planBilling.team]
managedByTeam = "Managed by team"
memberCount = "{{count}} team members"
[settings.planBilling.trial]
daysRemaining = "{{days}} days remaining"
daysRemainingFull = "Your trial ends in {{days}} days"
endDate = "Expires: {{date}}"
endsOn = "Trial ends"
title = "Free Trial Active"
[settings.planBilling.upgrade]
cta = "Upgrade to Team"
featureApi = "API access for automation"
featureCredits = "{{teamCredits}} credits per month (vs {{freeCredits}} on Free)"
featureMembers = "Unlimited team members"
featureSupport = "Priority support"
featureThroughput = "Faster processing throughput"
opensInBrowser = "Opens in browser to complete upgrade"
subtitle = "Upgrade to Team for:"
title = "Upgrade Your Plan"
[settings.developer]
apiKeys = "API Keys"
title = "Developer"
@@ -5666,6 +5816,9 @@ people = "People"
teams = "Teams"
title = "Workspace"
[settings.team]
title = "Team"
[setup]
description = "Get started by choosing how you want to use Stirling PDF"
welcome = "Welcome to Stirling PDF"
@@ -6971,3 +7124,78 @@ cancel = "Cancel"
confirm = "Extract"
message = "This ZIP contains {{count}} files. Extract anyway?"
title = "Large ZIP File"
[cloudBadge]
tooltip = "This operation will use your cloud credits"
[team]
cancelInviteError = "Failed to cancel invitation"
confirmCancelInvite = "Are you sure you want to cancel this invitation?"
confirmLeave = "Are you sure you want to leave this team?"
confirmLeaveLeader = "As a team leader, leaving will remove you from the team. Are you sure?"
confirmRemove = "Are you sure you want to remove this member?"
editName = "Edit team name"
inviteCancelled = "Invitation cancelled"
inviteError = "Failed to send invitation"
inviteSent = "Invitation sent successfully"
leader = "Leader"
leaveButton = "Leave Team"
leaveError = "Failed to leave team"
leaveSuccess = "Successfully left team"
loading = "Loading team information..."
memberCount = "{{count}} members"
memberRemoved = "Member removed successfully"
namePlaceholder = "Enter team name"
personal = "Personal"
removeError = "Failed to remove member"
renameError = "Failed to rename team"
renameSuccess = "Team renamed successfully"
[team.invitationBanner]
message = "has invited you to join"
acceptButton = "Accept"
rejectButton = "Decline"
[team.features]
badge = "Team Features"
subtitle = "Collaborate with your team"
title = "Team Collaboration"
viewPlans = "View Plans"
[team.features.billing]
description = "Manage billing and subscriptions"
title = "Billing Management"
[team.features.credits]
description = "Shared credit pool for all members"
title = "Shared Credits"
[team.features.dashboard]
description = "View team activity and usage"
title = "Team Dashboard"
[team.features.invite]
description = "Add members to your team"
title = "Invite Members"
[team.invite]
cancelLabel = "Cancel"
invalidEmail = "Invalid email address"
placeholder = "Enter email address"
sendButton = "Send Invitation"
title = "Invite Team Member"
[team.members]
emailColumn = "Email"
empty = "No team members yet"
nameColumn = "Name"
pending = "Pending"
remove = "Remove"
roleColumn = "Role"
title = "Team Members"
[team.upgrade]
button = "Upgrade to Team"
description = "Unlock team collaboration features"
title = "Upgrade to Team Plan"