feat(cloud): enable seat based pricing (#161)

* feat: setup subscriptions

* feat: prompt user to create subscription if inactive

* feat: update subscription when increasing/decreasing workspace members

* feat: rework upgrade

* chore: remove pricing notice

* chore: add translations

* chore: update proration comment
This commit is contained in:
Henry
2025-09-02 22:36:09 +01:00
committed by GitHub
parent e3d7ace8bd
commit 06c268bed1
33 changed files with 7483 additions and 4352 deletions

View File

@@ -6,6 +6,8 @@ checksums:
"%7B0%7D%20%7C%20%7B1%7D/singular": 4628f9c6ec13c2dc2984a6ab80e19f8b "%7B0%7D%20%7C%20%7B1%7D/singular": 4628f9c6ec13c2dc2984a6ab80e19f8b
"%7B0%7D%20labels/singular": 785f92bedf786ff3e285adfc07c69d18 "%7B0%7D%20labels/singular": 785f92bedf786ff3e285adfc07c69d18
"%7BboardCount%2C%20plural%2C%20one%20%7BImport%20board%20(1)%7D%20other%20%7BImport%20boards%20(%7BboardCount%7D)%7D%7D/singular": 72358c550bd1a99fcb6e8952f0f947ef "%7BboardCount%2C%20plural%2C%20one%20%7BImport%20board%20(1)%7D%20other%20%7BImport%20boards%20(%7BboardCount%7D)%7D%7D/singular": 72358c550bd1a99fcb6e8952f0f947ef
"%2410%2Fmonth/singular": cab5e752ed83096e34fca780d90e1fb9
"%248%2Fmonth/singular": 4667034934bb2bc3d569c70b94205b51
1%20user/singular: 3b547431ab12f0fba84307e6a81109d8 1%20user/singular: 3b547431ab12f0fba84307e6a81109d8
A%20powerful%2C%20flexible%20kanban%20app%20that%20helps%20you%20organise%20work%2C%20track%20progress%2C%20and%20deliver%20results%E2%80%94all%20in%20one%20place./singular: d405b83b0d631cb72f4347c10bcbb643 A%20powerful%2C%20flexible%20kanban%20app%20that%20helps%20you%20organise%20work%2C%20track%20progress%2C%20and%20deliver%20results%E2%80%94all%20in%20one%20place./singular: d405b83b0d631cb72f4347c10bcbb643
Account%20deleted/singular: a25da96a1579c4491be0a95669ef18a4 Account%20deleted/singular: a25da96a1579c4491be0a95669ef18a4
@@ -26,8 +28,8 @@ checksums:
added%20checklist%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: fb6a852c50c1629f47c6f155fc93fdee added%20checklist%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: fb6a852c50c1629f47c6f155fc93fdee
added%20checklist%20item%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: bdd202da20b1fffbec21792c5453f90c added%20checklist%20item%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: bdd202da20b1fffbec21792c5453f90c
added%20label%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: b32be052b3d57de0c9120fa7f9fc86ee added%20label%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: b32be052b3d57de0c9120fa7f9fc86ee
Adding%20a%20new%20member%20will%20cost%20an%20additional%20%7Bprice%7D%20(%7BbillingType%7D)%20per%20seat./singular: 12e88573028306110fbc15ef1e714892
Admin%20roles/singular: 32a5d78073b9bb9a246773afba8831df Admin%20roles/singular: 32a5d78073b9bb9a246773afba8831df
All%20seats%20are%20free%20during%20the%20beta%20until%20Sept%201st!/singular: 015cec3899cf99e37c3cf231d432e31d
All%20systems%20operational/singular: ee943a4046b09e6334cceeea9fda2bfc All%20systems%20operational/singular: ee943a4046b09e6334cceeea9fda2bfc
Already%20have%20an%20account%3F%20%3C0%3E%3C1%3ESign%20in%3C%2F1%3E%3C%2F0%3E/singular: 2959fd276248208b65cb27ed46b20135 Already%20have%20an%20account%3F%20%3C0%3E%3C1%3ESign%20in%3C%2F1%3E%3C%2F0%3E/singular: 2959fd276248208b65cb27ed46b20135
An%20error%20occurred%20while%20disconnecting%20your%20Trello%20account./singular: 0aa3973b860c1faf8d9123aebf567e40 An%20error%20occurred%20while%20disconnecting%20your%20Trello%20account./singular: 0aa3973b860c1faf8d9123aebf567e40
@@ -47,6 +49,8 @@ checksums:
Awaiting%20Customer/singular: 122c108794f321c10e05a08f09b11457 Awaiting%20Customer/singular: 122c108794f321c10e05a08f09b11457
Backlog/singular: 35919fd5b10ad212839a75e72829fe4e Backlog/singular: 35919fd5b10ad212839a75e72829fe4e
Basic%20Kanban/singular: e46ebc406749486f3907436970d4d6c7 Basic%20Kanban/singular: e46ebc406749486f3907436970d4d6c7
billed%20annually/singular: c782a8085ffee456bfc56c34ccc5e71c
billed%20monthly/singular: 793f2728acf06e9f06d6cdc26dfcf0cd
Billing/singular: b01dbdd049ebbd4a349fa64d6ce65a3b Billing/singular: b01dbdd049ebbd4a349fa64d6ce65a3b
Billing%20portal/singular: dc3afa14ffe19f5920992a0c9d49d525 Billing%20portal/singular: dc3afa14ffe19f5920992a0c9d49d525
Blog%20Post/singular: 38e027f212be445dc530e427fc642a20 Blog%20Post/singular: 38e027f212be445dc530e427fc642a20
@@ -161,6 +165,7 @@ checksums:
Error%20updating%20workspace%20description/singular: 7a9fd7c69b90ab848ee1f1d4a4995381 Error%20updating%20workspace%20description/singular: 7a9fd7c69b90ab848ee1f1d4a4995381
Error%20updating%20workspace%20name/singular: 46025f42a7d5eff689e9cb8bed14a1e4 Error%20updating%20workspace%20name/singular: 46025f42a7d5eff689e9cb8bed14a1e4
Error%20updating%20workspace%20URL/singular: 9da6c012e1b512d8c7fbd812626c4675 Error%20updating%20workspace%20URL/singular: 9da6c012e1b512d8c7fbd812626c4675
Error%20upgrading%20subscription/singular: 57cc47581c7faaffb3b1721b6352b576
Error%20uploading%20profile%20image/singular: 0ba02753a797a74c6ea7b622c9f69c71 Error%20uploading%20profile%20image/singular: 0ba02753a797a74c6ea7b622c9f69c71
Everything%20in%20the%20free%20plan%2C%20plus%3A/singular: 62b44c4973b92b806c69a4b15e0256dc Everything%20in%20the%20free%20plan%2C%20plus%3A/singular: 62b44c4973b92b806c69a4b15e0256dc
Everything%20you%20need%2C%20free%20forever.%20Unlimited%20boards%2C%20unlimited%20lists%2C%20unlimited%20cards.%20Upgrade%20any%20time./singular: fa21632ab1468edf10acda2fe7b71323 Everything%20you%20need%2C%20free%20forever.%20Unlimited%20boards%2C%20unlimited%20lists%2C%20unlimited%20cards.%20Upgrade%20any%20time./singular: fa21632ab1468edf10acda2fe7b71323
@@ -176,6 +181,7 @@ checksums:
Find%20answers%20to%20common%20questions%20about%20the%20project.%20Can't%20find%20what%20you're%20looking%20for%3F%20Feel%20free%20to%20%3C0%3Econtact%20us%3C%2F0%3E./singular: 4d99230dad703bf2d71ba670c2f79d3d Find%20answers%20to%20common%20questions%20about%20the%20project.%20Can't%20find%20what%20you're%20looking%20for%3F%20Feel%20free%20to%20%3C0%3Econtact%20us%3C%2F0%3E./singular: 4d99230dad703bf2d71ba670c2f79d3d
For%20long-term%20sustainability%2C%20we%20recognise%20all%20good%20open%20source%20projects%20need%20a%20source%20of%20revenue.%20Ours%20comes%20from%20the%20paid%20cloud%20offering%20for%20workspaces%20with%20multiple%20users%20(free%20during%20the%20beta)%20and%20for%20custom%20workspace%20slugs.%20There's%20no%20obligation%20to%20use%20it%2C%20and%20you%20can%20self-host%20the%20software%20on%20your%20own%20infrastructure%20free%20of%20charge./singular: 4eedacd4311ff69bf0fd87083c90a268 For%20long-term%20sustainability%2C%20we%20recognise%20all%20good%20open%20source%20projects%20need%20a%20source%20of%20revenue.%20Ours%20comes%20from%20the%20paid%20cloud%20offering%20for%20workspaces%20with%20multiple%20users%20(free%20during%20the%20beta)%20and%20for%20custom%20workspace%20slugs.%20There's%20no%20obligation%20to%20use%20it%2C%20and%20you%20can%20self-host%20the%20software%20on%20your%20own%20infrastructure%20free%20of%20charge./singular: 4eedacd4311ff69bf0fd87083c90a268
Free/singular: 0326365539c004f6088656f692602078 Free/singular: 0326365539c004f6088656f692602078
Free%20Plan/singular: c995acccc1e3cba379786892a5b4d4e5
Free%2C%20forever/singular: ae4f2f81e88a50b5f250ef8e8e77e74b Free%2C%20forever/singular: ae4f2f81e88a50b5f250ef8e8e77e74b
Full-time/singular: fe6e201f6676ae354111435cf6c76910 Full-time/singular: fe6e201f6676ae354111435cf6c76910
Fun/singular: 395bdc48e943762b6cde649f4a96771d Fun/singular: 395bdc48e943762b6cde649f4a96771d
@@ -216,6 +222,7 @@ checksums:
Invite/singular: 181884cea804cbde665f160811ee7ad0 Invite/singular: 181884cea804cbde665f160811ee7ad0
Invite%20another/singular: acb543563dab7edbcf46060a53ade3a3 Invite%20another/singular: acb543563dab7edbcf46060a53ade3a3
Invite%20member/singular: ade922db1be6b26bc979565ce5de2bc7 Invite%20member/singular: ade922db1be6b26bc979565ce5de2bc7
Inviting%20members%20requires%20a%20Team%20Plan.%20You'll%20be%20redirected%20to%20upgrade%20your%20workspace./singular: 03eeed2d715e770259f722ba48a61ab3
Junior/singular: ed1bd2c59a824fdcdd56fc8a0660fe9f Junior/singular: ed1bd2c59a824fdcdd56fc8a0660fe9f
Kanban%20is%20better%20with%20a%20team.%20Perfect%20for%20small%20and%20growing%20teams%20looking%20to%20collaborate./singular: a77bee43046b260797c8936ad23e9223 Kanban%20is%20better%20with%20a%20team.%20Perfect%20for%20small%20and%20growing%20teams%20looking%20to%20collaborate./singular: a77bee43046b260797c8936ad23e9223
Kanban%20reimagined/singular: 613ccfdd9f54c66cbf68cfa313498766 Kanban%20reimagined/singular: 613ccfdd9f54c66cbf68cfa313498766
@@ -241,6 +248,7 @@ checksums:
Members/singular: 0932e80cba1e3e0a7f52bb67ff31da32 Members/singular: 0932e80cba1e3e0a7f52bb67ff31da32
Members%20%7C%20%7B0%7D/singular: a29e3e9f1076acd178c417d047584e88 Members%20%7C%20%7B0%7D/singular: a29e3e9f1076acd178c417d047584e88
Monthly/singular: 818f1192e32bb855597f930d3e78806e Monthly/singular: 818f1192e32bb855597f930d3e78806e
monthly%20billing/singular: e228107df80015377112d41f4f155cb3
moved%20the%20card%20from%20%3C0%3E%7B0%7D%3C%2F0%3E%20to%3C1%3E%7B1%7D%3C%2F1%3E/singular: 11edf0427766c26db541d46379dc3c16 moved%20the%20card%20from%20%3C0%3E%7B0%7D%3C%2F0%3E%20to%3C1%3E%7B1%7D%3C%2F1%3E/singular: 11edf0427766c26db541d46379dc3c16
moved%20the%20card%20to%20another%20list/singular: 2e8c41bfafb42fa299ce56e4300205ff moved%20the%20card%20to%20another%20list/singular: 2e8c41bfafb42fa299ce56e4300205ff
Name/singular: 9368b5a047572b6051f334af5aa76819 Name/singular: 9368b5a047572b6051f334af5aa76819
@@ -339,6 +347,7 @@ checksums:
Support/singular: 55aab5fd0f31a9cb055a2edeeedfaf63 Support/singular: 55aab5fd0f31a9cb055a2edeeedfaf63
Support%20the%20development%20of%20the%20project/singular: c63bab228ab2b1be4370c668a99cd278 Support%20the%20development%20of%20the%20project/singular: c63bab228ab2b1be4370c668a99cd278
System/singular: 803281c327a02a2feba182f4a2b38311 System/singular: 803281c327a02a2feba182f4a2b38311
Team%20Plan/singular: 3f0ae9c914f16ceb9a0d7db868f4aa20
Teams/singular: b63448c05270497973ac4407047dae02 Teams/singular: b63448c05270497973ac4407047dae02
Templates/singular: 8ed62f56c81fa96c0f3182acb331bf63 Templates/singular: 8ed62f56c81fa96c0f3182acb331bf63
Terms%20of%20service/singular: 0b8a8b23aff021a6cde79613fdb39c28 Terms%20of%20service/singular: 0b8a8b23aff021a6cde79613fdb39c28
@@ -397,6 +406,7 @@ checksums:
updated%20the%20title/singular: 98cf8f12923ec1a58e767e3a40863b21 updated%20the%20title/singular: 98cf8f12923ec1a58e767e3a40863b21
updated%20the%20title%20to%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: aca196d729401d8adc5c8ca9d558840e updated%20the%20title%20to%20%3C0%3E%7B0%7D%3C%2F0%3E/singular: aca196d729401d8adc5c8ca9d558840e
Upgrade/singular: 63c3b52882e0d779859307d672c178c2 Upgrade/singular: 63c3b52882e0d779859307d672c178c2
Upgrade%20to%20Team%20Plan/singular: 40e2ef151266937f8bbe63b3d361f645
Urgent/singular: e79afcd4398e52e10e7e8243a7eecabe Urgent/singular: e79afcd4398e52e10e7e8243a7eecabe
URL%20can%20only%20contain%20letters%2C%20numbers%2C%20and%20hyphens/singular: 875d37d2d920f98ef60a314eda8a5d9a URL%20can%20only%20contain%20letters%2C%20numbers%2C%20and%20hyphens/singular: 875d37d2d920f98ef60a314eda8a5d9a
URL%20cannot%20exceed%2024%20characters/singular: 395c25732b84ac1f5b63ee310da08e93 URL%20cannot%20exceed%2024%20characters/singular: 395c25732b84ac1f5b63ee310da08e93

View File

@@ -6,7 +6,7 @@
"scripts": { "scripts": {
"build": "pnpm with-env next build", "build": "pnpm with-env next build",
"clean": "git clean -xdf .cache .next .turbo node_modules", "clean": "git clean -xdf .cache .next .turbo node_modules",
"dev": "pnpm with-env next dev | pino-pretty", "dev": "pnpm with-env next dev",
"format": "prettier --check . --ignore-path ../../.gitignore", "format": "prettier --check . --ignore-path ../../.gitignore",
"lint": "eslint", "lint": "eslint",
"start": "pnpm with-env next start", "start": "pnpm with-env next start",

View File

@@ -23,7 +23,7 @@ msgstr ", oder besuche unsere"
#. placeholder {0}: card?.title ?? "Card" #. placeholder {0}: card?.title ?? "Card"
#. placeholder {1}: board?.name ?? "Board" #. placeholder {1}: board?.name ?? "Board"
#: src/views/card/index.tsx:213 #: src/views/card/index.tsx:214
msgid "{0} | {1}" msgid "{0} | {1}"
msgstr "{0} | {1}" msgstr "{0} | {1}"
@@ -36,11 +36,20 @@ msgstr "{0} Labels"
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}" msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
msgstr "{boardCount, plural, one {Board importieren (1)} other {Boards importieren ({boardCount})}}" msgstr "{boardCount, plural, one {Board importieren (1)} other {Boards importieren ({boardCount})}}"
#: src/views/members/components/InviteMemberForm.tsx:91
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$10/month"
msgstr "$10/Monat"
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$8/month"
msgstr "$8/Monat"
#: src/views/home/components/Pricing.tsx:36 #: src/views/home/components/Pricing.tsx:36
msgid "1 user" msgid "1 user"
msgstr "1 Benutzer" msgstr "1 Benutzer"
#: src/views/home/index.tsx:71 #: src/views/home/index.tsx:72
msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place." msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
msgstr "Eine leistungsstarke, flexible Kanban-App, die dir hilft, Arbeit zu organisieren, Fortschritte zu verfolgen und Ergebnisse zu liefern alles an einem Ort." msgstr "Eine leistungsstarke, flexible Kanban-App, die dir hilft, Arbeit zu organisieren, Fortschritte zu verfolgen und Ergebnisse zu liefern alles an einem Ort."
@@ -48,8 +57,8 @@ msgstr "Eine leistungsstarke, flexible Kanban-App, die dir hilft, Arbeit zu orga
msgid "Account deleted" msgid "Account deleted"
msgstr "Konto gelöscht" msgstr "Konto gelöscht"
#: src/views/public/board/CardModal.tsx:140 #: src/views/card/index.tsx:289
#: src/views/card/index.tsx:288 #: src/views/public/board/CardModal.tsx:143
msgid "Activity" msgid "Activity"
msgstr "Aktivität" msgstr "Aktivität"
@@ -61,8 +70,8 @@ msgstr "Aktivitätsprotokolle"
msgid "Add a card" msgid "Add a card"
msgstr "Karte hinzufügen" msgstr "Karte hinzufügen"
#: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:146 #: src/views/card/components/Comment.tsx:146
#: src/views/card/components/NewCommentForm.tsx:57
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Kommentar hinzufügen..." msgstr "Kommentar hinzufügen..."
@@ -87,8 +96,8 @@ msgstr "Details hinzufügen..."
msgid "Add label" msgid "Add label"
msgstr "Label hinzufügen" msgstr "Label hinzufügen"
#: src/views/members/components/InviteMemberForm.tsx:85
#: src/views/card/components/MemberSelector.tsx:130 #: src/views/card/components/MemberSelector.tsx:130
#: src/views/members/components/InviteMemberForm.tsx:149
msgid "Add member" msgid "Add member"
msgstr "Mitglied hinzufügen" msgstr "Mitglied hinzufügen"
@@ -123,14 +132,14 @@ msgstr "hat Checklistenelement <0>{0}</0> hinzugefügt"
msgid "added label <0>{0}</0>" msgid "added label <0>{0}</0>"
msgstr "hat Label <0>{0}</0> hinzugefügt" msgstr "hat Label <0>{0}</0> hinzugefügt"
#: src/views/members/components/InviteMemberForm.tsx:186
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
msgstr "Das Hinzufügen eines neuen Mitglieds kostet zusätzlich {price} ({billingType}) pro Platz."
#: src/views/home/components/Pricing.tsx:55 #: src/views/home/components/Pricing.tsx:55
msgid "Admin roles" msgid "Admin roles"
msgstr "Administratorrollen" msgstr "Administratorrollen"
#: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!"
msgstr "Alle Plätze sind während der Beta-Phase bis zum 1. September kostenlos!"
#: src/views/home/components/Footer.tsx:18 #: src/views/home/components/Footer.tsx:18
msgid "All systems operational" msgid "All systems operational"
msgstr "Alle Systeme funktionieren" msgstr "Alle Systeme funktionieren"
@@ -209,8 +218,16 @@ msgstr "Backlog"
msgid "Basic Kanban" msgid "Basic Kanban"
msgstr "Einfaches Kanban" msgstr "Einfaches Kanban"
#: src/views/settings/index.tsx:198 #: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed annually"
msgstr "jährlich abgerechnet"
#: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed monthly"
msgstr "monatlich abgerechnet"
#: src/views/boards/components/TemplateBoards.tsx:55 #: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
msgid "Billing" msgid "Billing"
msgstr "Abrechnung" msgstr "Abrechnung"
@@ -234,8 +251,8 @@ msgstr "Der Name des Boards darf 100 Zeichen nicht überschreiten"
msgid "Board name is required" msgid "Board name is required"
msgstr "Boardname ist erforderlich" msgstr "Boardname ist erforderlich"
#: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:357 #: src/views/board/index.tsx:357
#: src/views/public/board/index.tsx:148
msgid "Board not found" msgid "Board not found"
msgstr "Board nicht gefunden" msgstr "Board nicht gefunden"
@@ -247,7 +264,7 @@ msgstr "Board-URL darf nur Buchstaben, Zahlen und Bindestriche enthalten"
msgid "Board URL cannot exceed 60 characters" msgid "Board URL cannot exceed 60 characters"
msgstr "Board-URL darf 60 Zeichen nicht überschreiten" msgstr "Board-URL darf 60 Zeichen nicht überschreiten"
#: src/views/public/board/index.tsx:59 #: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard" msgid "Board URL copied to clipboard"
msgstr "Board-URL in die Zwischenablage kopiert" msgstr "Board-URL in die Zwischenablage kopiert"
@@ -263,8 +280,8 @@ msgstr "Board-Sichtbarkeit"
msgid "Board visibility updated" msgid "Board visibility updated"
msgstr "Board-Sichtbarkeit aktualisiert" msgstr "Board-Sichtbarkeit aktualisiert"
#: src/views/boards/index.tsx:27
#: src/components/SideNavigation.tsx:68 #: src/components/SideNavigation.tsx:68
#: src/views/boards/index.tsx:27
msgid "Boards" msgid "Boards"
msgstr "Boards" msgstr "Boards"
@@ -285,20 +302,20 @@ msgstr "Bug"
msgid "Bug Report" msgid "Bug Report"
msgstr "Fehlerbericht" msgstr "Fehlerbericht"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/CustomURLConfirmation.tsx:50
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:49 #: src/components/DeleteLabelConfirmation.tsx:49
#: src/views/card/components/Comment.tsx:158
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: 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:50
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
#: src/views/card/index.tsx:259 #: src/views/card/index.tsx:260
msgid "Card not found" msgid "Card not found"
msgstr "Karte nicht gefunden" msgstr "Karte nicht gefunden"
@@ -306,10 +323,10 @@ msgstr "Karte nicht gefunden"
msgid "Card title" msgid "Card title"
msgstr "Kartentitel" msgstr "Kartentitel"
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109 #: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178 #: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
msgid "Change Password" msgid "Change Password"
msgstr "Passwort ändern" msgstr "Passwort ändern"
@@ -317,8 +334,8 @@ msgstr "Passwort ändern"
msgid "Change the language of the app." msgid "Change the language of the app."
msgstr "Ändere die Sprache der App." msgstr "Ändere die Sprache der App."
#: src/views/auth/signup/index.tsx:67
#: src/views/auth/login/index.tsx:41 #: src/views/auth/login/index.tsx:41
#: src/views/auth/signup/index.tsx:67
msgid "Check your inbox" msgid "Check your inbox"
msgstr "Überprüfe deinen Posteingang" msgstr "Überprüfe deinen Posteingang"
@@ -330,8 +347,8 @@ msgstr "Checklistenname"
msgid "Clear filters" msgid "Clear filters"
msgstr "Filter löschen" msgstr "Filter löschen"
#: src/views/auth/signup/index.tsx:72
#: src/views/auth/login/index.tsx:46 #: src/views/auth/login/index.tsx:46
#: src/views/auth/signup/index.tsx:72
msgid "Click on the link we've sent to {magicLinkRecipient} to sign in." msgid "Click on the link we've sent to {magicLinkRecipient} to sign in."
msgstr "Klicke auf den Link, den wir an {magicLinkRecipient} gesendet haben, um dich anzumelden." msgstr "Klicke auf den Link, den wir an {magicLinkRecipient} gesendet haben, um dich anzumelden."
@@ -380,8 +397,8 @@ msgstr "URL-Änderung bestätigen"
msgid "Confirm your new password" msgid "Confirm your new password"
msgstr "Bestätigen Sie Ihr neues Passwort" msgstr "Bestätigen Sie Ihr neues Passwort"
#: src/views/settings/index.tsx:235
#: src/views/boards/components/ImportBoardsForm.tsx:157 #: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
msgid "Connect Trello" msgid "Connect Trello"
msgstr "Trello verbinden" msgstr "Trello verbinden"
@@ -405,12 +422,12 @@ msgstr "Kontaktiere uns"
msgid "Content Creation" msgid "Content Creation"
msgstr "Content-Erstellung" msgstr "Content-Erstellung"
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Continue with " msgid "Continue with "
msgstr "Fortfahren mit " msgstr "Fortfahren mit "
#. placeholder {0}: provider.name #. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
#: src/components/AuthForm.tsx:269 #: src/components/AuthForm.tsx:297
msgid "Continue with {0}" msgid "Continue with {0}"
msgstr "Fortfahren mit {0}" msgstr "Fortfahren mit {0}"
@@ -418,9 +435,9 @@ msgstr "Fortfahren mit {0}"
msgid "Control who can view and edit your boards." msgid "Control who can view and edit your boards."
msgstr "Kontrolliere, wer deine Boards ansehen und bearbeiten kann." msgstr "Kontrolliere, wer deine Boards ansehen und bearbeiten kann."
#: src/views/board/components/NewListForm.tsx:140
#: src/views/board/components/NewCardForm.tsx:458
#: src/components/LabelForm.tsx:213 #: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:458
#: src/views/board/components/NewListForm.tsx:140
msgid "Create another" msgid "Create another"
msgstr "Weitere erstellen" msgstr "Weitere erstellen"
@@ -452,8 +469,8 @@ msgstr "Neues Board erstellen"
msgid "Create new key" msgid "Create new key"
msgstr "Neuen Schlüssel erstellen" msgstr "Neuen Schlüssel erstellen"
#: src/views/card/components/LabelSelector.tsx:98
#: src/views/board/components/NewCardForm.tsx:394 #: src/views/board/components/NewCardForm.tsx:394
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label" msgid "Create new label"
msgstr "Neues Label erstellen" msgstr "Neues Label erstellen"
@@ -461,8 +478,8 @@ msgstr "Neues Label erstellen"
msgid "Create new list" msgid "Create new list"
msgstr "Neue Liste erstellen" msgstr "Neue Liste erstellen"
#: src/components/NewWorkspaceForm.tsx:94
#: src/components/WorkspaceMenu.tsx:116 #: src/components/WorkspaceMenu.tsx:116
#: src/components/NewWorkspaceForm.tsx:93
msgid "Create workspace" msgid "Create workspace"
msgstr "Arbeitsbereich erstellen" msgstr "Arbeitsbereich erstellen"
@@ -494,17 +511,17 @@ msgstr "Kundensupport"
msgid "Dark" msgid "Dark"
msgstr "Dunkel" msgstr "Dunkel"
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/components/LabelForm.tsx:228
#: src/components/DeleteLabelConfirmation.tsx:51 #: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309 #: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319 #: src/views/settings/index.tsx:319
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
msgid "Delete account" msgid "Delete account"
msgstr "Konto löschen" msgstr "Konto löschen"
@@ -524,9 +541,9 @@ msgstr "Kommentar löschen"
msgid "Delete list" msgid "Delete list"
msgstr "Liste löschen" msgstr "Liste löschen"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272 #: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283 #: src/views/settings/index.tsx:283
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
msgid "Delete workspace" msgid "Delete workspace"
msgstr "Workspace löschen" msgstr "Workspace löschen"
@@ -588,9 +605,9 @@ msgstr "Dokumente"
msgid "Docs" msgid "Docs"
msgstr "Dokumente" msgstr "Dokumente"
#: src/views/home/components/Footer.tsx:77
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/components/UserMenu.tsx:191 #: src/components/UserMenu.tsx:191
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/views/home/components/Footer.tsx:77
msgid "Documentation" msgid "Documentation"
msgstr "Dokumentation" msgstr "Dokumentation"
@@ -605,8 +622,8 @@ msgstr "Du hast noch kein Konto? <0><1>Registrieren</1></0>"
msgid "Done" msgid "Done"
msgstr "Erledigt" msgstr "Erledigt"
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
#: src/views/board/components/BoardDropdown.tsx:15 #: src/views/board/components/BoardDropdown.tsx:15
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Board-URL bearbeiten" msgstr "Board-URL bearbeiten"
@@ -626,11 +643,11 @@ msgstr "Workspace-URL bearbeiten"
msgid "Editing" msgid "Editing"
msgstr "Bearbeitung" msgstr "Bearbeitung"
#: src/components/AuthForm.tsx:337 #: src/components/AuthForm.tsx:368
msgid "email" msgid "email"
msgstr "E-Mail" msgstr "E-Mail"
#: src/views/members/components/InviteMemberForm.tsx:99 #: src/views/members/components/InviteMemberForm.tsx:163
msgid "Email" msgid "Email"
msgstr "E-Mail" msgstr "E-Mail"
@@ -646,11 +663,11 @@ msgstr "Geben Sie Ihr aktuelles Passwort ein"
msgid "Enter your current password and choose a new secure password." msgid "Enter your current password and choose a new secure password."
msgstr "Geben Sie Ihr aktuelles Passwort ein und wählen Sie ein neues sicheres Passwort." msgstr "Geben Sie Ihr aktuelles Passwort ein und wählen Sie ein neues sicheres Passwort."
#: src/components/AuthForm.tsx:302 #: src/components/AuthForm.tsx:333
msgid "Enter your email address" msgid "Enter your email address"
msgstr "Gib deine E-Mail-Adresse ein" msgstr "Gib deine E-Mail-Adresse ein"
#: src/components/AuthForm.tsx:290 #: src/components/AuthForm.tsx:321
msgid "Enter your name" msgid "Enter your name"
msgstr "Gib deinen Namen ein" msgstr "Gib deinen Namen ein"
@@ -658,7 +675,7 @@ msgstr "Gib deinen Namen ein"
msgid "Enter your new password" msgid "Enter your new password"
msgstr "Geben Sie Ihr neues Passwort ein" msgstr "Geben Sie Ihr neues Passwort ein"
#: src/components/AuthForm.tsx:315 #: src/components/AuthForm.tsx:346
msgid "Enter your password" msgid "Enter your password"
msgstr "Gib dein Passwort ein" msgstr "Gib dein Passwort ein"
@@ -682,8 +699,8 @@ msgstr "Fehler beim Löschen des Arbeitsbereichs"
msgid "Error disconnecting Trello" msgid "Error disconnecting Trello"
msgstr "Fehler beim Trennen von Trello" msgstr "Fehler beim Trennen von Trello"
#: src/views/members/components/InviteMemberForm.tsx:57 #: src/views/members/components/InviteMemberForm.tsx:76
#: src/views/members/components/InviteMemberForm.tsx:63 #: src/views/members/components/InviteMemberForm.tsx:82
msgid "Error inviting member" msgid "Error inviting member"
msgstr "Fehler beim Einladen des Mitglieds" msgstr "Fehler beim Einladen des Mitglieds"
@@ -707,6 +724,10 @@ msgstr "Fehler beim Aktualisieren des Arbeitsbereichsnamens"
msgid "Error updating workspace URL" msgid "Error updating workspace URL"
msgstr "Fehler beim Aktualisieren der Workspace-URL" msgstr "Fehler beim Aktualisieren der Workspace-URL"
#: src/views/members/components/InviteMemberForm.tsx:132
msgid "Error upgrading subscription"
msgstr "Fehler beim Upgrade des Abonnements"
#: src/views/settings/components/Avatar.tsx:56 #: src/views/settings/components/Avatar.tsx:56
#: src/views/settings/components/Avatar.tsx:97 #: src/views/settings/components/Avatar.tsx:97
msgid "Error uploading profile image" msgid "Error uploading profile image"
@@ -725,12 +746,12 @@ msgid "Execution"
msgstr "Ausführung" msgstr "Ausführung"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1) #. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:241 #: src/components/AuthForm.tsx:269
msgid "Failed to login with {0}. Please try again." msgid "Failed to login with {0}. Please try again."
msgstr "Anmeldung mit {0} fehlgeschlagen. Bitte versuche es erneut." msgstr "Anmeldung mit {0} fehlgeschlagen. Bitte versuche es erneut."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143 #: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs" msgid "FAQs"
msgstr "Häufig gestellte Fragen" msgstr "Häufig gestellte Fragen"
@@ -742,14 +763,14 @@ msgstr "Feature"
msgid "Feature Request" msgid "Feature Request"
msgstr "Feature-Anfrage" msgstr "Feature-Anfrage"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125 #: src/views/home/components/Features.tsx:125
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Header.tsx:14
msgid "Features" msgid "Features"
msgstr "Features" msgstr "Features"
#: src/components/UserMenu.tsx:199
#: src/components/FeedbackModal.tsx:59 #: src/components/FeedbackModal.tsx:59
#: src/components/UserMenu.tsx:199
msgid "Feedback" msgid "Feedback"
msgstr "Feedback" msgstr "Feedback"
@@ -773,6 +794,11 @@ msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-S
msgid "Free" msgid "Free"
msgstr "Kostenlos" msgstr "Kostenlos"
#: src/views/members/components/InviteMemberForm.tsx:192
#: src/views/members/index.tsx:184
msgid "Free Plan"
msgstr "Kostenloser Plan"
#: src/views/home/components/Pricing.tsx:34 #: src/views/home/components/Pricing.tsx:34
msgid "Free, forever" msgid "Free, forever"
msgstr "Kostenlos, für immer" msgstr "Kostenlos, für immer"
@@ -785,10 +811,10 @@ msgstr "Vollzeit"
msgid "Fun" msgid "Fun"
msgstr "Spaß" msgstr "Spaß"
#: src/views/auth/signup/index.tsx:67
#: src/views/home/components/Cta.tsx:61
#: src/views/home/components/Header.tsx:102 #: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141 #: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
#: src/views/auth/signup/index.tsx:67
msgid "Get started" msgid "Get started"
msgstr "Loslegen" msgstr "Loslegen"
@@ -813,7 +839,7 @@ msgstr "Starten Sie noch heute kostenlos"
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team." msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Starten Sie kostenlos ohne Nutzungsbeschränkungen. Für die Zusammenarbeit wechseln Sie zu einem Plan, der zur Größe Ihres Teams passt." msgstr "Starten Sie kostenlos ohne Nutzungsbeschränkungen. Für die Zusammenarbeit wechseln Sie zu einem Plan, der zur Größe Ihres Teams passt."
#: src/views/home/index.tsx:75 #: src/views/home/index.tsx:76
msgid "Get started on Cloud" msgid "Get started on Cloud"
msgstr "In der Cloud starten" msgstr "In der Cloud starten"
@@ -924,23 +950,27 @@ msgstr "Integrationen"
msgid "Interviewing" msgid "Interviewing"
msgstr "Vorstellungsgespräch" msgstr "Vorstellungsgespräch"
#: src/views/members/components/InviteMemberForm.tsx:26 #: src/views/members/components/InviteMemberForm.tsx:45
msgid "Invalid email address" msgid "Invalid email address"
msgstr "Ungültige E-Mail-Adresse" msgstr "Ungültige E-Mail-Adresse"
#: src/views/members/index.tsx:169 #: src/views/members/index.tsx:193
msgid "Invite" msgid "Invite"
msgstr "Einladen" msgstr "Einladen"
#: src/views/members/components/InviteMemberForm.tsx:113 #: src/views/members/components/InviteMemberForm.tsx:207
msgid "Invite another" msgid "Invite another"
msgstr "Weitere Person einladen" msgstr "Weitere Person einladen"
#: src/views/members/components/InviteMemberForm.tsx:123
#: src/views/card/components/MemberSelector.tsx:112 #: src/views/card/components/MemberSelector.tsx:112
#: src/views/members/components/InviteMemberForm.tsx:231
msgid "Invite member" msgid "Invite member"
msgstr "Mitglied einladen" msgstr "Mitglied einladen"
#: src/views/members/components/InviteMemberForm.tsx:195
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "Das Einladen von Mitgliedern erfordert einen Team-Plan. Sie werden weitergeleitet, um Ihren Workspace zu upgraden."
#: src/views/boards/components/TemplateBoards.tsx:69 #: src/views/boards/components/TemplateBoards.tsx:69
msgid "Junior" msgid "Junior"
msgstr "Junior" msgstr "Junior"
@@ -953,14 +983,14 @@ msgstr "Kanban funktioniert besser im Team. Perfekt für kleine und wachsende Te
msgid "Kanban reimagined" msgid "Kanban reimagined"
msgstr "Kanban neu gedacht" msgstr "Kanban neu gedacht"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57 #: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
msgid "Keep in mind that this action is irreversible." msgid "Keep in mind that this action is irreversible."
msgstr "Beachten Sie, dass diese Aktion nicht rückgängig gemacht werden kann." msgstr "Beachten Sie, dass diese Aktion nicht rückgängig gemacht werden kann."
#: src/views/card/index.tsx:117
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/board/components/Filters.tsx:101 #: src/views/board/components/Filters.tsx:101
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/card/index.tsx:117
msgid "Labels" msgid "Labels"
msgstr "Labels" msgstr "Labels"
@@ -988,7 +1018,7 @@ msgstr "Lizenz"
msgid "Light" msgid "Light"
msgstr "Hell" msgstr "Hell"
#: src/views/public/board/index.tsx:57 #: src/views/public/board/index.tsx:62
msgid "Link copied" msgid "Link copied"
msgstr "Link kopiert" msgstr "Link kopiert"
@@ -1016,7 +1046,7 @@ msgstr "Langfristig"
msgid "Low Priority" msgid "Low Priority"
msgstr "Niedrige Priorität" msgstr "Niedrige Priorität"
#: src/components/AuthForm.tsx:338 #: src/components/AuthForm.tsx:369
msgid "magic link" msgid "magic link"
msgstr "Magic Link" msgstr "Magic Link"
@@ -1033,16 +1063,16 @@ msgstr "hat Checklistenelement <0>{0}</0> als unvollständig markiert"
msgid "Medium Priority" msgid "Medium Priority"
msgstr "Mittlere Priorität" msgstr "Mittlere Priorität"
#: src/views/members/index.tsx:161
#: src/views/card/index.tsx:125
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/board/components/Filters.tsx:93
#: src/components/SideNavigation.tsx:73 #: src/components/SideNavigation.tsx:73
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/card/index.tsx:125
#: src/views/members/index.tsx:171
msgid "Members" msgid "Members"
msgstr "Mitglieder" msgstr "Mitglieder"
#. placeholder {0}: workspace.name ?? "Workspace" #. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:157 #: src/views/members/index.tsx:167
msgid "Members | {0}" msgid "Members | {0}"
msgstr "Mitglieder | {0}" msgstr "Mitglieder | {0}"
@@ -1050,6 +1080,10 @@ msgstr "Mitglieder | {0}"
msgid "Monthly" msgid "Monthly"
msgstr "Monatlich" msgstr "Monatlich"
#: src/views/members/components/InviteMemberForm.tsx:92
msgid "monthly billing"
msgstr "monatliche Abrechnung"
#. placeholder {0}: truncate(fromList) #. placeholder {0}: truncate(fromList)
#. placeholder {1}: truncate(toList) #. placeholder {1}: truncate(toList)
#: src/views/card/components/ActivityList.tsx:98 #: src/views/card/components/ActivityList.tsx:98
@@ -1060,8 +1094,8 @@ msgstr "hat die Karte von <0>{0}</0> nach <1>{1}</1> verschoben"
msgid "moved the card to another list" msgid "moved the card to another list"
msgstr "hat die Karte in eine andere Liste verschoben" msgstr "hat die Karte in eine andere Liste verschoben"
#: src/views/boards/components/NewBoardForm.tsx:99
#: src/components/LabelForm.tsx:135 #: src/components/LabelForm.tsx:135
#: src/views/boards/components/NewBoardForm.tsx:99
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
@@ -1093,8 +1127,8 @@ msgstr "Neuer Import"
msgid "New label" msgid "New label"
msgstr "Neues Label" msgstr "Neues Label"
#: src/views/board/index.tsx:394
#: src/views/board/components/NewListForm.tsx:112 #: src/views/board/components/NewListForm.tsx:112
#: src/views/board/index.tsx:394
msgid "New list" msgid "New list"
msgstr "Neue Liste" msgstr "Neue Liste"
@@ -1110,7 +1144,7 @@ msgstr "Neues Passwort muss sich vom aktuellen Passwort unterscheiden"
msgid "New Ticket" msgid "New Ticket"
msgstr "Neues Ticket" msgstr "Neues Ticket"
#: src/components/NewWorkspaceForm.tsx:64 #: src/components/NewWorkspaceForm.tsx:65
msgid "New workspace" msgid "New workspace"
msgstr "Neuer Workspace" msgstr "Neuer Workspace"
@@ -1130,7 +1164,7 @@ msgstr "Keine Boards"
msgid "No boards found" msgid "No boards found"
msgstr "Keine Boards gefunden" msgstr "Keine Boards gefunden"
#: src/views/home/index.tsx:85 #: src/views/home/index.tsx:86
msgid "No credit card required" msgid "No credit card required"
msgstr "Keine Kreditkarte erforderlich" msgstr "Keine Kreditkarte erforderlich"
@@ -1154,7 +1188,7 @@ msgstr "Sobald Sie Ihr Konto löschen, gibt es kein Zurück mehr. Diese Aktion k
msgid "Once you delete your workspace, there is no going back. This action cannot be undone." 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." msgstr "Sobald Sie Ihren Arbeitsbereich löschen, gibt es kein Zurück mehr. Diese Aktion kann nicht rückgängig gemacht werden."
#: src/components/AuthForm.tsx:280 #: src/components/AuthForm.tsx:311
msgid "or" msgid "or"
msgstr "oder" msgstr "oder"
@@ -1182,11 +1216,11 @@ msgstr "Passwort muss mindestens 8 Zeichen lang sein"
msgid "Passwords do not match" msgid "Passwords do not match"
msgstr "Passwörter stimmen nicht überein" msgstr "Passwörter stimmen nicht überein"
#: src/views/home/components/Pricing.tsx:101 #: src/views/home/components/Pricing.tsx:96
msgid "Payment frequency" msgid "Payment frequency"
msgstr "Zahlungshäufigkeit" msgstr "Zahlungshäufigkeit"
#: src/views/members/index.tsx:118 #: src/views/members/index.tsx:128
msgid "Pending" msgid "Pending"
msgstr "Ausstehend" msgstr "Ausstehend"
@@ -1207,15 +1241,15 @@ msgstr "Planung"
msgid "Please confirm your new password" msgid "Please confirm your new password"
msgstr "Bitte bestätigen Sie Ihr neues Passwort" msgstr "Bitte bestätigen Sie Ihr neues Passwort"
#: src/components/AuthForm.tsx:306 #: src/components/AuthForm.tsx:337
msgid "Please enter a valid email address" msgid "Please enter a valid email address"
msgstr "Bitte gib eine gültige E-Mail-Adresse ein" msgstr "Bitte gib eine gültige E-Mail-Adresse ein"
#: src/components/AuthForm.tsx:294 #: src/components/AuthForm.tsx:325
msgid "Please enter a valid name" msgid "Please enter a valid name"
msgstr "Bitte gib einen gültigen Namen ein" msgstr "Bitte gib einen gültigen Namen ein"
#: src/components/AuthForm.tsx:319 #: src/components/AuthForm.tsx:350
msgid "Please enter a valid password" msgid "Please enter a valid password"
msgstr "Bitte gib ein gültiges Passwort ein" msgstr "Bitte gib ein gültiges Passwort ein"
@@ -1223,46 +1257,47 @@ msgstr "Bitte gib ein gültiges Passwort ein"
msgid "Please select a file to upload." msgid "Please select a file to upload."
msgstr "Bitte wähle eine Datei zum Hochladen aus." msgstr "Bitte wähle eine Datei zum Hochladen aus."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74 #: src/components/DeleteLabelConfirmation.tsx:26
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57 #: src/components/FeedbackModal.tsx:41
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62 #: src/components/NewWorkspaceForm.tsx:42
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55 #: src/views/board/components/NewCardForm.tsx:174
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46 #: src/views/board/components/NewListForm.tsx:78
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40 #: src/views/board/components/UpdateBoardSlugForm.tsx:72
#: src/views/settings/components/Avatar.tsx:40 #: src/views/board/components/VisibilityButton.tsx:53
#: src/views/settings/components/Avatar.tsx:98
#: src/views/members/components/InviteMemberForm.tsx:64
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/card/index.tsx:172
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:64
#: src/views/card/components/ChecklistNameInput.tsx:46
#: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:134 #: src/views/board/index.tsx:134
#: src/views/board/index.tsx:190 #: src/views/board/index.tsx:190
#: src/views/board/components/VisibilityButton.tsx:53 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/components/UpdateBoardSlugForm.tsx:72 #: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/board/components/NewListForm.tsx:78 #: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/board/components/NewCardForm.tsx:174 #: src/views/card/components/ChecklistNameInput.tsx:46
#: src/components/NewWorkspaceForm.tsx:41 #: src/views/card/components/Comment.tsx:64
#: src/components/FeedbackModal.tsx:41 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/components/DeleteLabelConfirmation.tsx:26 #: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/index.tsx:173
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:83
#: src/views/members/components/InviteMemberForm.tsx:133
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: 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
msgid "Please try again later, or contact customer support." msgid "Please try again later, or contact customer support."
msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport." msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport."
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50 #: src/views/home/components/Footer.tsx:50
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Pricing.tsx:85
msgid "Pricing" msgid "Pricing"
msgstr "Preise" msgstr "Preise"
@@ -1318,7 +1353,7 @@ msgstr "Remote"
msgid "Remove" msgid "Remove"
msgstr "Entfernen" msgstr "Entfernen"
#: src/views/members/index.tsx:132 #: src/views/members/index.tsx:142
msgid "Remove member" msgid "Remove member"
msgstr "Mitglied entfernen" msgstr "Mitglied entfernen"
@@ -1369,12 +1404,12 @@ msgstr "Überprüfung"
msgid "Revoke" msgid "Revoke"
msgstr "Widerrufen" msgstr "Widerrufen"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36 #: src/views/home/components/Footer.tsx:36
#: src/views/home/components/Header.tsx:13
msgid "Roadmap" msgid "Roadmap"
msgstr "Roadmap" msgstr "Roadmap"
#: src/views/members/index.tsx:191 #: src/views/members/index.tsx:215
msgid "Role" msgid "Role"
msgstr "Rolle" msgstr "Rolle"
@@ -1406,7 +1441,7 @@ msgstr "Quelle auswählen"
msgid "Self Host" msgid "Self Host"
msgstr "Selbst hosten" msgstr "Selbst hosten"
#: src/views/home/index.tsx:81 #: src/views/home/index.tsx:82
msgid "Self host with Github" msgid "Self host with Github"
msgstr "Selbst hosten mit Github" msgstr "Selbst hosten mit Github"
@@ -1422,8 +1457,8 @@ msgstr "Feedback senden"
msgid "Senior" msgid "Senior"
msgstr "Senior" msgstr "Senior"
#: src/views/settings/index.tsx:140
#: src/components/SideNavigation.tsx:78 #: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
@@ -1450,7 +1485,7 @@ msgstr "Registrierung deaktiviert"
msgid "Sign up is currently disabled. Please try again later." msgid "Sign up is currently disabled. Please try again later."
msgstr "Die Registrierung ist derzeit deaktiviert. Bitte versuche es später erneut." msgstr "Die Registrierung ist derzeit deaktiviert. Bitte versuche es später erneut."
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Sign up with " msgid "Sign up with "
msgstr "Registrieren mit " msgstr "Registrieren mit "
@@ -1470,12 +1505,12 @@ msgstr "Social Media"
msgid "Software Development" msgid "Software Development"
msgstr "Softwareentwicklung" msgstr "Softwareentwicklung"
#: src/views/home/index.tsx:37 #: src/views/home/index.tsx:38
msgid "Star on Github" msgid "Star on Github"
msgstr "Stern auf Github" msgstr "Stern auf Github"
#: src/components/AuthForm.tsx:188 #: src/components/AuthForm.tsx:203
#: src/components/AuthForm.tsx:205 #: src/components/AuthForm.tsx:220
msgid "Success" msgid "Success"
msgstr "Erfolg" msgstr "Erfolg"
@@ -1491,6 +1526,11 @@ msgstr "Unterstütze die Entwicklung des Projekts"
msgid "System" msgid "System"
msgstr "System" msgstr "System"
#: src/views/members/components/InviteMemberForm.tsx:183
#: src/views/members/index.tsx:184
msgid "Team Plan"
msgstr "Team-Plan"
#: src/views/home/components/Pricing.tsx:46 #: src/views/home/components/Pricing.tsx:46
msgid "Teams" msgid "Teams"
msgstr "Teams" msgstr "Teams"
@@ -1515,7 +1555,7 @@ msgstr "Das eingegebene aktuelle Passwort ist falsch."
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall." msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "Der hauptunterschied zwischen Kan und Trello ist, dass Kan open source ist und jedem ermöglicht, unseren code einzusehen, zu ändern und dazu beizutragen. Unser cloud-angebot bietet außerdem keine einschränkungen bei funktionen für die individuelle nutzung, während Trello grundlegende funktionen wie die anzahl der boards, die du erstellen kannst, hinter einer paywall versteckt." msgstr "Der hauptunterschied zwischen Kan und Trello ist, dass Kan open source ist und jedem ermöglicht, unseren code einzusehen, zu ändern und dazu beizutragen. Unser cloud-angebot bietet außerdem keine einschränkungen bei funktionen für die individuelle nutzung, während Trello grundlegende funktionen wie die anzahl der boards, die du erstellen kannst, hinter einer paywall versteckt."
#: src/views/home/index.tsx:65 #: src/views/home/index.tsx:66
msgid "The open source <0/> alternative to Trello" msgid "The open source <0/> alternative to Trello"
msgstr "Die open source <0/> alternative zu Trello" msgstr "Die open source <0/> alternative zu Trello"
@@ -1532,14 +1572,14 @@ msgstr "Design"
msgid "They won't be able to access this workspace." msgid "They won't be able to access this workspace."
msgstr "Sie werden keinen Zugriff mehr auf diesen Workspace haben." msgstr "Sie werden keinen Zugriff mehr auf diesen Workspace haben."
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/components/DeleteLabelConfirmation.tsx:44 #: src/components/DeleteLabelConfirmation.tsx:44
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Diese Aktion kann nicht rückgängig gemacht werden." msgstr "Diese Aktion kann nicht rückgängig gemacht werden."
#: src/views/public/board/index.tsx:146 #: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Dieses Board ist privat oder existiert nicht" msgstr "Dieses Board ist privat oder existiert nicht"
@@ -1604,7 +1644,7 @@ msgstr "Checkliste kann nicht erstellt werden"
msgid "Unable to create list" msgid "Unable to create list"
msgstr "Liste konnte nicht erstellt werden" msgstr "Liste konnte nicht erstellt werden"
#: src/components/NewWorkspaceForm.tsx:40 #: src/components/NewWorkspaceForm.tsx:41
msgid "Unable to create workspace" msgid "Unable to create workspace"
msgstr "Workspace konnte nicht erstellt werden" msgstr "Workspace konnte nicht erstellt werden"
@@ -1640,8 +1680,8 @@ msgstr "Board-URL kann nicht aktualisiert werden"
msgid "Unable to update board visibility" msgid "Unable to update board visibility"
msgstr "Board-Sichtbarkeit konnte nicht aktualisiert werden" msgstr "Board-Sichtbarkeit konnte nicht aktualisiert werden"
#: src/views/card/index.tsx:171
#: src/views/board/index.tsx:189 #: src/views/board/index.tsx:189
#: src/views/card/index.tsx:172
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Karte konnte nicht aktualisiert werden" msgstr "Karte konnte nicht aktualisiert werden"
@@ -1661,8 +1701,8 @@ msgstr "Kommentar konnte nicht aktualisiert werden"
msgid "Unable to update labels" msgid "Unable to update labels"
msgstr "Labels konnten nicht aktualisiert werden" msgstr "Labels konnten nicht aktualisiert werden"
#: src/views/card/components/ListSelector.tsx:52
#: src/views/board/index.tsx:133 #: src/views/board/index.tsx:133
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list" msgid "Unable to update list"
msgstr "Liste konnte nicht aktualisiert werden" msgstr "Liste konnte nicht aktualisiert werden"
@@ -1703,11 +1743,11 @@ msgstr "Unbegrenzte kommentare"
msgid "Unlimited lists" msgid "Unlimited lists"
msgstr "Unbegrenzte listen" msgstr "Unbegrenzte listen"
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/board/components/UpdateBoardSlugForm.tsx:174 #: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
msgid "Update" msgid "Update"
msgstr "Aktualisieren" msgstr "Aktualisieren"
@@ -1736,6 +1776,10 @@ msgstr "hat den Titel in <0>{0}</0> geändert"
msgid "Upgrade" msgid "Upgrade"
msgstr "Upgrade" msgstr "Upgrade"
#: src/views/members/components/InviteMemberForm.tsx:222
msgid "Upgrade to Team Plan"
msgstr "Upgrade auf Team-Plan"
#: src/views/boards/components/TemplateBoards.tsx:37 #: src/views/boards/components/TemplateBoards.tsx:37
#: src/views/boards/components/TemplateBoards.tsx:54 #: src/views/boards/components/TemplateBoards.tsx:54
msgid "Urgent" msgid "Urgent"
@@ -1757,11 +1801,11 @@ msgstr "URL muss mindestens 3 Zeichen lang sein"
msgid "Use template" msgid "Use template"
msgstr "Vorlage verwenden" msgstr "Vorlage verwenden"
#: src/views/members/index.tsx:185 #: src/views/members/index.tsx:209
msgid "User" msgid "User"
msgstr "Benutzer" msgstr "Benutzer"
#: src/views/members/components/InviteMemberForm.tsx:58 #: src/views/members/components/InviteMemberForm.tsx:77
msgid "User is already a member of this workspace" msgid "User is already a member of this workspace"
msgstr "Benutzer ist bereits Mitglied dieses Arbeitsbereichs" msgstr "Benutzer ist bereits Mitglied dieses Arbeitsbereichs"
@@ -1781,7 +1825,7 @@ msgstr "Verwalte deine Abrechnung und dein Abonnement."
msgid "View docs" msgid "View docs"
msgstr "Dokumentation ansehen" msgstr "Dokumentation ansehen"
#: src/views/public/board/index.tsx:120 #: src/views/public/board/index.tsx:125
msgid "View only" msgid "View only"
msgstr "Nur ansehen" msgstr "Nur ansehen"
@@ -1789,7 +1833,7 @@ msgstr "Nur ansehen"
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Sieh dir unsere roadmap an." msgstr "Sieh dir unsere roadmap an."
#: src/views/public/board/index.tsx:149 #: src/views/public/board/index.tsx:154
msgid "View workspace" msgid "View workspace"
msgstr "Workspace anzeigen" msgstr "Workspace anzeigen"
@@ -1849,13 +1893,13 @@ msgstr "Workspace-Beschreibung muss mindestens 3 Zeichen lang sein"
msgid "Workspace description updated" msgid "Workspace description updated"
msgstr "Workspace-Beschreibung aktualisiert" msgstr "Workspace-Beschreibung aktualisiert"
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83 #: src/views/home/components/Features.tsx:83
#: src/views/home/components/Pricing.tsx:54
msgid "Workspace members" msgid "Workspace members"
msgstr "Workspace-mitglieder" msgstr "Workspace-mitglieder"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158 #: src/views/settings/index.tsx:158
#: src/components/NewWorkspaceForm.tsx:80
msgid "Workspace name" msgid "Workspace name"
msgstr "Name des Workspaces" msgstr "Name des Workspaces"
@@ -1907,11 +1951,11 @@ msgstr "Du kannst teammitglieder einladen, indem du auf die schaltfläche \"Einl
msgid "You can self-host by following the instructions in our <0>repo</0>." msgid "You can self-host by following the instructions in our <0>repo</0>."
msgstr "Sie können selbst hosten, indem sie den anweisungen in unserem <0>repo</0> folgen." msgstr "Sie können selbst hosten, indem sie den anweisungen in unserem <0>repo</0> folgen."
#: src/components/AuthForm.tsx:206 #: src/components/AuthForm.tsx:221
msgid "You have been logged in successfully." msgid "You have been logged in successfully."
msgstr "Sie haben sich erfolgreich angemeldet." msgstr "Sie haben sich erfolgreich angemeldet."
#: src/components/AuthForm.tsx:189 #: src/components/AuthForm.tsx:204
msgid "You have been signed up successfully." msgid "You have been signed up successfully."
msgstr "Sie haben sich erfolgreich registriert." msgstr "Sie haben sich erfolgreich registriert."

File diff suppressed because one or more lines are too long

View File

@@ -23,7 +23,7 @@ msgstr ", or see our"
#. placeholder {0}: card?.title ?? "Card" #. placeholder {0}: card?.title ?? "Card"
#. placeholder {1}: board?.name ?? "Board" #. placeholder {1}: board?.name ?? "Board"
#: src/views/card/index.tsx:213 #: src/views/card/index.tsx:214
msgid "{0} | {1}" msgid "{0} | {1}"
msgstr "{0} | {1}" msgstr "{0} | {1}"
@@ -40,6 +40,15 @@ msgstr "{boardCount, plural, one {Import board (1)} other {Import boards ({board
#~ msgid "#1 Hacker News" #~ msgid "#1 Hacker News"
#~ msgstr "#1 Hacker News" #~ msgstr "#1 Hacker News"
#: src/views/members/components/InviteMemberForm.tsx:91
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$10/month"
msgstr "$10/month"
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$8/month"
msgstr "$8/month"
#: src/views/home/components/Pricing.tsx:36 #: src/views/home/components/Pricing.tsx:36
msgid "1 user" msgid "1 user"
msgstr "1 user" msgstr "1 user"
@@ -52,7 +61,7 @@ msgstr "1 user"
#~ "A powerful, flexible kanban app that helps you organise work,\n" #~ "A powerful, flexible kanban app that helps you organise work,\n"
#~ " track progress, and deliver results—all in one place." #~ " track progress, and deliver results—all in one place."
#: src/views/home/index.tsx:71 #: src/views/home/index.tsx:72
msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place." msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
msgstr "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place." msgstr "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
@@ -60,8 +69,8 @@ msgstr "A powerful, flexible kanban app that helps you organise work, track prog
msgid "Account deleted" msgid "Account deleted"
msgstr "Account deleted" msgstr "Account deleted"
#: src/views/public/board/CardModal.tsx:140 #: src/views/card/index.tsx:289
#: src/views/card/index.tsx:288 #: src/views/public/board/CardModal.tsx:143
msgid "Activity" msgid "Activity"
msgstr "Activity" msgstr "Activity"
@@ -73,8 +82,8 @@ msgstr "Activity logs"
msgid "Add a card" msgid "Add a card"
msgstr "Add a card" msgstr "Add a card"
#: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:146 #: src/views/card/components/Comment.tsx:146
#: src/views/card/components/NewCommentForm.tsx:57
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Add a comment..." msgstr "Add a comment..."
@@ -103,8 +112,8 @@ msgstr "Add details..."
msgid "Add label" msgid "Add label"
msgstr "Add label" msgstr "Add label"
#: src/views/members/components/InviteMemberForm.tsx:85
#: src/views/card/components/MemberSelector.tsx:130 #: src/views/card/components/MemberSelector.tsx:130
#: src/views/members/components/InviteMemberForm.tsx:149
msgid "Add member" msgid "Add member"
msgstr "Add member" msgstr "Add member"
@@ -143,13 +152,17 @@ msgstr "added label <0>{0}</0>"
#~ msgid "added label <0>{label}</0>" #~ msgid "added label <0>{label}</0>"
#~ msgstr "added label <0>{label}</0>" #~ msgstr "added label <0>{label}</0>"
#: src/views/members/components/InviteMemberForm.tsx:186
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
msgstr "Adding a new member will cost an additional {price} ({billingType}) per seat."
#: src/views/home/components/Pricing.tsx:55 #: src/views/home/components/Pricing.tsx:55
msgid "Admin roles" msgid "Admin roles"
msgstr "Admin roles" msgstr "Admin roles"
#: src/views/home/components/Pricing.tsx:97 #: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!" #~ msgid "All seats are free during the beta until Sept 1st!"
msgstr "All seats are free during the beta until Sept 1st!" #~ msgstr "All seats are free during the beta until Sept 1st!"
#: src/views/home/components/Footer.tsx:18 #: src/views/home/components/Footer.tsx:18
msgid "All systems operational" msgid "All systems operational"
@@ -241,8 +254,16 @@ msgstr "Backlog"
msgid "Basic Kanban" msgid "Basic Kanban"
msgstr "Basic Kanban" msgstr "Basic Kanban"
#: src/views/settings/index.tsx:198 #: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed annually"
msgstr "billed annually"
#: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed monthly"
msgstr "billed monthly"
#: src/views/boards/components/TemplateBoards.tsx:55 #: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
msgid "Billing" msgid "Billing"
msgstr "Billing" msgstr "Billing"
@@ -270,8 +291,8 @@ msgstr "Board name cannot exceed 100 characters"
msgid "Board name is required" msgid "Board name is required"
msgstr "Board name is required" msgstr "Board name is required"
#: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:357 #: src/views/board/index.tsx:357
#: src/views/public/board/index.tsx:148
msgid "Board not found" msgid "Board not found"
msgstr "Board not found" msgstr "Board not found"
@@ -283,7 +304,7 @@ msgstr "Board URL can only contain letters, numbers, and hyphens"
msgid "Board URL cannot exceed 60 characters" msgid "Board URL cannot exceed 60 characters"
msgstr "Board URL cannot exceed 60 characters" msgstr "Board URL cannot exceed 60 characters"
#: src/views/public/board/index.tsx:59 #: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard" msgid "Board URL copied to clipboard"
msgstr "Board URL copied to clipboard" msgstr "Board URL copied to clipboard"
@@ -299,8 +320,8 @@ msgstr "Board visibility"
msgid "Board visibility updated" msgid "Board visibility updated"
msgstr "Board visibility updated" msgstr "Board visibility updated"
#: src/views/boards/index.tsx:27
#: src/components/SideNavigation.tsx:68 #: src/components/SideNavigation.tsx:68
#: src/views/boards/index.tsx:27
msgid "Boards" msgid "Boards"
msgstr "Boards" msgstr "Boards"
@@ -325,20 +346,20 @@ msgstr "Bug"
msgid "Bug Report" msgid "Bug Report"
msgstr "Bug Report" msgstr "Bug Report"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/CustomURLConfirmation.tsx:50
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:49 #: src/components/DeleteLabelConfirmation.tsx:49
#: src/views/card/components/Comment.tsx:158
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: 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:50
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
msgid "Cancel" msgid "Cancel"
msgstr "Cancel" msgstr "Cancel"
#: src/views/card/index.tsx:259 #: src/views/card/index.tsx:260
msgid "Card not found" msgid "Card not found"
msgstr "Card not found" msgstr "Card not found"
@@ -346,10 +367,10 @@ msgstr "Card not found"
msgid "Card title" msgid "Card title"
msgstr "Card title" msgstr "Card title"
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109 #: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178 #: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
msgid "Change Password" msgid "Change Password"
msgstr "Change Password" msgstr "Change Password"
@@ -357,8 +378,8 @@ msgstr "Change Password"
msgid "Change the language of the app." msgid "Change the language of the app."
msgstr "Change the language of the app." msgstr "Change the language of the app."
#: src/views/auth/signup/index.tsx:67
#: src/views/auth/login/index.tsx:41 #: src/views/auth/login/index.tsx:41
#: src/views/auth/signup/index.tsx:67
msgid "Check your inbox" msgid "Check your inbox"
msgstr "Check your inbox" msgstr "Check your inbox"
@@ -370,8 +391,8 @@ msgstr "Checklist name"
msgid "Clear filters" msgid "Clear filters"
msgstr "Clear filters" msgstr "Clear filters"
#: src/views/auth/signup/index.tsx:72
#: src/views/auth/login/index.tsx:46 #: src/views/auth/login/index.tsx:46
#: src/views/auth/signup/index.tsx:72
msgid "Click on the link we've sent to {magicLinkRecipient} to sign in." msgid "Click on the link we've sent to {magicLinkRecipient} to sign in."
msgstr "Click on the link we've sent to {magicLinkRecipient} to sign in." msgstr "Click on the link we've sent to {magicLinkRecipient} to sign in."
@@ -420,8 +441,8 @@ msgstr "Confirm URL change"
msgid "Confirm your new password" msgid "Confirm your new password"
msgstr "Confirm your new password" msgstr "Confirm your new password"
#: src/views/settings/index.tsx:235
#: src/views/boards/components/ImportBoardsForm.tsx:157 #: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
msgid "Connect Trello" msgid "Connect Trello"
msgstr "Connect Trello" msgstr "Connect Trello"
@@ -445,12 +466,12 @@ msgstr "Contact us"
msgid "Content Creation" msgid "Content Creation"
msgstr "Content Creation" msgstr "Content Creation"
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Continue with " msgid "Continue with "
msgstr "Continue with " msgstr "Continue with "
#. placeholder {0}: provider.name #. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
#: src/components/AuthForm.tsx:269 #: src/components/AuthForm.tsx:297
msgid "Continue with {0}" msgid "Continue with {0}"
msgstr "Continue with {0}" msgstr "Continue with {0}"
@@ -458,9 +479,9 @@ msgstr "Continue with {0}"
msgid "Control who can view and edit your boards." msgid "Control who can view and edit your boards."
msgstr "Control who can view and edit your boards." msgstr "Control who can view and edit your boards."
#: src/views/board/components/NewListForm.tsx:140
#: src/views/board/components/NewCardForm.tsx:458
#: src/components/LabelForm.tsx:213 #: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:458
#: src/views/board/components/NewListForm.tsx:140
msgid "Create another" msgid "Create another"
msgstr "Create another" msgstr "Create another"
@@ -500,8 +521,8 @@ msgstr "Create new board"
msgid "Create new key" msgid "Create new key"
msgstr "Create new key" msgstr "Create new key"
#: src/views/card/components/LabelSelector.tsx:98
#: src/views/board/components/NewCardForm.tsx:394 #: src/views/board/components/NewCardForm.tsx:394
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label" msgid "Create new label"
msgstr "Create new label" msgstr "Create new label"
@@ -509,8 +530,8 @@ msgstr "Create new label"
msgid "Create new list" msgid "Create new list"
msgstr "Create new list" msgstr "Create new list"
#: src/components/NewWorkspaceForm.tsx:94
#: src/components/WorkspaceMenu.tsx:116 #: src/components/WorkspaceMenu.tsx:116
#: src/components/NewWorkspaceForm.tsx:93
msgid "Create workspace" msgid "Create workspace"
msgstr "Create workspace" msgstr "Create workspace"
@@ -542,17 +563,17 @@ msgstr "Customer Support"
msgid "Dark" msgid "Dark"
msgstr "Dark" msgstr "Dark"
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/components/LabelForm.tsx:228
#: src/components/DeleteLabelConfirmation.tsx:51 #: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
msgid "Delete" msgid "Delete"
msgstr "Delete" msgstr "Delete"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309 #: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319 #: src/views/settings/index.tsx:319
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
msgid "Delete account" msgid "Delete account"
msgstr "Delete account" msgstr "Delete account"
@@ -572,9 +593,9 @@ msgstr "Delete comment"
msgid "Delete list" msgid "Delete list"
msgstr "Delete list" msgstr "Delete list"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272 #: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283 #: src/views/settings/index.tsx:283
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
msgid "Delete workspace" msgid "Delete workspace"
msgstr "Delete workspace" msgstr "Delete workspace"
@@ -636,9 +657,9 @@ msgstr "docs"
msgid "Docs" msgid "Docs"
msgstr "Docs" msgstr "Docs"
#: src/views/home/components/Footer.tsx:77
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/components/UserMenu.tsx:191 #: src/components/UserMenu.tsx:191
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/views/home/components/Footer.tsx:77
msgid "Documentation" msgid "Documentation"
msgstr "Documentation" msgstr "Documentation"
@@ -653,8 +674,8 @@ msgstr "Don't have an account? <0><1>Sign up</1></0>"
msgid "Done" msgid "Done"
msgstr "Done" msgstr "Done"
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
#: src/views/board/components/BoardDropdown.tsx:15 #: src/views/board/components/BoardDropdown.tsx:15
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Edit board URL" msgstr "Edit board URL"
@@ -674,11 +695,11 @@ msgstr "Edit workspace URL"
msgid "Editing" msgid "Editing"
msgstr "Editing" msgstr "Editing"
#: src/components/AuthForm.tsx:337 #: src/components/AuthForm.tsx:368
msgid "email" msgid "email"
msgstr "email" msgstr "email"
#: src/views/members/components/InviteMemberForm.tsx:99 #: src/views/members/components/InviteMemberForm.tsx:163
msgid "Email" msgid "Email"
msgstr "Email" msgstr "Email"
@@ -694,11 +715,11 @@ msgstr "Enter your current password"
msgid "Enter your current password and choose a new secure password." msgid "Enter your current password and choose a new secure password."
msgstr "Enter your current password and choose a new secure password." msgstr "Enter your current password and choose a new secure password."
#: src/components/AuthForm.tsx:302 #: src/components/AuthForm.tsx:333
msgid "Enter your email address" msgid "Enter your email address"
msgstr "Enter your email address" msgstr "Enter your email address"
#: src/components/AuthForm.tsx:290 #: src/components/AuthForm.tsx:321
msgid "Enter your name" msgid "Enter your name"
msgstr "Enter your name" msgstr "Enter your name"
@@ -706,7 +727,7 @@ msgstr "Enter your name"
msgid "Enter your new password" msgid "Enter your new password"
msgstr "Enter your new password" msgstr "Enter your new password"
#: src/components/AuthForm.tsx:315 #: src/components/AuthForm.tsx:346
msgid "Enter your password" msgid "Enter your password"
msgstr "Enter your password" msgstr "Enter your password"
@@ -730,8 +751,8 @@ msgstr "Error deleting workspace"
msgid "Error disconnecting Trello" msgid "Error disconnecting Trello"
msgstr "Error disconnecting Trello" msgstr "Error disconnecting Trello"
#: src/views/members/components/InviteMemberForm.tsx:57 #: src/views/members/components/InviteMemberForm.tsx:76
#: src/views/members/components/InviteMemberForm.tsx:63 #: src/views/members/components/InviteMemberForm.tsx:82
msgid "Error inviting member" msgid "Error inviting member"
msgstr "Error inviting member" msgstr "Error inviting member"
@@ -755,6 +776,10 @@ msgstr "Error updating workspace name"
msgid "Error updating workspace URL" msgid "Error updating workspace URL"
msgstr "Error updating workspace URL" msgstr "Error updating workspace URL"
#: src/views/members/components/InviteMemberForm.tsx:132
msgid "Error upgrading subscription"
msgstr "Error upgrading subscription"
#: src/views/settings/components/Avatar.tsx:56 #: src/views/settings/components/Avatar.tsx:56
#: src/views/settings/components/Avatar.tsx:97 #: src/views/settings/components/Avatar.tsx:97
msgid "Error uploading profile image" msgid "Error uploading profile image"
@@ -773,12 +798,12 @@ msgid "Execution"
msgstr "Execution" msgstr "Execution"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1) #. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:241 #: src/components/AuthForm.tsx:269
msgid "Failed to login with {0}. Please try again." msgid "Failed to login with {0}. Please try again."
msgstr "Failed to login with {0}. Please try again." msgstr "Failed to login with {0}. Please try again."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143 #: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs" msgid "FAQs"
msgstr "FAQs" msgstr "FAQs"
@@ -790,14 +815,14 @@ msgstr "Feature"
msgid "Feature Request" msgid "Feature Request"
msgstr "Feature Request" msgstr "Feature Request"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125 #: src/views/home/components/Features.tsx:125
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Header.tsx:14
msgid "Features" msgid "Features"
msgstr "Features" msgstr "Features"
#: src/components/UserMenu.tsx:199
#: src/components/FeedbackModal.tsx:59 #: src/components/FeedbackModal.tsx:59
#: src/components/UserMenu.tsx:199
msgid "Feedback" msgid "Feedback"
msgstr "Feedback" msgstr "Feedback"
@@ -822,6 +847,11 @@ msgstr "For long-term sustainability, we recognise all good open source projects
msgid "Free" msgid "Free"
msgstr "Free" msgstr "Free"
#: src/views/members/components/InviteMemberForm.tsx:192
#: src/views/members/index.tsx:184
msgid "Free Plan"
msgstr "Free Plan"
#: src/views/home/components/Pricing.tsx:34 #: src/views/home/components/Pricing.tsx:34
msgid "Free, forever" msgid "Free, forever"
msgstr "Free, forever" msgstr "Free, forever"
@@ -834,10 +864,10 @@ msgstr "Full-time"
msgid "Fun" msgid "Fun"
msgstr "Fun" msgstr "Fun"
#: src/views/auth/signup/index.tsx:67
#: src/views/home/components/Cta.tsx:61
#: src/views/home/components/Header.tsx:102 #: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141 #: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
#: src/views/auth/signup/index.tsx:67
msgid "Get started" msgid "Get started"
msgstr "Get started" msgstr "Get started"
@@ -862,7 +892,7 @@ msgstr "Get started for free today"
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team." msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team." msgstr "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
#: src/views/home/index.tsx:75 #: src/views/home/index.tsx:76
msgid "Get started on Cloud" msgid "Get started on Cloud"
msgstr "Get started on Cloud" msgstr "Get started on Cloud"
@@ -977,23 +1007,27 @@ msgstr "Integrations"
msgid "Interviewing" msgid "Interviewing"
msgstr "Interviewing" msgstr "Interviewing"
#: src/views/members/components/InviteMemberForm.tsx:26 #: src/views/members/components/InviteMemberForm.tsx:45
msgid "Invalid email address" msgid "Invalid email address"
msgstr "Invalid email address" msgstr "Invalid email address"
#: src/views/members/index.tsx:169 #: src/views/members/index.tsx:193
msgid "Invite" msgid "Invite"
msgstr "Invite" msgstr "Invite"
#: src/views/members/components/InviteMemberForm.tsx:113 #: src/views/members/components/InviteMemberForm.tsx:207
msgid "Invite another" msgid "Invite another"
msgstr "Invite another" msgstr "Invite another"
#: src/views/members/components/InviteMemberForm.tsx:123
#: src/views/card/components/MemberSelector.tsx:112 #: src/views/card/components/MemberSelector.tsx:112
#: src/views/members/components/InviteMemberForm.tsx:231
msgid "Invite member" msgid "Invite member"
msgstr "Invite member" msgstr "Invite member"
#: src/views/members/components/InviteMemberForm.tsx:195
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
#: src/views/boards/components/TemplateBoards.tsx:69 #: src/views/boards/components/TemplateBoards.tsx:69
msgid "Junior" msgid "Junior"
msgstr "Junior" msgstr "Junior"
@@ -1006,14 +1040,14 @@ msgstr "Kanban is better with a team. Perfect for small and growing teams lookin
msgid "Kanban reimagined" msgid "Kanban reimagined"
msgstr "Kanban reimagined" msgstr "Kanban reimagined"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57 #: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
msgid "Keep in mind that this action is irreversible." msgid "Keep in mind that this action is irreversible."
msgstr "Keep in mind that this action is irreversible." msgstr "Keep in mind that this action is irreversible."
#: src/views/card/index.tsx:117
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/board/components/Filters.tsx:101 #: src/views/board/components/Filters.tsx:101
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/card/index.tsx:117
msgid "Labels" msgid "Labels"
msgstr "Labels" msgstr "Labels"
@@ -1041,7 +1075,7 @@ msgstr "License"
msgid "Light" msgid "Light"
msgstr "Light" msgstr "Light"
#: src/views/public/board/index.tsx:57 #: src/views/public/board/index.tsx:62
msgid "Link copied" msgid "Link copied"
msgstr "Link copied" msgstr "Link copied"
@@ -1069,7 +1103,7 @@ msgstr "Long-term"
msgid "Low Priority" msgid "Low Priority"
msgstr "Low Priority" msgstr "Low Priority"
#: src/components/AuthForm.tsx:338 #: src/components/AuthForm.tsx:369
msgid "magic link" msgid "magic link"
msgstr "magic link" msgstr "magic link"
@@ -1086,16 +1120,16 @@ msgstr "marked checklist item <0>{0}</0> as incomplete"
msgid "Medium Priority" msgid "Medium Priority"
msgstr "Medium Priority" msgstr "Medium Priority"
#: src/views/members/index.tsx:161
#: src/views/card/index.tsx:125
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/board/components/Filters.tsx:93
#: src/components/SideNavigation.tsx:73 #: src/components/SideNavigation.tsx:73
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/card/index.tsx:125
#: src/views/members/index.tsx:171
msgid "Members" msgid "Members"
msgstr "Members" msgstr "Members"
#. placeholder {0}: workspace.name ?? "Workspace" #. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:157 #: src/views/members/index.tsx:167
msgid "Members | {0}" msgid "Members | {0}"
msgstr "Members | {0}" msgstr "Members | {0}"
@@ -1103,6 +1137,10 @@ msgstr "Members | {0}"
msgid "Monthly" msgid "Monthly"
msgstr "Monthly" msgstr "Monthly"
#: src/views/members/components/InviteMemberForm.tsx:92
msgid "monthly billing"
msgstr "monthly billing"
#. placeholder {0}: truncate(fromList) #. placeholder {0}: truncate(fromList)
#. placeholder {1}: truncate(toList) #. placeholder {1}: truncate(toList)
#: src/views/card/components/ActivityList.tsx:98 #: src/views/card/components/ActivityList.tsx:98
@@ -1117,8 +1155,8 @@ msgstr "moved the card from <0>{0}</0> to<1>{1}</1>"
msgid "moved the card to another list" msgid "moved the card to another list"
msgstr "moved the card to another list" msgstr "moved the card to another list"
#: src/views/boards/components/NewBoardForm.tsx:99
#: src/components/LabelForm.tsx:135 #: src/components/LabelForm.tsx:135
#: src/views/boards/components/NewBoardForm.tsx:99
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
@@ -1150,8 +1188,8 @@ msgstr "New import"
msgid "New label" msgid "New label"
msgstr "New label" msgstr "New label"
#: src/views/board/index.tsx:394
#: src/views/board/components/NewListForm.tsx:112 #: src/views/board/components/NewListForm.tsx:112
#: src/views/board/index.tsx:394
msgid "New list" msgid "New list"
msgstr "New list" msgstr "New list"
@@ -1171,7 +1209,7 @@ msgstr "New Ticket"
#~ msgid "New Ticket, Triaging, In Progress, Awaiting Customer, Resolution, Done" #~ msgid "New Ticket, Triaging, In Progress, Awaiting Customer, Resolution, Done"
#~ msgstr "New Ticket, Triaging, In Progress, Awaiting Customer, Resolution, Done" #~ msgstr "New Ticket, Triaging, In Progress, Awaiting Customer, Resolution, Done"
#: src/components/NewWorkspaceForm.tsx:64 #: src/components/NewWorkspaceForm.tsx:65
msgid "New workspace" msgid "New workspace"
msgstr "New workspace" msgstr "New workspace"
@@ -1191,7 +1229,7 @@ msgstr "No boards"
msgid "No boards found" msgid "No boards found"
msgstr "No boards found" msgstr "No boards found"
#: src/views/home/index.tsx:85 #: src/views/home/index.tsx:86
msgid "No credit card required" msgid "No credit card required"
msgstr "No credit card required" msgstr "No credit card required"
@@ -1215,7 +1253,7 @@ msgstr "Once you delete your account, there is no going back. This action cannot
msgid "Once you delete your workspace, there is no going back. This action cannot be undone." 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." msgstr "Once you delete your workspace, there is no going back. This action cannot be undone."
#: src/components/AuthForm.tsx:280 #: src/components/AuthForm.tsx:311
msgid "or" msgid "or"
msgstr "or" msgstr "or"
@@ -1243,11 +1281,11 @@ msgstr "Password must be at least 8 characters"
msgid "Passwords do not match" msgid "Passwords do not match"
msgstr "Passwords do not match" msgstr "Passwords do not match"
#: src/views/home/components/Pricing.tsx:101 #: src/views/home/components/Pricing.tsx:96
msgid "Payment frequency" msgid "Payment frequency"
msgstr "Payment frequency" msgstr "Payment frequency"
#: src/views/members/index.tsx:118 #: src/views/members/index.tsx:128
msgid "Pending" msgid "Pending"
msgstr "Pending" msgstr "Pending"
@@ -1268,15 +1306,15 @@ msgstr "Planning"
msgid "Please confirm your new password" msgid "Please confirm your new password"
msgstr "Please confirm your new password" msgstr "Please confirm your new password"
#: src/components/AuthForm.tsx:306 #: src/components/AuthForm.tsx:337
msgid "Please enter a valid email address" msgid "Please enter a valid email address"
msgstr "Please enter a valid email address" msgstr "Please enter a valid email address"
#: src/components/AuthForm.tsx:294 #: src/components/AuthForm.tsx:325
msgid "Please enter a valid name" msgid "Please enter a valid name"
msgstr "Please enter a valid name" msgstr "Please enter a valid name"
#: src/components/AuthForm.tsx:319 #: src/components/AuthForm.tsx:350
msgid "Please enter a valid password" msgid "Please enter a valid password"
msgstr "Please enter a valid password" msgstr "Please enter a valid password"
@@ -1284,46 +1322,47 @@ msgstr "Please enter a valid password"
msgid "Please select a file to upload." msgid "Please select a file to upload."
msgstr "Please select a file to upload." msgstr "Please select a file to upload."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74 #: src/components/DeleteLabelConfirmation.tsx:26
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57 #: src/components/FeedbackModal.tsx:41
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62 #: src/components/NewWorkspaceForm.tsx:42
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55 #: src/views/board/components/NewCardForm.tsx:174
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46 #: src/views/board/components/NewListForm.tsx:78
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40 #: src/views/board/components/UpdateBoardSlugForm.tsx:72
#: src/views/settings/components/Avatar.tsx:40 #: src/views/board/components/VisibilityButton.tsx:53
#: src/views/settings/components/Avatar.tsx:98
#: src/views/members/components/InviteMemberForm.tsx:64
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/card/index.tsx:172
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:64
#: src/views/card/components/ChecklistNameInput.tsx:46
#: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:134 #: src/views/board/index.tsx:134
#: src/views/board/index.tsx:190 #: src/views/board/index.tsx:190
#: src/views/board/components/VisibilityButton.tsx:53 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/components/UpdateBoardSlugForm.tsx:72 #: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/board/components/NewListForm.tsx:78 #: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/board/components/NewCardForm.tsx:174 #: src/views/card/components/ChecklistNameInput.tsx:46
#: src/components/NewWorkspaceForm.tsx:41 #: src/views/card/components/Comment.tsx:64
#: src/components/FeedbackModal.tsx:41 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/components/DeleteLabelConfirmation.tsx:26 #: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/index.tsx:173
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:83
#: src/views/members/components/InviteMemberForm.tsx:133
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: 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
msgid "Please try again later, or contact customer support." msgid "Please try again later, or contact customer support."
msgstr "Please try again later, or contact customer support." msgstr "Please try again later, or contact customer support."
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50 #: src/views/home/components/Footer.tsx:50
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Pricing.tsx:85
msgid "Pricing" msgid "Pricing"
msgstr "Pricing" msgstr "Pricing"
@@ -1379,7 +1418,7 @@ msgstr "Remote"
msgid "Remove" msgid "Remove"
msgstr "Remove" msgstr "Remove"
#: src/views/members/index.tsx:132 #: src/views/members/index.tsx:142
msgid "Remove member" msgid "Remove member"
msgstr "Remove member" msgstr "Remove member"
@@ -1434,12 +1473,12 @@ msgstr "Review"
msgid "Revoke" msgid "Revoke"
msgstr "Revoke" msgstr "Revoke"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36 #: src/views/home/components/Footer.tsx:36
#: src/views/home/components/Header.tsx:13
msgid "Roadmap" msgid "Roadmap"
msgstr "Roadmap" msgstr "Roadmap"
#: src/views/members/index.tsx:191 #: src/views/members/index.tsx:215
msgid "Role" msgid "Role"
msgstr "Role" msgstr "Role"
@@ -1471,7 +1510,7 @@ msgstr "Select source"
msgid "Self Host" msgid "Self Host"
msgstr "Self Host" msgstr "Self Host"
#: src/views/home/index.tsx:81 #: src/views/home/index.tsx:82
msgid "Self host with Github" msgid "Self host with Github"
msgstr "Self host with Github" msgstr "Self host with Github"
@@ -1491,8 +1530,8 @@ msgstr "Send feedback"
msgid "Senior" msgid "Senior"
msgstr "Senior" msgstr "Senior"
#: src/views/settings/index.tsx:140
#: src/components/SideNavigation.tsx:78 #: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
msgid "Settings" msgid "Settings"
msgstr "Settings" msgstr "Settings"
@@ -1519,7 +1558,7 @@ msgstr "Sign up disabled"
msgid "Sign up is currently disabled. Please try again later." msgid "Sign up is currently disabled. Please try again later."
msgstr "Sign up is currently disabled. Please try again later." msgstr "Sign up is currently disabled. Please try again later."
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Sign up with " msgid "Sign up with "
msgstr "Sign up with " msgstr "Sign up with "
@@ -1539,12 +1578,12 @@ msgstr "Social Media"
msgid "Software Development" msgid "Software Development"
msgstr "Software Development" msgstr "Software Development"
#: src/views/home/index.tsx:37 #: src/views/home/index.tsx:38
msgid "Star on Github" msgid "Star on Github"
msgstr "Star on Github" msgstr "Star on Github"
#: src/components/AuthForm.tsx:188 #: src/components/AuthForm.tsx:203
#: src/components/AuthForm.tsx:205 #: src/components/AuthForm.tsx:220
msgid "Success" msgid "Success"
msgstr "Success" msgstr "Success"
@@ -1560,6 +1599,11 @@ msgstr "Support the development of the project"
msgid "System" msgid "System"
msgstr "System" msgstr "System"
#: src/views/members/components/InviteMemberForm.tsx:183
#: src/views/members/index.tsx:184
msgid "Team Plan"
msgstr "Team Plan"
#: src/views/home/components/Pricing.tsx:46 #: src/views/home/components/Pricing.tsx:46
msgid "Teams" msgid "Teams"
msgstr "Teams" msgstr "Teams"
@@ -1584,7 +1628,7 @@ msgstr "The current password you entered is incorrect."
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall." msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall." msgstr "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
#: src/views/home/index.tsx:65 #: src/views/home/index.tsx:66
msgid "The open source <0/> alternative to Trello" msgid "The open source <0/> alternative to Trello"
msgstr "The open source <0/> alternative to Trello" msgstr "The open source <0/> alternative to Trello"
@@ -1601,14 +1645,14 @@ msgstr "Theme"
msgid "They won't be able to access this workspace." msgid "They won't be able to access this workspace."
msgstr "They won't be able to access this workspace." msgstr "They won't be able to access this workspace."
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/components/DeleteLabelConfirmation.tsx:44 #: src/components/DeleteLabelConfirmation.tsx:44
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "This action can't be undone." msgstr "This action can't be undone."
#: src/views/public/board/index.tsx:146 #: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "This board is private or does not exist" msgstr "This board is private or does not exist"
@@ -1677,7 +1721,7 @@ msgstr "Unable to create checklist"
msgid "Unable to create list" msgid "Unable to create list"
msgstr "Unable to create list" msgstr "Unable to create list"
#: src/components/NewWorkspaceForm.tsx:40 #: src/components/NewWorkspaceForm.tsx:41
msgid "Unable to create workspace" msgid "Unable to create workspace"
msgstr "Unable to create workspace" msgstr "Unable to create workspace"
@@ -1713,8 +1757,8 @@ msgstr "Unable to update board URL"
msgid "Unable to update board visibility" msgid "Unable to update board visibility"
msgstr "Unable to update board visibility" msgstr "Unable to update board visibility"
#: src/views/card/index.tsx:171
#: src/views/board/index.tsx:189 #: src/views/board/index.tsx:189
#: src/views/card/index.tsx:172
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Unable to update card" msgstr "Unable to update card"
@@ -1734,8 +1778,8 @@ msgstr "Unable to update comment"
msgid "Unable to update labels" msgid "Unable to update labels"
msgstr "Unable to update labels" msgstr "Unable to update labels"
#: src/views/card/components/ListSelector.tsx:52
#: src/views/board/index.tsx:133 #: src/views/board/index.tsx:133
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list" msgid "Unable to update list"
msgstr "Unable to update list" msgstr "Unable to update list"
@@ -1780,11 +1824,11 @@ msgstr "Unlimited comments"
msgid "Unlimited lists" msgid "Unlimited lists"
msgstr "Unlimited lists" msgstr "Unlimited lists"
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/board/components/UpdateBoardSlugForm.tsx:174 #: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
msgid "Update" msgid "Update"
msgstr "Update" msgstr "Update"
@@ -1817,6 +1861,10 @@ msgstr "updated the title to <0>{0}</0>"
msgid "Upgrade" msgid "Upgrade"
msgstr "Upgrade" msgstr "Upgrade"
#: src/views/members/components/InviteMemberForm.tsx:222
msgid "Upgrade to Team Plan"
msgstr "Upgrade to Team Plan"
#: src/views/boards/components/TemplateBoards.tsx:37 #: src/views/boards/components/TemplateBoards.tsx:37
#: src/views/boards/components/TemplateBoards.tsx:54 #: src/views/boards/components/TemplateBoards.tsx:54
msgid "Urgent" msgid "Urgent"
@@ -1838,11 +1886,11 @@ msgstr "URL must be at least 3 characters long"
msgid "Use template" msgid "Use template"
msgstr "Use template" msgstr "Use template"
#: src/views/members/index.tsx:185 #: src/views/members/index.tsx:209
msgid "User" msgid "User"
msgstr "User" msgstr "User"
#: src/views/members/components/InviteMemberForm.tsx:58 #: src/views/members/components/InviteMemberForm.tsx:77
msgid "User is already a member of this workspace" msgid "User is already a member of this workspace"
msgstr "User is already a member of this workspace" msgstr "User is already a member of this workspace"
@@ -1862,7 +1910,7 @@ msgstr "View and manage your billing and subscription."
msgid "View docs" msgid "View docs"
msgstr "View docs" msgstr "View docs"
#: src/views/public/board/index.tsx:120 #: src/views/public/board/index.tsx:125
msgid "View only" msgid "View only"
msgstr "View only" msgstr "View only"
@@ -1870,7 +1918,7 @@ msgstr "View only"
msgid "View our roadmap." msgid "View our roadmap."
msgstr "View our roadmap." msgstr "View our roadmap."
#: src/views/public/board/index.tsx:149 #: src/views/public/board/index.tsx:154
msgid "View workspace" msgid "View workspace"
msgstr "View workspace" msgstr "View workspace"
@@ -1934,13 +1982,13 @@ msgstr "Workspace description must be at least 3 characters long"
msgid "Workspace description updated" msgid "Workspace description updated"
msgstr "Workspace description updated" msgstr "Workspace description updated"
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83 #: src/views/home/components/Features.tsx:83
#: src/views/home/components/Pricing.tsx:54
msgid "Workspace members" msgid "Workspace members"
msgstr "Workspace members" msgstr "Workspace members"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158 #: src/views/settings/index.tsx:158
#: src/components/NewWorkspaceForm.tsx:80
msgid "Workspace name" msgid "Workspace name"
msgstr "Workspace name" msgstr "Workspace name"
@@ -1992,11 +2040,11 @@ msgstr "You can invite team members by clicking the \"Invite\" button in the top
msgid "You can self-host by following the instructions in our <0>repo</0>." msgid "You can self-host by following the instructions in our <0>repo</0>."
msgstr "You can self-host by following the instructions in our <0>repo</0>." msgstr "You can self-host by following the instructions in our <0>repo</0>."
#: src/components/AuthForm.tsx:206 #: src/components/AuthForm.tsx:221
msgid "You have been logged in successfully." msgid "You have been logged in successfully."
msgstr "You have been logged in successfully." msgstr "You have been logged in successfully."
#: src/components/AuthForm.tsx:189 #: src/components/AuthForm.tsx:204
msgid "You have been signed up successfully." msgid "You have been signed up successfully."
msgstr "You have been signed up successfully." msgstr "You have been signed up successfully."

