Compare commits

...

6 Commits

Author SHA1 Message Date
Henry
d460c279f7 feat: add launch offer notice 2025-09-09 13:06:26 +01:00
Henry
a9c9bc2b36 fix: reenable scroll when navigating back to marketing page 2025-09-09 12:03:35 +01:00
Henry
867aeb3caf fix: show correct skeleton loader for workspace menu when collapsed 2025-09-09 11:57:32 +01:00
Henry
31a216acfb feat: open upgrade modal if upgrade=pro is in URL params 2025-09-09 11:51:19 +01:00
Henry
6bdca2cb2a fix: ensure workspace slug is updated on activation 2025-09-09 11:47:56 +01:00
Henry
6c04a10b1f feat(cloud): show pro features (#169)
* feat(cloud): show pro workspace features

* feat: allow multiple subscriptions

* chore: translations
2025-09-08 23:22:12 +01:00
23 changed files with 614 additions and 345 deletions

View File

@@ -55,6 +55,7 @@ checksums:
Billing%20portal/singular: dc3afa14ffe19f5920992a0c9d49d525
Blog%20Post/singular: 38e027f212be445dc530e427fc642a20
Board/singular: 101ff39aab674c033c15ab978d0d8bac
Board%20analytics%20(coming%20soon)/singular: 3f648e6fe3849ee2ac5cdf410ac9ea06
Board%20name%20cannot%20exceed%20100%20characters/singular: 985c0177744ec56d8dac84f66ec284ca
Board%20name%20is%20required/singular: dbd0c6cc945ab19e702fc27f970a023b
Board%20not%20found/singular: 5af9844595fa8aed5985066620435515
@@ -87,7 +88,6 @@ checksums:
Complete%20control%20and%20ownership%3A/singular: 0d8b682ba873272217425ccfc96aa9cd
completed%20a%20checklist%20item/singular: 757b04c6c80cc927e1c597c0ad4fda33
completed%20checklist%20item%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: 71ec18acf051fc909a48a07ca3578673
Confirm%20URL%20change/singular: e14b4ce081d1ef6194b37e1814e97b39
Confirm%20your%20new%20password/singular: a0d2935d7b63f8dd19d7c0de47524416
Connect%20Trello/singular: 4440a0b9e387ef7136e3958e7a089213
Connect%20your%20favorite%20tools%20to%20streamline%20your%20workflow./singular: 033c5dcdb059ccb634aef7fe63f2f45d
@@ -113,7 +113,7 @@ checksums:
Critical/singular: eb327cd411b50aee954f8d1d215d003a
Current%20password%20is%20required/singular: 72536bca9598680027f2be8ce80ac280
Custom%20domain/singular: b09e7a9c187b7163b4a6cfc78042fe42
Custom%20URLs%20are%20a%20premium%20feature.%20You'll%20be%20directed%20to%20upgrade%20your%20account./singular: b52e4f6122cf739c9551d29beb89b25e
Custom%20workspace%20URL/singular: 7ba841d0946eb04fa3d17d74365be37b
Customer%20Support/singular: 50e3c77e22e41061ca85ea2f02625a2e
Dark/singular: 73e6e208ba628b26e90fcf6dce15e1b2
Delete/singular: 8bcf303dd10a645b5baacb02b47d72c9
@@ -230,6 +230,8 @@ checksums:
Labels/singular: 6f15627a90002323eac018274b6922d6
Labels%20%26%20Filters/singular: 8f0bdd6084516f8241cb613178114390
Language/singular: 277fd1a41cc237a437cd1d5e4a80463b
Launch%20offer/singular: 624592ba2ecf647a3fe60d493c1ee71a
Launch%20offer%3A%20unlimited%20seats%20for%20just%20%2429%2Fmonth%20with%20Pro/singular: 235d1cda21811c296afdc0dcc438cc24
Learning/singular: 90e91da3f870f065f2da9aa9adf53514
Legal/singular: 00d3f08da61a21887009819cf93fb414
License/singular: ac2bcac75151e2fcd9eb768cea275a77
@@ -346,6 +348,7 @@ checksums:
Software%20Development/singular: 67659097ef6bcb194839858b2c4f3a3c
Star%20on%20Github/singular: e5cb0428f1ac6485688f120d78742875
Success/singular: c43827becada6750f7a25890905f38b9
Supercharge%20your%20workspace%20for%20just%20%2429%2Fmonth.%20Here's%20what%20you'll%20get%3A/singular: 21af8119141afcce5f12da489f34db6a
Support/singular: 55aab5fd0f31a9cb055a2edeeedfaf63
Support%20the%20development%20of%20the%20project/singular: c63bab228ab2b1be4370c668a99cd278
System/singular: 803281c327a02a2feba182f4a2b38311
@@ -401,6 +404,7 @@ checksums:
Unlimited%20cards/singular: f44c1050c4d6aa39c8cdf5f4a7d12577
Unlimited%20comments/singular: 31dbcf487c49a9997142e96bb3ab0040
Unlimited%20lists/singular: 5c418701b27b9acbc5dd199719007362
Unlimited%20members/singular: f2949ca2dc18b0063af92e60779abb65
Update/singular: 079fc039262fd31b10532929685c2d1b
Update%20label/singular: 97880b503dfe956941c5f23025a1c102
updated%20a%20checklist%20item/singular: 198e1d1d503f4b69b752dd84d0cc0e9d
@@ -408,6 +412,7 @@ checksums:
updated%20the%20title/singular: 98cf8f12923ec1a58e767e3a40863b21
updated%20the%20title%20to%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: aca196d729401d8adc5c8ca9d558840e
Upgrade/singular: 63c3b52882e0d779859307d672c178c2
Upgrade%20to%20Pro/singular: 972773025e763ddf53273df6d37a729a
Upgrade%20to%20Team%20Plan/singular: 40e2ef151266937f8bbe63b3d361f645
Urgent/singular: e79afcd4398e52e10e7e8243a7eecabe
URL%20can%20only%20contain%20letters%2C%20numbers%2C%20and%20hyphens/singular: 875d37d2d920f98ef60a314eda8a5d9a

View File

@@ -20,12 +20,12 @@ export default function WorkspaceMenu({
<Menu as="div" className="relative inline-block w-full pb-3 text-left">
<div>
{isLoading ? (
<div className={twMerge("mb-1", isCollapsed && "md:flex md:p-1.5")}>
<div className={twMerge("mb-1 flex", isCollapsed && "md:p-1.5")}>
<div className="h-6 w-6 animate-pulse rounded-md bg-light-200 dark:bg-dark-200" />
<div
className={twMerge(
"ml-2 h-6 w-[150px] animate-pulse rounded-md bg-light-200 dark:bg-dark-200",
isCollapsed && "hidden md:block",
isCollapsed && "md:hidden",
)}
/>
</div>

View File

@@ -148,7 +148,7 @@ msgstr "Alle Systeme funktionieren"
msgid "Already have an account? <0><1>Sign in</1></0>"
msgstr "Du hast bereits ein Konto? <0><1>Anmelden</1></0>"
#: src/views/settings/index.tsx:102
#: src/views/settings/index.tsx:124
msgid "An error occurred while disconnecting your Trello account."
msgstr "Beim Trennen deines Trello-Kontos ist ein Fehler aufgetreten."
@@ -156,7 +156,7 @@ msgstr "Beim Trennen deines Trello-Kontos ist ein Fehler aufgetreten."
msgid "An unexpected error occurred. Please try again later."
msgstr "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
#: src/views/settings/index.tsx:259
#: src/views/settings/index.tsx:293
msgid "API keys"
msgstr "API-Schlüssel"
@@ -227,11 +227,11 @@ msgid "billed monthly"
msgstr "monatlich abgerechnet"
#: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
#: src/views/settings/index.tsx:232
msgid "Billing"
msgstr "Abrechnung"
#: src/views/settings/index.tsx:208
#: src/views/settings/index.tsx:242
msgid "Billing portal"
msgstr "Abrechnungsportal"
@@ -243,6 +243,10 @@ msgstr "Blogbeitrag"
msgid "Board"
msgstr "Board"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:80
msgid "Board analytics (coming soon)"
msgstr "Board-Analytik (demnächst verfügbar)"
#: src/views/boards/components/NewBoardForm.tsx:21
msgid "Board name cannot exceed 100 characters"
msgstr "Der Name des Boards darf 100 Zeichen nicht überschreiten"
@@ -309,9 +313,9 @@ msgstr "Fehlerbericht"
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/settings/components/CustomURLConfirmation.tsx:55
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/UpgradeToProConfirmation.tsx:94
msgid "Cancel"
msgstr "Abbrechen"
@@ -325,12 +329,12 @@ msgstr "Kartentitel"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/index.tsx:325
#: src/views/settings/index.tsx:335
msgid "Change Password"
msgstr "Passwort ändern"
#: src/views/settings/index.tsx:190
#: src/views/settings/index.tsx:224
msgid "Change the language of the app."
msgstr "Ändere die Sprache der App."
@@ -389,16 +393,12 @@ msgstr "hat ein Checklistenelement abgeschlossen"
msgid "completed checklist item <0>{0}</0>"
msgstr "hat Checklistenelement <0>{0}</0> abgeschlossen"
#: src/views/settings/components/CustomURLConfirmation.tsx:47
msgid "Confirm URL change"
msgstr "URL-Änderung bestätigen"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:150
msgid "Confirm your new password"
msgstr "Bestätigen Sie Ihr neues Passwort"
#: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
#: src/views/settings/index.tsx:269
msgid "Connect Trello"
msgstr "Trello verbinden"
@@ -406,7 +406,7 @@ msgstr "Trello verbinden"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Verbinde deine Lieblingstools, um deinen Arbeitsablauf zu optimieren."
#: src/views/settings/index.tsx:222
#: src/views/settings/index.tsx:256
msgid "Connect your Trello account to import boards."
msgstr "Verbinde dein Trello-Konto, um Boards zu importieren."
@@ -499,9 +499,9 @@ msgstr "Aktuelles Passwort ist erforderlich"
msgid "Custom domain"
msgstr "Benutzerdefinierte Domain"
#: src/views/settings/components/CustomURLConfirmation.tsx:50
msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
msgstr "Benutzerdefinierte URLs sind eine Premium-Funktion. Du wirst zur Aktualisierung deines Kontos weitergeleitet."
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
msgid "Custom workspace URL"
msgstr "Benutzerdefinierte Workspace-URL"
#: src/views/boards/components/TemplateBoards.tsx:41
msgid "Customer Support"
@@ -520,8 +520,8 @@ msgid "Delete"
msgstr "Löschen"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319
#: src/views/settings/index.tsx:343
#: src/views/settings/index.tsx:353
msgid "Delete account"
msgstr "Konto löschen"
@@ -542,8 +542,8 @@ msgid "Delete list"
msgstr "Liste löschen"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283
#: src/views/settings/index.tsx:306
#: src/views/settings/index.tsx:317
msgid "Delete workspace"
msgstr "Workspace löschen"
@@ -569,7 +569,7 @@ msgstr "hat Checklistenelement <0>{0}</0> gelöscht"
msgid "Design"
msgstr "Design"
#: src/views/settings/index.tsx:250
#: src/views/settings/index.tsx:284
msgid "Disconnect Trello"
msgstr "Trello trennen"
@@ -577,7 +577,7 @@ msgstr "Trello trennen"
msgid "Discuss and collaborate on cards."
msgstr "Diskutiere und arbeite gemeinsam an Karten."
#: src/views/settings/index.tsx:151
#: src/views/settings/index.tsx:173
msgid "Display name"
msgstr "Anzeigename"
@@ -695,7 +695,7 @@ msgstr "Fehler beim Löschen des Labels"
msgid "Error deleting workspace"
msgstr "Fehler beim Löschen des Arbeitsbereichs"
#: src/views/settings/index.tsx:101
#: src/views/settings/index.tsx:123
msgid "Error disconnecting Trello"
msgstr "Fehler beim Trennen von Trello"
@@ -725,7 +725,7 @@ msgid "Error updating workspace URL"
msgstr "Fehler beim Aktualisieren der Workspace-URL"
#: src/views/members/components/InviteMemberForm.tsx:130
#: src/views/settings/components/CustomURLConfirmation.tsx:36
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
msgid "Error upgrading subscription"
msgstr "Fehler beim Upgrade des Abonnements"
@@ -999,10 +999,18 @@ msgstr "Labels"
msgid "Labels & Filters"
msgstr "Labels & Filter"
#: src/views/settings/index.tsx:187
#: src/views/settings/index.tsx:221
msgid "Language"
msgstr "Sprache"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:67
msgid "Launch offer"
msgstr "Einführungsangebot"
#: src/views/home/components/Pricing.tsx:98
msgid "Launch offer: unlimited seats for just $29/month with Pro"
msgstr "Einführungsangebot: unbegrenzte Plätze für nur $29/Monat mit Pro"
#: src/views/boards/components/TemplateBoards.tsx:83
msgid "Learning"
msgstr "Lernen"
@@ -1181,11 +1189,11 @@ msgstr "Angebot"
msgid "Onboarding"
msgstr "Einarbeitung"
#: src/views/settings/index.tsx:312
#: src/views/settings/index.tsx:346
msgid "Once you delete your account, there is no going back. This action cannot be undone."
msgstr "Sobald Sie Ihr Konto löschen, gibt es kein Zurück mehr. Diese Aktion kann nicht rückgängig gemacht werden."
#: src/views/settings/index.tsx:275
#: src/views/settings/index.tsx:309
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
msgstr "Sobald Sie Ihren Arbeitsbereich löschen, gibt es kein Zurück mehr. Diese Aktion kann nicht rückgängig gemacht werden."
@@ -1217,7 +1225,7 @@ msgstr "Passwort muss mindestens 8 Zeichen lang sein"
msgid "Passwords do not match"
msgstr "Passwörter stimmen nicht überein"
#: src/views/home/components/Pricing.tsx:96
#: src/views/home/components/Pricing.tsx:101
msgid "Payment frequency"
msgstr "Zahlungshäufigkeit"
@@ -1287,13 +1295,13 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
#: src/views/members/components/InviteMemberForm.tsx:131
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: src/views/settings/components/CustomURLConfirmation.tsx:37
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74
#: src/views/settings/components/UpgradeToProConfirmation.tsx:42
msgid "Please try again later, or contact customer support."
msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport."
@@ -1304,6 +1312,7 @@ msgid "Pricing"
msgstr "Preise"
#: src/views/home/components/Pricing.tsx:56
#: src/views/settings/components/UpgradeToProConfirmation.tsx:86
msgid "Priority email support"
msgstr "Prioritäts-E-Mail-Support"
@@ -1327,7 +1336,7 @@ msgstr "Pro-Plan ∞"
msgid "Profile image updated"
msgstr "Profilbild aktualisiert"
#: src/views/settings/index.tsx:146
#: src/views/settings/index.tsx:168
msgid "Profile picture"
msgstr "Profilbild"
@@ -1468,12 +1477,12 @@ msgid "Senior"
msgstr "Senior"
#: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
#: src/views/settings/index.tsx:162
msgid "Settings"
msgstr "Einstellungen"
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/settings/index.tsx:136
#: src/views/settings/index.tsx:158
msgid "Settings | {0}"
msgstr "Einstellungen | {0}"
@@ -1524,6 +1533,10 @@ msgstr "Stern auf Github"
msgid "Success"
msgstr "Erfolg"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:55
msgid "Supercharge your workspace for just $29/month. Here's what you'll get:"
msgstr "Optimiere deinen Workspace für nur $29/Monat. Das bekommst du dafür:"
#: src/components/UserMenu.tsx:180
msgid "Support"
msgstr "Support"
@@ -1622,7 +1635,7 @@ msgstr "Menü umschalten"
msgid "Track all card changes with detailed activity history."
msgstr "Verfolge alle kartenänderungen mit detaillierter aktivitätshistorie."
#: src/views/settings/index.tsx:94
#: src/views/settings/index.tsx:116
msgid "Trello disconnected"
msgstr "Trello getrennt"
@@ -1753,6 +1766,10 @@ msgstr "Unbegrenzte kommentare"
msgid "Unlimited lists"
msgstr "Unbegrenzte listen"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:64
msgid "Unlimited members"
msgstr "Unbegrenzte Mitglieder"
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
@@ -1782,10 +1799,15 @@ msgstr "hat den Titel aktualisiert"
msgid "updated the title to <0>{0}</0>"
msgstr "hat den Titel in <0>{0}</0> geändert"
#: src/views/settings/components/CustomURLConfirmation.tsx:57
#: src/views/settings/components/UpgradeToProConfirmation.tsx:99
msgid "Upgrade"
msgstr "Upgrade"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/index.tsx:213
msgid "Upgrade to Pro"
msgstr "Upgrade auf Pro"
#: src/views/members/components/InviteMemberForm.tsx:224
msgid "Upgrade to Team Plan"
msgstr "Upgrade auf Team-Plan"
@@ -1823,11 +1845,11 @@ msgstr "Benutzer ist bereits Mitglied dieses Arbeitsbereichs"
msgid "Video"
msgstr "Video"
#: src/views/settings/index.tsx:262
#: src/views/settings/index.tsx:296
msgid "View and manage your API keys."
msgstr "API-Schlüssel anzeigen und verwalten."
#: src/views/settings/index.tsx:201
#: src/views/settings/index.tsx:235
msgid "View and manage your billing and subscription."
msgstr "Verwalte deine Abrechnung und dein Abonnement."
@@ -1887,7 +1909,7 @@ msgstr "Arbeitsbereich"
msgid "Workspace deleted"
msgstr "Workspace gelöscht"
#: src/views/settings/index.tsx:177
#: src/views/settings/index.tsx:199
msgid "Workspace description"
msgstr "Workspace-Beschreibung"
@@ -1909,7 +1931,7 @@ msgid "Workspace members"
msgstr "Workspace-mitglieder"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158
#: src/views/settings/index.tsx:180
msgid "Workspace name"
msgstr "Name des Workspaces"
@@ -1929,7 +1951,7 @@ msgstr "Workspace-Name aktualisiert"
msgid "Workspace slug updated"
msgstr "Workspace-Slug aktualisiert"
#: src/views/settings/index.tsx:167
#: src/views/settings/index.tsx:189
msgid "Workspace URL"
msgstr "Workspace-URL"
@@ -1945,7 +1967,7 @@ msgstr "Jährlich"
msgid "Yes, we offer an forever free plan for individual use. No restrictions, no paywalls, no limits."
msgstr "Ja, wir bieten einen dauerhaft kostenlosen plan für die individuelle nutzung an. Keine einschränkungen, keine paywalls, keine limits."
#: src/views/settings/index.tsx:294
#: src/views/settings/index.tsx:328
msgid "You are about to change your password."
msgstr "Sie sind dabei, Ihr Passwort zu ändern."
@@ -1993,11 +2015,11 @@ msgstr "Ihr Passwort wurde geändert."
msgid "Your profile image has been updated."
msgstr "Dein Profilbild wurde aktualisiert."
#: src/views/settings/index.tsx:95
#: src/views/settings/index.tsx:117
msgid "Your Trello account has been disconnected."
msgstr "Dein Trello-Konto wurde getrennt."
#: src/views/settings/index.tsx:244
#: src/views/settings/index.tsx:278
msgid "Your Trello account is connected."
msgstr "Dein Trello-Konto ist verbunden."

File diff suppressed because one or more lines are too long

View File

@@ -172,7 +172,7 @@ msgstr "All systems operational"
msgid "Already have an account? <0><1>Sign in</1></0>"
msgstr "Already have an account? <0><1>Sign in</1></0>"
#: src/views/settings/index.tsx:102
#: src/views/settings/index.tsx:124
msgid "An error occurred while disconnecting your Trello account."
msgstr "An error occurred while disconnecting your Trello account."
@@ -180,7 +180,7 @@ msgstr "An error occurred while disconnecting your Trello account."
msgid "An unexpected error occurred. Please try again later."
msgstr "An unexpected error occurred. Please try again later."
#: src/views/settings/index.tsx:259
#: src/views/settings/index.tsx:293
msgid "API keys"
msgstr "API keys"
@@ -263,11 +263,11 @@ msgid "billed monthly"
msgstr "billed monthly"
#: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
#: src/views/settings/index.tsx:232
msgid "Billing"
msgstr "Billing"
#: src/views/settings/index.tsx:208
#: src/views/settings/index.tsx:242
msgid "Billing portal"
msgstr "Billing portal"
@@ -279,6 +279,10 @@ msgstr "Blog Post"
msgid "Board"
msgstr "Board"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:80
msgid "Board analytics (coming soon)"
msgstr "Board analytics (coming soon)"
#: src/views/boards/components/NewBoardForm.tsx:21
msgid "Board name cannot exceed 100 characters"
msgstr "Board name cannot exceed 100 characters"
@@ -353,9 +357,9 @@ msgstr "Bug Report"
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/settings/components/CustomURLConfirmation.tsx:55
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/UpgradeToProConfirmation.tsx:94
msgid "Cancel"
msgstr "Cancel"
@@ -369,12 +373,12 @@ msgstr "Card title"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/index.tsx:325
#: src/views/settings/index.tsx:335
msgid "Change Password"
msgstr "Change Password"
#: src/views/settings/index.tsx:190
#: src/views/settings/index.tsx:224
msgid "Change the language of the app."
msgstr "Change the language of the app."
@@ -434,15 +438,15 @@ msgid "completed checklist item <0>{0}</0>"
msgstr "completed checklist item <0>{0}</0>"
#: src/views/settings/components/CustomURLConfirmation.tsx:47
msgid "Confirm URL change"
msgstr "Confirm URL change"
#~ msgid "Confirm URL change"
#~ msgstr "Confirm URL change"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:150
msgid "Confirm your new password"
msgstr "Confirm your new password"
#: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
#: src/views/settings/index.tsx:269
msgid "Connect Trello"
msgstr "Connect Trello"
@@ -450,7 +454,7 @@ msgstr "Connect Trello"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Connect your favorite tools to streamline your workflow."
#: src/views/settings/index.tsx:222
#: src/views/settings/index.tsx:256
msgid "Connect your Trello account to import boards."
msgstr "Connect your Trello account to import boards."
@@ -552,8 +556,12 @@ msgid "Custom domain"
msgstr "Custom domain"
#: src/views/settings/components/CustomURLConfirmation.tsx:50
msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
msgstr "Custom URLs are a premium feature. You'll be directed to upgrade your account."
#~ msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
#~ msgstr "Custom URLs are a premium feature. You'll be directed to upgrade your account."
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
msgid "Custom workspace URL"
msgstr "Custom workspace URL"
#: src/views/boards/components/TemplateBoards.tsx:41
msgid "Customer Support"
@@ -572,8 +580,8 @@ msgid "Delete"
msgstr "Delete"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319
#: src/views/settings/index.tsx:343
#: src/views/settings/index.tsx:353
msgid "Delete account"
msgstr "Delete account"
@@ -594,8 +602,8 @@ msgid "Delete list"
msgstr "Delete list"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283
#: src/views/settings/index.tsx:306
#: src/views/settings/index.tsx:317
msgid "Delete workspace"
msgstr "Delete workspace"
@@ -621,7 +629,7 @@ msgstr "deleted checklist item <0>{0}</0>"
msgid "Design"
msgstr "Design"
#: src/views/settings/index.tsx:250
#: src/views/settings/index.tsx:284
msgid "Disconnect Trello"
msgstr "Disconnect Trello"
@@ -629,7 +637,7 @@ msgstr "Disconnect Trello"
msgid "Discuss and collaborate on cards."
msgstr "Discuss and collaborate on cards."
#: src/views/settings/index.tsx:151
#: src/views/settings/index.tsx:173
msgid "Display name"
msgstr "Display name"
@@ -747,7 +755,7 @@ msgstr "Error deleting label"
msgid "Error deleting workspace"
msgstr "Error deleting workspace"
#: src/views/settings/index.tsx:101
#: src/views/settings/index.tsx:123
msgid "Error disconnecting Trello"
msgstr "Error disconnecting Trello"
@@ -777,7 +785,7 @@ msgid "Error updating workspace URL"
msgstr "Error updating workspace URL"
#: src/views/members/components/InviteMemberForm.tsx:130
#: src/views/settings/components/CustomURLConfirmation.tsx:36
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
msgid "Error upgrading subscription"
msgstr "Error upgrading subscription"
@@ -1056,10 +1064,18 @@ msgstr "Labels"
msgid "Labels & Filters"
msgstr "Labels & Filters"
#: src/views/settings/index.tsx:187
#: src/views/settings/index.tsx:221
msgid "Language"
msgstr "Language"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:67
msgid "Launch offer"
msgstr "Launch offer"
#: src/views/home/components/Pricing.tsx:98
msgid "Launch offer: unlimited seats for just $29/month with Pro"
msgstr "Launch offer: unlimited seats for just $29/month with Pro"
#: src/views/boards/components/TemplateBoards.tsx:83
msgid "Learning"
msgstr "Learning"
@@ -1246,11 +1262,11 @@ msgstr "Offer"
msgid "Onboarding"
msgstr "Onboarding"
#: src/views/settings/index.tsx:312
#: src/views/settings/index.tsx:346
msgid "Once you delete your account, there is no going back. This action cannot be undone."
msgstr "Once you delete your account, there is no going back. This action cannot be undone."
#: src/views/settings/index.tsx:275
#: src/views/settings/index.tsx:309
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
msgstr "Once you delete your workspace, there is no going back. This action cannot be undone."
@@ -1282,7 +1298,7 @@ msgstr "Password must be at least 8 characters"
msgid "Passwords do not match"
msgstr "Passwords do not match"
#: src/views/home/components/Pricing.tsx:96
#: src/views/home/components/Pricing.tsx:101
msgid "Payment frequency"
msgstr "Payment frequency"
@@ -1352,13 +1368,13 @@ msgstr "Please select a file to upload."
#: src/views/members/components/InviteMemberForm.tsx:131
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: src/views/settings/components/CustomURLConfirmation.tsx:37
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74
#: src/views/settings/components/UpgradeToProConfirmation.tsx:42
msgid "Please try again later, or contact customer support."
msgstr "Please try again later, or contact customer support."
@@ -1369,6 +1385,7 @@ msgid "Pricing"
msgstr "Pricing"
#: src/views/home/components/Pricing.tsx:56
#: src/views/settings/components/UpgradeToProConfirmation.tsx:86
msgid "Priority email support"
msgstr "Priority email support"
@@ -1392,7 +1409,7 @@ msgstr "Pro Plan ∞"
msgid "Profile image updated"
msgstr "Profile image updated"
#: src/views/settings/index.tsx:146
#: src/views/settings/index.tsx:168
msgid "Profile picture"
msgstr "Profile picture"
@@ -1541,12 +1558,12 @@ msgid "Senior"
msgstr "Senior"
#: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
#: src/views/settings/index.tsx:162
msgid "Settings"
msgstr "Settings"
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/settings/index.tsx:136
#: src/views/settings/index.tsx:158
msgid "Settings | {0}"
msgstr "Settings | {0}"
@@ -1597,6 +1614,10 @@ msgstr "Star on Github"
msgid "Success"
msgstr "Success"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:55
msgid "Supercharge your workspace for just $29/month. Here's what you'll get:"
msgstr "Supercharge your workspace for just $29/month. Here's what you'll get:"
#: src/components/UserMenu.tsx:180
msgid "Support"
msgstr "Support"
@@ -1699,7 +1720,7 @@ msgstr "Toggle menu"
msgid "Track all card changes with detailed activity history."
msgstr "Track all card changes with detailed activity history."
#: src/views/settings/index.tsx:94
#: src/views/settings/index.tsx:116
msgid "Trello disconnected"
msgstr "Trello disconnected"
@@ -1834,6 +1855,10 @@ msgstr "Unlimited comments"
msgid "Unlimited lists"
msgstr "Unlimited lists"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:64
msgid "Unlimited members"
msgstr "Unlimited members"
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
@@ -1867,10 +1892,15 @@ msgstr "updated the title to <0>{0}</0>"
#~ msgid "updated the title to <0>{toTitle}</0>"
#~ msgstr "updated the title to <0>{toTitle}</0>"
#: src/views/settings/components/CustomURLConfirmation.tsx:57
#: src/views/settings/components/UpgradeToProConfirmation.tsx:99
msgid "Upgrade"
msgstr "Upgrade"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/index.tsx:213
msgid "Upgrade to Pro"
msgstr "Upgrade to Pro"
#: src/views/members/components/InviteMemberForm.tsx:224
msgid "Upgrade to Team Plan"
msgstr "Upgrade to Team Plan"
@@ -1908,11 +1938,11 @@ msgstr "User is already a member of this workspace"
msgid "Video"
msgstr "Video"
#: src/views/settings/index.tsx:262
#: src/views/settings/index.tsx:296
msgid "View and manage your API keys."
msgstr "View and manage your API keys."
#: src/views/settings/index.tsx:201
#: src/views/settings/index.tsx:235
msgid "View and manage your billing and subscription."
msgstr "View and manage your billing and subscription."
@@ -1976,7 +2006,7 @@ msgstr "Workspace"
msgid "Workspace deleted"
msgstr "Workspace deleted"
#: src/views/settings/index.tsx:177
#: src/views/settings/index.tsx:199
msgid "Workspace description"
msgstr "Workspace description"
@@ -1998,7 +2028,7 @@ msgid "Workspace members"
msgstr "Workspace members"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158
#: src/views/settings/index.tsx:180
msgid "Workspace name"
msgstr "Workspace name"
@@ -2018,7 +2048,7 @@ msgstr "Workspace name updated"
msgid "Workspace slug updated"
msgstr "Workspace slug updated"
#: src/views/settings/index.tsx:167
#: src/views/settings/index.tsx:189
msgid "Workspace URL"
msgstr "Workspace URL"
@@ -2034,7 +2064,7 @@ msgstr "Yearly"
msgid "Yes, we offer an forever free plan for individual use. No restrictions, no paywalls, no limits."
msgstr "Yes, we offer an forever free plan for individual use. No restrictions, no paywalls, no limits."
#: src/views/settings/index.tsx:294
#: src/views/settings/index.tsx:328
msgid "You are about to change your password."
msgstr "You are about to change your password."
@@ -2082,11 +2112,11 @@ msgstr "Your password has been changed."
msgid "Your profile image has been updated."
msgstr "Your profile image has been updated."
#: src/views/settings/index.tsx:95
#: src/views/settings/index.tsx:117
msgid "Your Trello account has been disconnected."
msgstr "Your Trello account has been disconnected."
#: src/views/settings/index.tsx:244
#: src/views/settings/index.tsx:278
msgid "Your Trello account is connected."
msgstr "Your Trello account is connected."

File diff suppressed because one or more lines are too long

View File

@@ -148,7 +148,7 @@ msgstr "Todos los sistemas operativos"
msgid "Already have an account? <0><1>Sign in</1></0>"
msgstr "¿Ya tienes una cuenta? <0><1>Iniciar sesión</1></0>"
#: src/views/settings/index.tsx:102
#: src/views/settings/index.tsx:124
msgid "An error occurred while disconnecting your Trello account."
msgstr "Ocurrió un error al desconectar tu cuenta de Trello."
@@ -156,7 +156,7 @@ msgstr "Ocurrió un error al desconectar tu cuenta de Trello."
msgid "An unexpected error occurred. Please try again later."
msgstr "Ha ocurrido un error inesperado. Por favor, inténtalo de nuevo más tarde."
#: src/views/settings/index.tsx:259
#: src/views/settings/index.tsx:293
msgid "API keys"
msgstr "Claves API"
@@ -227,11 +227,11 @@ msgid "billed monthly"
msgstr "facturado mensualmente"
#: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
#: src/views/settings/index.tsx:232
msgid "Billing"
msgstr "Facturación"
#: src/views/settings/index.tsx:208
#: src/views/settings/index.tsx:242
msgid "Billing portal"
msgstr "Portal de facturación"
@@ -243,6 +243,10 @@ msgstr "Entrada de blog"
msgid "Board"
msgstr "Tablero"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:80
msgid "Board analytics (coming soon)"
msgstr "Análisis de tableros (próximamente)"
#: src/views/boards/components/NewBoardForm.tsx:21
msgid "Board name cannot exceed 100 characters"
msgstr "El nombre del tablero no puede exceder los 100 caracteres"
@@ -309,9 +313,9 @@ msgstr "Informe de error"
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/settings/components/CustomURLConfirmation.tsx:55
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/UpgradeToProConfirmation.tsx:94
msgid "Cancel"
msgstr "Cancelar"
@@ -325,12 +329,12 @@ msgstr "Título de la tarjeta"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/index.tsx:325
#: src/views/settings/index.tsx:335
msgid "Change Password"
msgstr "Cambiar contraseña"
#: src/views/settings/index.tsx:190
#: src/views/settings/index.tsx:224
msgid "Change the language of the app."
msgstr "Cambiar el idioma de la aplicación."
@@ -389,16 +393,12 @@ msgstr "completó un elemento de la lista de verificación"
msgid "completed checklist item <0>{0}</0>"
msgstr "completó el elemento <0>{0}</0> de la lista de verificación"
#: src/views/settings/components/CustomURLConfirmation.tsx:47
msgid "Confirm URL change"
msgstr "Confirmar cambio de URL"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:150
msgid "Confirm your new password"
msgstr "Confirma tu nueva contraseña"
#: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
#: src/views/settings/index.tsx:269
msgid "Connect Trello"
msgstr "Conectar Trello"
@@ -406,7 +406,7 @@ msgstr "Conectar Trello"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Conecta tus herramientas favoritas para agilizar tu flujo de trabajo."
#: src/views/settings/index.tsx:222
#: src/views/settings/index.tsx:256
msgid "Connect your Trello account to import boards."
msgstr "Conecta tu cuenta de Trello para importar tableros."
@@ -499,9 +499,9 @@ msgstr "Se requiere la contraseña actual"
msgid "Custom domain"
msgstr "Dominio personalizado"
#: src/views/settings/components/CustomURLConfirmation.tsx:50
msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
msgstr "Las URL personalizadas son una función premium. Serás dirigido a actualizar tu cuenta."
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
msgid "Custom workspace URL"
msgstr "URL personalizada del espacio de trabajo"
#: src/views/boards/components/TemplateBoards.tsx:41
msgid "Customer Support"
@@ -520,8 +520,8 @@ msgid "Delete"
msgstr "Eliminar"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319
#: src/views/settings/index.tsx:343
#: src/views/settings/index.tsx:353
msgid "Delete account"
msgstr "Eliminar cuenta"
@@ -542,8 +542,8 @@ msgid "Delete list"
msgstr "Eliminar lista"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283
#: src/views/settings/index.tsx:306
#: src/views/settings/index.tsx:317
msgid "Delete workspace"
msgstr "Eliminar espacio de trabajo"
@@ -569,7 +569,7 @@ msgstr "eliminó el elemento <0>{0}</0> de la lista de verificación"
msgid "Design"
msgstr "Diseño"
#: src/views/settings/index.tsx:250
#: src/views/settings/index.tsx:284
msgid "Disconnect Trello"
msgstr "Desconectar Trello"
@@ -577,7 +577,7 @@ msgstr "Desconectar Trello"
msgid "Discuss and collaborate on cards."
msgstr "Discute y colabora en las tarjetas."
#: src/views/settings/index.tsx:151
#: src/views/settings/index.tsx:173
msgid "Display name"
msgstr "Nombre visible"
@@ -695,7 +695,7 @@ msgstr "Error al eliminar la etiqueta"
msgid "Error deleting workspace"
msgstr "Error al eliminar el espacio de trabajo"
#: src/views/settings/index.tsx:101
#: src/views/settings/index.tsx:123
msgid "Error disconnecting Trello"
msgstr "Error al desconectar Trello"
@@ -725,7 +725,7 @@ msgid "Error updating workspace URL"
msgstr "Error al actualizar la URL del espacio de trabajo"
#: src/views/members/components/InviteMemberForm.tsx:130
#: src/views/settings/components/CustomURLConfirmation.tsx:36
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
msgid "Error upgrading subscription"
msgstr "Error al actualizar la suscripción"
@@ -999,10 +999,18 @@ msgstr "Etiquetas"
msgid "Labels & Filters"
msgstr "Etiquetas y filtros"
#: src/views/settings/index.tsx:187
#: src/views/settings/index.tsx:221
msgid "Language"
msgstr "Idioma"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:67
msgid "Launch offer"
msgstr "Oferta de lanzamiento"
#: src/views/home/components/Pricing.tsx:98
msgid "Launch offer: unlimited seats for just $29/month with Pro"
msgstr "Oferta de lanzamiento: asientos ilimitados por solo $29/mes con Pro"
#: src/views/boards/components/TemplateBoards.tsx:83
msgid "Learning"
msgstr "Aprendizaje"
@@ -1181,11 +1189,11 @@ msgstr "Oferta"
msgid "Onboarding"
msgstr "Incorporación"
#: src/views/settings/index.tsx:312
#: src/views/settings/index.tsx:346
msgid "Once you delete your account, there is no going back. This action cannot be undone."
msgstr "Una vez que elimines tu cuenta, no hay vuelta atrás. Esta acción no se puede deshacer."
#: src/views/settings/index.tsx:275
#: src/views/settings/index.tsx:309
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
msgstr "Una vez que elimines tu espacio de trabajo, no hay vuelta atrás. Esta acción no se puede deshacer."
@@ -1217,7 +1225,7 @@ msgstr "La contraseña debe tener al menos 8 caracteres"
msgid "Passwords do not match"
msgstr "Las contraseñas no coinciden"
#: src/views/home/components/Pricing.tsx:96
#: src/views/home/components/Pricing.tsx:101
msgid "Payment frequency"
msgstr "Frecuencia de pago"
@@ -1287,13 +1295,13 @@ msgstr "Por favor selecciona un archivo para subir."
#: src/views/members/components/InviteMemberForm.tsx:131
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: src/views/settings/components/CustomURLConfirmation.tsx:37
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74
#: src/views/settings/components/UpgradeToProConfirmation.tsx:42
msgid "Please try again later, or contact customer support."
msgstr "Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
@@ -1304,6 +1312,7 @@ msgid "Pricing"
msgstr "Precios"
#: src/views/home/components/Pricing.tsx:56
#: src/views/settings/components/UpgradeToProConfirmation.tsx:86
msgid "Priority email support"
msgstr "Soporte prioritario por email"
@@ -1327,7 +1336,7 @@ msgstr "Plan Pro ∞"
msgid "Profile image updated"
msgstr "Imagen de perfil actualizada"
#: src/views/settings/index.tsx:146
#: src/views/settings/index.tsx:168
msgid "Profile picture"
msgstr "Foto de perfil"
@@ -1468,12 +1477,12 @@ msgid "Senior"
msgstr "Senior"
#: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
#: src/views/settings/index.tsx:162
msgid "Settings"
msgstr "Configuración"
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/settings/index.tsx:136
#: src/views/settings/index.tsx:158
msgid "Settings | {0}"
msgstr "Configuración | {0}"
@@ -1524,6 +1533,10 @@ msgstr "Estrella en Github"
msgid "Success"
msgstr "Éxito"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:55
msgid "Supercharge your workspace for just $29/month. Here's what you'll get:"
msgstr "Potencia tu espacio de trabajo por solo $29/mes. Esto es lo que obtendrás:"
#: src/components/UserMenu.tsx:180
msgid "Support"
msgstr "Soporte"
@@ -1622,7 +1635,7 @@ msgstr "Alternar menú"
msgid "Track all card changes with detailed activity history."
msgstr "Rastrea todos los cambios en las tarjetas con un historial de actividad detallado."
#: src/views/settings/index.tsx:94
#: src/views/settings/index.tsx:116
msgid "Trello disconnected"
msgstr "Trello desconectado"
@@ -1753,6 +1766,10 @@ msgstr "Comentarios ilimitados"
msgid "Unlimited lists"
msgstr "Listas ilimitadas"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:64
msgid "Unlimited members"
msgstr "Miembros ilimitados"
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
@@ -1782,10 +1799,15 @@ msgstr "actualizó el título"
msgid "updated the title to <0>{0}</0>"
msgstr "actualizó el título a <0>{0}</0>"
#: src/views/settings/components/CustomURLConfirmation.tsx:57
#: src/views/settings/components/UpgradeToProConfirmation.tsx:99
msgid "Upgrade"
msgstr "Actualizar"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/index.tsx:213
msgid "Upgrade to Pro"
msgstr "Actualizar a Pro"
#: src/views/members/components/InviteMemberForm.tsx:224
msgid "Upgrade to Team Plan"
msgstr "Actualizar al Plan de Equipo"
@@ -1823,11 +1845,11 @@ msgstr "El usuario ya es miembro de este espacio de trabajo"
msgid "Video"
msgstr "Video"
#: src/views/settings/index.tsx:262
#: src/views/settings/index.tsx:296
msgid "View and manage your API keys."
msgstr "Ver y gestionar tus claves API."
#: src/views/settings/index.tsx:201
#: src/views/settings/index.tsx:235
msgid "View and manage your billing and subscription."
msgstr "Ver y gestionar tu facturación y suscripción."
@@ -1887,7 +1909,7 @@ msgstr "Espacio de trabajo"
msgid "Workspace deleted"
msgstr "Espacio de trabajo eliminado"
#: src/views/settings/index.tsx:177
#: src/views/settings/index.tsx:199
msgid "Workspace description"
msgstr "Descripción del espacio de trabajo"
@@ -1909,7 +1931,7 @@ msgid "Workspace members"
msgstr "Miembros del espacio de trabajo"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158
#: src/views/settings/index.tsx:180
msgid "Workspace name"
msgstr "Nombre del espacio de trabajo"
@@ -1929,7 +1951,7 @@ msgstr "Nombre del espacio de trabajo actualizado"
msgid "Workspace slug updated"
msgstr "Slug del espacio de trabajo actualizado"
#: src/views/settings/index.tsx:167
#: src/views/settings/index.tsx:189
msgid "Workspace URL"
msgstr "URL del espacio de trabajo"
@@ -1945,7 +1967,7 @@ msgstr "Anual"
msgid "Yes, we offer an forever free plan for individual use. No restrictions, no paywalls, no limits."
msgstr "Sí, ofrecemos un plan gratuito para siempre para uso individual. Sin restricciones, sin muros de pago, sin límites."
#: src/views/settings/index.tsx:294
#: src/views/settings/index.tsx:328
msgid "You are about to change your password."
msgstr "Estás a punto de cambiar tu contraseña."
@@ -1993,11 +2015,11 @@ msgstr "Tu contraseña ha sido cambiada."
msgid "Your profile image has been updated."
msgstr "Tu imagen de perfil ha sido actualizada."
#: src/views/settings/index.tsx:95
#: src/views/settings/index.tsx:117
msgid "Your Trello account has been disconnected."
msgstr "Tu cuenta de Trello ha sido desconectada."
#: src/views/settings/index.tsx:244
#: src/views/settings/index.tsx:278
msgid "Your Trello account is connected."
msgstr "Tu cuenta de Trello está conectada."

File diff suppressed because one or more lines are too long

View File

@@ -148,7 +148,7 @@ msgstr "Tous les systèmes opérationnels"
msgid "Already have an account? <0><1>Sign in</1></0>"
msgstr "Vous avez déjà un compte ? <0><1>Connectez-vous</1></0>"
#: src/views/settings/index.tsx:102
#: src/views/settings/index.tsx:124
msgid "An error occurred while disconnecting your Trello account."
msgstr "Une erreur s'est produite lors de la déconnexion de votre compte Trello."
@@ -156,7 +156,7 @@ msgstr "Une erreur s'est produite lors de la déconnexion de votre compte Trello
msgid "An unexpected error occurred. Please try again later."
msgstr "Une erreur inattendue s'est produite. Veuillez réessayer plus tard."
#: src/views/settings/index.tsx:259
#: src/views/settings/index.tsx:293
msgid "API keys"
msgstr "Clés API"
@@ -227,11 +227,11 @@ msgid "billed monthly"
msgstr "facturation mensuelle"
#: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
#: src/views/settings/index.tsx:232
msgid "Billing"
msgstr "Facturation"
#: src/views/settings/index.tsx:208
#: src/views/settings/index.tsx:242
msgid "Billing portal"
msgstr "Portail de facturation"
@@ -243,6 +243,10 @@ msgstr "Article de blog"
msgid "Board"
msgstr "Tableau"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:80
msgid "Board analytics (coming soon)"
msgstr "Analyses de tableau (bientôt disponible)"
#: src/views/boards/components/NewBoardForm.tsx:21
msgid "Board name cannot exceed 100 characters"
msgstr "Le nom du tableau ne peut pas dépasser 100 caractères"
@@ -309,9 +313,9 @@ msgstr "Rapport de bug"
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/settings/components/CustomURLConfirmation.tsx:55
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/UpgradeToProConfirmation.tsx:94
msgid "Cancel"
msgstr "Annuler"
@@ -325,12 +329,12 @@ msgstr "Titre de la carte"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/index.tsx:325
#: src/views/settings/index.tsx:335
msgid "Change Password"
msgstr "Modifier le mot de passe"
#: src/views/settings/index.tsx:190
#: src/views/settings/index.tsx:224
msgid "Change the language of the app."
msgstr "Changer la langue de l'application."
@@ -389,16 +393,12 @@ msgstr "a terminé un élément de la checklist"
msgid "completed checklist item <0>{0}</0>"
msgstr "a terminé l'élément <0>{0}</0> de la checklist"
#: src/views/settings/components/CustomURLConfirmation.tsx:47
msgid "Confirm URL change"
msgstr "Confirmer le changement d'URL"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:150
msgid "Confirm your new password"
msgstr "Confirmez votre nouveau mot de passe"
#: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
#: src/views/settings/index.tsx:269
msgid "Connect Trello"
msgstr "Connecter Trello"
@@ -406,7 +406,7 @@ msgstr "Connecter Trello"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Connectez vos outils favoris pour simplifier votre flux de travail."
#: src/views/settings/index.tsx:222
#: src/views/settings/index.tsx:256
msgid "Connect your Trello account to import boards."
msgstr "Connectez votre compte Trello pour importer des tableaux."
@@ -499,9 +499,9 @@ msgstr "Le mot de passe actuel est requis"
msgid "Custom domain"
msgstr "Domaine personnalisé"
#: src/views/settings/components/CustomURLConfirmation.tsx:50
msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
msgstr "Les URL personnalisées sont une fonctionnalité premium. Vous serez dirigé vers la mise à niveau de votre compte."
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
msgid "Custom workspace URL"
msgstr "URL d'espace de travail personnalisée"
#: src/views/boards/components/TemplateBoards.tsx:41
msgid "Customer Support"
@@ -520,8 +520,8 @@ msgid "Delete"
msgstr "Supprimer"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319
#: src/views/settings/index.tsx:343
#: src/views/settings/index.tsx:353
msgid "Delete account"
msgstr "Supprimer le compte"
@@ -542,8 +542,8 @@ msgid "Delete list"
msgstr "Supprimer la liste"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283
#: src/views/settings/index.tsx:306
#: src/views/settings/index.tsx:317
msgid "Delete workspace"
msgstr "Supprimer l'espace de travail"
@@ -569,7 +569,7 @@ msgstr "a supprimé l'élément <0>{0}</0> de la checklist"
msgid "Design"
msgstr "Design"
#: src/views/settings/index.tsx:250
#: src/views/settings/index.tsx:284
msgid "Disconnect Trello"
msgstr "Déconnecter Trello"
@@ -577,7 +577,7 @@ msgstr "Déconnecter Trello"
msgid "Discuss and collaborate on cards."
msgstr "Discutez et collaborez sur les cartes."
#: src/views/settings/index.tsx:151
#: src/views/settings/index.tsx:173
msgid "Display name"
msgstr "Nom d'affichage"
@@ -695,7 +695,7 @@ msgstr "Erreur lors de la suppression de l'étiquette"
msgid "Error deleting workspace"
msgstr "Erreur lors de la suppression de l'espace de travail"
#: src/views/settings/index.tsx:101
#: src/views/settings/index.tsx:123
msgid "Error disconnecting Trello"
msgstr "Erreur lors de la déconnexion de Trello"
@@ -725,7 +725,7 @@ msgid "Error updating workspace URL"
msgstr "Erreur lors de la mise à jour de l'URL de l'espace de travail"
#: src/views/members/components/InviteMemberForm.tsx:130
#: src/views/settings/components/CustomURLConfirmation.tsx:36
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
msgid "Error upgrading subscription"
msgstr "Erreur lors de la mise à niveau de l'abonnement"
@@ -999,10 +999,18 @@ msgstr "Étiquettes"
msgid "Labels & Filters"
msgstr "Étiquettes & filtres"
#: src/views/settings/index.tsx:187
#: src/views/settings/index.tsx:221
msgid "Language"
msgstr "Langue"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:67
msgid "Launch offer"
msgstr "Offre de lancement"
#: src/views/home/components/Pricing.tsx:98
msgid "Launch offer: unlimited seats for just $29/month with Pro"
msgstr "Offre de lancement : sièges illimités pour seulement 29 $/mois avec Pro"
#: src/views/boards/components/TemplateBoards.tsx:83
msgid "Learning"
msgstr "Apprentissage"
@@ -1181,11 +1189,11 @@ msgstr "Offre"
msgid "Onboarding"
msgstr "Intégration"
#: src/views/settings/index.tsx:312
#: src/views/settings/index.tsx:346
msgid "Once you delete your account, there is no going back. This action cannot be undone."
msgstr "Une fois que vous supprimez votre compte, il n'y a pas de retour possible. Cette action ne peut pas être annulée."
#: src/views/settings/index.tsx:275
#: src/views/settings/index.tsx:309
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
msgstr "Une fois que vous supprimez votre espace de travail, il n'y a pas de retour possible. Cette action ne peut pas être annulée."
@@ -1217,7 +1225,7 @@ msgstr "Le mot de passe doit comporter au moins 8 caractères"
msgid "Passwords do not match"
msgstr "Les mots de passe ne correspondent pas"
#: src/views/home/components/Pricing.tsx:96
#: src/views/home/components/Pricing.tsx:101
msgid "Payment frequency"
msgstr "Fréquence de paiement"
@@ -1287,13 +1295,13 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
#: src/views/members/components/InviteMemberForm.tsx:131
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: src/views/settings/components/CustomURLConfirmation.tsx:37
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74
#: src/views/settings/components/UpgradeToProConfirmation.tsx:42
msgid "Please try again later, or contact customer support."
msgstr "Veuillez réessayer plus tard ou contacter le service client."
@@ -1304,6 +1312,7 @@ msgid "Pricing"
msgstr "Tarifs"
#: src/views/home/components/Pricing.tsx:56
#: src/views/settings/components/UpgradeToProConfirmation.tsx:86
msgid "Priority email support"
msgstr "Support par e-mail prioritaire"
@@ -1327,7 +1336,7 @@ msgstr "Plan Pro ∞"
msgid "Profile image updated"
msgstr "Image de profil mise à jour"
#: src/views/settings/index.tsx:146
#: src/views/settings/index.tsx:168
msgid "Profile picture"
msgstr "Photo de profil"
@@ -1468,12 +1477,12 @@ msgid "Senior"
msgstr "Senior"
#: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
#: src/views/settings/index.tsx:162
msgid "Settings"
msgstr "Paramètres"
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/settings/index.tsx:136
#: src/views/settings/index.tsx:158
msgid "Settings | {0}"
msgstr "Paramètres | {0}"
@@ -1524,6 +1533,10 @@ msgstr "Étoile sur Github"
msgid "Success"
msgstr "Succès"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:55
msgid "Supercharge your workspace for just $29/month. Here's what you'll get:"
msgstr "Optimisez votre espace de travail pour seulement 29 $/mois. Voici ce que vous obtiendrez :"
#: src/components/UserMenu.tsx:180
msgid "Support"
msgstr "Assistance"
@@ -1622,7 +1635,7 @@ msgstr "Basculer le menu"
msgid "Track all card changes with detailed activity history."
msgstr "Suivez tous les changements de cartes avec un historique d'activité détaillé."
#: src/views/settings/index.tsx:94
#: src/views/settings/index.tsx:116
msgid "Trello disconnected"
msgstr "Trello déconnecté"
@@ -1753,6 +1766,10 @@ msgstr "Commentaires illimités"
msgid "Unlimited lists"
msgstr "Listes illimitées"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:64
msgid "Unlimited members"
msgstr "Membres illimités"
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
@@ -1782,10 +1799,15 @@ msgstr "a mis à jour le titre"
msgid "updated the title to <0>{0}</0>"
msgstr "a mis à jour le titre en <0>{0}</0>"
#: src/views/settings/components/CustomURLConfirmation.tsx:57
#: src/views/settings/components/UpgradeToProConfirmation.tsx:99
msgid "Upgrade"
msgstr "Mettre à niveau"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/index.tsx:213
msgid "Upgrade to Pro"
msgstr "Passer à Pro"
#: src/views/members/components/InviteMemberForm.tsx:224
msgid "Upgrade to Team Plan"
msgstr "Passer au forfait d'équipe"
@@ -1823,11 +1845,11 @@ msgstr "L'utilisateur est déjà membre de cet espace de travail"
msgid "Video"
msgstr "Vidéo"
#: src/views/settings/index.tsx:262
#: src/views/settings/index.tsx:296
msgid "View and manage your API keys."
msgstr "Consultez et gérez vos clés API."
#: src/views/settings/index.tsx:201
#: src/views/settings/index.tsx:235
msgid "View and manage your billing and subscription."
msgstr "Consultez et gérez votre facturation et votre abonnement."
@@ -1887,7 +1909,7 @@ msgstr "Espace de travail"
msgid "Workspace deleted"
msgstr "Espace de travail supprimé"
#: src/views/settings/index.tsx:177
#: src/views/settings/index.tsx:199
msgid "Workspace description"
msgstr "Description de l'espace de travail"
@@ -1909,7 +1931,7 @@ msgid "Workspace members"
msgstr "Membres de l'espace de travail"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158
#: src/views/settings/index.tsx:180
msgid "Workspace name"
msgstr "Nom de l'espace de travail"
@@ -1929,7 +1951,7 @@ msgstr "Nom de l'espace de travail mis à jour"
msgid "Workspace slug updated"
msgstr "Slug de l'espace de travail mis à jour"
#: src/views/settings/index.tsx:167
#: src/views/settings/index.tsx:189
msgid "Workspace URL"
msgstr "URL de l'espace de travail"
@@ -1945,7 +1967,7 @@ msgstr "Annuel"
msgid "Yes, we offer an forever free plan for individual use. No restrictions, no paywalls, no limits."
msgstr "Oui, nous proposons un plan gratuit à vie pour un usage individuel. Aucune restriction, aucun paywall, aucune limite."
#: src/views/settings/index.tsx:294
#: src/views/settings/index.tsx:328
msgid "You are about to change your password."
msgstr "Vous êtes sur le point de modifier votre mot de passe."
@@ -1993,11 +2015,11 @@ msgstr "Votre mot de passe a été modifié."
msgid "Your profile image has been updated."
msgstr "Votre image de profil a été mise à jour."
#: src/views/settings/index.tsx:95
#: src/views/settings/index.tsx:117
msgid "Your Trello account has been disconnected."
msgstr "Votre compte Trello a été déconnecté."
#: src/views/settings/index.tsx:244
#: src/views/settings/index.tsx:278
msgid "Your Trello account is connected."
msgstr "Votre compte Trello est connecté."

File diff suppressed because one or more lines are too long

View File

@@ -148,7 +148,7 @@ msgstr "Tutti i sistemi operativi"
msgid "Already have an account? <0><1>Sign in</1></0>"
msgstr "Hai già un account? <0><1>Accedi</1></0>"
#: src/views/settings/index.tsx:102
#: src/views/settings/index.tsx:124
msgid "An error occurred while disconnecting your Trello account."
msgstr "Si è verificato un errore durante la disconnessione del tuo account Trello."
@@ -156,7 +156,7 @@ msgstr "Si è verificato un errore durante la disconnessione del tuo account Tre
msgid "An unexpected error occurred. Please try again later."
msgstr "Si è verificato un errore imprevisto. Riprova più tardi."
#: src/views/settings/index.tsx:259
#: src/views/settings/index.tsx:293
msgid "API keys"
msgstr "Chiavi API"
@@ -227,11 +227,11 @@ msgid "billed monthly"
msgstr "fatturato mensilmente"
#: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
#: src/views/settings/index.tsx:232
msgid "Billing"
msgstr "Fatturazione"
#: src/views/settings/index.tsx:208
#: src/views/settings/index.tsx:242
msgid "Billing portal"
msgstr "Portale di fatturazione"
@@ -243,6 +243,10 @@ msgstr "Post del blog"
msgid "Board"
msgstr "Bacheca"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:80
msgid "Board analytics (coming soon)"
msgstr "Analisi della bacheca (prossimamente)"
#: src/views/boards/components/NewBoardForm.tsx:21
msgid "Board name cannot exceed 100 characters"
msgstr "Il nome della bacheca non può superare i 100 caratteri"
@@ -309,9 +313,9 @@ msgstr "Segnalazione bug"
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/settings/components/CustomURLConfirmation.tsx:55
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/UpgradeToProConfirmation.tsx:94
msgid "Cancel"
msgstr "Annulla"
@@ -325,12 +329,12 @@ msgstr "Titolo della carta"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/index.tsx:325
#: src/views/settings/index.tsx:335
msgid "Change Password"
msgstr "Cambia password"
#: src/views/settings/index.tsx:190
#: src/views/settings/index.tsx:224
msgid "Change the language of the app."
msgstr "Cambia la lingua dell'app."
@@ -389,16 +393,12 @@ msgstr "ha completato un elemento della checklist"
msgid "completed checklist item <0>{0}</0>"
msgstr "ha completato l'elemento <0>{0}</0> della checklist"
#: src/views/settings/components/CustomURLConfirmation.tsx:47
msgid "Confirm URL change"
msgstr "Conferma modifica URL"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:150
msgid "Confirm your new password"
msgstr "Conferma la tua nuova password"
#: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
#: src/views/settings/index.tsx:269
msgid "Connect Trello"
msgstr "Connetti Trello"
@@ -406,7 +406,7 @@ msgstr "Connetti Trello"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Connetti i tuoi strumenti preferiti per semplificare il tuo flusso di lavoro."
#: src/views/settings/index.tsx:222
#: src/views/settings/index.tsx:256
msgid "Connect your Trello account to import boards."
msgstr "Connetti il tuo account Trello per importare le bacheche."
@@ -499,9 +499,9 @@ msgstr "La password attuale è obbligatoria"
msgid "Custom domain"
msgstr "Dominio personalizzato"
#: src/views/settings/components/CustomURLConfirmation.tsx:50
msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
msgstr "Gli URL personalizzati sono una funzionalità premium. Sarai indirizzato all'aggiornamento del tuo account."
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
msgid "Custom workspace URL"
msgstr "URL personalizzato dell'area di lavoro"
#: src/views/boards/components/TemplateBoards.tsx:41
msgid "Customer Support"
@@ -520,8 +520,8 @@ msgid "Delete"
msgstr "Elimina"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319
#: src/views/settings/index.tsx:343
#: src/views/settings/index.tsx:353
msgid "Delete account"
msgstr "Elimina account"
@@ -542,8 +542,8 @@ msgid "Delete list"
msgstr "Elimina lista"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283
#: src/views/settings/index.tsx:306
#: src/views/settings/index.tsx:317
msgid "Delete workspace"
msgstr "Elimina spazio di lavoro"
@@ -569,7 +569,7 @@ msgstr "ha eliminato l'elemento <0>{0}</0> della checklist"
msgid "Design"
msgstr "Design"
#: src/views/settings/index.tsx:250
#: src/views/settings/index.tsx:284
msgid "Disconnect Trello"
msgstr "Disconnetti Trello"
@@ -577,7 +577,7 @@ msgstr "Disconnetti Trello"
msgid "Discuss and collaborate on cards."
msgstr "Discuti e collabora sulle schede."
#: src/views/settings/index.tsx:151
#: src/views/settings/index.tsx:173
msgid "Display name"
msgstr "Nome visualizzato"
@@ -695,7 +695,7 @@ msgstr "Errore durante l'eliminazione dell'etichetta"
msgid "Error deleting workspace"
msgstr "Errore durante l'eliminazione dell'area di lavoro"
#: src/views/settings/index.tsx:101
#: src/views/settings/index.tsx:123
msgid "Error disconnecting Trello"
msgstr "Errore durante la disconnessione da Trello"
@@ -725,7 +725,7 @@ msgid "Error updating workspace URL"
msgstr "Errore durante l'aggiornamento dell'URL dell'area di lavoro"
#: src/views/members/components/InviteMemberForm.tsx:130
#: src/views/settings/components/CustomURLConfirmation.tsx:36
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
msgid "Error upgrading subscription"
msgstr "Errore nell'aggiornamento dell'abbonamento"
@@ -999,10 +999,18 @@ msgstr "Etichette"
msgid "Labels & Filters"
msgstr "Etichette & Filtri"
#: src/views/settings/index.tsx:187
#: src/views/settings/index.tsx:221
msgid "Language"
msgstr "Lingua"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:67
msgid "Launch offer"
msgstr "Offerta di lancio"
#: src/views/home/components/Pricing.tsx:98
msgid "Launch offer: unlimited seats for just $29/month with Pro"
msgstr "Offerta di lancio: posti illimitati a soli $29/mese con Pro"
#: src/views/boards/components/TemplateBoards.tsx:83
msgid "Learning"
msgstr "Apprendimento"
@@ -1181,11 +1189,11 @@ msgstr "Offerta"
msgid "Onboarding"
msgstr "Inserimento"
#: src/views/settings/index.tsx:312
#: src/views/settings/index.tsx:346
msgid "Once you delete your account, there is no going back. This action cannot be undone."
msgstr "Una volta eliminato il tuo account, non si può tornare indietro. Questa azione non può essere annullata."
#: src/views/settings/index.tsx:275
#: src/views/settings/index.tsx:309
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
msgstr "Una volta eliminata l'area di lavoro, non si può tornare indietro. Questa azione non può essere annullata."
@@ -1217,7 +1225,7 @@ msgstr "La password deve contenere almeno 8 caratteri"
msgid "Passwords do not match"
msgstr "Le password non corrispondono"
#: src/views/home/components/Pricing.tsx:96
#: src/views/home/components/Pricing.tsx:101
msgid "Payment frequency"
msgstr "Frequenza di pagamento"
@@ -1287,13 +1295,13 @@ msgstr "Seleziona un file da caricare."
#: src/views/members/components/InviteMemberForm.tsx:131
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: src/views/settings/components/CustomURLConfirmation.tsx:37
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74
#: src/views/settings/components/UpgradeToProConfirmation.tsx:42
msgid "Please try again later, or contact customer support."
msgstr "Riprova più tardi o contatta l'assistenza clienti."
@@ -1304,6 +1312,7 @@ msgid "Pricing"
msgstr "Prezzi"
#: src/views/home/components/Pricing.tsx:56
#: src/views/settings/components/UpgradeToProConfirmation.tsx:86
msgid "Priority email support"
msgstr "Supporto email prioritario"
@@ -1327,7 +1336,7 @@ msgstr "Piano Pro ∞"
msgid "Profile image updated"
msgstr "Immagine del profilo aggiornata"
#: src/views/settings/index.tsx:146
#: src/views/settings/index.tsx:168
msgid "Profile picture"
msgstr "Immagine del profilo"
@@ -1468,12 +1477,12 @@ msgid "Senior"
msgstr "Senior"
#: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
#: src/views/settings/index.tsx:162
msgid "Settings"
msgstr "Impostazioni"
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/settings/index.tsx:136
#: src/views/settings/index.tsx:158
msgid "Settings | {0}"
msgstr "Impostazioni | {0}"
@@ -1524,6 +1533,10 @@ msgstr "Metti una stella su Github"
msgid "Success"
msgstr "Operazione riuscita"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:55
msgid "Supercharge your workspace for just $29/month. Here's what you'll get:"
msgstr "Potenzia la tua area di lavoro per soli $29/mese. Ecco cosa otterrai:"
#: src/components/UserMenu.tsx:180
msgid "Support"
msgstr "Supporto"
@@ -1622,7 +1635,7 @@ msgstr "Attiva/disattiva menu"
msgid "Track all card changes with detailed activity history."
msgstr "Tieni traccia di tutte le modifiche alle schede con una cronologia dettagliata delle attività."
#: src/views/settings/index.tsx:94
#: src/views/settings/index.tsx:116
msgid "Trello disconnected"
msgstr "Trello disconnesso"
@@ -1753,6 +1766,10 @@ msgstr "Commenti illimitati"
msgid "Unlimited lists"
msgstr "Liste illimitate"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:64
msgid "Unlimited members"
msgstr "Membri illimitati"
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
@@ -1782,10 +1799,15 @@ msgstr "ha aggiornato il titolo"
msgid "updated the title to <0>{0}</0>"
msgstr "ha aggiornato il titolo in <0>{0}</0>"
#: src/views/settings/components/CustomURLConfirmation.tsx:57
#: src/views/settings/components/UpgradeToProConfirmation.tsx:99
msgid "Upgrade"
msgstr "Aggiorna"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/index.tsx:213
msgid "Upgrade to Pro"
msgstr "Passa a Pro"
#: src/views/members/components/InviteMemberForm.tsx:224
msgid "Upgrade to Team Plan"
msgstr "Passa al Piano Team"
@@ -1823,11 +1845,11 @@ msgstr "L'utente è già membro di questo spazio di lavoro"
msgid "Video"
msgstr "Video"
#: src/views/settings/index.tsx:262
#: src/views/settings/index.tsx:296
msgid "View and manage your API keys."
msgstr "Visualizza e gestisci le tue chiavi API."
#: src/views/settings/index.tsx:201
#: src/views/settings/index.tsx:235
msgid "View and manage your billing and subscription."
msgstr "Visualizza e gestisci la tua fatturazione e abbonamento."
@@ -1887,7 +1909,7 @@ msgstr "Spazio di lavoro"
msgid "Workspace deleted"
msgstr "Spazio di lavoro eliminato"
#: src/views/settings/index.tsx:177
#: src/views/settings/index.tsx:199
msgid "Workspace description"
msgstr "Descrizione dello spazio di lavoro"
@@ -1909,7 +1931,7 @@ msgid "Workspace members"
msgstr "Membri del workspace"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158
#: src/views/settings/index.tsx:180
msgid "Workspace name"
msgstr "Nome dello spazio di lavoro"
@@ -1929,7 +1951,7 @@ msgstr "Nome dello spazio di lavoro aggiornato"
msgid "Workspace slug updated"
msgstr "Slug dell'area di lavoro aggiornato"
#: src/views/settings/index.tsx:167
#: src/views/settings/index.tsx:189
msgid "Workspace URL"
msgstr "URL dello spazio di lavoro"
@@ -1945,7 +1967,7 @@ msgstr "Annuale"
msgid "Yes, we offer an forever free plan for individual use. No restrictions, no paywalls, no limits."
msgstr "Sì, offriamo un piano gratuito per sempre per uso individuale. Nessuna restrizione, nessun paywall, nessun limite."
#: src/views/settings/index.tsx:294
#: src/views/settings/index.tsx:328
msgid "You are about to change your password."
msgstr "Stai per cambiare la tua password."
@@ -1993,11 +2015,11 @@ msgstr "La tua password è stata modificata."
msgid "Your profile image has been updated."
msgstr "La tua immagine del profilo è stata aggiornata."
#: src/views/settings/index.tsx:95
#: src/views/settings/index.tsx:117
msgid "Your Trello account has been disconnected."
msgstr "Il tuo account Trello è stato disconnesso."
#: src/views/settings/index.tsx:244
#: src/views/settings/index.tsx:278
msgid "Your Trello account is connected."
msgstr "Il tuo account Trello è connesso."

File diff suppressed because one or more lines are too long

View File

@@ -148,7 +148,7 @@ msgstr "Alle systemen operationeel"
msgid "Already have an account? <0><1>Sign in</1></0>"
msgstr "Heb je al een account? <0><1>Log in</1></0>"
#: src/views/settings/index.tsx:102
#: src/views/settings/index.tsx:124
msgid "An error occurred while disconnecting your Trello account."
msgstr "Er is een fout opgetreden bij het verbreken van de verbinding met je Trello-account."
@@ -156,7 +156,7 @@ msgstr "Er is een fout opgetreden bij het verbreken van de verbinding met je Tre
msgid "An unexpected error occurred. Please try again later."
msgstr "Er is een onverwachte fout opgetreden. Probeer het later opnieuw."
#: src/views/settings/index.tsx:259
#: src/views/settings/index.tsx:293
msgid "API keys"
msgstr "API-sleutels"
@@ -227,11 +227,11 @@ msgid "billed monthly"
msgstr "maandelijks gefactureerd"
#: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
#: src/views/settings/index.tsx:232
msgid "Billing"
msgstr "Facturering"
#: src/views/settings/index.tsx:208
#: src/views/settings/index.tsx:242
msgid "Billing portal"
msgstr "Factureringsportaal"
@@ -243,6 +243,10 @@ msgstr "Blogbericht"
msgid "Board"
msgstr "Bord"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:80
msgid "Board analytics (coming soon)"
msgstr "Bordanalyses (binnenkort beschikbaar)"
#: src/views/boards/components/NewBoardForm.tsx:21
msgid "Board name cannot exceed 100 characters"
msgstr "Bordnaam mag niet langer zijn dan 100 tekens"
@@ -309,9 +313,9 @@ msgstr "Bugrapport"
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/settings/components/CustomURLConfirmation.tsx:55
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/UpgradeToProConfirmation.tsx:94
msgid "Cancel"
msgstr "Annuleren"
@@ -325,12 +329,12 @@ msgstr "Kaarttitel"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/index.tsx:325
#: src/views/settings/index.tsx:335
msgid "Change Password"
msgstr "Wachtwoord wijzigen"
#: src/views/settings/index.tsx:190
#: src/views/settings/index.tsx:224
msgid "Change the language of the app."
msgstr "Wijzig de taal van de app."
@@ -389,16 +393,12 @@ msgstr "heeft een checklistitem voltooid"
msgid "completed checklist item <0>{0}</0>"
msgstr "heeft checklistitem <0>{0}</0> voltooid"
#: src/views/settings/components/CustomURLConfirmation.tsx:47
msgid "Confirm URL change"
msgstr "URL-wijziging bevestigen"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:150
msgid "Confirm your new password"
msgstr "Bevestig je nieuwe wachtwoord"
#: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
#: src/views/settings/index.tsx:269
msgid "Connect Trello"
msgstr "Verbind Trello"
@@ -406,7 +406,7 @@ msgstr "Verbind Trello"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Verbind je favoriete tools om je werkstroom te stroomlijnen."
#: src/views/settings/index.tsx:222
#: src/views/settings/index.tsx:256
msgid "Connect your Trello account to import boards."
msgstr "Verbind je Trello-account om borden te importeren."
@@ -499,9 +499,9 @@ msgstr "Huidig wachtwoord is vereist"
msgid "Custom domain"
msgstr "Aangepast domein"
#: src/views/settings/components/CustomURLConfirmation.tsx:50
msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
msgstr "Aangepaste URL's zijn een premium functie. Je wordt doorgestuurd om je account te upgraden."
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
msgid "Custom workspace URL"
msgstr "Aangepaste werkruimte-URL"
#: src/views/boards/components/TemplateBoards.tsx:41
msgid "Customer Support"
@@ -520,8 +520,8 @@ msgid "Delete"
msgstr "Verwijderen"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319
#: src/views/settings/index.tsx:343
#: src/views/settings/index.tsx:353
msgid "Delete account"
msgstr "Account verwijderen"
@@ -542,8 +542,8 @@ msgid "Delete list"
msgstr "Lijst verwijderen"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283
#: src/views/settings/index.tsx:306
#: src/views/settings/index.tsx:317
msgid "Delete workspace"
msgstr "Werkruimte verwijderen"
@@ -569,7 +569,7 @@ msgstr "heeft checklistitem <0>{0}</0> verwijderd"
msgid "Design"
msgstr "Ontwerp"
#: src/views/settings/index.tsx:250
#: src/views/settings/index.tsx:284
msgid "Disconnect Trello"
msgstr "Trello ontkoppelen"
@@ -577,7 +577,7 @@ msgstr "Trello ontkoppelen"
msgid "Discuss and collaborate on cards."
msgstr "Bespreek en werk samen aan kaarten."
#: src/views/settings/index.tsx:151
#: src/views/settings/index.tsx:173
msgid "Display name"
msgstr "Weergavenaam"
@@ -695,7 +695,7 @@ msgstr "Fout bij het verwijderen van label"
msgid "Error deleting workspace"
msgstr "Fout bij verwijderen werkruimte"
#: src/views/settings/index.tsx:101
#: src/views/settings/index.tsx:123
msgid "Error disconnecting Trello"
msgstr "Fout bij ontkoppelen van Trello"
@@ -725,7 +725,7 @@ msgid "Error updating workspace URL"
msgstr "Fout bij het bijwerken van werkruimte-URL"
#: src/views/members/components/InviteMemberForm.tsx:130
#: src/views/settings/components/CustomURLConfirmation.tsx:36
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
msgid "Error upgrading subscription"
msgstr "Fout bij het upgraden van abonnement"
@@ -999,10 +999,18 @@ msgstr "Labels"
msgid "Labels & Filters"
msgstr "Labels & filters"
#: src/views/settings/index.tsx:187
#: src/views/settings/index.tsx:221
msgid "Language"
msgstr "Taal"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:67
msgid "Launch offer"
msgstr "Introductieaanbieding"
#: src/views/home/components/Pricing.tsx:98
msgid "Launch offer: unlimited seats for just $29/month with Pro"
msgstr "Introductieaanbieding: onbeperkt aantal gebruikers voor slechts $29/maand met Pro"
#: src/views/boards/components/TemplateBoards.tsx:83
msgid "Learning"
msgstr "Leren"
@@ -1181,11 +1189,11 @@ msgstr "Aanbod"
msgid "Onboarding"
msgstr "Inwerktraject"
#: src/views/settings/index.tsx:312
#: src/views/settings/index.tsx:346
msgid "Once you delete your account, there is no going back. This action cannot be undone."
msgstr "Zodra je je account verwijdert, is er geen weg terug. Deze actie kan niet ongedaan worden gemaakt."
#: src/views/settings/index.tsx:275
#: src/views/settings/index.tsx:309
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
msgstr "Zodra je je werkruimte verwijdert, is er geen weg terug. Deze actie kan niet ongedaan worden gemaakt."
@@ -1217,7 +1225,7 @@ msgstr "Wachtwoord moet minimaal 8 tekens bevatten"
msgid "Passwords do not match"
msgstr "Wachtwoorden komen niet overeen"
#: src/views/home/components/Pricing.tsx:96
#: src/views/home/components/Pricing.tsx:101
msgid "Payment frequency"
msgstr "Betalingsfrequentie"
@@ -1287,13 +1295,13 @@ msgstr "Selecteer een bestand om te uploaden."
#: src/views/members/components/InviteMemberForm.tsx:131
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: src/views/settings/components/CustomURLConfirmation.tsx:37
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74
#: src/views/settings/components/UpgradeToProConfirmation.tsx:42
msgid "Please try again later, or contact customer support."
msgstr "Probeer het later opnieuw of neem contact op met de klantenservice."
@@ -1304,6 +1312,7 @@ msgid "Pricing"
msgstr "Prijzen"
#: src/views/home/components/Pricing.tsx:56
#: src/views/settings/components/UpgradeToProConfirmation.tsx:86
msgid "Priority email support"
msgstr "Prioriteit e-mailondersteuning"
@@ -1327,7 +1336,7 @@ msgstr "Pro Plan ∞"
msgid "Profile image updated"
msgstr "Profielafbeelding bijgewerkt"
#: src/views/settings/index.tsx:146
#: src/views/settings/index.tsx:168
msgid "Profile picture"
msgstr "Profielfoto"
@@ -1468,12 +1477,12 @@ msgid "Senior"
msgstr "Senior"
#: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
#: src/views/settings/index.tsx:162
msgid "Settings"
msgstr "Instellingen"
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/settings/index.tsx:136
#: src/views/settings/index.tsx:158
msgid "Settings | {0}"
msgstr "Instellingen | {0}"
@@ -1524,6 +1533,10 @@ msgstr "Star op Github"
msgid "Success"
msgstr "Geslaagd"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:55
msgid "Supercharge your workspace for just $29/month. Here's what you'll get:"
msgstr "Geef je werkruimte een boost voor slechts $29/maand. Dit krijg je:"
#: src/components/UserMenu.tsx:180
msgid "Support"
msgstr "Ondersteuning"
@@ -1622,7 +1635,7 @@ msgstr "Menu in-/uitschakelen"
msgid "Track all card changes with detailed activity history."
msgstr "Volg alle kaartwijzigingen met gedetailleerde activiteitengeschiedenis."
#: src/views/settings/index.tsx:94
#: src/views/settings/index.tsx:116
msgid "Trello disconnected"
msgstr "Trello ontkoppeld"
@@ -1753,6 +1766,10 @@ msgstr "Onbeperkt aantal opmerkingen"
msgid "Unlimited lists"
msgstr "Onbeperkt aantal lijsten"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:64
msgid "Unlimited members"
msgstr "Onbeperkt aantal leden"
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
@@ -1782,10 +1799,15 @@ msgstr "titel bijgewerkt"
msgid "updated the title to <0>{0}</0>"
msgstr "titel bijgewerkt naar <0>{0}</0>"
#: src/views/settings/components/CustomURLConfirmation.tsx:57
#: src/views/settings/components/UpgradeToProConfirmation.tsx:99
msgid "Upgrade"
msgstr "Upgraden"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/index.tsx:213
msgid "Upgrade to Pro"
msgstr "Upgraden naar Pro"
#: src/views/members/components/InviteMemberForm.tsx:224
msgid "Upgrade to Team Plan"
msgstr "Upgraden naar teamplan"
@@ -1823,11 +1845,11 @@ msgstr "Gebruiker is al lid van deze werkruimte"
msgid "Video"
msgstr "Video"
#: src/views/settings/index.tsx:262
#: src/views/settings/index.tsx:296
msgid "View and manage your API keys."
msgstr "Bekijk en beheer je API-sleutels."
#: src/views/settings/index.tsx:201
#: src/views/settings/index.tsx:235
msgid "View and manage your billing and subscription."
msgstr "Bekijk en beheer je facturering en abonnement."
@@ -1887,7 +1909,7 @@ msgstr "Werkruimte"
msgid "Workspace deleted"
msgstr "Werkruimte verwijderd"
#: src/views/settings/index.tsx:177
#: src/views/settings/index.tsx:199
msgid "Workspace description"
msgstr "Werkruimte beschrijving"
@@ -1909,7 +1931,7 @@ msgid "Workspace members"
msgstr "Werkruimteleden"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158
#: src/views/settings/index.tsx:180
msgid "Workspace name"
msgstr "Naam werkruimte"
@@ -1929,7 +1951,7 @@ msgstr "Werkruimtenaam bijgewerkt"
msgid "Workspace slug updated"
msgstr "Werkruimte-slug bijgewerkt"
#: src/views/settings/index.tsx:167
#: src/views/settings/index.tsx:189
msgid "Workspace URL"
msgstr "Werkruimte URL"
@@ -1945,7 +1967,7 @@ msgstr "Jaarlijks"
msgid "Yes, we offer an forever free plan for individual use. No restrictions, no paywalls, no limits."
msgstr "Ja, we bieden een voor altijd gratis plan voor individueel gebruik. Geen beperkingen, geen betaalmuren, geen limieten."
#: src/views/settings/index.tsx:294
#: src/views/settings/index.tsx:328
msgid "You are about to change your password."
msgstr "Je staat op het punt je wachtwoord te wijzigen."
@@ -1993,11 +2015,11 @@ msgstr "Je wachtwoord is gewijzigd."
msgid "Your profile image has been updated."
msgstr "Je profielafbeelding is bijgewerkt."
#: src/views/settings/index.tsx:95
#: src/views/settings/index.tsx:117
msgid "Your Trello account has been disconnected."
msgstr "Je Trello-account is ontkoppeld."
#: src/views/settings/index.tsx:244
#: src/views/settings/index.tsx:278
msgid "Your Trello account is connected."
msgstr "Je Trello-account is verbonden."

File diff suppressed because one or more lines are too long

View File

@@ -3,6 +3,7 @@ import { env } from "next-runtime-env";
import { z } from "zod";
import { createNextApiContext } from "@kan/api/trpc";
import * as subscriptionRepo from "@kan/db/repository/subscription.repo";
import * as workspaceRepo from "@kan/db/repository/workspace.repo";
import { createStripeClient } from "@kan/stripe";
@@ -40,17 +41,22 @@ export default async function handler(
const body = req.body as CheckoutSessionRequest;
const { successUrl, cancelUrl, slug, workspacePublicId } = body;
if (!successUrl || !cancelUrl || !slug || !workspacePublicId) {
if (!successUrl || !cancelUrl || !workspacePublicId) {
return res.status(400).json({ error: "Missing required fields" });
}
const slugResult = workspaceSlugSchema.safeParse(slug);
if (slug) {
const slugResult = workspaceSlugSchema.safeParse(slug);
if (!slugResult.success) {
return new Response(JSON.stringify({ error: "Invalid workspace slug" }), {
status: 400,
headers: { "Content-Type": "application/json" },
});
if (!slugResult.success) {
return new Response(
JSON.stringify({ error: "Invalid workspace slug" }),
{
status: 400,
headers: { "Content-Type": "application/json" },
},
);
}
}
const workspace = await workspaceRepo.getAllByUserId(db, user.id);
@@ -66,6 +72,20 @@ export default async function handler(
});
}
const subscription = await subscriptionRepo.create(db, {
plan: "pro",
referenceId: workspacePublicId,
userId: user.id,
stripeCustomerId: user.stripeCustomerId ?? "",
status: "incomplete",
});
const subscriptionId = subscription?.id;
if (!subscriptionId) {
return res.status(500).json({ error: "Error creating subscription" });
}
const session = await stripe.checkout.sessions.create({
mode: "subscription",
line_items: [
@@ -76,10 +96,13 @@ export default async function handler(
],
success_url: `${env("NEXT_PUBLIC_BASE_URL")}${successUrl}`,
cancel_url: `${env("NEXT_PUBLIC_BASE_URL")}${cancelUrl}`,
client_reference_id: workspacePublicId,
customer: user.stripeCustomerId ?? undefined,
metadata: {
workspaceSlug: slug,
...(slug && { workspaceSlug: slug }),
workspacePublicId,
userId: user.id,
subscriptionId,
},
});

View File

@@ -47,9 +47,9 @@ export default async function handler(
const metaData = checkoutSession.metadata;
if (metaData?.workspacePublicId && metaData.workspaceSlug) {
if (metaData?.workspacePublicId) {
await workspaceRepo.update(db, metaData.workspacePublicId, {
slug: metaData.workspaceSlug,
...(metaData.workspaceSlug && { slug: metaData.workspaceSlug }),
plan: "pro",
});
}

View File

@@ -1,8 +1,10 @@
import PatternedBackground from "~/components/PatternedBackground";
import { useTheme } from "next-themes";
import { authClient } from "@kan/auth/client";
import PatternedBackground from "~/components/PatternedBackground";
import Footer from "./Footer";
import Header from "./Header";
import { authClient } from "@kan/auth/client";
export default function Layout({ children }: { children: React.ReactNode }) {
const { theme } = useTheme();
@@ -18,6 +20,7 @@ export default function Layout({ children }: { children: React.ReactNode }) {
<style jsx global>{`
html {
scroll-behavior: smooth;
overflow: auto;
background-color: ${!isDarkMode ? "hsl(0deg 0% 97.3%)" : "#161616"};
}
`}</style>

View File

@@ -92,7 +92,12 @@ const Pricing = () => {
{t`Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team.`}
</p>
<div className="mt-16 flex justify-center">
<div className="mt-12 flex flex-col items-center justify-center">
<div className="mb-4 flex items-center gap-2 rounded-full border bg-white px-4 py-1.5 text-center text-xs font-bold text-gray-800 dark:border-dark-300 dark:bg-white dark:text-gray-800 lg:text-sm">
<p>
{t`Launch offer: unlimited seats for just $29/month with Pro`}
</p>
</div>
<fieldset aria-label={t`Payment frequency`}>
<RadioGroup
value={frequency}
@@ -165,7 +170,7 @@ const Pricing = () => {
!tier.showPrice && "opacity-0",
)}
>
{tier.price[frequency?.value || "monthly"]}
{tier.price[frequency?.value ?? "monthly"]}
</span>
{tier.showPriceSuffix && (
<span className="text-sm/6 font-semibold text-light-50 dark:text-dark-900">

View File

@@ -1,61 +0,0 @@
import { t } from "@lingui/core/macro";
import { authClient } from "@kan/auth/client";
import Button from "~/components/Button";
import { useModal } from "~/providers/modal";
import { usePopup } from "~/providers/popup";
export function CustomURLConfirmation({
userId,
workspacePublicId,
}: {
userId: string;
workspacePublicId: string;
}) {
const { closeModal, entityId } = useModal();
const { showPopup } = usePopup();
const handleUpgrade = async () => {
const { data, error } = await authClient.subscription.upgrade({
plan: "pro",
referenceId: workspacePublicId,
metadata: { userId, workspacePublicId, workspaceSlug: entityId },
successUrl: "/settings",
cancelUrl: "/settings",
returnUrl: "/settings",
disableRedirect: true,
});
if (data?.url) {
window.location.href = data.url;
}
if (error) {
showPopup({
header: t`Error upgrading subscription`,
message: t`Please try again later, or contact customer support.`,
icon: "error",
});
}
};
return (
<div className="p-5">
<div className="flex w-full flex-col justify-between pb-4">
<h2 className="text-md pb-4 font-medium text-neutral-900 dark:text-dark-1000">
{t`Confirm URL change`}
</h2>
<p className="text-sm font-medium text-light-900 dark:text-dark-900">
{t`Custom URLs are a premium feature. You'll be directed to upgrade your account.`}
</p>
</div>
<div className="mt-5 flex justify-end space-x-2 sm:mt-6">
<Button onClick={() => closeModal()} variant="secondary">
{t`Cancel`}
</Button>
<Button onClick={handleUpgrade}>{t`Upgrade`}</Button>
</div>
</div>
);
}

View File

@@ -98,7 +98,7 @@ const UpdateWorkspaceUrlForm = ({
if (!isWorkspaceSlugAvailable?.isAvailable) return;
if (workspacePlan !== "pro" && env("NEXT_PUBLIC_KAN_ENV") === "cloud")
return openModal("UPDATE_WORKSPACE_URL", data.slug);
return openModal("UPGRADE_TO_PRO", data.slug);
updateWorkspaceSlug.mutate({
workspacePublicId,

View File

@@ -0,0 +1,103 @@
import { t } from "@lingui/core/macro";
import { HiBolt, HiCheckBadge } from "react-icons/hi2";
import Button from "~/components/Button";
import { useModal } from "~/providers/modal";
import { usePopup } from "~/providers/popup";
export function UpgradeToProConfirmation({
workspacePublicId,
}: {
userId: string;
workspacePublicId: string;
}) {
const { closeModal, entityId } = useModal();
const { showPopup } = usePopup();
const handleUpgrade = async () => {
try {
const response = await fetch("/api/stripe/create_checkout_session", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
...(entityId && { slug: entityId }),
workspacePublicId: workspacePublicId,
cancelUrl: "/settings",
successUrl: "/settings",
}),
});
const { url } = (await response.json()) as { url: string };
if (url) {
window.location.href = url;
}
} catch (error) {
console.error("Error creating checkout session:", error);
showPopup({
header: t`Error upgrading subscription`,
message: t`Please try again later, or contact customer support.`,
icon: "error",
});
}
};
return (
<div className="p-5">
<div className="flex w-full flex-col justify-between pb-4">
<h2 className="text-md pb-4 font-bold text-neutral-900 dark:text-dark-1000">
{t`Upgrade to Pro`}
</h2>
<p className="mb-4 text-sm font-medium text-light-900 dark:text-dark-900">
{t`Supercharge your workspace for just $29/month. Here's what you'll get:`}
</p>
<div className="rounded-md bg-light-100 p-3 text-xs text-light-900 dark:bg-dark-200 dark:text-dark-900">
<div className="space-y-3">
<div className="flex items-center space-x-3">
<HiCheckBadge className="h-5 w-5 flex-shrink-0 text-light-1000 dark:text-dark-950" />
<div className="flex items-center space-x-2">
<span className="text-sm text-neutral-900 dark:text-dark-1000">
{t`Unlimited members`}
</span>
<span className="inline-flex items-center rounded-full bg-emerald-500/10 px-2 py-0.5 text-[10px] font-medium text-emerald-600 ring-1 ring-inset ring-emerald-500/20 dark:text-emerald-400 sm:text-[10px]">
{t`Launch offer`}
</span>
</div>
</div>
<div className="flex items-center space-x-3">
<HiCheckBadge className="h-5 w-5 flex-shrink-0 text-light-1000 dark:text-dark-950" />
<span className="text-sm text-neutral-900 dark:text-dark-1000">
{t`Custom workspace URL`}
</span>
</div>
<div className="flex items-center space-x-3">
<HiCheckBadge className="h-5 w-5 flex-shrink-0 text-light-1000 dark:text-dark-950" />
<span className="text-sm text-neutral-900 dark:text-dark-1000">
{t`Board analytics (coming soon)`}
</span>
</div>
<div className="flex items-center space-x-3">
<HiCheckBadge className="h-5 w-5 flex-shrink-0 text-light-1000 dark:text-dark-950" />
<span className="text-sm text-neutral-900 dark:text-dark-1000">
{t`Priority email support`}
</span>
</div>
</div>
</div>
</div>
<div className="mt-5 flex justify-end space-x-2 sm:mt-6">
<Button onClick={() => closeModal()} variant="secondary">
{t`Cancel`}
</Button>
<Button
onClick={handleUpgrade}
iconRight={<HiBolt />}
>{t`Upgrade`}</Button>
</div>
</div>
);
}

View File

@@ -2,7 +2,10 @@ import { useRouter } from "next/router";
import { t } from "@lingui/core/macro";
import { env } from "next-runtime-env";
import { useEffect, useRef } from "react";
import { HiMiniArrowTopRightOnSquare } from "react-icons/hi2";
import { HiBolt, HiMiniArrowTopRightOnSquare } from "react-icons/hi2";
import type { Subscription } from "@kan/shared/utils";
import { hasActiveSubscription } from "@kan/shared/utils";
import Button from "~/components/Button";
import FeedbackModal from "~/components/FeedbackModal";
@@ -17,13 +20,13 @@ import { api } from "~/utils/api";
import Avatar from "./components/Avatar";
import { ChangePasswordFormConfirmation } from "./components/ChangePasswordConfirmation";
import CreateAPIKeyForm from "./components/CreateAPIKeyForm";
import { CustomURLConfirmation } from "./components/CustomURLConfirmation";
import { DeleteAccountConfirmation } from "./components/DeleteAccountConfirmation";
import { DeleteWorkspaceConfirmation } from "./components/DeleteWorkspaceConfirmation";
import UpdateDisplayNameForm from "./components/UpdateDisplayNameForm";
import UpdateWorkspaceDescriptionForm from "./components/UpdateWorkspaceDescriptionForm";
import UpdateWorkspaceNameForm from "./components/UpdateWorkspaceNameForm";
import UpdateWorkspaceUrlForm from "./components/UpdateWorkspaceUrlForm";
import { UpgradeToProConfirmation } from "./components/UpgradeToProConfirmation";
export default function SettingsPage() {
const { modalContentType, openModal, isOpen } = useModal();
@@ -37,6 +40,14 @@ export default function SettingsPage() {
env("NEXT_PUBLIC_ALLOW_CREDENTIALS")?.toLowerCase() === "true";
const { data } = api.user.getUser.useQuery();
const { data: workspaceData } = api.workspace.byId.useQuery({
workspacePublicId: workspace.publicId,
});
const subscriptions = workspaceData?.subscriptions as
| Subscription[]
| undefined;
const {
data: integrations,
refetch: refetchIntegrations,
@@ -84,6 +95,17 @@ export default function SettingsPage() {
}
}, [router.query.edit]);
// Open upgrade modal if upgrade=pro is in URL params
useEffect(() => {
if (
router.query.upgrade === "pro" &&
env("NEXT_PUBLIC_KAN_ENV") === "cloud" &&
!hasActiveSubscription(subscriptions, "pro")
) {
openModal("UPGRADE_TO_PRO");
}
}, [router.query.upgrade, subscriptions, openModal]);
const { mutateAsync: disconnectTrello } =
api.integration.disconnect.useMutation({
onSuccess: () => {
@@ -180,6 +202,18 @@ export default function SettingsPage() {
workspacePublicId={workspace.publicId}
workspaceDescription={workspace.description ?? ""}
/>
{env("NEXT_PUBLIC_KAN_ENV") === "cloud" &&
!hasActiveSubscription(subscriptions, "pro") && (
<div className="mt-8">
<Button
onClick={() => openModal("UPGRADE_TO_PRO")}
iconRight={<HiBolt />}
>
{t`Upgrade to Pro`}
</Button>
</div>
)}
</div>
<div className="mb-8 border-t border-light-300 dark:border-dark-300">
@@ -346,9 +380,12 @@ export default function SettingsPage() {
<Modal
modalSize="sm"
isVisible={isOpen && modalContentType === "UPDATE_WORKSPACE_URL"}
isVisible={isOpen && modalContentType === "UPGRADE_TO_PRO"}
>
<CustomURLConfirmation workspacePublicId={workspace.publicId} />
<UpgradeToProConfirmation
userId={data?.id ?? ""}
workspacePublicId={workspace.publicId}
/>
</Modal>
<Modal

View File

@@ -75,3 +75,17 @@ export const getByReferenceId = async (db: dbClient, referenceId: string) => {
where: eq(subscription.referenceId, referenceId),
});
};
export const create = async (
db: dbClient,
data: {
plan: string;
referenceId: string;
userId: string;
stripeCustomerId: string;
status: string;
},
) => {
const [result] = await db.insert(subscription).values(data).returning();
return result;
};