File diff suppressed because one or more lines are too long

View File

@@ -23,7 +23,7 @@ msgstr ", o consulta nuestra"
#. placeholder {0}: card?.title ?? "Card" #. placeholder {0}: card?.title ?? "Card"
#. placeholder {1}: board?.name ?? "Board" #. placeholder {1}: board?.name ?? "Board"
#: src/views/card/index.tsx:213 #: src/views/card/index.tsx:214
msgid "{0} | {1}" msgid "{0} | {1}"
msgstr "{0} | {1}" msgstr "{0} | {1}"
@@ -36,11 +36,20 @@ msgstr "{0} etiquetas"
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}" msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
msgstr "{boardCount, plural, one {Importar tablero (1)} other {Importar tableros ({boardCount})}}" msgstr "{boardCount, plural, one {Importar tablero (1)} other {Importar tableros ({boardCount})}}"
#: src/views/members/components/InviteMemberForm.tsx:91
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$10/month"
msgstr "$10/mes"
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$8/month"
msgstr "$8/mes"
#: src/views/home/components/Pricing.tsx:36 #: src/views/home/components/Pricing.tsx:36
msgid "1 user" msgid "1 user"
msgstr "1 usuario" msgstr "1 usuario"
#: src/views/home/index.tsx:71 #: src/views/home/index.tsx:72
msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place." msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
msgstr "Una aplicación kanban potente y flexible que te ayuda a organizar el trabajo, seguir el progreso y entregar resultados, todo en un solo lugar." msgstr "Una aplicación kanban potente y flexible que te ayuda a organizar el trabajo, seguir el progreso y entregar resultados, todo en un solo lugar."
@@ -48,8 +57,8 @@ msgstr "Una aplicación kanban potente y flexible que te ayuda a organizar el tr
msgid "Account deleted" msgid "Account deleted"
msgstr "Cuenta eliminada" msgstr "Cuenta eliminada"
#: src/views/public/board/CardModal.tsx:140 #: src/views/card/index.tsx:289
#: src/views/card/index.tsx:288 #: src/views/public/board/CardModal.tsx:143
msgid "Activity" msgid "Activity"
msgstr "Actividad" msgstr "Actividad"
@@ -61,8 +70,8 @@ msgstr "Registros de actividad"
msgid "Add a card" msgid "Add a card"
msgstr "Añadir una tarjeta" msgstr "Añadir una tarjeta"
#: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:146 #: src/views/card/components/Comment.tsx:146
#: src/views/card/components/NewCommentForm.tsx:57
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Añadir un comentario..." msgstr "Añadir un comentario..."
@@ -87,8 +96,8 @@ msgstr "Añadir detalles..."
msgid "Add label" msgid "Add label"
msgstr "Añadir etiqueta" msgstr "Añadir etiqueta"
#: src/views/members/components/InviteMemberForm.tsx:85
#: src/views/card/components/MemberSelector.tsx:130 #: src/views/card/components/MemberSelector.tsx:130
#: src/views/members/components/InviteMemberForm.tsx:149
msgid "Add member" msgid "Add member"
msgstr "Añadir miembro" msgstr "Añadir miembro"
@@ -123,14 +132,14 @@ msgstr "añadió el elemento <0>{0}</0> a la lista de verificación"
msgid "added label <0>{0}</0>" msgid "added label <0>{0}</0>"
msgstr "añadió la etiqueta <0>{0}</0>" msgstr "añadió la etiqueta <0>{0}</0>"
#: src/views/members/components/InviteMemberForm.tsx:186
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
msgstr "Añadir un nuevo miembro costará {price} adicionales ({billingType}) por asiento."
#: src/views/home/components/Pricing.tsx:55 #: src/views/home/components/Pricing.tsx:55
msgid "Admin roles" msgid "Admin roles"
msgstr "Roles de administrador" msgstr "Roles de administrador"
#: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!"
msgstr "¡Todos los puestos son gratuitos durante la beta hasta el 1 de septiembre!"
#: src/views/home/components/Footer.tsx:18 #: src/views/home/components/Footer.tsx:18
msgid "All systems operational" msgid "All systems operational"
msgstr "Todos los sistemas operativos" msgstr "Todos los sistemas operativos"
@@ -209,8 +218,16 @@ msgstr "Pendientes"
msgid "Basic Kanban" msgid "Basic Kanban"
msgstr "Kanban básico" msgstr "Kanban básico"
#: src/views/settings/index.tsx:198 #: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed annually"
msgstr "facturado anualmente"
#: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed monthly"
msgstr "facturado mensualmente"
#: src/views/boards/components/TemplateBoards.tsx:55 #: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
msgid "Billing" msgid "Billing"
msgstr "Facturación" msgstr "Facturación"
@@ -234,8 +251,8 @@ msgstr "El nombre del tablero no puede exceder los 100 caracteres"
msgid "Board name is required" msgid "Board name is required"
msgstr "El nombre del tablero es obligatorio" msgstr "El nombre del tablero es obligatorio"
#: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:357 #: src/views/board/index.tsx:357
#: src/views/public/board/index.tsx:148
msgid "Board not found" msgid "Board not found"
msgstr "Tablero no encontrado" msgstr "Tablero no encontrado"
@@ -247,7 +264,7 @@ msgstr "La URL del tablero solo puede contener letras, números y guiones"
msgid "Board URL cannot exceed 60 characters" msgid "Board URL cannot exceed 60 characters"
msgstr "La URL del tablero no puede exceder los 60 caracteres" msgstr "La URL del tablero no puede exceder los 60 caracteres"
#: src/views/public/board/index.tsx:59 #: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard" msgid "Board URL copied to clipboard"
msgstr "URL del tablero copiada al portapapeles" msgstr "URL del tablero copiada al portapapeles"
@@ -263,8 +280,8 @@ msgstr "Visibilidad del tablero"
msgid "Board visibility updated" msgid "Board visibility updated"
msgstr "Visibilidad del tablero actualizada" msgstr "Visibilidad del tablero actualizada"
#: src/views/boards/index.tsx:27
#: src/components/SideNavigation.tsx:68 #: src/components/SideNavigation.tsx:68
#: src/views/boards/index.tsx:27
msgid "Boards" msgid "Boards"
msgstr "Tableros" msgstr "Tableros"
@@ -285,20 +302,20 @@ msgstr "Error"
msgid "Bug Report" msgid "Bug Report"
msgstr "Informe de error" msgstr "Informe de error"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/CustomURLConfirmation.tsx:50
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:49 #: src/components/DeleteLabelConfirmation.tsx:49
#: src/views/card/components/Comment.tsx:158
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: 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:50
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: src/views/card/index.tsx:259 #: src/views/card/index.tsx:260
msgid "Card not found" msgid "Card not found"
msgstr "Tarjeta no encontrada" msgstr "Tarjeta no encontrada"
@@ -306,10 +323,10 @@ msgstr "Tarjeta no encontrada"
msgid "Card title" msgid "Card title"
msgstr "Título de la tarjeta" msgstr "Título de la tarjeta"
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109 #: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178 #: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
msgid "Change Password" msgid "Change Password"
msgstr "Cambiar contraseña" msgstr "Cambiar contraseña"
@@ -317,8 +334,8 @@ msgstr "Cambiar contraseña"
msgid "Change the language of the app." msgid "Change the language of the app."
msgstr "Cambiar el idioma de la aplicación." msgstr "Cambiar el idioma de la aplicación."
#: src/views/auth/signup/index.tsx:67
#: src/views/auth/login/index.tsx:41 #: src/views/auth/login/index.tsx:41
#: src/views/auth/signup/index.tsx:67
msgid "Check your inbox" msgid "Check your inbox"
msgstr "Revisa tu bandeja de entrada" msgstr "Revisa tu bandeja de entrada"
@@ -330,8 +347,8 @@ msgstr "Nombre de la lista de verificación"
msgid "Clear filters" msgid "Clear filters"
msgstr "Borrar filtros" msgstr "Borrar filtros"
#: src/views/auth/signup/index.tsx:72
#: src/views/auth/login/index.tsx:46 #: src/views/auth/login/index.tsx:46
#: src/views/auth/signup/index.tsx:72
msgid "Click on the link we've sent to {magicLinkRecipient} to sign in." msgid "Click on the link we've sent to {magicLinkRecipient} to sign in."
msgstr "Haz clic en el enlace que hemos enviado a {magicLinkRecipient} para iniciar sesión." msgstr "Haz clic en el enlace que hemos enviado a {magicLinkRecipient} para iniciar sesión."
@@ -380,8 +397,8 @@ msgstr "Confirmar cambio de URL"
msgid "Confirm your new password" msgid "Confirm your new password"
msgstr "Confirma tu nueva contraseña" msgstr "Confirma tu nueva contraseña"
#: src/views/settings/index.tsx:235
#: src/views/boards/components/ImportBoardsForm.tsx:157 #: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
msgid "Connect Trello" msgid "Connect Trello"
msgstr "Conectar Trello" msgstr "Conectar Trello"
@@ -405,12 +422,12 @@ msgstr "Contáctanos"
msgid "Content Creation" msgid "Content Creation"
msgstr "Creación de contenido" msgstr "Creación de contenido"
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Continue with " msgid "Continue with "
msgstr "Continuar con " msgstr "Continuar con "
#. placeholder {0}: provider.name #. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
#: src/components/AuthForm.tsx:269 #: src/components/AuthForm.tsx:297
msgid "Continue with {0}" msgid "Continue with {0}"
msgstr "Continuar con {0}" msgstr "Continuar con {0}"
@@ -418,9 +435,9 @@ msgstr "Continuar con {0}"
msgid "Control who can view and edit your boards." msgid "Control who can view and edit your boards."
msgstr "Controla quién puede ver y editar tus tableros." msgstr "Controla quién puede ver y editar tus tableros."
#: src/views/board/components/NewListForm.tsx:140
#: src/views/board/components/NewCardForm.tsx:458
#: src/components/LabelForm.tsx:213 #: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:458
#: src/views/board/components/NewListForm.tsx:140
msgid "Create another" msgid "Create another"
msgstr "Crear otro" msgstr "Crear otro"
@@ -452,8 +469,8 @@ msgstr "Crear nuevo tablero"
msgid "Create new key" msgid "Create new key"
msgstr "Crear nueva clave" msgstr "Crear nueva clave"
#: src/views/card/components/LabelSelector.tsx:98
#: src/views/board/components/NewCardForm.tsx:394 #: src/views/board/components/NewCardForm.tsx:394
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label" msgid "Create new label"
msgstr "Crear nueva etiqueta" msgstr "Crear nueva etiqueta"
@@ -461,8 +478,8 @@ msgstr "Crear nueva etiqueta"
msgid "Create new list" msgid "Create new list"
msgstr "Crear nueva lista" msgstr "Crear nueva lista"
#: src/components/NewWorkspaceForm.tsx:94
#: src/components/WorkspaceMenu.tsx:116 #: src/components/WorkspaceMenu.tsx:116
#: src/components/NewWorkspaceForm.tsx:93
msgid "Create workspace" msgid "Create workspace"
msgstr "Crear espacio de trabajo" msgstr "Crear espacio de trabajo"
@@ -494,17 +511,17 @@ msgstr "Atención al cliente"
msgid "Dark" msgid "Dark"
msgstr "Oscuro" msgstr "Oscuro"
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/components/LabelForm.tsx:228
#: src/components/DeleteLabelConfirmation.tsx:51 #: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
msgid "Delete" msgid "Delete"
msgstr "Eliminar" msgstr "Eliminar"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309 #: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319 #: src/views/settings/index.tsx:319
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
msgid "Delete account" msgid "Delete account"
msgstr "Eliminar cuenta" msgstr "Eliminar cuenta"
@@ -524,9 +541,9 @@ msgstr "Eliminar comentario"
msgid "Delete list" msgid "Delete list"
msgstr "Eliminar lista" msgstr "Eliminar lista"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272 #: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283 #: src/views/settings/index.tsx:283
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
msgid "Delete workspace" msgid "Delete workspace"
msgstr "Eliminar espacio de trabajo" msgstr "Eliminar espacio de trabajo"
@@ -588,9 +605,9 @@ msgstr "documentos"
msgid "Docs" msgid "Docs"
msgstr "Documentos" msgstr "Documentos"
#: src/views/home/components/Footer.tsx:77
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/components/UserMenu.tsx:191 #: src/components/UserMenu.tsx:191
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/views/home/components/Footer.tsx:77
msgid "Documentation" msgid "Documentation"
msgstr "Documentación" msgstr "Documentación"
@@ -605,8 +622,8 @@ msgstr "¿No tienes una cuenta? <0><1>Regístrate</1></0>"
msgid "Done" msgid "Done"
msgstr "Terminado" msgstr "Terminado"
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
#: src/views/board/components/BoardDropdown.tsx:15 #: src/views/board/components/BoardDropdown.tsx:15
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Editar URL del tablero" msgstr "Editar URL del tablero"
@@ -626,11 +643,11 @@ msgstr "Editar URL del espacio de trabajo"
msgid "Editing" msgid "Editing"
msgstr "Editando" msgstr "Editando"
#: src/components/AuthForm.tsx:337 #: src/components/AuthForm.tsx:368
msgid "email" msgid "email"
msgstr "correo electrónico" msgstr "correo electrónico"
#: src/views/members/components/InviteMemberForm.tsx:99 #: src/views/members/components/InviteMemberForm.tsx:163
msgid "Email" msgid "Email"
msgstr "Correo electrónico" msgstr "Correo electrónico"
@@ -646,11 +663,11 @@ msgstr "Introduce tu contraseña actual"
msgid "Enter your current password and choose a new secure password." msgid "Enter your current password and choose a new secure password."
msgstr "Introduce tu contraseña actual y elige una nueva contraseña segura." msgstr "Introduce tu contraseña actual y elige una nueva contraseña segura."
#: src/components/AuthForm.tsx:302 #: src/components/AuthForm.tsx:333
msgid "Enter your email address" msgid "Enter your email address"
msgstr "Introduce tu dirección de correo electrónico" msgstr "Introduce tu dirección de correo electrónico"
#: src/components/AuthForm.tsx:290 #: src/components/AuthForm.tsx:321
msgid "Enter your name" msgid "Enter your name"
msgstr "Introduce tu nombre" msgstr "Introduce tu nombre"
@@ -658,7 +675,7 @@ msgstr "Introduce tu nombre"
msgid "Enter your new password" msgid "Enter your new password"
msgstr "Introduce tu nueva contraseña" msgstr "Introduce tu nueva contraseña"
#: src/components/AuthForm.tsx:315 #: src/components/AuthForm.tsx:346
msgid "Enter your password" msgid "Enter your password"
msgstr "Introduce tu contraseña" msgstr "Introduce tu contraseña"
@@ -682,8 +699,8 @@ msgstr "Error al eliminar el espacio de trabajo"
msgid "Error disconnecting Trello" msgid "Error disconnecting Trello"
msgstr "Error al desconectar Trello" msgstr "Error al desconectar Trello"
#: src/views/members/components/InviteMemberForm.tsx:57 #: src/views/members/components/InviteMemberForm.tsx:76
#: src/views/members/components/InviteMemberForm.tsx:63 #: src/views/members/components/InviteMemberForm.tsx:82
msgid "Error inviting member" msgid "Error inviting member"
msgstr "Error al invitar al miembro" msgstr "Error al invitar al miembro"
@@ -707,6 +724,10 @@ msgstr "Error al actualizar el nombre del espacio de trabajo"
msgid "Error updating workspace URL" msgid "Error updating workspace URL"
msgstr "Error al actualizar la URL del espacio de trabajo" msgstr "Error al actualizar la URL del espacio de trabajo"
#: src/views/members/components/InviteMemberForm.tsx:132
msgid "Error upgrading subscription"
msgstr "Error al actualizar la suscripción"
#: src/views/settings/components/Avatar.tsx:56 #: src/views/settings/components/Avatar.tsx:56
#: src/views/settings/components/Avatar.tsx:97 #: src/views/settings/components/Avatar.tsx:97
msgid "Error uploading profile image" msgid "Error uploading profile image"
@@ -725,12 +746,12 @@ msgid "Execution"
msgstr "Ejecución" msgstr "Ejecución"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1) #. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:241 #: src/components/AuthForm.tsx:269
msgid "Failed to login with {0}. Please try again." msgid "Failed to login with {0}. Please try again."
msgstr "Error al iniciar sesión con {0}. Por favor, inténtalo de nuevo." msgstr "Error al iniciar sesión con {0}. Por favor, inténtalo de nuevo."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143 #: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs" msgid "FAQs"
msgstr "Preguntas frecuentes" msgstr "Preguntas frecuentes"
@@ -742,14 +763,14 @@ msgstr "Función"
msgid "Feature Request" msgid "Feature Request"
msgstr "Solicitud de función" msgstr "Solicitud de función"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125 #: src/views/home/components/Features.tsx:125
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Header.tsx:14
msgid "Features" msgid "Features"
msgstr "Características" msgstr "Características"
#: src/components/UserMenu.tsx:199
#: src/components/FeedbackModal.tsx:59 #: src/components/FeedbackModal.tsx:59
#: src/components/UserMenu.tsx:199
msgid "Feedback" msgid "Feedback"
msgstr "Comentarios" msgstr "Comentarios"
@@ -773,6 +794,11 @@ msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos p
msgid "Free" msgid "Free"
msgstr "Gratis" msgstr "Gratis"
#: src/views/members/components/InviteMemberForm.tsx:192
#: src/views/members/index.tsx:184
msgid "Free Plan"
msgstr "Plan gratuito"
#: src/views/home/components/Pricing.tsx:34 #: src/views/home/components/Pricing.tsx:34
msgid "Free, forever" msgid "Free, forever"
msgstr "Gratis, para siempre" msgstr "Gratis, para siempre"
@@ -785,10 +811,10 @@ msgstr "Tiempo completo"
msgid "Fun" msgid "Fun"
msgstr "Diversión" msgstr "Diversión"
#: src/views/auth/signup/index.tsx:67
#: src/views/home/components/Cta.tsx:61
#: src/views/home/components/Header.tsx:102 #: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141 #: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
#: src/views/auth/signup/index.tsx:67
msgid "Get started" msgid "Get started"
msgstr "Comenzar" msgstr "Comenzar"
@@ -813,7 +839,7 @@ msgstr "Comienza gratis hoy mismo"
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team." msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Comienza gratis, sin límites de uso. Para colaboración, actualiza a un plan que se ajuste al tamaño de tu equipo." msgstr "Comienza gratis, sin límites de uso. Para colaboración, actualiza a un plan que se ajuste al tamaño de tu equipo."
#: src/views/home/index.tsx:75 #: src/views/home/index.tsx:76
msgid "Get started on Cloud" msgid "Get started on Cloud"
msgstr "Comenzar en la nube" msgstr "Comenzar en la nube"
@@ -924,23 +950,27 @@ msgstr "Integraciones"
msgid "Interviewing" msgid "Interviewing"
msgstr "Entrevistando" msgstr "Entrevistando"
#: src/views/members/components/InviteMemberForm.tsx:26 #: src/views/members/components/InviteMemberForm.tsx:45
msgid "Invalid email address" msgid "Invalid email address"
msgstr "Dirección de correo electrónico no válida" msgstr "Dirección de correo electrónico no válida"
#: src/views/members/index.tsx:169 #: src/views/members/index.tsx:193
msgid "Invite" msgid "Invite"
msgstr "Invitar" msgstr "Invitar"
#: src/views/members/components/InviteMemberForm.tsx:113 #: src/views/members/components/InviteMemberForm.tsx:207
msgid "Invite another" msgid "Invite another"
msgstr "Invitar a otro" msgstr "Invitar a otro"
#: src/views/members/components/InviteMemberForm.tsx:123
#: src/views/card/components/MemberSelector.tsx:112 #: src/views/card/components/MemberSelector.tsx:112
#: src/views/members/components/InviteMemberForm.tsx:231
msgid "Invite member" msgid "Invite member"
msgstr "Invitar miembro" msgstr "Invitar miembro"
#: src/views/members/components/InviteMemberForm.tsx:195
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "Invitar miembros requiere un Plan de Equipo. Serás redirigido para actualizar tu espacio de trabajo."
#: src/views/boards/components/TemplateBoards.tsx:69 #: src/views/boards/components/TemplateBoards.tsx:69
msgid "Junior" msgid "Junior"
msgstr "Junior" msgstr "Junior"
@@ -953,14 +983,14 @@ msgstr "Kanban es mejor con un equipo. Perfecto para equipos pequeños y en crec
msgid "Kanban reimagined" msgid "Kanban reimagined"
msgstr "Kanban reinventado" msgstr "Kanban reinventado"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57 #: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
msgid "Keep in mind that this action is irreversible." msgid "Keep in mind that this action is irreversible."
msgstr "Ten en cuenta que esta acción es irreversible." msgstr "Ten en cuenta que esta acción es irreversible."
#: src/views/card/index.tsx:117
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/board/components/Filters.tsx:101 #: src/views/board/components/Filters.tsx:101
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/card/index.tsx:117
msgid "Labels" msgid "Labels"
msgstr "Etiquetas" msgstr "Etiquetas"
@@ -988,7 +1018,7 @@ msgstr "Licencia"
msgid "Light" msgid "Light"
msgstr "Claro" msgstr "Claro"
#: src/views/public/board/index.tsx:57 #: src/views/public/board/index.tsx:62
msgid "Link copied" msgid "Link copied"
msgstr "Enlace copiado" msgstr "Enlace copiado"
@@ -1016,7 +1046,7 @@ msgstr "Largo plazo"
msgid "Low Priority" msgid "Low Priority"
msgstr "Prioridad baja" msgstr "Prioridad baja"
#: src/components/AuthForm.tsx:338 #: src/components/AuthForm.tsx:369
msgid "magic link" msgid "magic link"
msgstr "enlace mágico" msgstr "enlace mágico"
@@ -1033,16 +1063,16 @@ msgstr "marcó el elemento <0>{0}</0> de la lista de verificación como incomple
msgid "Medium Priority" msgid "Medium Priority"
msgstr "Prioridad media" msgstr "Prioridad media"
#: src/views/members/index.tsx:161
#: src/views/card/index.tsx:125
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/board/components/Filters.tsx:93
#: src/components/SideNavigation.tsx:73 #: src/components/SideNavigation.tsx:73
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/card/index.tsx:125
#: src/views/members/index.tsx:171
msgid "Members" msgid "Members"
msgstr "Miembros" msgstr "Miembros"
#. placeholder {0}: workspace.name ?? "Workspace" #. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:157 #: src/views/members/index.tsx:167
msgid "Members | {0}" msgid "Members | {0}"
msgstr "Miembros | {0}" msgstr "Miembros | {0}"
@@ -1050,6 +1080,10 @@ msgstr "Miembros | {0}"
msgid "Monthly" msgid "Monthly"
msgstr "Mensual" msgstr "Mensual"
#: src/views/members/components/InviteMemberForm.tsx:92
msgid "monthly billing"
msgstr "facturación mensual"
#. placeholder {0}: truncate(fromList) #. placeholder {0}: truncate(fromList)
#. placeholder {1}: truncate(toList) #. placeholder {1}: truncate(toList)
#: src/views/card/components/ActivityList.tsx:98 #: src/views/card/components/ActivityList.tsx:98
@@ -1060,8 +1094,8 @@ msgstr "movió la tarjeta de <0>{0}</0> a<1>{1}</1>"
msgid "moved the card to another list" msgid "moved the card to another list"
msgstr "movió la tarjeta a otra lista" msgstr "movió la tarjeta a otra lista"
#: src/views/boards/components/NewBoardForm.tsx:99
#: src/components/LabelForm.tsx:135 #: src/components/LabelForm.tsx:135
#: src/views/boards/components/NewBoardForm.tsx:99
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
@@ -1093,8 +1127,8 @@ msgstr "Nueva importación"
msgid "New label" msgid "New label"
msgstr "Nueva etiqueta" msgstr "Nueva etiqueta"
#: src/views/board/index.tsx:394
#: src/views/board/components/NewListForm.tsx:112 #: src/views/board/components/NewListForm.tsx:112
#: src/views/board/index.tsx:394
msgid "New list" msgid "New list"
msgstr "Nueva lista" msgstr "Nueva lista"
@@ -1110,7 +1144,7 @@ msgstr "La nueva contraseña debe ser diferente de la contraseña actual"
msgid "New Ticket" msgid "New Ticket"
msgstr "Nuevo ticket" msgstr "Nuevo ticket"
#: src/components/NewWorkspaceForm.tsx:64 #: src/components/NewWorkspaceForm.tsx:65
msgid "New workspace" msgid "New workspace"
msgstr "Nuevo espacio de trabajo" msgstr "Nuevo espacio de trabajo"
@@ -1130,7 +1164,7 @@ msgstr "Sin tableros"
msgid "No boards found" msgid "No boards found"
msgstr "No se encontraron tableros" msgstr "No se encontraron tableros"
#: src/views/home/index.tsx:85 #: src/views/home/index.tsx:86
msgid "No credit card required" msgid "No credit card required"
msgstr "No se requiere tarjeta de crédito" msgstr "No se requiere tarjeta de crédito"
@@ -1154,7 +1188,7 @@ msgstr "Una vez que elimines tu cuenta, no hay vuelta atrás. Esta acción no se
msgid "Once you delete your workspace, there is no going back. This action cannot be undone." 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." msgstr "Una vez que elimines tu espacio de trabajo, no hay vuelta atrás. Esta acción no se puede deshacer."
#: src/components/AuthForm.tsx:280 #: src/components/AuthForm.tsx:311
msgid "or" msgid "or"
msgstr "o" msgstr "o"
@@ -1182,11 +1216,11 @@ msgstr "La contraseña debe tener al menos 8 caracteres"
msgid "Passwords do not match" msgid "Passwords do not match"
msgstr "Las contraseñas no coinciden" msgstr "Las contraseñas no coinciden"
#: src/views/home/components/Pricing.tsx:101 #: src/views/home/components/Pricing.tsx:96
msgid "Payment frequency" msgid "Payment frequency"
msgstr "Frecuencia de pago" msgstr "Frecuencia de pago"
#: src/views/members/index.tsx:118 #: src/views/members/index.tsx:128
msgid "Pending" msgid "Pending"
msgstr "Pendiente" msgstr "Pendiente"
@@ -1207,15 +1241,15 @@ msgstr "Planificación"
msgid "Please confirm your new password" msgid "Please confirm your new password"
msgstr "Por favor, confirma tu nueva contraseña" msgstr "Por favor, confirma tu nueva contraseña"
#: src/components/AuthForm.tsx:306 #: src/components/AuthForm.tsx:337
msgid "Please enter a valid email address" msgid "Please enter a valid email address"
msgstr "Por favor, introduce una dirección de correo electrónico válida" msgstr "Por favor, introduce una dirección de correo electrónico válida"
#: src/components/AuthForm.tsx:294 #: src/components/AuthForm.tsx:325
msgid "Please enter a valid name" msgid "Please enter a valid name"
msgstr "Por favor, introduce un nombre válido" msgstr "Por favor, introduce un nombre válido"
#: src/components/AuthForm.tsx:319 #: src/components/AuthForm.tsx:350
msgid "Please enter a valid password" msgid "Please enter a valid password"
msgstr "Por favor, introduce una contraseña válida" msgstr "Por favor, introduce una contraseña válida"
@@ -1223,46 +1257,47 @@ msgstr "Por favor, introduce una contraseña válida"
msgid "Please select a file to upload." msgid "Please select a file to upload."
msgstr "Por favor selecciona un archivo para subir." msgstr "Por favor selecciona un archivo para subir."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74 #: src/components/DeleteLabelConfirmation.tsx:26
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57 #: src/components/FeedbackModal.tsx:41
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62 #: src/components/NewWorkspaceForm.tsx:42
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55 #: src/views/board/components/NewCardForm.tsx:174
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46 #: src/views/board/components/NewListForm.tsx:78
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40 #: src/views/board/components/UpdateBoardSlugForm.tsx:72
#: src/views/settings/components/Avatar.tsx:40 #: src/views/board/components/VisibilityButton.tsx:53
#: src/views/settings/components/Avatar.tsx:98
#: src/views/members/components/InviteMemberForm.tsx:64
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/card/index.tsx:172
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:64
#: src/views/card/components/ChecklistNameInput.tsx:46
#: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:134 #: src/views/board/index.tsx:134
#: src/views/board/index.tsx:190 #: src/views/board/index.tsx:190
#: src/views/board/components/VisibilityButton.tsx:53 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/components/UpdateBoardSlugForm.tsx:72 #: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/board/components/NewListForm.tsx:78 #: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/board/components/NewCardForm.tsx:174 #: src/views/card/components/ChecklistNameInput.tsx:46
#: src/components/NewWorkspaceForm.tsx:41 #: src/views/card/components/Comment.tsx:64
#: src/components/FeedbackModal.tsx:41 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/components/DeleteLabelConfirmation.tsx:26 #: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/index.tsx:173
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:83
#: src/views/members/components/InviteMemberForm.tsx:133
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: 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
msgid "Please try again later, or contact customer support." 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." msgstr "Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50 #: src/views/home/components/Footer.tsx:50
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Pricing.tsx:85
msgid "Pricing" msgid "Pricing"
msgstr "Precios" msgstr "Precios"
@@ -1318,7 +1353,7 @@ msgstr "Remoto"
msgid "Remove" msgid "Remove"
msgstr "Eliminar" msgstr "Eliminar"
#: src/views/members/index.tsx:132 #: src/views/members/index.tsx:142
msgid "Remove member" msgid "Remove member"
msgstr "Eliminar miembro" msgstr "Eliminar miembro"
@@ -1369,12 +1404,12 @@ msgstr "Revisión"
msgid "Revoke" msgid "Revoke"
msgstr "Revocar" msgstr "Revocar"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36 #: src/views/home/components/Footer.tsx:36
#: src/views/home/components/Header.tsx:13
msgid "Roadmap" msgid "Roadmap"
msgstr "Hoja de ruta" msgstr "Hoja de ruta"
#: src/views/members/index.tsx:191 #: src/views/members/index.tsx:215
msgid "Role" msgid "Role"
msgstr "Rol" msgstr "Rol"
@@ -1406,7 +1441,7 @@ msgstr "Seleccionar origen"
msgid "Self Host" msgid "Self Host"
msgstr "Autoalojamiento" msgstr "Autoalojamiento"
#: src/views/home/index.tsx:81 #: src/views/home/index.tsx:82
msgid "Self host with Github" msgid "Self host with Github"
msgstr "Autoalojamiento con Github" msgstr "Autoalojamiento con Github"
@@ -1422,8 +1457,8 @@ msgstr "Enviar comentarios"
msgid "Senior" msgid "Senior"
msgstr "Senior" msgstr "Senior"
#: src/views/settings/index.tsx:140
#: src/components/SideNavigation.tsx:78 #: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
msgid "Settings" msgid "Settings"
msgstr "Configuración" msgstr "Configuración"
@@ -1450,7 +1485,7 @@ msgstr "Registro deshabilitado"
msgid "Sign up is currently disabled. Please try again later." msgid "Sign up is currently disabled. Please try again later."
msgstr "El registro está actualmente deshabilitado. Por favor, inténtalo de nuevo más tarde." msgstr "El registro está actualmente deshabilitado. Por favor, inténtalo de nuevo más tarde."
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Sign up with " msgid "Sign up with "
msgstr "Registrarse con " msgstr "Registrarse con "
@@ -1470,12 +1505,12 @@ msgstr "Redes sociales"
msgid "Software Development" msgid "Software Development"
msgstr "Desarrollo de software" msgstr "Desarrollo de software"
#: src/views/home/index.tsx:37 #: src/views/home/index.tsx:38
msgid "Star on Github" msgid "Star on Github"
msgstr "Estrella en Github" msgstr "Estrella en Github"
#: src/components/AuthForm.tsx:188 #: src/components/AuthForm.tsx:203
#: src/components/AuthForm.tsx:205 #: src/components/AuthForm.tsx:220
msgid "Success" msgid "Success"
msgstr "Éxito" msgstr "Éxito"
@@ -1491,6 +1526,11 @@ msgstr "Apoya el desarrollo del proyecto"
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
#: src/views/members/components/InviteMemberForm.tsx:183
#: src/views/members/index.tsx:184
msgid "Team Plan"
msgstr "Plan de Equipo"
#: src/views/home/components/Pricing.tsx:46 #: src/views/home/components/Pricing.tsx:46
msgid "Teams" msgid "Teams"
msgstr "Equipos" msgstr "Equipos"
@@ -1515,7 +1555,7 @@ msgstr "La contraseña actual que has introducido es incorrecta."
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall." msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "La principal diferencia entre Kan y Trello es que Kan es de código abierto, permitiendo a cualquiera ver, modificar y contribuir a nuestro código. Nuestra oferta en la nube también ofrece funciones sin restricciones para uso individual, mientras que Trello bloquea características básicas como el número de tableros que puedes crear detrás de un muro de pago." msgstr "La principal diferencia entre Kan y Trello es que Kan es de código abierto, permitiendo a cualquiera ver, modificar y contribuir a nuestro código. Nuestra oferta en la nube también ofrece funciones sin restricciones para uso individual, mientras que Trello bloquea características básicas como el número de tableros que puedes crear detrás de un muro de pago."
#: src/views/home/index.tsx:65 #: src/views/home/index.tsx:66
msgid "The open source <0/> alternative to Trello" msgid "The open source <0/> alternative to Trello"
msgstr "La alternativa de código abierto <0/> a Trello" msgstr "La alternativa de código abierto <0/> a Trello"
@@ -1532,14 +1572,14 @@ msgstr "Tema"
msgid "They won't be able to access this workspace." msgid "They won't be able to access this workspace."
msgstr "No podrán acceder a este espacio de trabajo." msgstr "No podrán acceder a este espacio de trabajo."
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/components/DeleteLabelConfirmation.tsx:44 #: src/components/DeleteLabelConfirmation.tsx:44
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Esta acción no se puede deshacer." msgstr "Esta acción no se puede deshacer."
#: src/views/public/board/index.tsx:146 #: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Este tablero es privado o no existe" msgstr "Este tablero es privado o no existe"
@@ -1604,7 +1644,7 @@ msgstr "No se puede crear la lista de verificación"
msgid "Unable to create list" msgid "Unable to create list"
msgstr "No se puede crear la lista" msgstr "No se puede crear la lista"
#: src/components/NewWorkspaceForm.tsx:40 #: src/components/NewWorkspaceForm.tsx:41
msgid "Unable to create workspace" msgid "Unable to create workspace"
msgstr "No se puede crear el espacio de trabajo" msgstr "No se puede crear el espacio de trabajo"
@@ -1640,8 +1680,8 @@ msgstr "No se puede actualizar la URL del tablero"
msgid "Unable to update board visibility" msgid "Unable to update board visibility"
msgstr "No se puede actualizar la visibilidad del tablero" msgstr "No se puede actualizar la visibilidad del tablero"
#: src/views/card/index.tsx:171
#: src/views/board/index.tsx:189 #: src/views/board/index.tsx:189
#: src/views/card/index.tsx:172
msgid "Unable to update card" msgid "Unable to update card"
msgstr "No se puede actualizar la tarjeta" msgstr "No se puede actualizar la tarjeta"
@@ -1661,8 +1701,8 @@ msgstr "No se puede actualizar el comentario"
msgid "Unable to update labels" msgid "Unable to update labels"
msgstr "No se pueden actualizar las etiquetas" msgstr "No se pueden actualizar las etiquetas"
#: src/views/card/components/ListSelector.tsx:52
#: src/views/board/index.tsx:133 #: src/views/board/index.tsx:133
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list" msgid "Unable to update list"
msgstr "No se puede actualizar la lista" msgstr "No se puede actualizar la lista"
@@ -1703,11 +1743,11 @@ msgstr "Comentarios ilimitados"
msgid "Unlimited lists" msgid "Unlimited lists"
msgstr "Listas ilimitadas" msgstr "Listas ilimitadas"
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/board/components/UpdateBoardSlugForm.tsx:174 #: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
msgid "Update" msgid "Update"
msgstr "Actualizar" msgstr "Actualizar"
@@ -1736,6 +1776,10 @@ msgstr "actualizó el título a <0>{0}</0>"
msgid "Upgrade" msgid "Upgrade"
msgstr "Actualizar" msgstr "Actualizar"
#: src/views/members/components/InviteMemberForm.tsx:222
msgid "Upgrade to Team Plan"
msgstr "Actualizar al Plan de Equipo"
#: src/views/boards/components/TemplateBoards.tsx:37 #: src/views/boards/components/TemplateBoards.tsx:37
#: src/views/boards/components/TemplateBoards.tsx:54 #: src/views/boards/components/TemplateBoards.tsx:54
msgid "Urgent" msgid "Urgent"
@@ -1757,11 +1801,11 @@ msgstr "La URL debe tener al menos 3 caracteres"
msgid "Use template" msgid "Use template"
msgstr "Usar plantilla" msgstr "Usar plantilla"
#: src/views/members/index.tsx:185 #: src/views/members/index.tsx:209
msgid "User" msgid "User"
msgstr "Usuario" msgstr "Usuario"
#: src/views/members/components/InviteMemberForm.tsx:58 #: src/views/members/components/InviteMemberForm.tsx:77
msgid "User is already a member of this workspace" msgid "User is already a member of this workspace"
msgstr "El usuario ya es miembro de este espacio de trabajo" msgstr "El usuario ya es miembro de este espacio de trabajo"
@@ -1781,7 +1825,7 @@ msgstr "Ver y gestionar tu facturación y suscripción."
msgid "View docs" msgid "View docs"
msgstr "Ver documentación" msgstr "Ver documentación"
#: src/views/public/board/index.tsx:120 #: src/views/public/board/index.tsx:125
msgid "View only" msgid "View only"
msgstr "Solo visualización" msgstr "Solo visualización"
@@ -1789,7 +1833,7 @@ msgstr "Solo visualización"
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Ver nuestra hoja de ruta." msgstr "Ver nuestra hoja de ruta."
#: src/views/public/board/index.tsx:149 #: src/views/public/board/index.tsx:154
msgid "View workspace" msgid "View workspace"
msgstr "Ver espacio de trabajo" msgstr "Ver espacio de trabajo"
@@ -1849,13 +1893,13 @@ msgstr "La descripción del espacio de trabajo debe tener al menos 3 caracteres"
msgid "Workspace description updated" msgid "Workspace description updated"
msgstr "Descripción del espacio de trabajo actualizada" msgstr "Descripción del espacio de trabajo actualizada"
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83 #: src/views/home/components/Features.tsx:83
#: src/views/home/components/Pricing.tsx:54
msgid "Workspace members" msgid "Workspace members"
msgstr "Miembros del espacio de trabajo" msgstr "Miembros del espacio de trabajo"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158 #: src/views/settings/index.tsx:158
#: src/components/NewWorkspaceForm.tsx:80
msgid "Workspace name" msgid "Workspace name"
msgstr "Nombre del espacio de trabajo" msgstr "Nombre del espacio de trabajo"
@@ -1907,11 +1951,11 @@ msgstr "Puedes invitar a miembros del equipo haciendo clic en el botón \"Invita
msgid "You can self-host by following the instructions in our <0>repo</0>." msgid "You can self-host by following the instructions in our <0>repo</0>."
msgstr "Puedes autoalojar siguiendo las instrucciones en nuestro <0>repositorio</0>." msgstr "Puedes autoalojar siguiendo las instrucciones en nuestro <0>repositorio</0>."
#: src/components/AuthForm.tsx:206 #: src/components/AuthForm.tsx:221
msgid "You have been logged in successfully." msgid "You have been logged in successfully."
msgstr "Has iniciado sesión correctamente." msgstr "Has iniciado sesión correctamente."
#: src/components/AuthForm.tsx:189 #: src/components/AuthForm.tsx:204
msgid "You have been signed up successfully." msgid "You have been signed up successfully."
msgstr "Te has registrado correctamente." msgstr "Te has registrado correctamente."

File diff suppressed because one or more lines are too long

View File

@@ -23,7 +23,7 @@ msgstr ", ou consultez notre"
#. placeholder {0}: card?.title ?? "Card" #. placeholder {0}: card?.title ?? "Card"
#. placeholder {1}: board?.name ?? "Board" #. placeholder {1}: board?.name ?? "Board"
#: src/views/card/index.tsx:213 #: src/views/card/index.tsx:214
msgid "{0} | {1}" msgid "{0} | {1}"
msgstr "{0} | {1}" msgstr "{0} | {1}"
@@ -36,11 +36,20 @@ msgstr "{0} étiquettes"
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}" msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
msgstr "{boardCount, plural, one {Importer le tableau (1)} other {Importer les tableaux ({boardCount})}}" msgstr "{boardCount, plural, one {Importer le tableau (1)} other {Importer les tableaux ({boardCount})}}"
#: src/views/members/components/InviteMemberForm.tsx:91
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$10/month"
msgstr "10 $/mois"
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$8/month"
msgstr "8 $/mois"
#: src/views/home/components/Pricing.tsx:36 #: src/views/home/components/Pricing.tsx:36
msgid "1 user" msgid "1 user"
msgstr "1 utilisateur" msgstr "1 utilisateur"
#: src/views/home/index.tsx:71 #: src/views/home/index.tsx:72
msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place." msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
msgstr "Une application kanban puissante et flexible qui vous aide à organiser le travail, suivre les progrès et livrer des résultats—le tout en un seul endroit." msgstr "Une application kanban puissante et flexible qui vous aide à organiser le travail, suivre les progrès et livrer des résultats—le tout en un seul endroit."
@@ -48,8 +57,8 @@ msgstr "Une application kanban puissante et flexible qui vous aide à organiser
msgid "Account deleted" msgid "Account deleted"
msgstr "Compte supprimé" msgstr "Compte supprimé"
#: src/views/public/board/CardModal.tsx:140 #: src/views/card/index.tsx:289
#: src/views/card/index.tsx:288 #: src/views/public/board/CardModal.tsx:143
msgid "Activity" msgid "Activity"
msgstr "Activité" msgstr "Activité"
@@ -61,8 +70,8 @@ msgstr "Journaux d'activité"
msgid "Add a card" msgid "Add a card"
msgstr "Ajouter une carte" msgstr "Ajouter une carte"
#: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:146 #: src/views/card/components/Comment.tsx:146
#: src/views/card/components/NewCommentForm.tsx:57
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Ajouter un commentaire..." msgstr "Ajouter un commentaire..."
@@ -87,8 +96,8 @@ msgstr "Ajouter des détails..."
msgid "Add label" msgid "Add label"
msgstr "Ajouter une étiquette" msgstr "Ajouter une étiquette"
#: src/views/members/components/InviteMemberForm.tsx:85
#: src/views/card/components/MemberSelector.tsx:130 #: src/views/card/components/MemberSelector.tsx:130
#: src/views/members/components/InviteMemberForm.tsx:149
msgid "Add member" msgid "Add member"
msgstr "Ajouter un membre" msgstr "Ajouter un membre"
@@ -123,14 +132,14 @@ msgstr "a ajouté l'élément <0>{0}</0> à la checklist"
msgid "added label <0>{0}</0>" msgid "added label <0>{0}</0>"
msgstr "a ajouté l'étiquette <0>{0}</0>" msgstr "a ajouté l'étiquette <0>{0}</0>"
#: src/views/members/components/InviteMemberForm.tsx:186
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
msgstr "L'ajout d'un nouveau membre coûtera {price} supplémentaires ({billingType}) par siège."
#: src/views/home/components/Pricing.tsx:55 #: src/views/home/components/Pricing.tsx:55
msgid "Admin roles" msgid "Admin roles"
msgstr "Rôles d'administrateur" msgstr "Rôles d'administrateur"
#: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!"
msgstr "Tous les sièges sont gratuits pendant la bêta jusqu'au 1er sept. !"
#: src/views/home/components/Footer.tsx:18 #: src/views/home/components/Footer.tsx:18
msgid "All systems operational" msgid "All systems operational"
msgstr "Tous les systèmes opérationnels" msgstr "Tous les systèmes opérationnels"
@@ -209,8 +218,16 @@ msgstr "Backlog"
msgid "Basic Kanban" msgid "Basic Kanban"
msgstr "Kanban basique" msgstr "Kanban basique"
#: src/views/settings/index.tsx:198 #: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed annually"
msgstr "facturation annuelle"
#: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed monthly"
msgstr "facturation mensuelle"
#: src/views/boards/components/TemplateBoards.tsx:55 #: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
msgid "Billing" msgid "Billing"
msgstr "Facturation" msgstr "Facturation"
@@ -234,8 +251,8 @@ msgstr "Le nom du tableau ne peut pas dépasser 100 caractères"
msgid "Board name is required" msgid "Board name is required"
msgstr "Le nom du tableau est requis" msgstr "Le nom du tableau est requis"
#: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:357 #: src/views/board/index.tsx:357
#: src/views/public/board/index.tsx:148
msgid "Board not found" msgid "Board not found"
msgstr "Tableau introuvable" msgstr "Tableau introuvable"
@@ -247,7 +264,7 @@ msgstr "L'URL du tableau ne peut contenir que des lettres, des chiffres et des t
msgid "Board URL cannot exceed 60 characters" msgid "Board URL cannot exceed 60 characters"
msgstr "L'URL du tableau ne peut pas dépasser 60 caractères" msgstr "L'URL du tableau ne peut pas dépasser 60 caractères"
#: src/views/public/board/index.tsx:59 #: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard" msgid "Board URL copied to clipboard"
msgstr "URL du tableau copiée dans le presse-papiers" msgstr "URL du tableau copiée dans le presse-papiers"
@@ -263,8 +280,8 @@ msgstr "Visibilité du tableau"
msgid "Board visibility updated" msgid "Board visibility updated"
msgstr "Visibilité du tableau mise à jour" msgstr "Visibilité du tableau mise à jour"
#: src/views/boards/index.tsx:27
#: src/components/SideNavigation.tsx:68 #: src/components/SideNavigation.tsx:68
#: src/views/boards/index.tsx:27
msgid "Boards" msgid "Boards"
msgstr "Tableaux" msgstr "Tableaux"
@@ -285,20 +302,20 @@ msgstr "Bug"
msgid "Bug Report" msgid "Bug Report"
msgstr "Rapport de bug" msgstr "Rapport de bug"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/CustomURLConfirmation.tsx:50
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:49 #: src/components/DeleteLabelConfirmation.tsx:49
#: src/views/card/components/Comment.tsx:158
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: 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:50
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: src/views/card/index.tsx:259 #: src/views/card/index.tsx:260
msgid "Card not found" msgid "Card not found"
msgstr "Carte introuvable" msgstr "Carte introuvable"
@@ -306,10 +323,10 @@ msgstr "Carte introuvable"
msgid "Card title" msgid "Card title"
msgstr "Titre de la carte" msgstr "Titre de la carte"
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109 #: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178 #: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
msgid "Change Password" msgid "Change Password"
msgstr "Modifier le mot de passe" msgstr "Modifier le mot de passe"
@@ -317,8 +334,8 @@ msgstr "Modifier le mot de passe"
msgid "Change the language of the app." msgid "Change the language of the app."
msgstr "Changer la langue de l'application." msgstr "Changer la langue de l'application."
#: src/views/auth/signup/index.tsx:67
#: src/views/auth/login/index.tsx:41 #: src/views/auth/login/index.tsx:41
#: src/views/auth/signup/index.tsx:67
msgid "Check your inbox" msgid "Check your inbox"
msgstr "Vérifiez votre boîte de réception" msgstr "Vérifiez votre boîte de réception"
@@ -330,8 +347,8 @@ msgstr "Nom de la checklist"
msgid "Clear filters" msgid "Clear filters"
msgstr "Effacer les filtres" msgstr "Effacer les filtres"
#: src/views/auth/signup/index.tsx:72
#: src/views/auth/login/index.tsx:46 #: src/views/auth/login/index.tsx:46
#: src/views/auth/signup/index.tsx:72
msgid "Click on the link we've sent to {magicLinkRecipient} to sign in." msgid "Click on the link we've sent to {magicLinkRecipient} to sign in."
msgstr "Cliquez sur le lien que nous avons envoyé à {magicLinkRecipient} pour vous connecter." msgstr "Cliquez sur le lien que nous avons envoyé à {magicLinkRecipient} pour vous connecter."
@@ -380,8 +397,8 @@ msgstr "Confirmer le changement d'URL"
msgid "Confirm your new password" msgid "Confirm your new password"
msgstr "Confirmez votre nouveau mot de passe" msgstr "Confirmez votre nouveau mot de passe"
#: src/views/settings/index.tsx:235
#: src/views/boards/components/ImportBoardsForm.tsx:157 #: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
msgid "Connect Trello" msgid "Connect Trello"
msgstr "Connecter Trello" msgstr "Connecter Trello"
@@ -405,12 +422,12 @@ msgstr "Contactez-nous"
msgid "Content Creation" msgid "Content Creation"
msgstr "Création de contenu" msgstr "Création de contenu"
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Continue with " msgid "Continue with "
msgstr "Continuer avec " msgstr "Continuer avec "
#. placeholder {0}: provider.name #. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
#: src/components/AuthForm.tsx:269 #: src/components/AuthForm.tsx:297
msgid "Continue with {0}" msgid "Continue with {0}"
msgstr "Continuer avec {0}" msgstr "Continuer avec {0}"
@@ -418,9 +435,9 @@ msgstr "Continuer avec {0}"
msgid "Control who can view and edit your boards." msgid "Control who can view and edit your boards."
msgstr "Contrôlez qui peut voir et modifier vos tableaux." msgstr "Contrôlez qui peut voir et modifier vos tableaux."
#: src/views/board/components/NewListForm.tsx:140
#: src/views/board/components/NewCardForm.tsx:458
#: src/components/LabelForm.tsx:213 #: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:458
#: src/views/board/components/NewListForm.tsx:140
msgid "Create another" msgid "Create another"
msgstr "Créer un autre" msgstr "Créer un autre"
@@ -452,8 +469,8 @@ msgstr "Créer un nouveau tableau"
msgid "Create new key" msgid "Create new key"
msgstr "Créer une nouvelle clé" msgstr "Créer une nouvelle clé"
#: src/views/card/components/LabelSelector.tsx:98
#: src/views/board/components/NewCardForm.tsx:394 #: src/views/board/components/NewCardForm.tsx:394
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label" msgid "Create new label"
msgstr "Créer une nouvelle étiquette" msgstr "Créer une nouvelle étiquette"
@@ -461,8 +478,8 @@ msgstr "Créer une nouvelle étiquette"
msgid "Create new list" msgid "Create new list"
msgstr "Créer une nouvelle liste" msgstr "Créer une nouvelle liste"
#: src/components/NewWorkspaceForm.tsx:94
#: src/components/WorkspaceMenu.tsx:116 #: src/components/WorkspaceMenu.tsx:116
#: src/components/NewWorkspaceForm.tsx:93
msgid "Create workspace" msgid "Create workspace"
msgstr "Créer un espace de travail" msgstr "Créer un espace de travail"
@@ -494,17 +511,17 @@ msgstr "Support client"
msgid "Dark" msgid "Dark"
msgstr "Sombre" msgstr "Sombre"
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/components/LabelForm.tsx:228
#: src/components/DeleteLabelConfirmation.tsx:51 #: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309 #: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319 #: src/views/settings/index.tsx:319
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
msgid "Delete account" msgid "Delete account"
msgstr "Supprimer le compte" msgstr "Supprimer le compte"
@@ -524,9 +541,9 @@ msgstr "Supprimer le commentaire"
msgid "Delete list" msgid "Delete list"
msgstr "Supprimer la liste" msgstr "Supprimer la liste"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272 #: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283 #: src/views/settings/index.tsx:283
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
msgid "Delete workspace" msgid "Delete workspace"
msgstr "Supprimer l'espace de travail" msgstr "Supprimer l'espace de travail"
@@ -588,9 +605,9 @@ msgstr "documentation"
msgid "Docs" msgid "Docs"
msgstr "Documentation" msgstr "Documentation"
#: src/views/home/components/Footer.tsx:77
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/components/UserMenu.tsx:191 #: src/components/UserMenu.tsx:191
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/views/home/components/Footer.tsx:77
msgid "Documentation" msgid "Documentation"
msgstr "Documentation" msgstr "Documentation"
@@ -605,8 +622,8 @@ msgstr "Vous n'avez pas de compte ? <0><1>Inscrivez-vous</1></0>"
msgid "Done" msgid "Done"
msgstr "Fait" msgstr "Fait"
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
#: src/views/board/components/BoardDropdown.tsx:15 #: src/views/board/components/BoardDropdown.tsx:15
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Modifier l'URL du tableau" msgstr "Modifier l'URL du tableau"
@@ -626,11 +643,11 @@ msgstr "Modifier l'URL de l'espace de travail"
msgid "Editing" msgid "Editing"
msgstr "Édition" msgstr "Édition"
#: src/components/AuthForm.tsx:337 #: src/components/AuthForm.tsx:368
msgid "email" msgid "email"
msgstr "e-mail" msgstr "e-mail"
#: src/views/members/components/InviteMemberForm.tsx:99 #: src/views/members/components/InviteMemberForm.tsx:163
msgid "Email" msgid "Email"
msgstr "E-mail" msgstr "E-mail"
@@ -646,11 +663,11 @@ msgstr "Saisissez votre mot de passe actuel"
msgid "Enter your current password and choose a new secure password." msgid "Enter your current password and choose a new secure password."
msgstr "Saisissez votre mot de passe actuel et choisissez un nouveau mot de passe sécurisé." msgstr "Saisissez votre mot de passe actuel et choisissez un nouveau mot de passe sécurisé."
#: src/components/AuthForm.tsx:302 #: src/components/AuthForm.tsx:333
msgid "Enter your email address" msgid "Enter your email address"
msgstr "Saisissez votre adresse e-mail" msgstr "Saisissez votre adresse e-mail"
#: src/components/AuthForm.tsx:290 #: src/components/AuthForm.tsx:321
msgid "Enter your name" msgid "Enter your name"
msgstr "Saisissez votre nom" msgstr "Saisissez votre nom"
@@ -658,7 +675,7 @@ msgstr "Saisissez votre nom"
msgid "Enter your new password" msgid "Enter your new password"
msgstr "Saisissez votre nouveau mot de passe" msgstr "Saisissez votre nouveau mot de passe"
#: src/components/AuthForm.tsx:315 #: src/components/AuthForm.tsx:346
msgid "Enter your password" msgid "Enter your password"
msgstr "Saisissez votre mot de passe" msgstr "Saisissez votre mot de passe"
@@ -682,8 +699,8 @@ msgstr "Erreur lors de la suppression de l'espace de travail"
msgid "Error disconnecting Trello" msgid "Error disconnecting Trello"
msgstr "Erreur lors de la déconnexion de Trello" msgstr "Erreur lors de la déconnexion de Trello"
#: src/views/members/components/InviteMemberForm.tsx:57 #: src/views/members/components/InviteMemberForm.tsx:76
#: src/views/members/components/InviteMemberForm.tsx:63 #: src/views/members/components/InviteMemberForm.tsx:82
msgid "Error inviting member" msgid "Error inviting member"
msgstr "Erreur lors de l'invitation du membre" msgstr "Erreur lors de l'invitation du membre"
@@ -707,6 +724,10 @@ msgstr "Erreur lors de la mise à jour du nom de l'espace de travail"
msgid "Error updating workspace URL" msgid "Error updating workspace URL"
msgstr "Erreur lors de la mise à jour de l'URL de l'espace de travail" msgstr "Erreur lors de la mise à jour de l'URL de l'espace de travail"
#: src/views/members/components/InviteMemberForm.tsx:132
msgid "Error upgrading subscription"
msgstr "Erreur lors de la mise à niveau de l'abonnement"
#: src/views/settings/components/Avatar.tsx:56 #: src/views/settings/components/Avatar.tsx:56
#: src/views/settings/components/Avatar.tsx:97 #: src/views/settings/components/Avatar.tsx:97
msgid "Error uploading profile image" msgid "Error uploading profile image"
@@ -725,12 +746,12 @@ msgid "Execution"
msgstr "Exécution" msgstr "Exécution"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1) #. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:241 #: src/components/AuthForm.tsx:269
msgid "Failed to login with {0}. Please try again." msgid "Failed to login with {0}. Please try again."
msgstr "Échec de connexion avec {0}. Veuillez réessayer." msgstr "Échec de connexion avec {0}. Veuillez réessayer."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143 #: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs" msgid "FAQs"
msgstr "FAQ" msgstr "FAQ"
@@ -742,14 +763,14 @@ msgstr "Fonctionnalité"
msgid "Feature Request" msgid "Feature Request"
msgstr "Demande de fonctionnalité" msgstr "Demande de fonctionnalité"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125 #: src/views/home/components/Features.tsx:125
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Header.tsx:14
msgid "Features" msgid "Features"
msgstr "Fonctionnalités" msgstr "Fonctionnalités"
#: src/components/UserMenu.tsx:199
#: src/components/FeedbackModal.tsx:59 #: src/components/FeedbackModal.tsx:59
#: src/components/UserMenu.tsx:199
msgid "Feedback" msgid "Feedback"
msgstr "Commentaires" msgstr "Commentaires"
@@ -773,6 +794,11 @@ msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons
msgid "Free" msgid "Free"
msgstr "Gratuit" msgstr "Gratuit"
#: src/views/members/components/InviteMemberForm.tsx:192
#: src/views/members/index.tsx:184
msgid "Free Plan"
msgstr "Forfait gratuit"
#: src/views/home/components/Pricing.tsx:34 #: src/views/home/components/Pricing.tsx:34
msgid "Free, forever" msgid "Free, forever"
msgstr "Gratuit, pour toujours" msgstr "Gratuit, pour toujours"
@@ -785,10 +811,10 @@ msgstr "Temps plein"
msgid "Fun" msgid "Fun"
msgstr "Amusant" msgstr "Amusant"
#: src/views/auth/signup/index.tsx:67
#: src/views/home/components/Cta.tsx:61
#: src/views/home/components/Header.tsx:102 #: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141 #: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
#: src/views/auth/signup/index.tsx:67
msgid "Get started" msgid "Get started"
msgstr "Commencer" msgstr "Commencer"
@@ -813,7 +839,7 @@ msgstr "Commencez gratuitement aujourd'hui"
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team." msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Commencez gratuitement, sans limites d'utilisation. Pour la collaboration, passez à un forfait adapté à la taille de votre équipe." msgstr "Commencez gratuitement, sans limites d'utilisation. Pour la collaboration, passez à un forfait adapté à la taille de votre équipe."
#: src/views/home/index.tsx:75 #: src/views/home/index.tsx:76
msgid "Get started on Cloud" msgid "Get started on Cloud"
msgstr "Commencer sur le Cloud" msgstr "Commencer sur le Cloud"
@@ -924,23 +950,27 @@ msgstr "Intégrations"
msgid "Interviewing" msgid "Interviewing"
msgstr "Entretien" msgstr "Entretien"
#: src/views/members/components/InviteMemberForm.tsx:26 #: src/views/members/components/InviteMemberForm.tsx:45
msgid "Invalid email address" msgid "Invalid email address"
msgstr "Adresse e-mail invalide" msgstr "Adresse e-mail invalide"
#: src/views/members/index.tsx:169 #: src/views/members/index.tsx:193
msgid "Invite" msgid "Invite"
msgstr "Inviter" msgstr "Inviter"
#: src/views/members/components/InviteMemberForm.tsx:113 #: src/views/members/components/InviteMemberForm.tsx:207
msgid "Invite another" msgid "Invite another"
msgstr "Inviter un autre" msgstr "Inviter un autre"
#: src/views/members/components/InviteMemberForm.tsx:123
#: src/views/card/components/MemberSelector.tsx:112 #: src/views/card/components/MemberSelector.tsx:112
#: src/views/members/components/InviteMemberForm.tsx:231
msgid "Invite member" msgid "Invite member"
msgstr "Inviter un membre" msgstr "Inviter un membre"
#: src/views/members/components/InviteMemberForm.tsx:195
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "L'invitation de membres nécessite un forfait d'équipe. Vous serez redirigé pour mettre à niveau votre espace de travail."
#: src/views/boards/components/TemplateBoards.tsx:69 #: src/views/boards/components/TemplateBoards.tsx:69
msgid "Junior" msgid "Junior"
msgstr "Junior" msgstr "Junior"
@@ -953,14 +983,14 @@ msgstr "Kanban est meilleur en équipe. Parfait pour les petites équipes et cel
msgid "Kanban reimagined" msgid "Kanban reimagined"
msgstr "Kanban réinventé" msgstr "Kanban réinventé"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57 #: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
msgid "Keep in mind that this action is irreversible." msgid "Keep in mind that this action is irreversible."
msgstr "Gardez à l'esprit que cette action est irréversible." msgstr "Gardez à l'esprit que cette action est irréversible."
#: src/views/card/index.tsx:117
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/board/components/Filters.tsx:101 #: src/views/board/components/Filters.tsx:101
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/card/index.tsx:117
msgid "Labels" msgid "Labels"
msgstr "Étiquettes" msgstr "Étiquettes"
@@ -988,7 +1018,7 @@ msgstr "Licence"
msgid "Light" msgid "Light"
msgstr "Clair" msgstr "Clair"
#: src/views/public/board/index.tsx:57 #: src/views/public/board/index.tsx:62
msgid "Link copied" msgid "Link copied"
msgstr "Lien copié" msgstr "Lien copié"
@@ -1016,7 +1046,7 @@ msgstr "Long terme"
msgid "Low Priority" msgid "Low Priority"
msgstr "Priorité basse" msgstr "Priorité basse"
#: src/components/AuthForm.tsx:338 #: src/components/AuthForm.tsx:369
msgid "magic link" msgid "magic link"
msgstr "lien magique" msgstr "lien magique"
@@ -1033,16 +1063,16 @@ msgstr "a marqué l'élément <0>{0}</0> de la checklist comme incomplet"
msgid "Medium Priority" msgid "Medium Priority"
msgstr "Priorité moyenne" msgstr "Priorité moyenne"
#: src/views/members/index.tsx:161
#: src/views/card/index.tsx:125
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/board/components/Filters.tsx:93
#: src/components/SideNavigation.tsx:73 #: src/components/SideNavigation.tsx:73
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/card/index.tsx:125
#: src/views/members/index.tsx:171
msgid "Members" msgid "Members"
msgstr "Membres" msgstr "Membres"
#. placeholder {0}: workspace.name ?? "Workspace" #. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:157 #: src/views/members/index.tsx:167
msgid "Members | {0}" msgid "Members | {0}"
msgstr "Membres | {0}" msgstr "Membres | {0}"
@@ -1050,6 +1080,10 @@ msgstr "Membres | {0}"
msgid "Monthly" msgid "Monthly"
msgstr "Mensuel" msgstr "Mensuel"
#: src/views/members/components/InviteMemberForm.tsx:92
msgid "monthly billing"
msgstr "facturation mensuelle"
#. placeholder {0}: truncate(fromList) #. placeholder {0}: truncate(fromList)
#. placeholder {1}: truncate(toList) #. placeholder {1}: truncate(toList)
#: src/views/card/components/ActivityList.tsx:98 #: src/views/card/components/ActivityList.tsx:98
@@ -1060,8 +1094,8 @@ msgstr "a déplacé la carte de <0>{0}</0> vers <1>{1}</1>"
msgid "moved the card to another list" msgid "moved the card to another list"
msgstr "a déplacé la carte vers une autre liste" msgstr "a déplacé la carte vers une autre liste"
#: src/views/boards/components/NewBoardForm.tsx:99
#: src/components/LabelForm.tsx:135 #: src/components/LabelForm.tsx:135
#: src/views/boards/components/NewBoardForm.tsx:99
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
@@ -1093,8 +1127,8 @@ msgstr "Nouvel import"
msgid "New label" msgid "New label"
msgstr "Nouvelle étiquette" msgstr "Nouvelle étiquette"
#: src/views/board/index.tsx:394
#: src/views/board/components/NewListForm.tsx:112 #: src/views/board/components/NewListForm.tsx:112
#: src/views/board/index.tsx:394
msgid "New list" msgid "New list"
msgstr "Nouvelle liste" msgstr "Nouvelle liste"
@@ -1110,7 +1144,7 @@ msgstr "Le nouveau mot de passe doit être différent du mot de passe actuel"
msgid "New Ticket" msgid "New Ticket"
msgstr "Nouveau ticket" msgstr "Nouveau ticket"
#: src/components/NewWorkspaceForm.tsx:64 #: src/components/NewWorkspaceForm.tsx:65
msgid "New workspace" msgid "New workspace"
msgstr "Nouvel espace de travail" msgstr "Nouvel espace de travail"
@@ -1130,7 +1164,7 @@ msgstr "Aucun tableau"
msgid "No boards found" msgid "No boards found"
msgstr "Aucun tableau trouvé" msgstr "Aucun tableau trouvé"
#: src/views/home/index.tsx:85 #: src/views/home/index.tsx:86
msgid "No credit card required" msgid "No credit card required"
msgstr "Aucune carte de crédit requise" msgstr "Aucune carte de crédit requise"
@@ -1154,7 +1188,7 @@ msgstr "Une fois que vous supprimez votre compte, il n'y a pas de retour possibl
msgid "Once you delete your workspace, there is no going back. This action cannot be undone." 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." 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."
#: src/components/AuthForm.tsx:280 #: src/components/AuthForm.tsx:311
msgid "or" msgid "or"
msgstr "ou" msgstr "ou"
@@ -1182,11 +1216,11 @@ msgstr "Le mot de passe doit comporter au moins 8 caractères"
msgid "Passwords do not match" msgid "Passwords do not match"
msgstr "Les mots de passe ne correspondent pas" msgstr "Les mots de passe ne correspondent pas"
#: src/views/home/components/Pricing.tsx:101 #: src/views/home/components/Pricing.tsx:96
msgid "Payment frequency" msgid "Payment frequency"
msgstr "Fréquence de paiement" msgstr "Fréquence de paiement"
#: src/views/members/index.tsx:118 #: src/views/members/index.tsx:128
msgid "Pending" msgid "Pending"
msgstr "En attente" msgstr "En attente"
@@ -1207,15 +1241,15 @@ msgstr "Planification"
msgid "Please confirm your new password" msgid "Please confirm your new password"
msgstr "Veuillez confirmer votre nouveau mot de passe" msgstr "Veuillez confirmer votre nouveau mot de passe"
#: src/components/AuthForm.tsx:306 #: src/components/AuthForm.tsx:337
msgid "Please enter a valid email address" msgid "Please enter a valid email address"
msgstr "Veuillez saisir une adresse e-mail valide" msgstr "Veuillez saisir une adresse e-mail valide"
#: src/components/AuthForm.tsx:294 #: src/components/AuthForm.tsx:325
msgid "Please enter a valid name" msgid "Please enter a valid name"
msgstr "Veuillez saisir un nom valide" msgstr "Veuillez saisir un nom valide"
#: src/components/AuthForm.tsx:319 #: src/components/AuthForm.tsx:350
msgid "Please enter a valid password" msgid "Please enter a valid password"
msgstr "Veuillez saisir un mot de passe valide" msgstr "Veuillez saisir un mot de passe valide"
@@ -1223,46 +1257,47 @@ msgstr "Veuillez saisir un mot de passe valide"
msgid "Please select a file to upload." msgid "Please select a file to upload."
msgstr "Veuillez sélectionner un fichier à télécharger." msgstr "Veuillez sélectionner un fichier à télécharger."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74 #: src/components/DeleteLabelConfirmation.tsx:26
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57 #: src/components/FeedbackModal.tsx:41
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62 #: src/components/NewWorkspaceForm.tsx:42
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55 #: src/views/board/components/NewCardForm.tsx:174
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46 #: src/views/board/components/NewListForm.tsx:78
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40 #: src/views/board/components/UpdateBoardSlugForm.tsx:72
#: src/views/settings/components/Avatar.tsx:40 #: src/views/board/components/VisibilityButton.tsx:53
#: src/views/settings/components/Avatar.tsx:98
#: src/views/members/components/InviteMemberForm.tsx:64
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/card/index.tsx:172
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:64
#: src/views/card/components/ChecklistNameInput.tsx:46
#: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:134 #: src/views/board/index.tsx:134
#: src/views/board/index.tsx:190 #: src/views/board/index.tsx:190
#: src/views/board/components/VisibilityButton.tsx:53 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/components/UpdateBoardSlugForm.tsx:72 #: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/board/components/NewListForm.tsx:78 #: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/board/components/NewCardForm.tsx:174 #: src/views/card/components/ChecklistNameInput.tsx:46
#: src/components/NewWorkspaceForm.tsx:41 #: src/views/card/components/Comment.tsx:64
#: src/components/FeedbackModal.tsx:41 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/components/DeleteLabelConfirmation.tsx:26 #: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/index.tsx:173
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:83
#: src/views/members/components/InviteMemberForm.tsx:133
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: 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
msgid "Please try again later, or contact customer support." msgid "Please try again later, or contact customer support."
msgstr "Veuillez réessayer plus tard ou contacter le service client." msgstr "Veuillez réessayer plus tard ou contacter le service client."
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50 #: src/views/home/components/Footer.tsx:50
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Pricing.tsx:85
msgid "Pricing" msgid "Pricing"
msgstr "Tarifs" msgstr "Tarifs"
@@ -1318,7 +1353,7 @@ msgstr "À distance"
msgid "Remove" msgid "Remove"
msgstr "Supprimer" msgstr "Supprimer"
#: src/views/members/index.tsx:132 #: src/views/members/index.tsx:142
msgid "Remove member" msgid "Remove member"
msgstr "Supprimer le membre" msgstr "Supprimer le membre"
@@ -1369,12 +1404,12 @@ msgstr "Révision"
msgid "Revoke" msgid "Revoke"
msgstr "Révoquer" msgstr "Révoquer"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36 #: src/views/home/components/Footer.tsx:36
#: src/views/home/components/Header.tsx:13
msgid "Roadmap" msgid "Roadmap"
msgstr "Feuille de route" msgstr "Feuille de route"
#: src/views/members/index.tsx:191 #: src/views/members/index.tsx:215
msgid "Role" msgid "Role"
msgstr "Rôle" msgstr "Rôle"
@@ -1406,7 +1441,7 @@ msgstr "Sélectionner la source"
msgid "Self Host" msgid "Self Host"
msgstr "Auto-hébergement" msgstr "Auto-hébergement"
#: src/views/home/index.tsx:81 #: src/views/home/index.tsx:82
msgid "Self host with Github" msgid "Self host with Github"
msgstr "Auto-hébergement avec Github" msgstr "Auto-hébergement avec Github"
@@ -1422,8 +1457,8 @@ msgstr "Envoyer des commentaires"
msgid "Senior" msgid "Senior"
msgstr "Senior" msgstr "Senior"
#: src/views/settings/index.tsx:140
#: src/components/SideNavigation.tsx:78 #: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
msgid "Settings" msgid "Settings"
msgstr "Paramètres" msgstr "Paramètres"
@@ -1450,7 +1485,7 @@ msgstr "Inscription désactivée"
msgid "Sign up is currently disabled. Please try again later." msgid "Sign up is currently disabled. Please try again later."
msgstr "L'inscription est actuellement désactivée. Veuillez réessayer plus tard." msgstr "L'inscription est actuellement désactivée. Veuillez réessayer plus tard."
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Sign up with " msgid "Sign up with "
msgstr "S'inscrire avec " msgstr "S'inscrire avec "
@@ -1470,12 +1505,12 @@ msgstr "Réseaux sociaux"
msgid "Software Development" msgid "Software Development"
msgstr "Développement logiciel" msgstr "Développement logiciel"
#: src/views/home/index.tsx:37 #: src/views/home/index.tsx:38
msgid "Star on Github" msgid "Star on Github"
msgstr "Étoile sur Github" msgstr "Étoile sur Github"
#: src/components/AuthForm.tsx:188 #: src/components/AuthForm.tsx:203
#: src/components/AuthForm.tsx:205 #: src/components/AuthForm.tsx:220
msgid "Success" msgid "Success"
msgstr "Succès" msgstr "Succès"
@@ -1491,6 +1526,11 @@ msgstr "Soutenir le développement du projet"
msgid "System" msgid "System"
msgstr "Système" msgstr "Système"
#: src/views/members/components/InviteMemberForm.tsx:183
#: src/views/members/index.tsx:184
msgid "Team Plan"
msgstr "Forfait d'équipe"
#: src/views/home/components/Pricing.tsx:46 #: src/views/home/components/Pricing.tsx:46
msgid "Teams" msgid "Teams"
msgstr "Équipes" msgstr "Équipes"
@@ -1515,7 +1555,7 @@ msgstr "Le mot de passe actuel que vous avez saisi est incorrect."
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall." msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "La principale différence entre Kan et Trello est que Kan est open source, permettant à chacun de consulter, modifier et contribuer à notre code. Notre offre cloud ne comporte également aucune restriction sur les fonctionnalités pour un usage individuel, alors que Trello verrouille des fonctionnalités de base comme le nombre de tableaux que vous pouvez créer derrière un paywall." msgstr "La principale différence entre Kan et Trello est que Kan est open source, permettant à chacun de consulter, modifier et contribuer à notre code. Notre offre cloud ne comporte également aucune restriction sur les fonctionnalités pour un usage individuel, alors que Trello verrouille des fonctionnalités de base comme le nombre de tableaux que vous pouvez créer derrière un paywall."
#: src/views/home/index.tsx:65 #: src/views/home/index.tsx:66
msgid "The open source <0/> alternative to Trello" msgid "The open source <0/> alternative to Trello"
msgstr "L'alternative open source <0/> à Trello" msgstr "L'alternative open source <0/> à Trello"
@@ -1532,14 +1572,14 @@ msgstr "Thème"
msgid "They won't be able to access this workspace." msgid "They won't be able to access this workspace."
msgstr "Ils ne pourront plus accéder à cet espace de travail." msgstr "Ils ne pourront plus accéder à cet espace de travail."
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/components/DeleteLabelConfirmation.tsx:44 #: src/components/DeleteLabelConfirmation.tsx:44
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Cette action ne peut pas être annulée." msgstr "Cette action ne peut pas être annulée."
#: src/views/public/board/index.tsx:146 #: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Ce tableau est privé ou n'existe pas" msgstr "Ce tableau est privé ou n'existe pas"
@@ -1604,7 +1644,7 @@ msgstr "Impossible de créer la liste de contrôle"
msgid "Unable to create list" msgid "Unable to create list"
msgstr "Impossible de créer une liste" msgstr "Impossible de créer une liste"
#: src/components/NewWorkspaceForm.tsx:40 #: src/components/NewWorkspaceForm.tsx:41
msgid "Unable to create workspace" msgid "Unable to create workspace"
msgstr "Impossible de créer l'espace de travail" msgstr "Impossible de créer l'espace de travail"
@@ -1640,8 +1680,8 @@ msgstr "Impossible de mettre à jour l'URL du tableau"
msgid "Unable to update board visibility" msgid "Unable to update board visibility"
msgstr "Impossible de mettre à jour la visibilité du tableau" msgstr "Impossible de mettre à jour la visibilité du tableau"
#: src/views/card/index.tsx:171
#: src/views/board/index.tsx:189 #: src/views/board/index.tsx:189
#: src/views/card/index.tsx:172
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Impossible de mettre à jour la carte" msgstr "Impossible de mettre à jour la carte"
@@ -1661,8 +1701,8 @@ msgstr "Impossible de mettre à jour le commentaire"
msgid "Unable to update labels" msgid "Unable to update labels"
msgstr "Impossible de mettre à jour les étiquettes" msgstr "Impossible de mettre à jour les étiquettes"
#: src/views/card/components/ListSelector.tsx:52
#: src/views/board/index.tsx:133 #: src/views/board/index.tsx:133
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list" msgid "Unable to update list"
msgstr "Impossible de mettre à jour la liste" msgstr "Impossible de mettre à jour la liste"
@@ -1703,11 +1743,11 @@ msgstr "Commentaires illimités"
msgid "Unlimited lists" msgid "Unlimited lists"
msgstr "Listes illimitées" msgstr "Listes illimitées"
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/board/components/UpdateBoardSlugForm.tsx:174 #: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
msgid "Update" msgid "Update"
msgstr "Mettre à jour" msgstr "Mettre à jour"
@@ -1736,6 +1776,10 @@ msgstr "a mis à jour le titre en <0>{0}</0>"
msgid "Upgrade" msgid "Upgrade"
msgstr "Mettre à niveau" msgstr "Mettre à niveau"
#: src/views/members/components/InviteMemberForm.tsx:222
msgid "Upgrade to Team Plan"
msgstr "Passer au forfait d'équipe"
#: src/views/boards/components/TemplateBoards.tsx:37 #: src/views/boards/components/TemplateBoards.tsx:37
#: src/views/boards/components/TemplateBoards.tsx:54 #: src/views/boards/components/TemplateBoards.tsx:54
msgid "Urgent" msgid "Urgent"
@@ -1757,11 +1801,11 @@ msgstr "L'URL doit comporter au moins 3 caractères"
msgid "Use template" msgid "Use template"
msgstr "Utiliser le modèle" msgstr "Utiliser le modèle"
#: src/views/members/index.tsx:185 #: src/views/members/index.tsx:209
msgid "User" msgid "User"
msgstr "Utilisateur" msgstr "Utilisateur"
#: src/views/members/components/InviteMemberForm.tsx:58 #: src/views/members/components/InviteMemberForm.tsx:77
msgid "User is already a member of this workspace" msgid "User is already a member of this workspace"
msgstr "L'utilisateur est déjà membre de cet espace de travail" msgstr "L'utilisateur est déjà membre de cet espace de travail"
@@ -1781,7 +1825,7 @@ msgstr "Consultez et gérez votre facturation et votre abonnement."
msgid "View docs" msgid "View docs"
msgstr "Voir la documentation" msgstr "Voir la documentation"
#: src/views/public/board/index.tsx:120 #: src/views/public/board/index.tsx:125
msgid "View only" msgid "View only"
msgstr "Affichage uniquement" msgstr "Affichage uniquement"
@@ -1789,7 +1833,7 @@ msgstr "Affichage uniquement"
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Consultez notre feuille de route." msgstr "Consultez notre feuille de route."
#: src/views/public/board/index.tsx:149 #: src/views/public/board/index.tsx:154
msgid "View workspace" msgid "View workspace"
msgstr "Voir l'espace de travail" msgstr "Voir l'espace de travail"
@@ -1849,13 +1893,13 @@ msgstr "La description de l'espace de travail doit comporter au moins 3 caractè
msgid "Workspace description updated" msgid "Workspace description updated"
msgstr "Description de l'espace de travail mise à jour" msgstr "Description de l'espace de travail mise à jour"
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83 #: src/views/home/components/Features.tsx:83
#: src/views/home/components/Pricing.tsx:54
msgid "Workspace members" msgid "Workspace members"
msgstr "Membres de l'espace de travail" msgstr "Membres de l'espace de travail"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158 #: src/views/settings/index.tsx:158
#: src/components/NewWorkspaceForm.tsx:80
msgid "Workspace name" msgid "Workspace name"
msgstr "Nom de l'espace de travail" msgstr "Nom de l'espace de travail"
@@ -1907,11 +1951,11 @@ msgstr "Vous pouvez inviter des membres de l'équipe en cliquant sur le bouton \
msgid "You can self-host by following the instructions in our <0>repo</0>." msgid "You can self-host by following the instructions in our <0>repo</0>."
msgstr "Vous pouvez auto-héberger en suivant les instructions dans notre <0>dépôt</0>." msgstr "Vous pouvez auto-héberger en suivant les instructions dans notre <0>dépôt</0>."
#: src/components/AuthForm.tsx:206 #: src/components/AuthForm.tsx:221
msgid "You have been logged in successfully." msgid "You have been logged in successfully."
msgstr "Vous vous êtes connecté avec succès." msgstr "Vous vous êtes connecté avec succès."
#: src/components/AuthForm.tsx:189 #: src/components/AuthForm.tsx:204
msgid "You have been signed up successfully." msgid "You have been signed up successfully."
msgstr "Vous vous êtes inscrit avec succès." msgstr "Vous vous êtes inscrit avec succès."

File diff suppressed because one or more lines are too long

View File

@@ -23,7 +23,7 @@ msgstr ", o consulta i nostri"
#. placeholder {0}: card?.title ?? "Card" #. placeholder {0}: card?.title ?? "Card"
#. placeholder {1}: board?.name ?? "Board" #. placeholder {1}: board?.name ?? "Board"
#: src/views/card/index.tsx:213 #: src/views/card/index.tsx:214
msgid "{0} | {1}" msgid "{0} | {1}"
msgstr "{0} | {1}" msgstr "{0} | {1}"
@@ -36,11 +36,20 @@ msgstr "{0} etichette"
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}" msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
msgstr "{boardCount, plural, one {Importa bacheca (1)} other {Importa bacheche ({boardCount})}}" msgstr "{boardCount, plural, one {Importa bacheca (1)} other {Importa bacheche ({boardCount})}}"
#: src/views/members/components/InviteMemberForm.tsx:91
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$10/month"
msgstr "$10/mese"
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$8/month"
msgstr "$8/mese"
#: src/views/home/components/Pricing.tsx:36 #: src/views/home/components/Pricing.tsx:36
msgid "1 user" msgid "1 user"
msgstr "1 utente" msgstr "1 utente"
#: src/views/home/index.tsx:71 #: src/views/home/index.tsx:72
msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place." msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
msgstr "Un'app kanban potente e flessibile che ti aiuta a organizzare il lavoro, monitorare i progressi e ottenere risultati, tutto in un unico posto." msgstr "Un'app kanban potente e flessibile che ti aiuta a organizzare il lavoro, monitorare i progressi e ottenere risultati, tutto in un unico posto."
@@ -48,8 +57,8 @@ msgstr "Un'app kanban potente e flessibile che ti aiuta a organizzare il lavoro,
msgid "Account deleted" msgid "Account deleted"
msgstr "Account eliminato" msgstr "Account eliminato"
#: src/views/public/board/CardModal.tsx:140 #: src/views/card/index.tsx:289
#: src/views/card/index.tsx:288 #: src/views/public/board/CardModal.tsx:143
msgid "Activity" msgid "Activity"
msgstr "Attività" msgstr "Attività"
@@ -61,8 +70,8 @@ msgstr "Registri attività"
msgid "Add a card" msgid "Add a card"
msgstr "Aggiungi una carta" msgstr "Aggiungi una carta"
#: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:146 #: src/views/card/components/Comment.tsx:146
#: src/views/card/components/NewCommentForm.tsx:57
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Aggiungi un commento..." msgstr "Aggiungi un commento..."
@@ -87,8 +96,8 @@ msgstr "Aggiungi dettagli..."
msgid "Add label" msgid "Add label"
msgstr "Aggiungi etichetta" msgstr "Aggiungi etichetta"
#: src/views/members/components/InviteMemberForm.tsx:85
#: src/views/card/components/MemberSelector.tsx:130 #: src/views/card/components/MemberSelector.tsx:130
#: src/views/members/components/InviteMemberForm.tsx:149
msgid "Add member" msgid "Add member"
msgstr "Aggiungi membro" msgstr "Aggiungi membro"
@@ -123,14 +132,14 @@ msgstr "ha aggiunto l'elemento <0>{0}</0> alla checklist"
msgid "added label <0>{0}</0>" msgid "added label <0>{0}</0>"
msgstr "ha aggiunto l'etichetta <0>{0}</0>" msgstr "ha aggiunto l'etichetta <0>{0}</0>"
#: src/views/members/components/InviteMemberForm.tsx:186
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
msgstr "L'aggiunta di un nuovo membro costerà un supplemento di {price} ({billingType}) per posto."
#: src/views/home/components/Pricing.tsx:55 #: src/views/home/components/Pricing.tsx:55
msgid "Admin roles" msgid "Admin roles"
msgstr "Ruoli amministratore" msgstr "Ruoli amministratore"
#: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!"
msgstr "Tutti i posti sono gratuiti durante la beta fino al 1° settembre!"
#: src/views/home/components/Footer.tsx:18 #: src/views/home/components/Footer.tsx:18
msgid "All systems operational" msgid "All systems operational"
msgstr "Tutti i sistemi operativi" msgstr "Tutti i sistemi operativi"
@@ -209,8 +218,16 @@ msgstr "Backlog"
msgid "Basic Kanban" msgid "Basic Kanban"
msgstr "Kanban base" msgstr "Kanban base"
#: src/views/settings/index.tsx:198 #: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed annually"
msgstr "fatturato annualmente"
#: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed monthly"
msgstr "fatturato mensilmente"
#: src/views/boards/components/TemplateBoards.tsx:55 #: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
msgid "Billing" msgid "Billing"
msgstr "Fatturazione" msgstr "Fatturazione"
@@ -234,8 +251,8 @@ msgstr "Il nome della bacheca non può superare i 100 caratteri"
msgid "Board name is required" msgid "Board name is required"
msgstr "Il nome della bacheca è obbligatorio" msgstr "Il nome della bacheca è obbligatorio"
#: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:357 #: src/views/board/index.tsx:357
#: src/views/public/board/index.tsx:148
msgid "Board not found" msgid "Board not found"
msgstr "Bacheca non trovata" msgstr "Bacheca non trovata"
@@ -247,7 +264,7 @@ msgstr "L'URL della bacheca può contenere solo lettere, numeri e trattini"
msgid "Board URL cannot exceed 60 characters" msgid "Board URL cannot exceed 60 characters"
msgstr "L'URL della bacheca non può superare i 60 caratteri" msgstr "L'URL della bacheca non può superare i 60 caratteri"
#: src/views/public/board/index.tsx:59 #: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard" msgid "Board URL copied to clipboard"
msgstr "URL della bacheca copiato negli appunti" msgstr "URL della bacheca copiato negli appunti"
@@ -263,8 +280,8 @@ msgstr "Visibilità bacheca"
msgid "Board visibility updated" msgid "Board visibility updated"
msgstr "Visibilità della bacheca aggiornata" msgstr "Visibilità della bacheca aggiornata"
#: src/views/boards/index.tsx:27
#: src/components/SideNavigation.tsx:68 #: src/components/SideNavigation.tsx:68
#: src/views/boards/index.tsx:27
msgid "Boards" msgid "Boards"
msgstr "Bacheche" msgstr "Bacheche"
@@ -285,20 +302,20 @@ msgstr "Bug"
msgid "Bug Report" msgid "Bug Report"
msgstr "Segnalazione bug" msgstr "Segnalazione bug"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/CustomURLConfirmation.tsx:50
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:49 #: src/components/DeleteLabelConfirmation.tsx:49
#: src/views/card/components/Comment.tsx:158
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: 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:50
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
msgid "Cancel" msgid "Cancel"
msgstr "Annulla" msgstr "Annulla"
#: src/views/card/index.tsx:259 #: src/views/card/index.tsx:260
msgid "Card not found" msgid "Card not found"
msgstr "Carta non trovata" msgstr "Carta non trovata"
@@ -306,10 +323,10 @@ msgstr "Carta non trovata"
msgid "Card title" msgid "Card title"
msgstr "Titolo della carta" msgstr "Titolo della carta"
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109 #: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178 #: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
msgid "Change Password" msgid "Change Password"
msgstr "Cambia password" msgstr "Cambia password"
@@ -317,8 +334,8 @@ msgstr "Cambia password"
msgid "Change the language of the app." msgid "Change the language of the app."
msgstr "Cambia la lingua dell'app." msgstr "Cambia la lingua dell'app."
#: src/views/auth/signup/index.tsx:67
#: src/views/auth/login/index.tsx:41 #: src/views/auth/login/index.tsx:41
#: src/views/auth/signup/index.tsx:67
msgid "Check your inbox" msgid "Check your inbox"
msgstr "Controlla la tua casella di posta" msgstr "Controlla la tua casella di posta"
@@ -330,8 +347,8 @@ msgstr "Nome della checklist"
msgid "Clear filters" msgid "Clear filters"
msgstr "Cancella filtri" msgstr "Cancella filtri"
#: src/views/auth/signup/index.tsx:72
#: src/views/auth/login/index.tsx:46 #: src/views/auth/login/index.tsx:46
#: src/views/auth/signup/index.tsx:72
msgid "Click on the link we've sent to {magicLinkRecipient} to sign in." msgid "Click on the link we've sent to {magicLinkRecipient} to sign in."
msgstr "Clicca sul link che abbiamo inviato a {magicLinkRecipient} per accedere." msgstr "Clicca sul link che abbiamo inviato a {magicLinkRecipient} per accedere."
@@ -380,8 +397,8 @@ msgstr "Conferma modifica URL"
msgid "Confirm your new password" msgid "Confirm your new password"
msgstr "Conferma la tua nuova password" msgstr "Conferma la tua nuova password"
#: src/views/settings/index.tsx:235
#: src/views/boards/components/ImportBoardsForm.tsx:157 #: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
msgid "Connect Trello" msgid "Connect Trello"
msgstr "Connetti Trello" msgstr "Connetti Trello"
@@ -405,12 +422,12 @@ msgstr "Contattaci"
msgid "Content Creation" msgid "Content Creation"
msgstr "Creazione contenuti" msgstr "Creazione contenuti"
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Continue with " msgid "Continue with "
msgstr "Continua con " msgstr "Continua con "
#. placeholder {0}: provider.name #. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
#: src/components/AuthForm.tsx:269 #: src/components/AuthForm.tsx:297
msgid "Continue with {0}" msgid "Continue with {0}"
msgstr "Continua con {0}" msgstr "Continua con {0}"
@@ -418,9 +435,9 @@ msgstr "Continua con {0}"
msgid "Control who can view and edit your boards." msgid "Control who can view and edit your boards."
msgstr "Controlla chi può visualizzare e modificare le tue bacheche." msgstr "Controlla chi può visualizzare e modificare le tue bacheche."
#: src/views/board/components/NewListForm.tsx:140
#: src/views/board/components/NewCardForm.tsx:458
#: src/components/LabelForm.tsx:213 #: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:458
#: src/views/board/components/NewListForm.tsx:140
msgid "Create another" msgid "Create another"
msgstr "Crea un altro" msgstr "Crea un altro"
@@ -452,8 +469,8 @@ msgstr "Crea nuova bacheca"
msgid "Create new key" msgid "Create new key"
msgstr "Crea nuova chiave" msgstr "Crea nuova chiave"
#: src/views/card/components/LabelSelector.tsx:98
#: src/views/board/components/NewCardForm.tsx:394 #: src/views/board/components/NewCardForm.tsx:394
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label" msgid "Create new label"
msgstr "Crea nuova etichetta" msgstr "Crea nuova etichetta"
@@ -461,8 +478,8 @@ msgstr "Crea nuova etichetta"
msgid "Create new list" msgid "Create new list"
msgstr "Crea nuova lista" msgstr "Crea nuova lista"
#: src/components/NewWorkspaceForm.tsx:94
#: src/components/WorkspaceMenu.tsx:116 #: src/components/WorkspaceMenu.tsx:116
#: src/components/NewWorkspaceForm.tsx:93
msgid "Create workspace" msgid "Create workspace"
msgstr "Crea spazio di lavoro" msgstr "Crea spazio di lavoro"
@@ -494,17 +511,17 @@ msgstr "Assistenza clienti"
msgid "Dark" msgid "Dark"
msgstr "Scuro" msgstr "Scuro"
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/components/LabelForm.tsx:228
#: src/components/DeleteLabelConfirmation.tsx:51 #: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
msgid "Delete" msgid "Delete"
msgstr "Elimina" msgstr "Elimina"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309 #: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319 #: src/views/settings/index.tsx:319
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
msgid "Delete account" msgid "Delete account"
msgstr "Elimina account" msgstr "Elimina account"
@@ -524,9 +541,9 @@ msgstr "Elimina commento"
msgid "Delete list" msgid "Delete list"
msgstr "Elimina lista" msgstr "Elimina lista"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272 #: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283 #: src/views/settings/index.tsx:283
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
msgid "Delete workspace" msgid "Delete workspace"
msgstr "Elimina spazio di lavoro" msgstr "Elimina spazio di lavoro"
@@ -588,9 +605,9 @@ msgstr "documenti"
msgid "Docs" msgid "Docs"
msgstr "Documenti" msgstr "Documenti"
#: src/views/home/components/Footer.tsx:77
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/components/UserMenu.tsx:191 #: src/components/UserMenu.tsx:191
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/views/home/components/Footer.tsx:77
msgid "Documentation" msgid "Documentation"
msgstr "Documentazione" msgstr "Documentazione"
@@ -605,8 +622,8 @@ msgstr "Non hai un account? <0><1>Registrati</1></0>"
msgid "Done" msgid "Done"
msgstr "Fatto" msgstr "Fatto"
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
#: src/views/board/components/BoardDropdown.tsx:15 #: src/views/board/components/BoardDropdown.tsx:15
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Modifica URL della bacheca" msgstr "Modifica URL della bacheca"
@@ -626,11 +643,11 @@ msgstr "Modifica URL dell'area di lavoro"
msgid "Editing" msgid "Editing"
msgstr "Modifica" msgstr "Modifica"
#: src/components/AuthForm.tsx:337 #: src/components/AuthForm.tsx:368
msgid "email" msgid "email"
msgstr "email" msgstr "email"
#: src/views/members/components/InviteMemberForm.tsx:99 #: src/views/members/components/InviteMemberForm.tsx:163
msgid "Email" msgid "Email"
msgstr "Email" msgstr "Email"
@@ -646,11 +663,11 @@ msgstr "Inserisci la tua password attuale"
msgid "Enter your current password and choose a new secure password." msgid "Enter your current password and choose a new secure password."
msgstr "Inserisci la tua password attuale e scegli una nuova password sicura." msgstr "Inserisci la tua password attuale e scegli una nuova password sicura."
#: src/components/AuthForm.tsx:302 #: src/components/AuthForm.tsx:333
msgid "Enter your email address" msgid "Enter your email address"
msgstr "Inserisci il tuo indirizzo email" msgstr "Inserisci il tuo indirizzo email"
#: src/components/AuthForm.tsx:290 #: src/components/AuthForm.tsx:321
msgid "Enter your name" msgid "Enter your name"
msgstr "Inserisci il tuo nome" msgstr "Inserisci il tuo nome"
@@ -658,7 +675,7 @@ msgstr "Inserisci il tuo nome"
msgid "Enter your new password" msgid "Enter your new password"
msgstr "Inserisci la tua nuova password" msgstr "Inserisci la tua nuova password"
#: src/components/AuthForm.tsx:315 #: src/components/AuthForm.tsx:346
msgid "Enter your password" msgid "Enter your password"
msgstr "Inserisci la tua password" msgstr "Inserisci la tua password"
@@ -682,8 +699,8 @@ msgstr "Errore durante l'eliminazione dell'area di lavoro"
msgid "Error disconnecting Trello" msgid "Error disconnecting Trello"
msgstr "Errore durante la disconnessione da Trello" msgstr "Errore durante la disconnessione da Trello"
#: src/views/members/components/InviteMemberForm.tsx:57 #: src/views/members/components/InviteMemberForm.tsx:76
#: src/views/members/components/InviteMemberForm.tsx:63 #: src/views/members/components/InviteMemberForm.tsx:82
msgid "Error inviting member" msgid "Error inviting member"
msgstr "Errore durante l'invito del membro" msgstr "Errore durante l'invito del membro"
@@ -707,6 +724,10 @@ msgstr "Errore durante l'aggiornamento del nome dell'area di lavoro"
msgid "Error updating workspace URL" msgid "Error updating workspace URL"
msgstr "Errore durante l'aggiornamento dell'URL dell'area di lavoro" msgstr "Errore durante l'aggiornamento dell'URL dell'area di lavoro"
#: src/views/members/components/InviteMemberForm.tsx:132
msgid "Error upgrading subscription"
msgstr "Errore nell'aggiornamento dell'abbonamento"
#: src/views/settings/components/Avatar.tsx:56 #: src/views/settings/components/Avatar.tsx:56
#: src/views/settings/components/Avatar.tsx:97 #: src/views/settings/components/Avatar.tsx:97
msgid "Error uploading profile image" msgid "Error uploading profile image"
@@ -725,12 +746,12 @@ msgid "Execution"
msgstr "Esecuzione" msgstr "Esecuzione"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1) #. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:241 #: src/components/AuthForm.tsx:269
msgid "Failed to login with {0}. Please try again." msgid "Failed to login with {0}. Please try again."
msgstr "Accesso con {0} fallito. Riprova." msgstr "Accesso con {0} fallito. Riprova."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143 #: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs" msgid "FAQs"
msgstr "FAQ" msgstr "FAQ"
@@ -742,14 +763,14 @@ msgstr "Funzionalità"
msgid "Feature Request" msgid "Feature Request"
msgstr "Richiesta funzionalità" msgstr "Richiesta funzionalità"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125 #: src/views/home/components/Features.tsx:125
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Header.tsx:14
msgid "Features" msgid "Features"
msgstr "Funzionalità" msgstr "Funzionalità"
#: src/components/UserMenu.tsx:199
#: src/components/FeedbackModal.tsx:59 #: src/components/FeedbackModal.tsx:59
#: src/components/UserMenu.tsx:199
msgid "Feedback" msgid "Feedback"
msgstr "Feedback" msgstr "Feedback"
@@ -773,6 +794,11 @@ msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni pr
msgid "Free" msgid "Free"
msgstr "Gratuito" msgstr "Gratuito"
#: src/views/members/components/InviteMemberForm.tsx:192
#: src/views/members/index.tsx:184
msgid "Free Plan"
msgstr "Piano gratuito"
#: src/views/home/components/Pricing.tsx:34 #: src/views/home/components/Pricing.tsx:34
msgid "Free, forever" msgid "Free, forever"
msgstr "Gratuito, per sempre" msgstr "Gratuito, per sempre"
@@ -785,10 +811,10 @@ msgstr "Tempo pieno"
msgid "Fun" msgid "Fun"
msgstr "Divertimento" msgstr "Divertimento"
#: src/views/auth/signup/index.tsx:67
#: src/views/home/components/Cta.tsx:61
#: src/views/home/components/Header.tsx:102 #: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141 #: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
#: src/views/auth/signup/index.tsx:67
msgid "Get started" msgid "Get started"
msgstr "Inizia ora" msgstr "Inizia ora"
@@ -813,7 +839,7 @@ msgstr "Inizia gratuitamente oggi"
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team." msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Inizia gratuitamente, senza limiti di utilizzo. Per la collaborazione, passa a un piano adatto alle dimensioni del tuo team." msgstr "Inizia gratuitamente, senza limiti di utilizzo. Per la collaborazione, passa a un piano adatto alle dimensioni del tuo team."
#: src/views/home/index.tsx:75 #: src/views/home/index.tsx:76
msgid "Get started on Cloud" msgid "Get started on Cloud"
msgstr "Inizia su Cloud" msgstr "Inizia su Cloud"
@@ -924,23 +950,27 @@ msgstr "Integrazioni"
msgid "Interviewing" msgid "Interviewing"
msgstr "Colloquio" msgstr "Colloquio"
#: src/views/members/components/InviteMemberForm.tsx:26 #: src/views/members/components/InviteMemberForm.tsx:45
msgid "Invalid email address" msgid "Invalid email address"
msgstr "Indirizzo email non valido" msgstr "Indirizzo email non valido"
#: src/views/members/index.tsx:169 #: src/views/members/index.tsx:193
msgid "Invite" msgid "Invite"
msgstr "Invita" msgstr "Invita"
#: src/views/members/components/InviteMemberForm.tsx:113 #: src/views/members/components/InviteMemberForm.tsx:207
msgid "Invite another" msgid "Invite another"
msgstr "Invita un altro" msgstr "Invita un altro"
#: src/views/members/components/InviteMemberForm.tsx:123
#: src/views/card/components/MemberSelector.tsx:112 #: src/views/card/components/MemberSelector.tsx:112
#: src/views/members/components/InviteMemberForm.tsx:231
msgid "Invite member" msgid "Invite member"
msgstr "Invita membro" msgstr "Invita membro"
#: src/views/members/components/InviteMemberForm.tsx:195
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "L'invito di membri richiede un Piano Team. Sarai reindirizzato per aggiornare il tuo spazio di lavoro."
#: src/views/boards/components/TemplateBoards.tsx:69 #: src/views/boards/components/TemplateBoards.tsx:69
msgid "Junior" msgid "Junior"
msgstr "Junior" msgstr "Junior"
@@ -953,14 +983,14 @@ msgstr "Kanban è migliore con un team. Perfetto per piccoli team in crescita ch
msgid "Kanban reimagined" msgid "Kanban reimagined"
msgstr "Kanban reinventato" msgstr "Kanban reinventato"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57 #: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
msgid "Keep in mind that this action is irreversible." msgid "Keep in mind that this action is irreversible."
msgstr "Tieni presente che questa azione è irreversibile." msgstr "Tieni presente che questa azione è irreversibile."
#: src/views/card/index.tsx:117
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/board/components/Filters.tsx:101 #: src/views/board/components/Filters.tsx:101
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/card/index.tsx:117
msgid "Labels" msgid "Labels"
msgstr "Etichette" msgstr "Etichette"
@@ -988,7 +1018,7 @@ msgstr "Licenza"
msgid "Light" msgid "Light"
msgstr "Chiaro" msgstr "Chiaro"
#: src/views/public/board/index.tsx:57 #: src/views/public/board/index.tsx:62
msgid "Link copied" msgid "Link copied"
msgstr "Link copiato" msgstr "Link copiato"
@@ -1016,7 +1046,7 @@ msgstr "A lungo termine"
msgid "Low Priority" msgid "Low Priority"
msgstr "Bassa priorità" msgstr "Bassa priorità"
#: src/components/AuthForm.tsx:338 #: src/components/AuthForm.tsx:369
msgid "magic link" msgid "magic link"
msgstr "link magico" msgstr "link magico"
@@ -1033,16 +1063,16 @@ msgstr "ha segnato l'elemento <0>{0}</0> della checklist come incompleto"
msgid "Medium Priority" msgid "Medium Priority"
msgstr "Media priorità" msgstr "Media priorità"
#: src/views/members/index.tsx:161
#: src/views/card/index.tsx:125
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/board/components/Filters.tsx:93
#: src/components/SideNavigation.tsx:73 #: src/components/SideNavigation.tsx:73
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/card/index.tsx:125
#: src/views/members/index.tsx:171
msgid "Members" msgid "Members"
msgstr "Membri" msgstr "Membri"
#. placeholder {0}: workspace.name ?? "Workspace" #. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:157 #: src/views/members/index.tsx:167
msgid "Members | {0}" msgid "Members | {0}"
msgstr "Membri | {0}" msgstr "Membri | {0}"
@@ -1050,6 +1080,10 @@ msgstr "Membri | {0}"
msgid "Monthly" msgid "Monthly"
msgstr "Mensile" msgstr "Mensile"
#: src/views/members/components/InviteMemberForm.tsx:92
msgid "monthly billing"
msgstr "fatturazione mensile"
#. placeholder {0}: truncate(fromList) #. placeholder {0}: truncate(fromList)
#. placeholder {1}: truncate(toList) #. placeholder {1}: truncate(toList)
#: src/views/card/components/ActivityList.tsx:98 #: src/views/card/components/ActivityList.tsx:98
@@ -1060,8 +1094,8 @@ msgstr "ha spostato la scheda da <0>{0}</0> a<1>{1}</1>"
msgid "moved the card to another list" msgid "moved the card to another list"
msgstr "ha spostato la scheda in un'altra lista" msgstr "ha spostato la scheda in un'altra lista"
#: src/views/boards/components/NewBoardForm.tsx:99
#: src/components/LabelForm.tsx:135 #: src/components/LabelForm.tsx:135
#: src/views/boards/components/NewBoardForm.tsx:99
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
@@ -1093,8 +1127,8 @@ msgstr "Nuova importazione"
msgid "New label" msgid "New label"
msgstr "Nuova etichetta" msgstr "Nuova etichetta"
#: src/views/board/index.tsx:394
#: src/views/board/components/NewListForm.tsx:112 #: src/views/board/components/NewListForm.tsx:112
#: src/views/board/index.tsx:394
msgid "New list" msgid "New list"
msgstr "Nuova lista" msgstr "Nuova lista"
@@ -1110,7 +1144,7 @@ msgstr "La nuova password deve essere diversa dalla password attuale"
msgid "New Ticket" msgid "New Ticket"
msgstr "Nuovo ticket" msgstr "Nuovo ticket"
#: src/components/NewWorkspaceForm.tsx:64 #: src/components/NewWorkspaceForm.tsx:65
msgid "New workspace" msgid "New workspace"
msgstr "Nuovo spazio di lavoro" msgstr "Nuovo spazio di lavoro"
@@ -1130,7 +1164,7 @@ msgstr "Nessuna bacheca"
msgid "No boards found" msgid "No boards found"
msgstr "Nessuna bacheca trovata" msgstr "Nessuna bacheca trovata"
#: src/views/home/index.tsx:85 #: src/views/home/index.tsx:86
msgid "No credit card required" msgid "No credit card required"
msgstr "Nessuna carta di credito richiesta" msgstr "Nessuna carta di credito richiesta"
@@ -1154,7 +1188,7 @@ msgstr "Una volta eliminato il tuo account, non si può tornare indietro. Questa
msgid "Once you delete your workspace, there is no going back. This action cannot be undone." 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." msgstr "Una volta eliminata l'area di lavoro, non si può tornare indietro. Questa azione non può essere annullata."
#: src/components/AuthForm.tsx:280 #: src/components/AuthForm.tsx:311
msgid "or" msgid "or"
msgstr "o" msgstr "o"
@@ -1182,11 +1216,11 @@ msgstr "La password deve contenere almeno 8 caratteri"
msgid "Passwords do not match" msgid "Passwords do not match"
msgstr "Le password non corrispondono" msgstr "Le password non corrispondono"
#: src/views/home/components/Pricing.tsx:101 #: src/views/home/components/Pricing.tsx:96
msgid "Payment frequency" msgid "Payment frequency"
msgstr "Frequenza di pagamento" msgstr "Frequenza di pagamento"
#: src/views/members/index.tsx:118 #: src/views/members/index.tsx:128
msgid "Pending" msgid "Pending"
msgstr "In attesa" msgstr "In attesa"
@@ -1207,15 +1241,15 @@ msgstr "Pianificazione"
msgid "Please confirm your new password" msgid "Please confirm your new password"
msgstr "Conferma la tua nuova password" msgstr "Conferma la tua nuova password"
#: src/components/AuthForm.tsx:306 #: src/components/AuthForm.tsx:337
msgid "Please enter a valid email address" msgid "Please enter a valid email address"
msgstr "Inserisci un indirizzo email valido" msgstr "Inserisci un indirizzo email valido"
#: src/components/AuthForm.tsx:294 #: src/components/AuthForm.tsx:325
msgid "Please enter a valid name" msgid "Please enter a valid name"
msgstr "Inserisci un nome valido" msgstr "Inserisci un nome valido"
#: src/components/AuthForm.tsx:319 #: src/components/AuthForm.tsx:350
msgid "Please enter a valid password" msgid "Please enter a valid password"
msgstr "Inserisci una password valida" msgstr "Inserisci una password valida"
@@ -1223,46 +1257,47 @@ msgstr "Inserisci una password valida"
msgid "Please select a file to upload." msgid "Please select a file to upload."
msgstr "Seleziona un file da caricare." msgstr "Seleziona un file da caricare."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74 #: src/components/DeleteLabelConfirmation.tsx:26
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57 #: src/components/FeedbackModal.tsx:41
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62 #: src/components/NewWorkspaceForm.tsx:42
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55 #: src/views/board/components/NewCardForm.tsx:174
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46 #: src/views/board/components/NewListForm.tsx:78
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40 #: src/views/board/components/UpdateBoardSlugForm.tsx:72
#: src/views/settings/components/Avatar.tsx:40 #: src/views/board/components/VisibilityButton.tsx:53
#: src/views/settings/components/Avatar.tsx:98
#: src/views/members/components/InviteMemberForm.tsx:64
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/card/index.tsx:172
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:64
#: src/views/card/components/ChecklistNameInput.tsx:46
#: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:134 #: src/views/board/index.tsx:134
#: src/views/board/index.tsx:190 #: src/views/board/index.tsx:190
#: src/views/board/components/VisibilityButton.tsx:53 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/components/UpdateBoardSlugForm.tsx:72 #: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/board/components/NewListForm.tsx:78 #: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/board/components/NewCardForm.tsx:174 #: src/views/card/components/ChecklistNameInput.tsx:46
#: src/components/NewWorkspaceForm.tsx:41 #: src/views/card/components/Comment.tsx:64
#: src/components/FeedbackModal.tsx:41 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/components/DeleteLabelConfirmation.tsx:26 #: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/index.tsx:173
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:83
#: src/views/members/components/InviteMemberForm.tsx:133
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: 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
msgid "Please try again later, or contact customer support." msgid "Please try again later, or contact customer support."
msgstr "Riprova più tardi o contatta l'assistenza clienti." msgstr "Riprova più tardi o contatta l'assistenza clienti."
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50 #: src/views/home/components/Footer.tsx:50
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Pricing.tsx:85
msgid "Pricing" msgid "Pricing"
msgstr "Prezzi" msgstr "Prezzi"
@@ -1318,7 +1353,7 @@ msgstr "Remoto"
msgid "Remove" msgid "Remove"
msgstr "Rimuovi" msgstr "Rimuovi"
#: src/views/members/index.tsx:132 #: src/views/members/index.tsx:142
msgid "Remove member" msgid "Remove member"
msgstr "Rimuovi membro" msgstr "Rimuovi membro"
@@ -1369,12 +1404,12 @@ msgstr "Revisione"
msgid "Revoke" msgid "Revoke"
msgstr "Revoca" msgstr "Revoca"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36 #: src/views/home/components/Footer.tsx:36
#: src/views/home/components/Header.tsx:13
msgid "Roadmap" msgid "Roadmap"
msgstr "Roadmap" msgstr "Roadmap"
#: src/views/members/index.tsx:191 #: src/views/members/index.tsx:215
msgid "Role" msgid "Role"
msgstr "Ruolo" msgstr "Ruolo"
@@ -1406,7 +1441,7 @@ msgstr "Seleziona fonte"
msgid "Self Host" msgid "Self Host"
msgstr "Self Host" msgstr "Self Host"
#: src/views/home/index.tsx:81 #: src/views/home/index.tsx:82
msgid "Self host with Github" msgid "Self host with Github"
msgstr "Self host con Github" msgstr "Self host con Github"
@@ -1422,8 +1457,8 @@ msgstr "Invia feedback"
msgid "Senior" msgid "Senior"
msgstr "Senior" msgstr "Senior"
#: src/views/settings/index.tsx:140
#: src/components/SideNavigation.tsx:78 #: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
msgid "Settings" msgid "Settings"
msgstr "Impostazioni" msgstr "Impostazioni"
@@ -1450,7 +1485,7 @@ msgstr "Registrazione disabilitata"
msgid "Sign up is currently disabled. Please try again later." msgid "Sign up is currently disabled. Please try again later."
msgstr "La registrazione è attualmente disabilitata. Riprova più tardi." msgstr "La registrazione è attualmente disabilitata. Riprova più tardi."
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Sign up with " msgid "Sign up with "
msgstr "Registrati con " msgstr "Registrati con "
@@ -1470,12 +1505,12 @@ msgstr "Social media"
msgid "Software Development" msgid "Software Development"
msgstr "Sviluppo software" msgstr "Sviluppo software"
#: src/views/home/index.tsx:37 #: src/views/home/index.tsx:38
msgid "Star on Github" msgid "Star on Github"
msgstr "Metti una stella su Github" msgstr "Metti una stella su Github"
#: src/components/AuthForm.tsx:188 #: src/components/AuthForm.tsx:203
#: src/components/AuthForm.tsx:205 #: src/components/AuthForm.tsx:220
msgid "Success" msgid "Success"
msgstr "Operazione riuscita" msgstr "Operazione riuscita"
@@ -1491,6 +1526,11 @@ msgstr "Sostieni lo sviluppo del progetto"
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
#: src/views/members/components/InviteMemberForm.tsx:183
#: src/views/members/index.tsx:184
msgid "Team Plan"
msgstr "Piano Team"
#: src/views/home/components/Pricing.tsx:46 #: src/views/home/components/Pricing.tsx:46
msgid "Teams" msgid "Teams"
msgstr "Team" msgstr "Team"
@@ -1515,7 +1555,7 @@ msgstr "La password attuale inserita non è corretta."
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall." msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "La principale differenza tra Kan e Trello è che Kan è open source, permettendo a chiunque di visualizzare, modificare e contribuire al nostro codice. La nostra offerta cloud non impone inoltre alcuna restrizione sulle funzionalità per uso individuale, mentre Trello blocca funzionalità di base come il numero di bacheche che puoi creare dietro un paywall." msgstr "La principale differenza tra Kan e Trello è che Kan è open source, permettendo a chiunque di visualizzare, modificare e contribuire al nostro codice. La nostra offerta cloud non impone inoltre alcuna restrizione sulle funzionalità per uso individuale, mentre Trello blocca funzionalità di base come il numero di bacheche che puoi creare dietro un paywall."
#: src/views/home/index.tsx:65 #: src/views/home/index.tsx:66
msgid "The open source <0/> alternative to Trello" msgid "The open source <0/> alternative to Trello"
msgstr "L'alternativa open source <0/> a Trello" msgstr "L'alternativa open source <0/> a Trello"
@@ -1532,14 +1572,14 @@ msgstr "Tema"
msgid "They won't be able to access this workspace." msgid "They won't be able to access this workspace."
msgstr "Non potranno accedere a questo spazio di lavoro." msgstr "Non potranno accedere a questo spazio di lavoro."
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/components/DeleteLabelConfirmation.tsx:44 #: src/components/DeleteLabelConfirmation.tsx:44
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Questa azione non può essere annullata." msgstr "Questa azione non può essere annullata."
#: src/views/public/board/index.tsx:146 #: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Questa bacheca è privata o non esiste" msgstr "Questa bacheca è privata o non esiste"
@@ -1604,7 +1644,7 @@ msgstr "Impossibile creare la checklist"
msgid "Unable to create list" msgid "Unable to create list"
msgstr "Impossibile creare la lista" msgstr "Impossibile creare la lista"
#: src/components/NewWorkspaceForm.tsx:40 #: src/components/NewWorkspaceForm.tsx:41
msgid "Unable to create workspace" msgid "Unable to create workspace"
msgstr "Impossibile creare lo spazio di lavoro" msgstr "Impossibile creare lo spazio di lavoro"
@@ -1640,8 +1680,8 @@ msgstr "Impossibile aggiornare l'URL della bacheca"
msgid "Unable to update board visibility" msgid "Unable to update board visibility"
msgstr "Impossibile aggiornare la visibilità della bacheca" msgstr "Impossibile aggiornare la visibilità della bacheca"
#: src/views/card/index.tsx:171
#: src/views/board/index.tsx:189 #: src/views/board/index.tsx:189
#: src/views/card/index.tsx:172
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Impossibile aggiornare la scheda" msgstr "Impossibile aggiornare la scheda"
@@ -1661,8 +1701,8 @@ msgstr "Impossibile aggiornare il commento"
msgid "Unable to update labels" msgid "Unable to update labels"
msgstr "Impossibile aggiornare le etichette" msgstr "Impossibile aggiornare le etichette"
#: src/views/card/components/ListSelector.tsx:52
#: src/views/board/index.tsx:133 #: src/views/board/index.tsx:133
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list" msgid "Unable to update list"
msgstr "Impossibile aggiornare la lista" msgstr "Impossibile aggiornare la lista"
@@ -1703,11 +1743,11 @@ msgstr "Commenti illimitati"
msgid "Unlimited lists" msgid "Unlimited lists"
msgstr "Liste illimitate" msgstr "Liste illimitate"
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/board/components/UpdateBoardSlugForm.tsx:174 #: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
msgid "Update" msgid "Update"
msgstr "Aggiorna" msgstr "Aggiorna"
@@ -1736,6 +1776,10 @@ msgstr "ha aggiornato il titolo in <0>{0}</0>"
msgid "Upgrade" msgid "Upgrade"
msgstr "Aggiorna" msgstr "Aggiorna"
#: src/views/members/components/InviteMemberForm.tsx:222
msgid "Upgrade to Team Plan"
msgstr "Passa al Piano Team"
#: src/views/boards/components/TemplateBoards.tsx:37 #: src/views/boards/components/TemplateBoards.tsx:37
#: src/views/boards/components/TemplateBoards.tsx:54 #: src/views/boards/components/TemplateBoards.tsx:54
msgid "Urgent" msgid "Urgent"
@@ -1757,11 +1801,11 @@ msgstr "L'URL deve contenere almeno 3 caratteri"
msgid "Use template" msgid "Use template"
msgstr "Usa template" msgstr "Usa template"
#: src/views/members/index.tsx:185 #: src/views/members/index.tsx:209
msgid "User" msgid "User"
msgstr "Utente" msgstr "Utente"
#: src/views/members/components/InviteMemberForm.tsx:58 #: src/views/members/components/InviteMemberForm.tsx:77
msgid "User is already a member of this workspace" msgid "User is already a member of this workspace"
msgstr "L'utente è già membro di questo spazio di lavoro" msgstr "L'utente è già membro di questo spazio di lavoro"
@@ -1781,7 +1825,7 @@ msgstr "Visualizza e gestisci la tua fatturazione e abbonamento."
msgid "View docs" msgid "View docs"
msgstr "Visualizza documenti" msgstr "Visualizza documenti"
#: src/views/public/board/index.tsx:120 #: src/views/public/board/index.tsx:125
msgid "View only" msgid "View only"
msgstr "Solo visualizzazione" msgstr "Solo visualizzazione"
@@ -1789,7 +1833,7 @@ msgstr "Solo visualizzazione"
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Visualizza la nostra roadmap." msgstr "Visualizza la nostra roadmap."
#: src/views/public/board/index.tsx:149 #: src/views/public/board/index.tsx:154
msgid "View workspace" msgid "View workspace"
msgstr "Visualizza spazio di lavoro" msgstr "Visualizza spazio di lavoro"
@@ -1849,13 +1893,13 @@ msgstr "La descrizione dell'area di lavoro deve contenere almeno 3 caratteri"
msgid "Workspace description updated" msgid "Workspace description updated"
msgstr "Descrizione dell'area di lavoro aggiornata" msgstr "Descrizione dell'area di lavoro aggiornata"
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83 #: src/views/home/components/Features.tsx:83
#: src/views/home/components/Pricing.tsx:54
msgid "Workspace members" msgid "Workspace members"
msgstr "Membri del workspace" msgstr "Membri del workspace"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158 #: src/views/settings/index.tsx:158
#: src/components/NewWorkspaceForm.tsx:80
msgid "Workspace name" msgid "Workspace name"
msgstr "Nome dello spazio di lavoro" msgstr "Nome dello spazio di lavoro"
@@ -1907,11 +1951,11 @@ msgstr "Puoi invitare i membri del team cliccando sul pulsante \"Invita\" nell'a
msgid "You can self-host by following the instructions in our <0>repo</0>." msgid "You can self-host by following the instructions in our <0>repo</0>."
msgstr "Puoi effettuare il self-hosting seguendo le istruzioni nel nostro <0>repo</0>." msgstr "Puoi effettuare il self-hosting seguendo le istruzioni nel nostro <0>repo</0>."
#: src/components/AuthForm.tsx:206 #: src/components/AuthForm.tsx:221
msgid "You have been logged in successfully." msgid "You have been logged in successfully."
msgstr "Hai effettuato l'accesso con successo." msgstr "Hai effettuato l'accesso con successo."
#: src/components/AuthForm.tsx:189 #: src/components/AuthForm.tsx:204
msgid "You have been signed up successfully." msgid "You have been signed up successfully."
msgstr "Ti sei registrato con successo." msgstr "Ti sei registrato con successo."

File diff suppressed because one or more lines are too long

View File

@@ -23,7 +23,7 @@ msgstr ", of bekijk onze"
#. placeholder {0}: card?.title ?? "Card" #. placeholder {0}: card?.title ?? "Card"
#. placeholder {1}: board?.name ?? "Board" #. placeholder {1}: board?.name ?? "Board"
#: src/views/card/index.tsx:213 #: src/views/card/index.tsx:214
msgid "{0} | {1}" msgid "{0} | {1}"
msgstr "{0} | {1}" msgstr "{0} | {1}"
@@ -36,11 +36,20 @@ msgstr "{0} labels"
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}" msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
msgstr "{boardCount, plural, one {Bord importeren (1)} other {Borden importeren ({boardCount})}}" msgstr "{boardCount, plural, one {Bord importeren (1)} other {Borden importeren ({boardCount})}}"
#: src/views/members/components/InviteMemberForm.tsx:91
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$10/month"
msgstr "$10/maand"
#: src/views/members/components/InviteMemberForm.tsx:106
msgid "$8/month"
msgstr "$8/maand"
#: src/views/home/components/Pricing.tsx:36 #: src/views/home/components/Pricing.tsx:36
msgid "1 user" msgid "1 user"
msgstr "1 gebruiker" msgstr "1 gebruiker"
#: src/views/home/index.tsx:71 #: src/views/home/index.tsx:72
msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place." msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
msgstr "Een krachtige, flexibele kanban-app die je helpt werk te organiseren, voortgang bij te houden en resultaten te leveren—allemaal op één plek." msgstr "Een krachtige, flexibele kanban-app die je helpt werk te organiseren, voortgang bij te houden en resultaten te leveren—allemaal op één plek."
@@ -48,8 +57,8 @@ msgstr "Een krachtige, flexibele kanban-app die je helpt werk te organiseren, vo
msgid "Account deleted" msgid "Account deleted"
msgstr "Account verwijderd" msgstr "Account verwijderd"
#: src/views/public/board/CardModal.tsx:140 #: src/views/card/index.tsx:289
#: src/views/card/index.tsx:288 #: src/views/public/board/CardModal.tsx:143
msgid "Activity" msgid "Activity"
msgstr "Activiteit" msgstr "Activiteit"
@@ -61,8 +70,8 @@ msgstr "Activiteitenlogboeken"
msgid "Add a card" msgid "Add a card"
msgstr "Voeg een kaart toe" msgstr "Voeg een kaart toe"
#: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:146 #: src/views/card/components/Comment.tsx:146
#: src/views/card/components/NewCommentForm.tsx:57
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Voeg een reactie toe..." msgstr "Voeg een reactie toe..."
@@ -87,8 +96,8 @@ msgstr "Details toevoegen..."
msgid "Add label" msgid "Add label"
msgstr "Label toevoegen" msgstr "Label toevoegen"
#: src/views/members/components/InviteMemberForm.tsx:85
#: src/views/card/components/MemberSelector.tsx:130 #: src/views/card/components/MemberSelector.tsx:130
#: src/views/members/components/InviteMemberForm.tsx:149
msgid "Add member" msgid "Add member"
msgstr "Lid toevoegen" msgstr "Lid toevoegen"
@@ -123,14 +132,14 @@ msgstr "heeft checklistitem <0>{0}</0> toegevoegd"
msgid "added label <0>{0}</0>" msgid "added label <0>{0}</0>"
msgstr "heeft label <0>{0}</0> toegevoegd" msgstr "heeft label <0>{0}</0> toegevoegd"
#: src/views/members/components/InviteMemberForm.tsx:186
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
msgstr "Het toevoegen van een nieuw lid kost een extra {price} ({billingType}) per plaats."
#: src/views/home/components/Pricing.tsx:55 #: src/views/home/components/Pricing.tsx:55
msgid "Admin roles" msgid "Admin roles"
msgstr "Beheerdersrollen" msgstr "Beheerdersrollen"
#: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!"
msgstr "Alle plaatsen zijn gratis tijdens de bèta tot 1 september!"
#: src/views/home/components/Footer.tsx:18 #: src/views/home/components/Footer.tsx:18
msgid "All systems operational" msgid "All systems operational"
msgstr "Alle systemen operationeel" msgstr "Alle systemen operationeel"
@@ -209,8 +218,16 @@ msgstr "Backlog"
msgid "Basic Kanban" msgid "Basic Kanban"
msgstr "Basis kanban" msgstr "Basis kanban"
#: src/views/settings/index.tsx:198 #: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed annually"
msgstr "jaarlijks gefactureerd"
#: src/views/members/components/InviteMemberForm.tsx:107
msgid "billed monthly"
msgstr "maandelijks gefactureerd"
#: src/views/boards/components/TemplateBoards.tsx:55 #: src/views/boards/components/TemplateBoards.tsx:55
#: src/views/settings/index.tsx:198
msgid "Billing" msgid "Billing"
msgstr "Facturering" msgstr "Facturering"
@@ -234,8 +251,8 @@ msgstr "Bordnaam mag niet langer zijn dan 100 tekens"
msgid "Board name is required" msgid "Board name is required"
msgstr "Bordnaam is verplicht" msgstr "Bordnaam is verplicht"
#: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:357 #: src/views/board/index.tsx:357
#: src/views/public/board/index.tsx:148
msgid "Board not found" msgid "Board not found"
msgstr "Bord niet gevonden" msgstr "Bord niet gevonden"
@@ -247,7 +264,7 @@ msgstr "Board URL kan alleen letters, cijfers en koppeltekens bevatten"
msgid "Board URL cannot exceed 60 characters" msgid "Board URL cannot exceed 60 characters"
msgstr "Board URL mag niet langer zijn dan 60 tekens" msgstr "Board URL mag niet langer zijn dan 60 tekens"
#: src/views/public/board/index.tsx:59 #: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard" msgid "Board URL copied to clipboard"
msgstr "Board URL gekopieerd naar klembord" msgstr "Board URL gekopieerd naar klembord"
@@ -263,8 +280,8 @@ msgstr "Bordzichtbaarheid"
msgid "Board visibility updated" msgid "Board visibility updated"
msgstr "Zichtbaarheid van bord bijgewerkt" msgstr "Zichtbaarheid van bord bijgewerkt"
#: src/views/boards/index.tsx:27
#: src/components/SideNavigation.tsx:68 #: src/components/SideNavigation.tsx:68
#: src/views/boards/index.tsx:27
msgid "Boards" msgid "Boards"
msgstr "Borden" msgstr "Borden"
@@ -285,20 +302,20 @@ msgstr "Bug"
msgid "Bug Report" msgid "Bug Report"
msgstr "Bugrapport" msgstr "Bugrapport"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/CustomURLConfirmation.tsx:50
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:49 #: src/components/DeleteLabelConfirmation.tsx:49
#: src/views/card/components/Comment.tsx:158
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: 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:50
#: src/views/settings/components/DeleteAccountConfirmation.tsx:88
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:98
msgid "Cancel" msgid "Cancel"
msgstr "Annuleren" msgstr "Annuleren"
#: src/views/card/index.tsx:259 #: src/views/card/index.tsx:260
msgid "Card not found" msgid "Card not found"
msgstr "Kaart niet gevonden" msgstr "Kaart niet gevonden"
@@ -306,10 +323,10 @@ msgstr "Kaart niet gevonden"
msgid "Card title" msgid "Card title"
msgstr "Kaarttitel" msgstr "Kaarttitel"
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
#: src/views/settings/components/ChangePasswordConfirmation.tsx:109 #: src/views/settings/components/ChangePasswordConfirmation.tsx:109
#: src/views/settings/components/ChangePasswordConfirmation.tsx:178 #: src/views/settings/components/ChangePasswordConfirmation.tsx:178
#: src/views/settings/index.tsx:291
#: src/views/settings/index.tsx:301
msgid "Change Password" msgid "Change Password"
msgstr "Wachtwoord wijzigen" msgstr "Wachtwoord wijzigen"
@@ -317,8 +334,8 @@ msgstr "Wachtwoord wijzigen"
msgid "Change the language of the app." msgid "Change the language of the app."
msgstr "Wijzig de taal van de app." msgstr "Wijzig de taal van de app."
#: src/views/auth/signup/index.tsx:67
#: src/views/auth/login/index.tsx:41 #: src/views/auth/login/index.tsx:41
#: src/views/auth/signup/index.tsx:67
msgid "Check your inbox" msgid "Check your inbox"
msgstr "Controleer je inbox" msgstr "Controleer je inbox"
@@ -330,8 +347,8 @@ msgstr "Naam checklist"
msgid "Clear filters" msgid "Clear filters"
msgstr "Filters wissen" msgstr "Filters wissen"
#: src/views/auth/signup/index.tsx:72
#: src/views/auth/login/index.tsx:46 #: src/views/auth/login/index.tsx:46
#: src/views/auth/signup/index.tsx:72
msgid "Click on the link we've sent to {magicLinkRecipient} to sign in." msgid "Click on the link we've sent to {magicLinkRecipient} to sign in."
msgstr "Klik op de link die we naar {magicLinkRecipient} hebben gestuurd om in te loggen." msgstr "Klik op de link die we naar {magicLinkRecipient} hebben gestuurd om in te loggen."
@@ -380,8 +397,8 @@ msgstr "URL-wijziging bevestigen"
msgid "Confirm your new password" msgid "Confirm your new password"
msgstr "Bevestig je nieuwe wachtwoord" msgstr "Bevestig je nieuwe wachtwoord"
#: src/views/settings/index.tsx:235
#: src/views/boards/components/ImportBoardsForm.tsx:157 #: src/views/boards/components/ImportBoardsForm.tsx:157
#: src/views/settings/index.tsx:235
msgid "Connect Trello" msgid "Connect Trello"
msgstr "Verbind Trello" msgstr "Verbind Trello"
@@ -405,12 +422,12 @@ msgstr "Neem contact op"
msgid "Content Creation" msgid "Content Creation"
msgstr "Content creatie" msgstr "Content creatie"
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Continue with " msgid "Continue with "
msgstr "Doorgaan met " msgstr "Doorgaan met "
#. placeholder {0}: provider.name #. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
#: src/components/AuthForm.tsx:269 #: src/components/AuthForm.tsx:297
msgid "Continue with {0}" msgid "Continue with {0}"
msgstr "Doorgaan met {0}" msgstr "Doorgaan met {0}"
@@ -418,9 +435,9 @@ msgstr "Doorgaan met {0}"
msgid "Control who can view and edit your boards." msgid "Control who can view and edit your boards."
msgstr "Bepaal wie je borden kan bekijken en bewerken." msgstr "Bepaal wie je borden kan bekijken en bewerken."
#: src/views/board/components/NewListForm.tsx:140
#: src/views/board/components/NewCardForm.tsx:458
#: src/components/LabelForm.tsx:213 #: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:458
#: src/views/board/components/NewListForm.tsx:140
msgid "Create another" msgid "Create another"
msgstr "Maak nog een" msgstr "Maak nog een"
@@ -452,8 +469,8 @@ msgstr "Nieuw bord maken"
msgid "Create new key" msgid "Create new key"
msgstr "Nieuwe sleutel aanmaken" msgstr "Nieuwe sleutel aanmaken"
#: src/views/card/components/LabelSelector.tsx:98
#: src/views/board/components/NewCardForm.tsx:394 #: src/views/board/components/NewCardForm.tsx:394
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label" msgid "Create new label"
msgstr "Maak nieuw label" msgstr "Maak nieuw label"
@@ -461,8 +478,8 @@ msgstr "Maak nieuw label"
msgid "Create new list" msgid "Create new list"
msgstr "Maak nieuwe lijst" msgstr "Maak nieuwe lijst"
#: src/components/NewWorkspaceForm.tsx:94
#: src/components/WorkspaceMenu.tsx:116 #: src/components/WorkspaceMenu.tsx:116
#: src/components/NewWorkspaceForm.tsx:93
msgid "Create workspace" msgid "Create workspace"
msgstr "Werkruimte maken" msgstr "Werkruimte maken"
@@ -494,17 +511,17 @@ msgstr "Klantenservice"
msgid "Dark" msgid "Dark"
msgstr "Donker" msgstr "Donker"
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/components/LabelForm.tsx:228
#: src/components/DeleteLabelConfirmation.tsx:51 #: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
msgid "Delete" msgid "Delete"
msgstr "Verwijderen" msgstr "Verwijderen"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
#: src/views/settings/index.tsx:309 #: src/views/settings/index.tsx:309
#: src/views/settings/index.tsx:319 #: src/views/settings/index.tsx:319
#: src/views/settings/components/DeleteAccountConfirmation.tsx:96
msgid "Delete account" msgid "Delete account"
msgstr "Account verwijderen" msgstr "Account verwijderen"
@@ -524,9 +541,9 @@ msgstr "Reactie verwijderen"
msgid "Delete list" msgid "Delete list"
msgstr "Lijst verwijderen" msgstr "Lijst verwijderen"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
#: src/views/settings/index.tsx:272 #: src/views/settings/index.tsx:272
#: src/views/settings/index.tsx:283 #: src/views/settings/index.tsx:283
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:106
msgid "Delete workspace" msgid "Delete workspace"
msgstr "Werkruimte verwijderen" msgstr "Werkruimte verwijderen"
@@ -588,9 +605,9 @@ msgstr "docs"
msgid "Docs" msgid "Docs"
msgstr "Docs" msgstr "Docs"
#: src/views/home/components/Footer.tsx:77
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/components/UserMenu.tsx:191 #: src/components/UserMenu.tsx:191
#: src/views/boards/components/TemplateBoards.tsx:23
#: src/views/home/components/Footer.tsx:77
msgid "Documentation" msgid "Documentation"
msgstr "Documentatie" msgstr "Documentatie"
@@ -605,8 +622,8 @@ msgstr "Heb je geen account? <0><1>Registreer je</1></0>"
msgid "Done" msgid "Done"
msgstr "Klaar" msgstr "Klaar"
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
#: src/views/board/components/BoardDropdown.tsx:15 #: src/views/board/components/BoardDropdown.tsx:15
#: src/views/board/components/UpdateBoardSlugForm.tsx:115
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Board URL bewerken" msgstr "Board URL bewerken"
@@ -626,11 +643,11 @@ msgstr "Werkruimte-URL bewerken"
msgid "Editing" msgid "Editing"
msgstr "Bewerken" msgstr "Bewerken"
#: src/components/AuthForm.tsx:337 #: src/components/AuthForm.tsx:368
msgid "email" msgid "email"
msgstr "e-mail" msgstr "e-mail"
#: src/views/members/components/InviteMemberForm.tsx:99 #: src/views/members/components/InviteMemberForm.tsx:163
msgid "Email" msgid "Email"
msgstr "E-mail" msgstr "E-mail"
@@ -646,11 +663,11 @@ msgstr "Voer je huidige wachtwoord in"
msgid "Enter your current password and choose a new secure password." msgid "Enter your current password and choose a new secure password."
msgstr "Voer je huidige wachtwoord in en kies een nieuw veilig wachtwoord." msgstr "Voer je huidige wachtwoord in en kies een nieuw veilig wachtwoord."
#: src/components/AuthForm.tsx:302 #: src/components/AuthForm.tsx:333
msgid "Enter your email address" msgid "Enter your email address"
msgstr "Voer je e-mailadres in" msgstr "Voer je e-mailadres in"
#: src/components/AuthForm.tsx:290 #: src/components/AuthForm.tsx:321
msgid "Enter your name" msgid "Enter your name"
msgstr "Voer je naam in" msgstr "Voer je naam in"
@@ -658,7 +675,7 @@ msgstr "Voer je naam in"
msgid "Enter your new password" msgid "Enter your new password"
msgstr "Voer je nieuwe wachtwoord in" msgstr "Voer je nieuwe wachtwoord in"
#: src/components/AuthForm.tsx:315 #: src/components/AuthForm.tsx:346
msgid "Enter your password" msgid "Enter your password"
msgstr "Voer je wachtwoord in" msgstr "Voer je wachtwoord in"
@@ -682,8 +699,8 @@ msgstr "Fout bij verwijderen werkruimte"
msgid "Error disconnecting Trello" msgid "Error disconnecting Trello"
msgstr "Fout bij ontkoppelen van Trello" msgstr "Fout bij ontkoppelen van Trello"
#: src/views/members/components/InviteMemberForm.tsx:57 #: src/views/members/components/InviteMemberForm.tsx:76
#: src/views/members/components/InviteMemberForm.tsx:63 #: src/views/members/components/InviteMemberForm.tsx:82
msgid "Error inviting member" msgid "Error inviting member"
msgstr "Fout bij het uitnodigen van lid" msgstr "Fout bij het uitnodigen van lid"
@@ -707,6 +724,10 @@ msgstr "Fout bij bijwerken naam werkruimte"
msgid "Error updating workspace URL" msgid "Error updating workspace URL"
msgstr "Fout bij het bijwerken van werkruimte-URL" msgstr "Fout bij het bijwerken van werkruimte-URL"
#: src/views/members/components/InviteMemberForm.tsx:132
msgid "Error upgrading subscription"
msgstr "Fout bij het upgraden van abonnement"
#: src/views/settings/components/Avatar.tsx:56 #: src/views/settings/components/Avatar.tsx:56
#: src/views/settings/components/Avatar.tsx:97 #: src/views/settings/components/Avatar.tsx:97
msgid "Error uploading profile image" msgid "Error uploading profile image"
@@ -725,12 +746,12 @@ msgid "Execution"
msgstr "Uitvoering" msgstr "Uitvoering"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1) #. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:241 #: src/components/AuthForm.tsx:269
msgid "Failed to login with {0}. Please try again." msgid "Failed to login with {0}. Please try again."
msgstr "Inloggen met {0} is mislukt. Probeer het opnieuw." msgstr "Inloggen met {0} is mislukt. Probeer het opnieuw."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143 #: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs" msgid "FAQs"
msgstr "Veelgestelde vragen" msgstr "Veelgestelde vragen"
@@ -742,14 +763,14 @@ msgstr "Functie"
msgid "Feature Request" msgid "Feature Request"
msgstr "Functieverzoek" msgstr "Functieverzoek"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125 #: src/views/home/components/Features.tsx:125
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Header.tsx:14
msgid "Features" msgid "Features"
msgstr "Functies" msgstr "Functies"
#: src/components/UserMenu.tsx:199
#: src/components/FeedbackModal.tsx:59 #: src/components/FeedbackModal.tsx:59
#: src/components/UserMenu.tsx:199
msgid "Feedback" msgid "Feedback"
msgstr "Feedback" msgstr "Feedback"
@@ -773,6 +794,11 @@ msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open sourc
msgid "Free" msgid "Free"
msgstr "Gratis" msgstr "Gratis"
#: src/views/members/components/InviteMemberForm.tsx:192
#: src/views/members/index.tsx:184
msgid "Free Plan"
msgstr "Gratis plan"
#: src/views/home/components/Pricing.tsx:34 #: src/views/home/components/Pricing.tsx:34
msgid "Free, forever" msgid "Free, forever"
msgstr "Altijd gratis" msgstr "Altijd gratis"
@@ -785,10 +811,10 @@ msgstr "Fulltime"
msgid "Fun" msgid "Fun"
msgstr "Leuk" msgstr "Leuk"
#: src/views/auth/signup/index.tsx:67
#: src/views/home/components/Cta.tsx:61
#: src/views/home/components/Header.tsx:102 #: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141 #: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
#: src/views/auth/signup/index.tsx:67
msgid "Get started" msgid "Get started"
msgstr "Aan de slag" msgstr "Aan de slag"
@@ -813,7 +839,7 @@ msgstr "Begin vandaag nog gratis"
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team." msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Begin gratis, zonder gebruikslimieten. Voor samenwerking kun je upgraden naar een abonnement dat past bij de grootte van je team." msgstr "Begin gratis, zonder gebruikslimieten. Voor samenwerking kun je upgraden naar een abonnement dat past bij de grootte van je team."
#: src/views/home/index.tsx:75 #: src/views/home/index.tsx:76
msgid "Get started on Cloud" msgid "Get started on Cloud"
msgstr "Begin in de cloud" msgstr "Begin in de cloud"
@@ -924,23 +950,27 @@ msgstr "Integraties"
msgid "Interviewing" msgid "Interviewing"
msgstr "Interviewen" msgstr "Interviewen"
#: src/views/members/components/InviteMemberForm.tsx:26 #: src/views/members/components/InviteMemberForm.tsx:45
msgid "Invalid email address" msgid "Invalid email address"
msgstr "Ongeldig e-mailadres" msgstr "Ongeldig e-mailadres"
#: src/views/members/index.tsx:169 #: src/views/members/index.tsx:193
msgid "Invite" msgid "Invite"
msgstr "Uitnodigen" msgstr "Uitnodigen"
#: src/views/members/components/InviteMemberForm.tsx:113 #: src/views/members/components/InviteMemberForm.tsx:207
msgid "Invite another" msgid "Invite another"
msgstr "Nog iemand uitnodigen" msgstr "Nog iemand uitnodigen"
#: src/views/members/components/InviteMemberForm.tsx:123
#: src/views/card/components/MemberSelector.tsx:112 #: src/views/card/components/MemberSelector.tsx:112
#: src/views/members/components/InviteMemberForm.tsx:231
msgid "Invite member" msgid "Invite member"
msgstr "Lid uitnodigen" msgstr "Lid uitnodigen"
#: src/views/members/components/InviteMemberForm.tsx:195
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "Voor het uitnodigen van leden is een teamplan vereist. Je wordt doorgestuurd om je werkruimte te upgraden."
#: src/views/boards/components/TemplateBoards.tsx:69 #: src/views/boards/components/TemplateBoards.tsx:69
msgid "Junior" msgid "Junior"
msgstr "Junior" msgstr "Junior"
@@ -953,14 +983,14 @@ msgstr "Kanban werkt beter met een team. Perfect voor kleine en groeiende teams
msgid "Kanban reimagined" msgid "Kanban reimagined"
msgstr "Kanban opnieuw uitgevonden" msgstr "Kanban opnieuw uitgevonden"
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57 #: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
msgid "Keep in mind that this action is irreversible." msgid "Keep in mind that this action is irreversible."
msgstr "Houd er rekening mee dat deze actie onomkeerbaar is." msgstr "Houd er rekening mee dat deze actie onomkeerbaar is."
#: src/views/card/index.tsx:117
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/board/components/Filters.tsx:101 #: src/views/board/components/Filters.tsx:101
#: src/views/board/components/NewCardForm.tsx:398
#: src/views/card/index.tsx:117
msgid "Labels" msgid "Labels"
msgstr "Labels" msgstr "Labels"
@@ -988,7 +1018,7 @@ msgstr "Licentie"
msgid "Light" msgid "Light"
msgstr "Licht" msgstr "Licht"
#: src/views/public/board/index.tsx:57 #: src/views/public/board/index.tsx:62
msgid "Link copied" msgid "Link copied"
msgstr "Link gekopieerd" msgstr "Link gekopieerd"
@@ -1016,7 +1046,7 @@ msgstr "Lange termijn"
msgid "Low Priority" msgid "Low Priority"
msgstr "Lage prioriteit" msgstr "Lage prioriteit"
#: src/components/AuthForm.tsx:338 #: src/components/AuthForm.tsx:369
msgid "magic link" msgid "magic link"
msgstr "magische link" msgstr "magische link"
@@ -1033,16 +1063,16 @@ msgstr "heeft checklistitem <0>{0}</0> als onvoltooid gemarkeerd"
msgid "Medium Priority" msgid "Medium Priority"
msgstr "Gemiddelde prioriteit" msgstr "Gemiddelde prioriteit"
#: src/views/members/index.tsx:161
#: src/views/card/index.tsx:125
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/board/components/Filters.tsx:93
#: src/components/SideNavigation.tsx:73 #: src/components/SideNavigation.tsx:73
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:357
#: src/views/card/index.tsx:125
#: src/views/members/index.tsx:171
msgid "Members" msgid "Members"
msgstr "Leden" msgstr "Leden"
#. placeholder {0}: workspace.name ?? "Workspace" #. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:157 #: src/views/members/index.tsx:167
msgid "Members | {0}" msgid "Members | {0}"
msgstr "Leden | {0}" msgstr "Leden | {0}"
@@ -1050,6 +1080,10 @@ msgstr "Leden | {0}"
msgid "Monthly" msgid "Monthly"
msgstr "Maandelijks" msgstr "Maandelijks"
#: src/views/members/components/InviteMemberForm.tsx:92
msgid "monthly billing"
msgstr "maandelijkse facturering"
#. placeholder {0}: truncate(fromList) #. placeholder {0}: truncate(fromList)
#. placeholder {1}: truncate(toList) #. placeholder {1}: truncate(toList)
#: src/views/card/components/ActivityList.tsx:98 #: src/views/card/components/ActivityList.tsx:98
@@ -1060,8 +1094,8 @@ msgstr "heeft de kaart verplaatst van <0>{0}</0> naar<1>{1}</1>"
msgid "moved the card to another list" msgid "moved the card to another list"
msgstr "heeft de kaart naar een andere lijst verplaatst" msgstr "heeft de kaart naar een andere lijst verplaatst"
#: src/views/boards/components/NewBoardForm.tsx:99
#: src/components/LabelForm.tsx:135 #: src/components/LabelForm.tsx:135
#: src/views/boards/components/NewBoardForm.tsx:99
msgid "Name" msgid "Name"
msgstr "Naam" msgstr "Naam"
@@ -1093,8 +1127,8 @@ msgstr "Nieuwe import"
msgid "New label" msgid "New label"
msgstr "Nieuw label" msgstr "Nieuw label"
#: src/views/board/index.tsx:394
#: src/views/board/components/NewListForm.tsx:112 #: src/views/board/components/NewListForm.tsx:112
#: src/views/board/index.tsx:394
msgid "New list" msgid "New list"
msgstr "Nieuwe lijst" msgstr "Nieuwe lijst"
@@ -1110,7 +1144,7 @@ msgstr "Nieuw wachtwoord moet verschillen van het huidige wachtwoord"
msgid "New Ticket" msgid "New Ticket"
msgstr "Nieuw ticket" msgstr "Nieuw ticket"
#: src/components/NewWorkspaceForm.tsx:64 #: src/components/NewWorkspaceForm.tsx:65
msgid "New workspace" msgid "New workspace"
msgstr "Nieuwe werkruimte" msgstr "Nieuwe werkruimte"
@@ -1130,7 +1164,7 @@ msgstr "Geen borden"
msgid "No boards found" msgid "No boards found"
msgstr "Geen borden gevonden" msgstr "Geen borden gevonden"
#: src/views/home/index.tsx:85 #: src/views/home/index.tsx:86
msgid "No credit card required" msgid "No credit card required"
msgstr "Geen creditcard vereist" msgstr "Geen creditcard vereist"
@@ -1154,7 +1188,7 @@ msgstr "Zodra je je account verwijdert, is er geen weg terug. Deze actie kan nie
msgid "Once you delete your workspace, there is no going back. This action cannot be undone." 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." msgstr "Zodra je je werkruimte verwijdert, is er geen weg terug. Deze actie kan niet ongedaan worden gemaakt."
#: src/components/AuthForm.tsx:280 #: src/components/AuthForm.tsx:311
msgid "or" msgid "or"
msgstr "of" msgstr "of"
@@ -1182,11 +1216,11 @@ msgstr "Wachtwoord moet minimaal 8 tekens bevatten"
msgid "Passwords do not match" msgid "Passwords do not match"
msgstr "Wachtwoorden komen niet overeen" msgstr "Wachtwoorden komen niet overeen"
#: src/views/home/components/Pricing.tsx:101 #: src/views/home/components/Pricing.tsx:96
msgid "Payment frequency" msgid "Payment frequency"
msgstr "Betalingsfrequentie" msgstr "Betalingsfrequentie"
#: src/views/members/index.tsx:118 #: src/views/members/index.tsx:128
msgid "Pending" msgid "Pending"
msgstr "In behandeling" msgstr "In behandeling"
@@ -1207,15 +1241,15 @@ msgstr "Planning"
msgid "Please confirm your new password" msgid "Please confirm your new password"
msgstr "Bevestig je nieuwe wachtwoord" msgstr "Bevestig je nieuwe wachtwoord"
#: src/components/AuthForm.tsx:306 #: src/components/AuthForm.tsx:337
msgid "Please enter a valid email address" msgid "Please enter a valid email address"
msgstr "Voer een geldig e-mailadres in" msgstr "Voer een geldig e-mailadres in"
#: src/components/AuthForm.tsx:294 #: src/components/AuthForm.tsx:325
msgid "Please enter a valid name" msgid "Please enter a valid name"
msgstr "Voer een geldige naam in" msgstr "Voer een geldige naam in"
#: src/components/AuthForm.tsx:319 #: src/components/AuthForm.tsx:350
msgid "Please enter a valid password" msgid "Please enter a valid password"
msgstr "Voer een geldig wachtwoord in" msgstr "Voer een geldig wachtwoord in"
@@ -1223,46 +1257,47 @@ msgstr "Voer een geldig wachtwoord in"
msgid "Please select a file to upload." msgid "Please select a file to upload."
msgstr "Selecteer een bestand om te uploaden." msgstr "Selecteer een bestand om te uploaden."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:74 #: src/components/DeleteLabelConfirmation.tsx:26
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:57 #: src/components/FeedbackModal.tsx:41
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:62 #: src/components/NewWorkspaceForm.tsx:42
#: src/views/settings/components/UpdateDisplayNameForm.tsx:55 #: src/views/board/components/NewCardForm.tsx:174
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:46 #: src/views/board/components/NewListForm.tsx:78
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40 #: src/views/board/components/UpdateBoardSlugForm.tsx:72
#: src/views/settings/components/Avatar.tsx:40 #: src/views/board/components/VisibilityButton.tsx:53
#: src/views/settings/components/Avatar.tsx:98
#: src/views/members/components/InviteMemberForm.tsx:64
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/card/index.tsx:172
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:64
#: src/views/card/components/ChecklistNameInput.tsx:46
#: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:134 #: src/views/board/index.tsx:134
#: src/views/board/index.tsx:190 #: src/views/board/index.tsx:190
#: src/views/board/components/VisibilityButton.tsx:53 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/components/UpdateBoardSlugForm.tsx:72 #: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/board/components/NewListForm.tsx:78 #: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/board/components/NewCardForm.tsx:174 #: src/views/card/components/ChecklistNameInput.tsx:46
#: src/components/NewWorkspaceForm.tsx:41 #: src/views/card/components/Comment.tsx:64
#: src/components/FeedbackModal.tsx:41 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/components/DeleteLabelConfirmation.tsx:26 #: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/index.tsx:173
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:83
#: src/views/members/components/InviteMemberForm.tsx:133
#: src/views/settings/components/Avatar.tsx:40
#: src/views/settings/components/Avatar.tsx:98
#: 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
msgid "Please try again later, or contact customer support." msgid "Please try again later, or contact customer support."
msgstr "Probeer het later opnieuw of neem contact op met de klantenservice." msgstr "Probeer het later opnieuw of neem contact op met de klantenservice."
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50 #: src/views/home/components/Footer.tsx:50
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Pricing.tsx:85
msgid "Pricing" msgid "Pricing"
msgstr "Prijzen" msgstr "Prijzen"
@@ -1318,7 +1353,7 @@ msgstr "Op afstand"
msgid "Remove" msgid "Remove"
msgstr "Verwijderen" msgstr "Verwijderen"
#: src/views/members/index.tsx:132 #: src/views/members/index.tsx:142
msgid "Remove member" msgid "Remove member"
msgstr "Lid verwijderen" msgstr "Lid verwijderen"
@@ -1369,12 +1404,12 @@ msgstr "Beoordeling"
msgid "Revoke" msgid "Revoke"
msgstr "Intrekken" msgstr "Intrekken"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36 #: src/views/home/components/Footer.tsx:36
#: src/views/home/components/Header.tsx:13
msgid "Roadmap" msgid "Roadmap"
msgstr "Roadmap" msgstr "Roadmap"
#: src/views/members/index.tsx:191 #: src/views/members/index.tsx:215
msgid "Role" msgid "Role"
msgstr "Rol" msgstr "Rol"
@@ -1406,7 +1441,7 @@ msgstr "Selecteer bron"
msgid "Self Host" msgid "Self Host"
msgstr "Zelf hosten" msgstr "Zelf hosten"
#: src/views/home/index.tsx:81 #: src/views/home/index.tsx:82
msgid "Self host with Github" msgid "Self host with Github"
msgstr "Zelf hosten met Github" msgstr "Zelf hosten met Github"
@@ -1422,8 +1457,8 @@ msgstr "Feedback versturen"
msgid "Senior" msgid "Senior"
msgstr "Senior" msgstr "Senior"
#: src/views/settings/index.tsx:140
#: src/components/SideNavigation.tsx:78 #: src/components/SideNavigation.tsx:78
#: src/views/settings/index.tsx:140
msgid "Settings" msgid "Settings"
msgstr "Instellingen" msgstr "Instellingen"
@@ -1450,7 +1485,7 @@ msgstr "Registreren uitgeschakeld"
msgid "Sign up is currently disabled. Please try again later." msgid "Sign up is currently disabled. Please try again later."
msgstr "Registreren is momenteel uitgeschakeld. Probeer het later opnieuw." msgstr "Registreren is momenteel uitgeschakeld. Probeer het later opnieuw."
#: src/components/AuthForm.tsx:335 #: src/components/AuthForm.tsx:366
msgid "Sign up with " msgid "Sign up with "
msgstr "Registreren met " msgstr "Registreren met "
@@ -1470,12 +1505,12 @@ msgstr "Social media"
msgid "Software Development" msgid "Software Development"
msgstr "Softwareontwikkeling" msgstr "Softwareontwikkeling"
#: src/views/home/index.tsx:37 #: src/views/home/index.tsx:38
msgid "Star on Github" msgid "Star on Github"
msgstr "Star op Github" msgstr "Star op Github"
#: src/components/AuthForm.tsx:188 #: src/components/AuthForm.tsx:203
#: src/components/AuthForm.tsx:205 #: src/components/AuthForm.tsx:220
msgid "Success" msgid "Success"
msgstr "Geslaagd" msgstr "Geslaagd"
@@ -1491,6 +1526,11 @@ msgstr "Ondersteun de ontwikkeling van het project"
msgid "System" msgid "System"
msgstr "Systeem" msgstr "Systeem"
#: src/views/members/components/InviteMemberForm.tsx:183
#: src/views/members/index.tsx:184
msgid "Team Plan"
msgstr "Teamplan"
#: src/views/home/components/Pricing.tsx:46 #: src/views/home/components/Pricing.tsx:46
msgid "Teams" msgid "Teams"
msgstr "Teams" msgstr "Teams"
@@ -1515,7 +1555,7 @@ msgstr "Het ingevoerde huidige wachtwoord is onjuist."
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall." msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "Het belangrijkste verschil tussen Kan en Trello is dat Kan open source is, waardoor iedereen onze code kan bekijken, wijzigen en eraan kan bijdragen. Onze cloudoplossing biedt ook geen beperkingen op functies voor individueel gebruik, terwijl Trello basisfuncties zoals het aantal borden dat je kunt maken achter een betaalmuur plaatst." msgstr "Het belangrijkste verschil tussen Kan en Trello is dat Kan open source is, waardoor iedereen onze code kan bekijken, wijzigen en eraan kan bijdragen. Onze cloudoplossing biedt ook geen beperkingen op functies voor individueel gebruik, terwijl Trello basisfuncties zoals het aantal borden dat je kunt maken achter een betaalmuur plaatst."
#: src/views/home/index.tsx:65 #: src/views/home/index.tsx:66
msgid "The open source <0/> alternative to Trello" msgid "The open source <0/> alternative to Trello"
msgstr "Het open source <0/> alternatief voor Trello" msgstr "Het open source <0/> alternatief voor Trello"
@@ -1532,14 +1572,14 @@ msgstr "Thema"
msgid "They won't be able to access this workspace." msgid "They won't be able to access this workspace."
msgstr "Ze zullen geen toegang meer hebben tot deze werkruimte." msgstr "Ze zullen geen toegang meer hebben tot deze werkruimte."
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/components/DeleteLabelConfirmation.tsx:44 #: src/components/DeleteLabelConfirmation.tsx:44
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Deze actie kan niet ongedaan worden gemaakt." msgstr "Deze actie kan niet ongedaan worden gemaakt."
#: src/views/public/board/index.tsx:146 #: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Dit bord is privé of bestaat niet" msgstr "Dit bord is privé of bestaat niet"
@@ -1604,7 +1644,7 @@ msgstr "Kan checklist niet maken"
msgid "Unable to create list" msgid "Unable to create list"
msgstr "Kan geen lijst maken" msgstr "Kan geen lijst maken"
#: src/components/NewWorkspaceForm.tsx:40 #: src/components/NewWorkspaceForm.tsx:41
msgid "Unable to create workspace" msgid "Unable to create workspace"
msgstr "Kan werkruimte niet aanmaken" msgstr "Kan werkruimte niet aanmaken"
@@ -1640,8 +1680,8 @@ msgstr "Kan board URL niet bijwerken"
msgid "Unable to update board visibility" msgid "Unable to update board visibility"
msgstr "Kan bordzichtbaarheid niet bijwerken" msgstr "Kan bordzichtbaarheid niet bijwerken"
#: src/views/card/index.tsx:171
#: src/views/board/index.tsx:189 #: src/views/board/index.tsx:189
#: src/views/card/index.tsx:172
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Kan kaart niet bijwerken" msgstr "Kan kaart niet bijwerken"
@@ -1661,8 +1701,8 @@ msgstr "Kan reactie niet bijwerken"
msgid "Unable to update labels" msgid "Unable to update labels"
msgstr "Kan labels niet bijwerken" msgstr "Kan labels niet bijwerken"
#: src/views/card/components/ListSelector.tsx:52
#: src/views/board/index.tsx:133 #: src/views/board/index.tsx:133
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list" msgid "Unable to update list"
msgstr "Kan lijst niet bijwerken" msgstr "Kan lijst niet bijwerken"
@@ -1703,11 +1743,11 @@ msgstr "Onbeperkt aantal opmerkingen"
msgid "Unlimited lists" msgid "Unlimited lists"
msgstr "Onbeperkt aantal lijsten" msgstr "Onbeperkt aantal lijsten"
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/board/components/UpdateBoardSlugForm.tsx:174 #: src/views/board/components/UpdateBoardSlugForm.tsx:174
#: src/views/settings/components/UpdateDisplayNameForm.tsx:79
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:90
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:82
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:154
msgid "Update" msgid "Update"
msgstr "Bijwerken" msgstr "Bijwerken"
@@ -1736,6 +1776,10 @@ msgstr "titel bijgewerkt naar <0>{0}</0>"
msgid "Upgrade" msgid "Upgrade"
msgstr "Upgraden" msgstr "Upgraden"
#: src/views/members/components/InviteMemberForm.tsx:222
msgid "Upgrade to Team Plan"
msgstr "Upgraden naar teamplan"
#: src/views/boards/components/TemplateBoards.tsx:37 #: src/views/boards/components/TemplateBoards.tsx:37
#: src/views/boards/components/TemplateBoards.tsx:54 #: src/views/boards/components/TemplateBoards.tsx:54
msgid "Urgent" msgid "Urgent"
@@ -1757,11 +1801,11 @@ msgstr "URL moet minimaal 3 tekens lang zijn"
msgid "Use template" msgid "Use template"
msgstr "Sjabloon gebruiken" msgstr "Sjabloon gebruiken"
#: src/views/members/index.tsx:185 #: src/views/members/index.tsx:209
msgid "User" msgid "User"
msgstr "Gebruiker" msgstr "Gebruiker"
#: src/views/members/components/InviteMemberForm.tsx:58 #: src/views/members/components/InviteMemberForm.tsx:77
msgid "User is already a member of this workspace" msgid "User is already a member of this workspace"
msgstr "Gebruiker is al lid van deze werkruimte" msgstr "Gebruiker is al lid van deze werkruimte"
@@ -1781,7 +1825,7 @@ msgstr "Bekijk en beheer je facturering en abonnement."
msgid "View docs" msgid "View docs"
msgstr "Bekijk documentatie" msgstr "Bekijk documentatie"
#: src/views/public/board/index.tsx:120 #: src/views/public/board/index.tsx:125
msgid "View only" msgid "View only"
msgstr "Alleen bekijken" msgstr "Alleen bekijken"
@@ -1789,7 +1833,7 @@ msgstr "Alleen bekijken"
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Bekijk onze roadmap." msgstr "Bekijk onze roadmap."
#: src/views/public/board/index.tsx:149 #: src/views/public/board/index.tsx:154
msgid "View workspace" msgid "View workspace"
msgstr "Werkruimte bekijken" msgstr "Werkruimte bekijken"
@@ -1849,13 +1893,13 @@ msgstr "Werkruimtebeschrijving moet minimaal 3 tekens lang zijn"
msgid "Workspace description updated" msgid "Workspace description updated"
msgstr "Werkruimtebeschrijving bijgewerkt" msgstr "Werkruimtebeschrijving bijgewerkt"
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83 #: src/views/home/components/Features.tsx:83
#: src/views/home/components/Pricing.tsx:54
msgid "Workspace members" msgid "Workspace members"
msgstr "Werkruimteleden" msgstr "Werkruimteleden"
#: src/components/NewWorkspaceForm.tsx:81
#: src/views/settings/index.tsx:158 #: src/views/settings/index.tsx:158
#: src/components/NewWorkspaceForm.tsx:80
msgid "Workspace name" msgid "Workspace name"
msgstr "Naam werkruimte" msgstr "Naam werkruimte"
@@ -1907,11 +1951,11 @@ msgstr "Je kunt teamleden uitnodigen door op de knop \"Uitnodigen\" in de rechte
msgid "You can self-host by following the instructions in our <0>repo</0>." msgid "You can self-host by following the instructions in our <0>repo</0>."
msgstr "Je kunt zelf hosten door de instructies in onze <0>repo</0> te volgen." msgstr "Je kunt zelf hosten door de instructies in onze <0>repo</0> te volgen."
#: src/components/AuthForm.tsx:206 #: src/components/AuthForm.tsx:221
msgid "You have been logged in successfully." msgid "You have been logged in successfully."
msgstr "Je bent succesvol ingelogd." msgstr "Je bent succesvol ingelogd."
#: src/components/AuthForm.tsx:189 #: src/components/AuthForm.tsx:204
msgid "You have been signed up successfully." msgid "You have been signed up successfully."
msgstr "Je bent succesvol geregistreerd." msgstr "Je bent succesvol geregistreerd."

File diff suppressed because one or more lines are too long

View File

@@ -92,11 +92,6 @@ const Pricing = () => {
{t`Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team.`} {t`Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team.`}
</p> </p>
{/* Beta free pricing pill */}
<div className="mt-4 flex items-center gap-2 rounded-full bg-green-100 px-3 py-1 text-xs font-semibold text-green-800 dark:bg-green-700 dark:text-green-100">
{t`All seats are free during the beta until Sept 3rd!`}
</div>
<div className="mt-16 flex justify-center"> <div className="mt-16 flex justify-center">
<fieldset aria-label={t`Payment frequency`}> <fieldset aria-label={t`Payment frequency`}>
<RadioGroup <RadioGroup

View File

@@ -1,11 +1,13 @@
import { zodResolver } from "@hookform/resolvers/zod"; import { zodResolver } from "@hookform/resolvers/zod";
import { t } from "@lingui/core/macro"; import { t } from "@lingui/core/macro";
import { env } from "next-runtime-env";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { HiXMark } from "react-icons/hi2"; import { HiXMark } from "react-icons/hi2";
import { z } from "zod"; import { z } from "zod";
import type { InviteMemberInput } from "@kan/api/types"; import type { InviteMemberInput } from "@kan/api/types";
import { authClient } from "@kan/auth/client";
import Button from "~/components/Button"; import Button from "~/components/Button";
import Input from "~/components/Input"; import Input from "~/components/Input";
@@ -15,7 +17,24 @@ import { usePopup } from "~/providers/popup";
import { useWorkspace } from "~/providers/workspace"; import { useWorkspace } from "~/providers/workspace";
import { api } from "~/utils/api"; import { api } from "~/utils/api";
export function InviteMemberForm() { export function InviteMemberForm({
numberOfMembers,
activeTeamSubscription,
userId,
}: {
numberOfMembers: number;
activeTeamSubscription:
| {
id: number | null;
plan: string;
status: string;
seats: number | null;
periodStart: Date | null;
periodEnd: Date | null;
}
| undefined;
userId: string | undefined;
}) {
const utils = api.useUtils(); const utils = api.useUtils();
const [isCreateAnotherEnabled, setIsCreateAnotherEnabled] = useState(false); const [isCreateAnotherEnabled, setIsCreateAnotherEnabled] = useState(false);
const { closeModal } = useModal(); const { closeModal } = useModal();
@@ -42,7 +61,7 @@ export function InviteMemberForm() {
const refetchBoards = () => utils.board.all.refetch(); const refetchBoards = () => utils.board.all.refetch();
const createBoard = api.member.invite.useMutation({ const inviteMember = api.member.invite.useMutation({
onSuccess: async () => { onSuccess: async () => {
closeModal(); closeModal();
await utils.workspace.byId.refetch(); await utils.workspace.byId.refetch();
@@ -68,8 +87,53 @@ export function InviteMemberForm() {
}, },
}); });
const onSubmit = (data: InviteMemberInput) => { let isYearly = false;
createBoard.mutate(data); let price = t`$10/month`;
let billingType = t`monthly billing`;
if (
activeTeamSubscription?.periodStart &&
activeTeamSubscription?.periodEnd
) {
const periodStartDate = new Date(activeTeamSubscription.periodStart);
const periodEndDate = new Date(activeTeamSubscription.periodEnd);
const diffInDays = Math.round(
(periodEndDate.getTime() - periodStartDate.getTime()) /
(1000 * 60 * 60 * 24),
);
isYearly = diffInDays > 31;
price = isYearly ? t`$8/month` : t`$10/month`;
billingType = isYearly ? t`billed annually` : t`billed monthly`;
}
const onSubmit = (member: InviteMemberInput) => {
inviteMember.mutate(member);
};
const handleUpgrade = async () => {
const { data, error } = await authClient.subscription.upgrade({
plan: "team",
referenceId: workspace.publicId,
metadata: { userId },
seats: numberOfMembers,
successUrl: "/members",
cancelUrl: "/members",
returnUrl: "/members",
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",
});
}
}; };
useEffect(() => { useEffect(() => {
@@ -97,6 +161,10 @@ export function InviteMemberForm() {
<Input <Input
id="email" id="email"
placeholder={t`Email`} placeholder={t`Email`}
disabled={
env("NEXT_PUBLIC_KAN_ENV") === "cloud" &&
!activeTeamSubscription?.id
}
{...register("email", { required: true })} {...register("email", { required: true })}
onKeyDown={async (e) => { onKeyDown={async (e) => {
if (e.key === "Enter") { if (e.key === "Enter") {
@@ -106,22 +174,63 @@ export function InviteMemberForm() {
}} }}
errorMessage={errors.email?.message} errorMessage={errors.email?.message}
/> />
{env("NEXT_PUBLIC_KAN_ENV") === "cloud" && (
<div className="mt-3 rounded-md bg-light-100 p-3 text-xs text-light-900 dark:bg-dark-200 dark:text-dark-900">
{activeTeamSubscription?.id ? (
<div>
<span className="font-medium text-emerald-500 dark:text-emerald-400">
{t`Team Plan`}
</span>
<p className="mt-1">
{t`Adding a new member will cost an additional ${price} (${billingType}) per seat.`}
</p>
</div>
) : (
<div>
<span className="font-medium text-light-950 dark:text-dark-950">
{t`Free Plan`}
</span>
<p className="mt-1">
{t`Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace.`}
</p>
</div>
)}
</div>
)}
</div> </div>
<div className="mt-12 flex items-center justify-end border-t border-light-600 px-5 pb-5 pt-5 dark:border-dark-600"> <div className="mt-12 flex items-center justify-end border-t border-light-600 px-5 pb-5 pt-5 dark:border-dark-600">
<Toggle {activeTeamSubscription?.id &&
label={t`Invite another`} env("NEXT_PUBLIC_KAN_ENV") === "cloud" && (
isChecked={isCreateAnotherEnabled} <Toggle
onChange={() => setIsCreateAnotherEnabled(!isCreateAnotherEnabled)} label={t`Invite another`}
/> isChecked={isCreateAnotherEnabled}
onChange={() =>
setIsCreateAnotherEnabled(!isCreateAnotherEnabled)
}
/>
)}
<div> <div>
<Button {env("NEXT_PUBLIC_KAN_ENV") === "cloud" &&
type="submit" !activeTeamSubscription?.id ? (
isLoading={createBoard.isPending} <Button
className="inline-flex w-full justify-center rounded-md bg-light-1000 px-3 py-2 text-sm font-semibold text-light-50 shadow-sm focus-visible:outline-none dark:bg-dark-1000 dark:text-dark-50" type="button"
> onClick={handleUpgrade}
{t`Invite member`} className="inline-flex w-full justify-center rounded-md bg-light-1000 px-3 py-2 text-sm font-semibold text-light-50 shadow-sm focus-visible:outline-none dark:bg-dark-1000 dark:text-dark-50"
</Button> >
{t`Upgrade to Team Plan`}
</Button>
) : (
<Button
type="submit"
disabled={inviteMember.isPending}
isLoading={inviteMember.isPending}
className="inline-flex w-full justify-center rounded-md bg-light-1000 px-3 py-2 text-sm font-semibold text-light-50 shadow-sm focus-visible:outline-none dark:bg-dark-1000 dark:text-dark-50"
>
{t`Invite member`}
</Button>
)}
</div> </div>
</div> </div>
</form> </form>

View File

@@ -11,6 +11,7 @@ import FeedbackModal from "~/components/FeedbackModal";
import Modal from "~/components/modal"; import Modal from "~/components/modal";
import { NewWorkspaceForm } from "~/components/NewWorkspaceForm"; import { NewWorkspaceForm } from "~/components/NewWorkspaceForm";
import { PageHead } from "~/components/PageHead"; import { PageHead } from "~/components/PageHead";
import { env } from "~/env";
import { useModal } from "~/providers/modal"; import { useModal } from "~/providers/modal";
import { useWorkspace } from "~/providers/workspace"; import { useWorkspace } from "~/providers/workspace";
import { api } from "~/utils/api"; import { api } from "~/utils/api";
@@ -27,6 +28,16 @@ export default function MembersPage() {
// { enabled: workspace?.publicId ? true : false }, // { enabled: workspace?.publicId ? true : false },
); );
const { data: session } = authClient.useSession();
const subscription = data?.subscriptions;
const activeTeamSubscription = subscription?.find(
(sub: any) =>
sub.status === "active" ||
(sub.status === "trialing" && sub.plan === "team"),
);
const TableRow = ({ const TableRow = ({
memberPublicId, memberPublicId,
memberId, memberId,
@@ -48,7 +59,6 @@ export default function MembersPage() {
isLastRow?: boolean; isLastRow?: boolean;
showSkeleton?: boolean; showSkeleton?: boolean;
}) => { }) => {
const { data: session } = authClient.useSession();
return ( return (
<tr className="rounded-b-lg"> <tr className="rounded-b-lg">
<td <td
@@ -160,7 +170,21 @@ export default function MembersPage() {
<h1 className="font-bold tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]"> <h1 className="font-bold tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
{t`Members`} {t`Members`}
</h1> </h1>
<div className="flex"> <div className="flex items-center gap-3">
{env.NEXT_PUBLIC_KAN_ENV === "cloud" && (
<div
className={twMerge(
"flex items-center rounded-full border px-3 py-1 text-center text-xs",
activeTeamSubscription
? "border-emerald-300 bg-emerald-50 text-emerald-400 dark:border-emerald-700 dark:bg-emerald-950 dark:text-emerald-400"
: "border-light-300 bg-light-50 text-light-1000 dark:border-dark-300 dark:bg-dark-50 dark:text-dark-900",
)}
>
<span className="font-medium">
{activeTeamSubscription ? t`Team Plan` : t`Free Plan`}
</span>
</div>
)}
<Button <Button
onClick={() => openModal("INVITE_MEMBER")} onClick={() => openModal("INVITE_MEMBER")}
iconLeft={<HiOutlinePlusSmall className="h-4 w-4" />} iconLeft={<HiOutlinePlusSmall className="h-4 w-4" />}
@@ -241,7 +265,11 @@ export default function MembersPage() {
modalSize="sm" modalSize="sm"
isVisible={isOpen && modalContentType === "INVITE_MEMBER"} isVisible={isOpen && modalContentType === "INVITE_MEMBER"}
> >
<InviteMemberForm /> <InviteMemberForm
userId={session?.user.id}
numberOfMembers={data?.members.length ?? 1}
activeTeamSubscription={activeTeamSubscription}
/>
</Modal> </Modal>
<Modal <Modal

View File

@@ -31,5 +31,11 @@
"turbo": "^2.3.1", "turbo": "^2.3.1",
"typescript": "catalog:" "typescript": "catalog:"
}, },
"prettier": "@kan/prettier-config" "prettier": "@kan/prettier-config",
"pnpm": {
"overrides": {
"@types/minimatch": "npm:minimatch@*",
"@types/glob": "npm:@types/glob@^8.1.0"
}
}
} }

View File

@@ -4,6 +4,7 @@ import { z } from "zod";
import * as memberRepo from "@kan/db/repository/member.repo"; import * as memberRepo from "@kan/db/repository/member.repo";
import * as userRepo from "@kan/db/repository/user.repo"; import * as userRepo from "@kan/db/repository/user.repo";
import * as workspaceRepo from "@kan/db/repository/workspace.repo"; import * as workspaceRepo from "@kan/db/repository/workspace.repo";
import { updateSubscriptionSeats } from "@kan/stripe";
import { createTRPCRouter, protectedProcedure } from "../trpc"; import { createTRPCRouter, protectedProcedure } from "../trpc";
import { assertUserInWorkspace } from "../utils/auth"; import { assertUserInWorkspace } from "../utils/auth";
@@ -60,6 +61,42 @@ export const memberRouter = createTRPCRouter({
}); });
} }
if (process.env.NEXT_PUBLIC_KAN_ENV === "cloud") {
const subscriptions = await ctx.auth.api.listActiveSubscriptions({
workspacePublicId: workspace.publicId,
});
// get the active subscription
const activeSubscription = subscriptions.find(
(sub) =>
sub.status === "active" ||
(sub.status === "trialing" && sub.plan === "team"),
);
if (!activeSubscription) {
throw new TRPCError({
message: `Workspace with public ID ${workspace.publicId} does not have an active subscription`,
code: "NOT_FOUND",
});
}
// Update the Stripe subscription to add a seat with immediate proration
if (activeSubscription.stripeSubscriptionId) {
try {
await updateSubscriptionSeats(
activeSubscription.stripeSubscriptionId,
1,
);
} catch (error) {
console.error("Failed to update Stripe subscription seats:", error);
throw new TRPCError({
message: `Failed to update subscription for the new member.`,
code: "INTERNAL_SERVER_ERROR",
});
}
}
}
const existingUser = await userRepo.getByEmail(ctx.db, input.email); const existingUser = await userRepo.getByEmail(ctx.db, input.email);
const invite = await memberRepo.create(ctx.db, { const invite = await memberRepo.create(ctx.db, {
@@ -165,6 +202,35 @@ export const memberRouter = createTRPCRouter({
code: "INTERNAL_SERVER_ERROR", code: "INTERNAL_SERVER_ERROR",
}); });
// Handle subscription seat decrement for cloud environment
if (process.env.NEXT_PUBLIC_KAN_ENV === "cloud") {
const subscriptions = await ctx.auth.api.listActiveSubscriptions({
workspacePublicId: workspace.publicId,
});
// get the active subscription
const activeSubscription = subscriptions.find(
(sub) =>
sub.status === "active" ||
(sub.status === "trialing" && sub.plan === "team"),
);
// Only decrease seats if there's an active subscription and stripeSubscriptionId
if (activeSubscription?.stripeSubscriptionId) {
try {
await updateSubscriptionSeats(
activeSubscription.stripeSubscriptionId,
-1,
);
} catch (error) {
console.error(
"Failed to decrease Stripe subscription seats:",
error,
);
}
}
}
return { success: true }; return { success: true };
}), }),
}); });

View File

@@ -32,6 +32,11 @@ const createAuthWithHeaders = (
headers, headers,
body: { email: input.email, callbackURL: input.callbackURL }, body: { email: input.email, callbackURL: input.callbackURL },
}), }),
listActiveSubscriptions: (input: { workspacePublicId: string }) =>
auth.api.listActiveSubscriptions({
headers,
query: { referenceId: input.workspacePublicId },
}),
}, },
}; };
}; };

View File

@@ -37,6 +37,7 @@
}, },
"prettier": "@kan/prettier-config", "prettier": "@kan/prettier-config",
"dependencies": { "dependencies": {
"better-auth": "^1.2.8" "@better-auth/stripe": "^1.3.7",
"better-auth": "^1.3.7"
} }
} }

View File

@@ -1,4 +1,5 @@
import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
import { stripe } from "@better-auth/stripe";
import { betterAuth } from "better-auth"; import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle"; import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { createAuthEndpoint, createAuthMiddleware } from "better-auth/api"; import { createAuthEndpoint, createAuthMiddleware } from "better-auth/api";
@@ -10,6 +11,7 @@ import { env } from "next-runtime-env";
import type { dbClient } from "@kan/db/client"; import type { dbClient } from "@kan/db/client";
import * as memberRepo from "@kan/db/repository/member.repo"; import * as memberRepo from "@kan/db/repository/member.repo";
import * as userRepo from "@kan/db/repository/user.repo"; import * as userRepo from "@kan/db/repository/user.repo";
import * as workspaceRepo from "@kan/db/repository/workspace.repo";
import * as schema from "@kan/db/schema"; import * as schema from "@kan/db/schema";
import { cloudMailerClient, sendEmail } from "@kan/email"; import { cloudMailerClient, sendEmail } from "@kan/email";
import { createStripeClient } from "@kan/stripe"; import { createStripeClient } from "@kan/stripe";
@@ -153,6 +155,51 @@ export const initAuth = (db: dbClient) => {
}, },
plugins: [ plugins: [
socialProvidersPlugin(), socialProvidersPlugin(),
...(process.env.NEXT_PUBLIC_KAN_ENV === "cloud"
? [
stripe({
stripeClient: createStripeClient(),
stripeWebhookSecret: process.env.STRIPE_WEBHOOK_SECRET!,
createCustomerOnSignUp: true,
subscription: {
enabled: true,
plans: [
{
name: "team",
priceId: process.env.STRIPE_TEAM_PLAN_MONTHLY_PRICE_ID!,
annualDiscountPriceId:
process.env.STRIPE_TEAM_PLAN_YEARLY_PRICE_ID!,
},
{
name: "pro",
priceId: process.env.STRIPE_PRO_PLAN_MONTHLY_PRICE_ID!,
annualDiscountPriceId:
process.env.STRIPE_PRO_PLAN_YEARLY_PRICE_ID!,
},
],
authorizeReference: async (data) => {
const workspace = await workspaceRepo.getByPublicId(
db,
data.referenceId,
);
if (!workspace) {
return Promise.resolve(false);
}
const isUserInWorkspace =
await workspaceRepo.isUserInWorkspace(
db,
data.user.id,
workspace.id,
);
return isUserInWorkspace;
},
},
}),
]
: []),
// @todo: hasing is disabled due to a bug in the api key plugin // @todo: hasing is disabled due to a bug in the api key plugin
apiKey({ disableKeyHashing: true }), apiKey({ disableKeyHashing: true }),
magicLink({ magicLink({

View File

@@ -1,5 +1,6 @@
import type { BetterAuthClientPlugin } from "better-auth"; import type { BetterAuthClientPlugin } from "better-auth";
import type { BetterFetchOption } from "better-auth/react"; import type { BetterFetchOption } from "better-auth/react";
import { stripeClient } from "@better-auth/stripe/client";
import { import {
apiKeyClient, apiKeyClient,
genericOAuthClient, genericOAuthClient,
@@ -27,6 +28,9 @@ const socialProvidersPluginClient = {
export const authClient = createAuthClient({ export const authClient = createAuthClient({
plugins: [ plugins: [
stripeClient({
subscription: true,
}),
magicLinkClient(), magicLinkClient(),
apiKeyClient(), apiKeyClient(),
genericOAuthClient(), genericOAuthClient(),

View File

@@ -0,0 +1,23 @@
CREATE TABLE IF NOT EXISTS "subscription" (
"id" bigserial PRIMARY KEY NOT NULL,
"plan" varchar(255) NOT NULL,
"referenceId" varchar(12) NOT NULL,
"stripeCustomerId" varchar(255),
"stripeSubscriptionId" varchar(255),
"status" varchar(255) NOT NULL,
"periodStart" timestamp,
"periodEnd" timestamp,
"cancelAtPeriodEnd" boolean,
"seats" integer,
"trialStart" timestamp,
"trialEnd" timestamp,
"createdAt" timestamp DEFAULT now() NOT NULL,
"updatedAt" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
ALTER TABLE "subscription" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "subscription" ADD CONSTRAINT "subscription_referenceId_workspace_publicId_fk" FOREIGN KEY ("referenceId") REFERENCES "public"."workspace"("publicId") ON DELETE no action ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;

File diff suppressed because it is too large Load Diff

View File

@@ -64,6 +64,13 @@
"when": 1755094668761, "when": 1755094668761,
"tag": "20250813141748_AddChecklistActivityTypes", "tag": "20250813141748_AddChecklistActivityTypes",
"breakpoints": true "breakpoints": true
},
{
"idx": 9,
"version": "7",
"when": 1756803246096,
"tag": "20250902085406_AddSubscriptions",
"breakpoints": true
} }
] ]
} }

View File

@@ -1,12 +1,12 @@
import type { NodePgDatabase } from "drizzle-orm/node-postgres"; import type { NodePgDatabase } from "drizzle-orm/node-postgres";
import { drizzle as drizzlePgLite } from "drizzle-orm/pglite"; import { PGlite } from "@electric-sql/pglite";
import { uuid_ossp } from "@electric-sql/pglite/contrib/uuid_ossp"; import { uuid_ossp } from "@electric-sql/pglite/contrib/uuid_ossp";
import { drizzle as drizzlePg } from "drizzle-orm/node-postgres"; import { drizzle as drizzlePg } from "drizzle-orm/node-postgres";
import { drizzle as drizzlePgLite } from "drizzle-orm/pglite";
import { migrate } from "drizzle-orm/pglite/migrator";
import { Pool } from "pg"; import { Pool } from "pg";
import * as schema from "./schema"; import * as schema from "./schema";
import { PGlite } from "@electric-sql/pglite";
import { migrate } from "drizzle-orm/pglite/migrator";
export type dbClient = NodePgDatabase<typeof schema> & { export type dbClient = NodePgDatabase<typeof schema> & {
$client: Pool; $client: Pool;
@@ -18,7 +18,10 @@ export const createDrizzleClient = (): dbClient => {
if (!connectionString) { if (!connectionString) {
console.log("POSTGRES_URL environment variable is not set, using PGLite"); console.log("POSTGRES_URL environment variable is not set, using PGLite");
const client = new PGlite({ dataDir: "./pgdata", extensions: { uuid_ossp }}); const client = new PGlite({
dataDir: "./pgdata",
extensions: { uuid_ossp },
});
const db = drizzlePgLite(client, { schema }); const db = drizzlePgLite(client, { schema });
migrate(db, { migrationsFolder: "../../packages/db/migrations" }); migrate(db, { migrationsFolder: "../../packages/db/migrations" });

View File

@@ -121,6 +121,16 @@ export const getByPublicIdWithMembers = (
}, },
}, },
}, },
subscriptions: {
columns: {
id: true,
plan: true,
status: true,
seats: true,
periodStart: true,
periodEnd: true,
},
},
}, },
where: and( where: and(
eq(workspaces.publicId, workspacePublicId), eq(workspaces.publicId, workspacePublicId),

View File

@@ -10,3 +10,4 @@ export * from "./lists";
export * from "./users"; export * from "./users";
export * from "./integrations"; export * from "./integrations";
export * from "./workspaces"; export * from "./workspaces";
export * from "./subscriptions";

View File

@@ -0,0 +1,37 @@
import { relations } from "drizzle-orm";
import {
bigserial,
boolean,
integer,
pgTable,
timestamp,
varchar,
} from "drizzle-orm/pg-core";
import { workspaces } from "./workspaces";
export const subscription = pgTable("subscription", {
id: bigserial("id", { mode: "number" }).primaryKey(),
plan: varchar("plan", { length: 255 }).notNull(),
referenceId: varchar("referenceId", { length: 12 })
.notNull()
.references(() => workspaces.publicId),
stripeCustomerId: varchar("stripeCustomerId", { length: 255 }),
stripeSubscriptionId: varchar("stripeSubscriptionId", { length: 255 }),
status: varchar("status", { length: 255 }).notNull(),
periodStart: timestamp("periodStart"),
periodEnd: timestamp("periodEnd"),
cancelAtPeriodEnd: boolean("cancelAtPeriodEnd"),
seats: integer("seats"),
trialStart: timestamp("trialStart"),
trialEnd: timestamp("trialEnd"),
createdAt: timestamp("createdAt").notNull().defaultNow(),
updatedAt: timestamp("updatedAt").notNull().defaultNow(),
}).enableRLS();
export const subscriptionsRelations = relations(subscription, ({ one }) => ({
workspace: one(workspaces, {
fields: [subscription.referenceId],
references: [workspaces.publicId],
}),
}));

View File

@@ -11,6 +11,7 @@ import {
} from "drizzle-orm/pg-core"; } from "drizzle-orm/pg-core";
import { boards } from "./boards"; import { boards } from "./boards";
import { subscription } from "./subscriptions";
import { users } from "./users"; import { users } from "./users";
export const memberRoles = ["admin", "member", "guest"] as const; export const memberRoles = ["admin", "member", "guest"] as const;
@@ -60,6 +61,7 @@ export const workspaceRelations = relations(workspaces, ({ one, many }) => ({
}), }),
members: many(workspaceMembers), members: many(workspaceMembers),
boards: many(boards), boards: many(boards),
subscriptions: many(subscription),
})); }));
export const workspaceMembers = pgTable("workspace_members", { export const workspaceMembers = pgTable("workspace_members", {

View File

@@ -10,11 +10,65 @@ const createStripeClient = () => {
} }
const stripe = new Stripe(stripeSecretKey, { const stripe = new Stripe(stripeSecretKey, {
apiVersion: "2025-05-28.basil", apiVersion: "2025-08-27.basil",
httpClient: Stripe.createFetchHttpClient(),
}); });
return stripe; return stripe;
}; };
export const updateSubscriptionSeats = async (
stripeSubscriptionId: string,
seatIncrement = 1,
): Promise<Stripe.Subscription> => {
const stripe = createStripeClient();
// First, retrieve the current subscription to get the subscription items
const subscription = await stripe.subscriptions.retrieve(
stripeSubscriptionId,
{
expand: ["items"],
},
);
if (!subscription.items.data.length) {
throw new Error(
`No subscription items found for subscription ${stripeSubscriptionId}`,
);
}
// Get the first subscription item
const subscriptionItem = subscription.items.data[0];
if (!subscriptionItem) {
throw new Error(
`No subscription item found for subscription ${stripeSubscriptionId}`,
);
}
const currentQuantity = subscriptionItem.quantity ?? 1;
const newQuantity = currentQuantity + seatIncrement;
// Ensure we don't go below 1 seat
if (newQuantity < 1) {
throw new Error(
`Cannot reduce seats below 1. Current: ${currentQuantity}, Requested change: ${seatIncrement}`,
);
}
// Update the subscription with the new quantity and immediate invoicing
const updatedSubscription = await stripe.subscriptions.update(
stripeSubscriptionId,
{
items: [
{
id: subscriptionItem.id,
quantity: newQuantity,
},
],
proration_behavior: "always_invoice", // Invoice immediately
},
);
return updatedSubscription;
};
export { createStripeClient }; export { createStripeClient };

6783
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff