Compare commits
16 Commits
feat/activ
...
feat/testi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
857a329db5 | ||
|
|
15c608d0d1 | ||
|
|
0afaa5c159 | ||
|
|
86638026df | ||
|
|
4a3cf50c76 | ||
|
|
1e2326ac2e | ||
|
|
bb4784fd28 | ||
|
|
4ffc7e3696 | ||
|
|
9438620848 | ||
|
|
5540cdce42 | ||
|
|
e469426809 | ||
|
|
ffba2f5053 | ||
|
|
b2f3849716 | ||
|
|
756d93c067 | ||
|
|
c7288cbea8 | ||
|
|
5f9360c927 |
1
.github/funding.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
github: [kanbn]
|
||||
@@ -2,7 +2,7 @@
|
||||
"version": 0,
|
||||
"locale": {
|
||||
"source": "en",
|
||||
"targets": ["fr", "de", "es", "it", "nl", "ru"]
|
||||
"targets": ["fr", "de", "es", "it", "nl", "ru", "pl"]
|
||||
},
|
||||
"buckets": {
|
||||
"po": {
|
||||
|
||||
@@ -15,6 +15,7 @@ checksums:
|
||||
Account/singular: 01215c12fb1cdb93bd0c84c1382bef56
|
||||
Account%20deleted/singular: a25da96a1579c4491be0a95669ef18a4
|
||||
Activity/singular: 1948763de8e531483a798b68195e297e
|
||||
Activity%20log/singular: 3ec6755040306fdc9ce801bcf6ab28e1
|
||||
Activity%20logs/singular: 8b1f0bb96a905646ecfad1cfdfa42168
|
||||
Add%20a%20card/singular: 9d80becc4fe65a74e0004e4fd290735d
|
||||
Add%20a%20comment.../singular: c28cfccc0cc69a2a2487e37eb9988028
|
||||
@@ -57,6 +58,7 @@ checksums:
|
||||
Are%20you%20sure%20you%20want%20to%20delete%20this%20label%3F/singular: 037fbaf1d04356937e6afb574714f51f
|
||||
Are%20you%20sure%20you%20want%20to%20delete%20your%20account%3F/singular: 428b74d781063224c3e63980e1094ec3
|
||||
assigned%20%3C0%3E%7B0%7D%3C%2F0%3E%20to%20the%20card/singular: 9df6d89fa83706123dedd8cba2243d04
|
||||
Assignees/singular: 96fc0e28a783d80decfd4716a440ac08
|
||||
Awaiting%20Customer/singular: 122c108794f321c10e05a08f09b11457
|
||||
Backlog/singular: 35919fd5b10ad212839a75e72829fe4e
|
||||
Basic%20Kanban/singular: e46ebc406749486f3907436970d4d6c7
|
||||
@@ -70,6 +72,7 @@ checksums:
|
||||
Board%20name%20cannot%20exceed%20100%20characters/singular: 985c0177744ec56d8dac84f66ec284ca
|
||||
Board%20name%20is%20required/singular: dbd0c6cc945ab19e702fc27f970a023b
|
||||
Board%20not%20found/singular: 5af9844595fa8aed5985066620435515
|
||||
Board%20sharing%20%26%20invites/singular: c9222fbcfac4e99dcaa859b46c163e55
|
||||
Board%20URL%20can%20only%20contain%20letters%2C%20numbers%2C%20and%20hyphens/singular: ba018946ffdf85e55d701a9c27595b4d
|
||||
Board%20URL%20cannot%20exceed%2060%20characters/singular: 8fd3417559a56aa42d297b14d480c382
|
||||
Board%20URL%20copied%20to%20clipboard/singular: 5ef04fee9c8e5299a2fd1ad223eb95c9
|
||||
@@ -81,12 +84,14 @@ checksums:
|
||||
Bug/singular: 4509fffdb5931f8905063c80cf802d71
|
||||
Bug%20Report/singular: e558d1f100e21230c2f495a8913ac5ec
|
||||
Cancel/singular: 2e2a849c2223911717de8caa2c71bade
|
||||
Card/singular: bba0beaced7ea954ceb980f2b022ffee
|
||||
Card%20not%20found/singular: 91509e2f92b0b3b11330b6983139fdbf
|
||||
Card%20title/singular: 7c34f59f4005e6cb3a6ff546ea0b96e3
|
||||
Change%20Password/singular: a552fc5c4189ebc3e2e6018edda7d18f
|
||||
Change%20your%20language%20preferences./singular: 293d49fc3c75e9c425b64bd7126e6b46
|
||||
Check%20your%20inbox/singular: e9a430fcd298def74212238df0f680d6
|
||||
Checklist%20name/singular: 5eb5de823f7ca5a4d97bb41e6a3f675a
|
||||
Checklists/singular: 6f79129c8f08ee54d858a2af57d16dd9
|
||||
Clear%20filters/singular: 8f40ab5af527e4b190da94e7b6221379
|
||||
Click%20on%20the%20link%20we've%20sent%20to%20%7BmagicLinkRecipient%7D%20to%20sign%20in./singular: 210b6ff8727f976182ec3f29ea3c7667
|
||||
Close/singular: 2c2e22f8424a1031de89063bd0022e16
|
||||
@@ -94,7 +99,9 @@ checksums:
|
||||
Collaborate%20seamlessly%20with%20your%20team./singular: c5f10e431aaf8b51519bc009a4a4080c
|
||||
Coming%20soon/singular: ee2b0671e00972773210c5be5a9ccb89
|
||||
Comments/singular: 502237cd1044491c48494aa60967a985
|
||||
Comments%20%26%20mentions/singular: 1f3a822f4f97a9b07db82d24c4204f75
|
||||
Company/singular: 9e36d11fa82d1bd4563eef2abc4fcfba
|
||||
Compare%20our%20features%20to%20see%20why%20Kan%20is%20the%20best%20choice./singular: c186ed37ff27cfc2a1ac11e66b2b30f1
|
||||
Complete/singular: d3e36d723de0cfdea51c5b4171d30b4d
|
||||
Complete%20control%20and%20ownership%3A/singular: 0d8b682ba873272217425ccfc96aa9cd
|
||||
completed%20a%20checklist%20item/singular: 757b04c6c80cc927e1c597c0ad4fda33
|
||||
@@ -109,6 +116,7 @@ checksums:
|
||||
Continue%20with%20/singular: 8ed03cf7c5e60a6edf3470a4558ff058
|
||||
Continue%20with%20%7B0%7D/singular: 2eaf6e1da91e208f7c5fb6bf862fe8a6
|
||||
Control%20who%20can%20view%20and%20edit%20your%20boards./singular: 2a7e0bec29bac26280de707e2fe8bce5
|
||||
Core%20features/singular: da95932e7a1465a5d21aa3b855a46dc2
|
||||
Create%20%7B0%7D/singular: d37c29be6ccc0eb6062237f8508c3178
|
||||
Create%20another/singular: 2de8a82a416eb78c0462aa36278edc9a
|
||||
Create%20API%20key/singular: 70ed8431c6ed5f7fdef122cc34f75b41
|
||||
@@ -127,8 +135,11 @@ checksums:
|
||||
Critical/singular: eb327cd411b50aee954f8d1d215d003a
|
||||
Crop%20your%20avatar/singular: eb25e2d5972ec36a0b40481c8136ab15
|
||||
Current%20password%20is%20required/singular: 72536bca9598680027f2be8ce80ac280
|
||||
Custom%20board%20templates/singular: c2966b352d76bc53421c01e9c99474bb
|
||||
Custom%20domain/singular: b09e7a9c187b7163b4a6cfc78042fe42
|
||||
Custom%20templates/singular: f8caaad67e168f106a298c8e0a66240c
|
||||
Custom%20URLs%20require%20upgrading%20to%20a%20Pro%20plan/singular: f7275e3b473b8f7b39dab6b37eb26fea
|
||||
Custom%20workspace%20link/singular: 8a19ae46ccea9c54b65ae183cea70b44
|
||||
Custom%20workspace%20URL/singular: 7ba841d0946eb04fa3d17d74365be37b
|
||||
Customer%20Support/singular: 50e3c77e22e41061ca85ea2f02625a2e
|
||||
Dark/singular: 73e6e208ba628b26e90fcf6dce15e1b2
|
||||
@@ -196,8 +207,11 @@ checksums:
|
||||
Failed%20to%20copy%20invite%20link/singular: 635884d5ed8d6ee20b85a003939b4ae7
|
||||
Failed%20to%20create%20board/singular: a746e2afe881c3bf0a8e82a931ca3495
|
||||
Failed%20to%20login%20with%20%7B0%7D.%20Please%20try%20again./singular: 669a4b4247a73f53fb9b8b16e42d166f
|
||||
FAQ/singular: 47e0ee2eb40b4e7e732e05e2233fc71c
|
||||
FAQs/singular: dc36d7992372ccd419b39ef51cf5b16c
|
||||
Fast%20%26%20lightweight/singular: 4f2a80c555a5427b94eef5124aa10775
|
||||
Feature/singular: 58f5f3f37862b6312a2f20ec1a1fd0e8
|
||||
Feature%20breakdown/singular: cae23c2a3fbb21735289571f2e1f60db
|
||||
Feature%20Request/singular: c9de91b9a7020213381977f7d147064f
|
||||
Features/singular: 341ff316a339b106a178f0b8d362951b
|
||||
Feedback/singular: 6fac88806e0c269a30777b283988c61c
|
||||
@@ -236,6 +250,7 @@ checksums:
|
||||
Import/singular: 348b8ab981de5b7f1fca6d7302263bbd
|
||||
Import%20complete/singular: 7e749df6f068b9cdf1055ea38c9a80af
|
||||
Import%20failed/singular: bcec1f271c82ddffc91ebc22021b03cb
|
||||
Import%20from%20Trello/singular: 9cce591a63763174952ffc11ae829f0c
|
||||
Import%20your%20Trello%20boards%20and%20hit%20the%20ground%20running./singular: d66d13649f81342f8b3a4f3b54370c20
|
||||
Important/singular: 4cf0e8fc8e4e7c5c9b9458059a172a2b
|
||||
Importing%20from%20Trello/singular: 1e3a46fb9bd8ce8c7d632f9555b5bd7c
|
||||
@@ -244,22 +259,27 @@ checksums:
|
||||
In%20Progress/singular: 3de9afebcb9d4ce8ac42e14995f79ffd
|
||||
Individuals/singular: 83bfc81f20e60556c44ec80c7d0603ec
|
||||
Integrations/singular: 0ccce343287704cd90150c32e2fcad36
|
||||
Intelligent%20search/singular: da688e7cfb2775f719a12df6dd606f6e
|
||||
Interviewing/singular: 4ccdcdc784547e925077c3297bddee95
|
||||
Invalid%20email%20address/singular: b2d9f25626f2d15c7c63e0281bccc247
|
||||
Invalid%20invitation/singular: 4b936a8811a2295a5f58b41473c608f3
|
||||
Invite/singular: 181884cea804cbde665f160811ee7ad0
|
||||
Invite%20link%20copied/singular: 4046f23a78e1cd5166671c3fb8a7ea6e
|
||||
Invite%20link%20copied%20to%20clipboard/singular: 6fc055a0ea0ed1aa58c5e0c502efe17f
|
||||
Invite%20links/singular: 36ea61a3193245fa1b57d3392f342aaa
|
||||
Invite%20links%20require%20a%20Team%20or%20Pro%20subscription.%20Please%20upgrade%20your%20workspace./singular: 18db646fc55f99789572c8df0539ee69
|
||||
Invite%20member/singular: ade922db1be6b26bc979565ce5de2bc7
|
||||
Inviting%20members%20requires%20a%20Team%20Plan.%20You'll%20be%20redirected%20to%20upgrade%20your%20workspace./singular: 03eeed2d715e770259f722ba48a61ab3
|
||||
Join%20workspace/singular: f5d035df672b05abd760bd022309c719
|
||||
Join%20workspace%20%7C%20kan.bn/singular: 97855216a0e00214b2dcf917e93164f2
|
||||
Junior/singular: ed1bd2c59a824fdcdd56fc8a0660fe9f
|
||||
Kan/singular: dd1232a5a28bf47e939d3b8a199bc229
|
||||
Kan%20is%20better%20with%20a%20team.%20Perfect%20for%20small%20and%20growing%20teams%20looking%20to%20collaborate./singular: d13f4467d3dc0a0786c3843a9b50785d
|
||||
Kanban%20is%20better%20with%20a%20team.%20Perfect%20for%20small%20and%20growing%20teams%20looking%20to%20collaborate./singular: a77bee43046b260797c8936ad23e9223
|
||||
Kanban%20reimagined/singular: 613ccfdd9f54c66cbf68cfa313498766
|
||||
Keep%20in%20mind%20that%20this%20action%20is%20irreversible./singular: 79702b2ad3be71cb8b87f1122a60c199
|
||||
Labels/singular: 6f15627a90002323eac018274b6922d6
|
||||
Labels%20%26%20filters/singular: e1ceda0c6cc32fb04cb9423582ad8fe4
|
||||
Labels%20%26%20Filters/singular: 8f0bdd6084516f8241cb613178114390
|
||||
Language/singular: 277fd1a41cc237a437cd1d5e4a80463b
|
||||
Launch%20offer/singular: 624592ba2ecf647a3fe60d493c1ee71a
|
||||
@@ -275,6 +295,7 @@ checksums:
|
||||
Login%20%7C%20kan.bn/singular: 42a6c8dcd73e0d46e652646dc86871eb
|
||||
Logout/singular: 07948fdf20705e04a7bf68ab197512bf
|
||||
Long-term/singular: 51cb6f0b112250c5a091ca5f0866904b
|
||||
Loved%20by%20teams%20worldwide/singular: 41de5089fef56bb0bfcf7f8649a0cb93
|
||||
Low%20Priority/singular: 509b5cb7c1e8a185e0aa6d38c64c90e8
|
||||
magic%20link/singular: db9d17a5bd98bba8aa0d8068c68579f3
|
||||
Make%20template/singular: 7a1c63b75cea690b3fda6c3f203e31ff
|
||||
@@ -313,9 +334,11 @@ checksums:
|
||||
Onboarding/singular: 52b23f9c62ff199d4c09920e7641829e
|
||||
Once%20you%20delete%20your%20account%2C%20there%20is%20no%20going%20back.%20This%20action%20cannot%20be%20undone./singular: 9cf7aa6ef30890e5124e266c081bae1c
|
||||
Once%20you%20delete%20your%20workspace%2C%20there%20is%20no%20going%20back.%20This%20action%20cannot%20be%20undone./singular: c9ce6a516ed1f361653e8f8db3dd5ffd
|
||||
Open%20source/singular: 81a747dc664de1a3389b495c8f84843b
|
||||
or/singular: 7b133c38bec0d5ee23cc6bcf9a8de50b
|
||||
Organize%20and%20find%20cards%20quickly%20with%20powerful%20filtering%20tools./singular: 1b9898c4b21e9dff413b4f76dc59db56
|
||||
Own%20your%20data/singular: cc2178dac4bdf6b07f030cfc2a7510e6
|
||||
Owned%20by%20Atlassian/singular: ace4ed076a5318ad48c296fa09afed69
|
||||
Part-time/singular: 213d63da450f35dabb3ab0e35e29feed
|
||||
Password%20Changed/singular: 1fcebe9ddb46f722a57f195efddc695d
|
||||
Password%20is%20required%20to%20login./singular: a09c76294ca7b27b38658b34618a7119
|
||||
@@ -328,6 +351,7 @@ checksums:
|
||||
per%20user%2Fmonth/singular: 72af182c1ba6df6732640f4d8a78d360
|
||||
Personal%20Project/singular: d7820b1bf4efecc61ed89234567aaa9c
|
||||
Planning/singular: 353f58c75248275fe091740607501610
|
||||
Platform/singular: c68862170146325333c7f25af11a3fa2
|
||||
Please%20confirm%20your%20new%20password/singular: 43d0307b9307238cc6c199cfa66caff2
|
||||
Please%20enter%20a%20valid%20email%20address/singular: 8de4bc8832b11b380bc4cbcedc16e48b
|
||||
Please%20enter%20a%20valid%20name/singular: f2d741f1b5cae722e35cb5206786f932
|
||||
@@ -335,6 +359,7 @@ checksums:
|
||||
Please%20select%20a%20file%20to%20upload./singular: de315bf594047f8ef9307a7fa9285844
|
||||
Please%20try%20again%20later%2C%20or%20contact%20customer%20support./singular: 21ffcf0b00e7cd7b64f7454a95762e1d
|
||||
Please%20try%20again%20later./singular: 325dea6dd0348a27a6818db2c1340c98
|
||||
Price%20per%20user%2Fmonth/singular: ae4b93ad0f9fad454b40f82010372fc2
|
||||
Pricing/singular: ce27f1aeacccc542a174c4b2bce022b0
|
||||
Priority%20email%20support/singular: 678538c912a770b1e1416ecdb8e299b1
|
||||
Privacy%20policy/singular: 462c6a536b52873e4498785c66dd48c8
|
||||
@@ -361,6 +386,7 @@ checksums:
|
||||
Research/singular: 3368e9638d1619babd6df9fad592274f
|
||||
Resolution/singular: 6d8bd9e1bd7dae5ae38c93061d32990e
|
||||
Resources/singular: ec7fb05ed963bb6781a35782b3475502
|
||||
REST%20API/singular: 54c9f8d98f45f50399b6b93ba70af0d6
|
||||
Review/singular: 299f75db25382980b2895622d7712927
|
||||
Roadmap/singular: c60f4a1acf30e566861bf130f13b9ae7
|
||||
Role/singular: 53743bbb6ca938f5b893552e839d067f
|
||||
@@ -369,11 +395,13 @@ checksums:
|
||||
Save%20time%20with%20reusable%20board%20templates./singular: d0f2d7d0fd682ceaf4ca12c6353fd75a
|
||||
Screening/singular: 0327bfb25db87bdacf00d4dc297f8b26
|
||||
Search%20boards%20and%20cards.../singular: 137017b2b3e885c4894ca8c899af5bc2
|
||||
See%20what%20our%20users%20are%20saying%20about%20Kan/singular: e3bf6f95419169f460fb6918a0afc512
|
||||
Select%20all/singular: eedc7cdb02de467c15dc418a066a77f2
|
||||
Select%20source/singular: c7b0ec447415ff62856803a4d7838bd6
|
||||
Self%20Host/singular: 43fbce2027548b712002e489a20a621a
|
||||
Self%20host%20with%20Github/singular: 972155419bcc9f8f9bad9f5ad3538774
|
||||
self-assigned%20the%20card/singular: 24a8d97bcd747643772ebe883be69698
|
||||
Self-hostable/singular: 3e3597145cc17f03b8b5646b80d59592
|
||||
Send%20feedback/singular: 9631cc08d49da04475b30a0d320ce97c
|
||||
Senior/singular: 3fff865dc00435f82896fc302ea45630
|
||||
Settings/singular: 8df6777277469c1fd88cc18dde2f1cc3
|
||||
@@ -409,6 +437,7 @@ checksums:
|
||||
Template%20name%20is%20required/singular: 34d674d59c414c2051ef5bc0a62e3c00
|
||||
Templates/singular: 8ed62f56c81fa96c0f3182acb331bf63
|
||||
Terms%20of%20service/singular: 0b8a8b23aff021a6cde79613fdb39c28
|
||||
Testimonials/singular: e958aa3d3743031e2cbfbfd8f1e381f6
|
||||
Thank%20you%20for%20your%20feedback!/singular: 07edd8c50685a52c0969d711df26d768
|
||||
The%20current%20password%20you%20entered%20is%20incorrect./singular: 67a76bf346ab4b48563269e9d941a64a
|
||||
The%20main%20difference%20between%20Kan%20and%20Trello%20is%20that%20Kan%20is%20open%20source%2C%20allowing%20anyone%20to%20view%2C%20modify%2C%20and%20contribute%20to%20our%20code.%20Our%20cloud%20offering%20also%20offers%20no%20restrictions%20on%20features%20for%20individual%20use%2C%20whereas%20Trello%20locks%20basic%20features%20such%20as%20the%20number%20of%20boards%20you%20can%20create%20behind%20a%20paywall./singular: db6e22cc955c5fbe547feedeb48f8719
|
||||
@@ -433,6 +462,7 @@ checksums:
|
||||
Trello%20disconnected/singular: 54b24a3e6c9a7eedd8c8d1060ab1175d
|
||||
Trello%20imports/singular: 6827eca403faa8f89891d17827e72af9
|
||||
Triaging/singular: 1d40799fcae53a8a27688fdae2a48dee
|
||||
Trusted%20by%20fast-moving%20teams%3C0%2F%3Earound%20the%20world/singular: b065575df380536df9541a91ca9b37bf
|
||||
Unable%20to%20add%20checklist%20item/singular: 4c4c3eaaf10b348b39ae97eb5dc455df
|
||||
Unable%20to%20add%20comment/singular: 49bb435880817434698f31a6069564d6
|
||||
Unable%20to%20create%20card/singular: 90112ea12ec6fa42097a6e022ae048a4
|
||||
@@ -464,6 +494,7 @@ checksums:
|
||||
Unlimited%20comments/singular: 31dbcf487c49a9997142e96bb3ab0040
|
||||
Unlimited%20lists/singular: 5c418701b27b9acbc5dd199719007362
|
||||
Unlimited%20members/singular: f2949ca2dc18b0063af92e60779abb65
|
||||
Unlimited%20workspaces/singular: b504d01997bf908af1d486d9942fed36
|
||||
Update/singular: 079fc039262fd31b10532929685c2d1b
|
||||
Update%20label/singular: 97880b503dfe956941c5f23025a1c102
|
||||
updated%20a%20checklist%20item/singular: 198e1d1d503f4b69b752dd84d0cc0e9d
|
||||
@@ -495,6 +526,7 @@ checksums:
|
||||
What%20license%20are%20you%20using%3F/singular: 59d00e1bf28edc21b77fec94875f57ca
|
||||
What's%20the%20difference%20between%20Kan%20and%20Trello%3F/singular: 7a02f507dd6abbfab1fdae0b172d31b7
|
||||
When%20Trello%20launched%20in%202011%2C%20it%20blew%20everyone%20away%20with%20its%20carefully%20designed%20simplicity%2C%20but%20over%20time%20(and%20atlassification)%20it%20lost%20its%20magic%20and%20grew%20into%20something%20closer%20to%20%22Jira%20Lite%22.%20This%20project%20is%20our%20attempt%20to%20recapture%20the%20original%20magic%20of%20Trello's%20simplicity%2C%20in%20open%20source./singular: 60a55e9bd16c3d1beff1a6c7633c5911
|
||||
White%20label/singular: 2570386f73a010b07219e7658aaf9d9b
|
||||
Why%20make%20an%20open%20source%20Trello%3F/singular: 090833338ba8c64ef7a75e0f2615b34b
|
||||
Workspace/singular: b63ef0e99ee6f7fef6cbe4971ca6cf0f
|
||||
Workspace%20created%20successfully.%20You%20can%20upgrade%20later%20in%20settings./singular: 8bbaba9f82ff076a08185ada1ee7eb94
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { LinguiConfig } from "@lingui/conf";
|
||||
|
||||
const config: LinguiConfig = {
|
||||
locales: ["en", "fr", "de", "es", "it", "nl", "ru"],
|
||||
locales: ["en", "fr", "de", "es", "it", "nl", "ru", "pl"],
|
||||
sourceLocale: "en",
|
||||
catalogs: [
|
||||
{
|
||||
|
||||
@@ -48,6 +48,13 @@ const config = {
|
||||
},
|
||||
],
|
||||
},
|
||||
webpack(config) {
|
||||
config.module.rules.push({
|
||||
test: /\.svg$/,
|
||||
use: ["@svgr/webpack"],
|
||||
});
|
||||
return config;
|
||||
},
|
||||
experimental: {
|
||||
// instrumentationHook: true,
|
||||
swcPlugins: [["@lingui/swc-plugin", {}]],
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
"@lingui/cli": "^5.3.2",
|
||||
"@lingui/loader": "^5.3.2",
|
||||
"@lingui/swc-plugin": "^5.5.2",
|
||||
"@svgr/webpack": "^8.1.0",
|
||||
"@types/node": "^20.17.7",
|
||||
"@types/react": "catalog:react18",
|
||||
"@types/react-beautiful-dnd": "^13.1.7",
|
||||
|
||||
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 398 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 423 KiB |
1
apps/web/public/logos/airbus.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="2500" height="2500" viewBox="0 0 192.756 192.756"><g fill-rule="evenodd" clip-rule="evenodd"><path fill="none" d="M0 0h192.756v192.756H0z"/><path fill="#313f94" d="M33.272 96.299c-.159-7.649-6.374-13.864-14.023-13.864S5.544 88.809 5.544 96.458h-2.71c0-8.446 6.693-15.298 15.139-15.458 8.446 0 15.458 6.853 15.458 15.299z" style="fill:currentColor"/><path fill="#313f94" d="M33.113 96.458c0-6.215-4.94-11.155-11.155-11.155s-10.677 4.94-10.677 11.155H8.253c0-7.012 5.737-12.589 12.749-12.749 6.853 0 12.43 6.374 12.589 12.589z" style="fill:currentColor"/><path fill="#313f94" d="M33.272 96.299c0-4.462-3.824-8.127-8.446-8.127s-7.968 3.665-7.968 8.287H13.99c0-5.418 4.144-9.88 9.562-9.88s9.721 4.462 9.88 9.721h-.16z" style="fill:currentColor"/><path fill="#313f94" d="M3.153 96.458c0 7.649 6.215 13.864 13.864 13.864 7.809 0 13.864-6.375 13.864-14.023h2.709c0 8.445-6.853 15.457-15.298 15.457S2.994 104.904 2.834 96.458z" style="fill:currentColor"/><path fill="#313f94" d="M3.153 96.299c0 6.215 4.94 11.154 11.155 11.154s10.836-4.939 10.677-11.154h3.028c0 7.012-5.737 12.748-12.589 12.748-7.012 0-12.589-6.373-12.589-12.589z" style="fill:currentColor"/><path fill="#313f94" d="M2.994 96.458c.159 4.462 3.984 8.128 8.446 8.128 4.622 0 7.968-3.666 7.968-8.287h2.868c0 5.418-4.143 9.881-9.562 9.881-5.417 0-9.72-4.303-9.72-9.722m54.341 3.507h-5.1l4.144-8.925zm-8.924 8.285 1.434-3.188h7.968l.479 3.188h7.968l-4.462-24.7H53.67l-13.227 24.7zm21.513 0 4.303-24.7h8.127l-4.302 24.7zm24.064-18.645h3.985c1.273 0 2.07.16 2.549.638.318.318.479.956.318 1.593-.158.797-.479 1.435-1.115 1.753-.479.479-1.434.638-2.709.638h-3.825zM90.8 108.25l1.435-8.605h3.187c.956 0 1.754.16 2.23.32.479.318.797.637.957 1.115q.237.716 0 1.912l-.16 1.912c-.318 1.594-.318 2.709-.318 3.346h8.287v-.797c-.16 0-.479 0-.479-.158-.158-.16-.158-.479 0-1.115l.639-3.826c.158-1.752.158-3.027-.32-3.664-.477-.797-1.434-1.436-2.867-2.072.797-.159 1.434-.479 2.07-.796.797-.638 1.436-1.275 1.912-2.072.639-.957.957-1.913 1.275-3.188q.24-1.434 0-2.39a5.3 5.3 0 0 0-.797-1.912 7.5 7.5 0 0 0-1.594-1.594c-.797-.319-1.594-.638-2.709-.797s-2.548-.319-4.302-.319H87.294l-4.303 24.7zm33.147-19.123c1.115 0 1.912.159 2.23.159.479.16.797.479.957.797.318.319.318.797.318 1.275-.16.638-.479 1.116-1.115 1.594-.479.319-1.436.637-2.709.637H120.6l.797-4.462zm-1.275 19.123c1.912 0 3.188-.158 3.984-.318s1.752-.479 2.549-.797c.957-.479 1.594-.797 2.072-1.275.797-.477 1.275-1.273 1.754-2.07a7.2 7.2 0 0 0 1.115-2.869c.158-1.434 0-2.709-.479-3.666-.637-1.115-1.434-1.752-2.709-2.071 2.391-1.434 3.824-3.187 4.143-5.259.479-2.231-.158-3.825-1.912-4.94-1.275-.957-3.346-1.435-6.533-1.435h-12.111l-4.303 24.7zm.478-10.357c1.594 0 2.549.318 3.027.637.479.479.637.957.479 1.754-.16.637-.479 1.273-1.115 1.752-.639.318-1.594.639-3.188.639h-3.346l.797-4.781zm18.645-14.343h7.969l-2.709 15.298c-.16.957-.16 1.754 0 2.232.158.477.477.955 1.115 1.273.637.32 1.275.479 2.07.479 1.117 0 2.232-.318 2.869-.955.797-.639 1.275-1.754 1.594-3.029l2.709-15.298h7.969l-2.551 14.501c-.318 1.754-.637 3.188-1.115 4.303-.479.957-1.115 1.912-1.912 2.709s-1.754 1.594-2.709 2.072c-1.115.637-2.23 1.115-3.506 1.434-1.434.16-2.869.32-4.303.32-1.754 0-3.188-.16-4.463-.32-1.273-.318-2.23-.797-3.027-1.434-.955-.637-1.594-1.275-2.072-2.072-.477-.797-.797-1.912-.797-3.186-.158-.797 0-2.232.32-3.984zm48.127 7.171h-7.809c0-.638-.318-1.275-.639-1.594-.477-.319-1.115-.478-2.07-.478-.957 0-1.754.159-2.23.478-.479.319-.639.638-.797 1.116 0 .478 0 .637.318.956s1.115.637 2.549.956l3.027.797c2.709.797 4.623 1.753 5.578 3.028.957 1.274 1.275 2.709.957 4.461-.32 1.436-.797 2.551-1.594 3.666s-1.754 2.072-2.709 2.709c-.957.637-2.232 1.115-3.666 1.594-1.434.318-3.027.479-4.621.479s-3.188-.16-4.621-.639q-2.153-.717-3.348-1.912c-1.195-1.195-1.434-1.752-1.752-2.867-.16-.797-.16-1.754-.16-2.869h7.809c0 .797.318 1.434.797 1.752.479.479 1.436.639 2.709.639q1.673 0 2.391-.479c.718-.479.639-.637.797-1.115 0-.479 0-.957-.318-1.275s-1.115-.637-2.551-.955l-2.709-.639c-1.273-.318-2.709-.797-3.824-1.434-1.115-.638-2.07-1.435-2.549-2.55-.479-.956-.479-2.071-.318-3.506.318-1.434.797-2.549 1.592-3.665.797-1.115 1.754-1.912 2.869-2.55.957-.797 2.23-1.115 3.506-1.434s2.551-.478 3.824-.478c1.594 0 2.869.159 4.145.478 1.273.319 2.07.797 2.867 1.275.639.478 1.115 1.115 1.436 1.753.477.637.637 1.275.797 1.912.157.637.317 1.434.317 2.39" style="fill:currentColor"/></g></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
1
apps/web/public/logos/bitwarden.svg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
1
apps/web/public/logos/couchbase.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 2000 456.5"><path d="M380.5 268.5c0 13.6-8 26-23.6 28.4-26.8 4.8-82.8 7.6-130 7.6s-103.2-2.8-130-7.6c-15.6-2.8-23.2-15.2-23.2-28.4v-89.2c0-13.6 10.4-26.4 23.2-28.4 8-1.6 26.4-2.8 40.8-2.8 5.6 0 9.6 4.4 10 10.8v62c27.6 0 51.6-1.6 79.6-1.6s51.6 1.6 79.6 1.6v-62c0-6.4 4.4-10.8 9.6-10.8 14.4 0 32.8 1.2 40.8 2.8 12.8 2.4 23.6 15.2 23.6 28.4zM226.4 0C101.6 0 0 102.4 0 228.4s101.6 228 226.4 228 226.4-102.4 226.4-228S352.1 0 226.4 0" class="st0" style="fill:currentColor"/><path d="M543.6 309.9c-70.4 0-105.6-51.2-105.6-108 0-56.4 36.8-107.2 106.4-107.2 26.8 0 46 5.6 61.6 16.4l-20 33.2c-11.2-7.2-24-12-42.4-12-38 0-58 30.4-58 68.4 0 38.8 19.2 71.6 58.8 71.6 22 0 35.6-7.6 46.4-16l18.4 32c-10.8 9.6-35.6 21.6-65.6 21.6M694 309.9c-52.4 0-75.6-40-75.6-79.6s22.8-80.4 75.2-80.4 76.4 39.6 76.4 79.2c0 38.8-23.2 80.8-76 80.8m-1.2-128c-22.8 0-29.6 19.2-29.6 47.2s8.8 48.4 31.2 48.4c22.8 0 30.4-18.8 30.4-47.2s-8.8-48.4-32-48.4M836.9 153.9v97.6c0 15.2 5.2 22.4 19.6 22.4 15.2 0 26.8-14.8 29.6-18.4V153.9h42.4v107.6c0 20 2.4 35.6 4.4 44.8h-41.6c-1.2-4.4-2.8-14-3.2-20-8 10.4-23.6 24-48.4 24-33.2 0-45.2-21.6-45.2-49.6V153.9zM1032.5 309.9c-48.8 0-78.4-32-78.4-80 0-51.2 33.6-80.4 80-80.4 24.4 0 38.8 7.2 46 12l-13.6 29.2c-6.4-4.4-16.4-8.8-31.2-8.8-23.6 0-36.4 18.4-36.4 46.4s12 48 37.2 48c16.8 0 27.6-6 32-8.8l12.8 28.4c-7.2 4.8-20.8 14-48.4 14M1194.5 306.3v-97.6c0-15.2-5.2-22.4-19.2-22.4-15.6 0-27.2 14.4-30 18.4v102h-42.4V81.1h42.4v90.8c7.6-8.4 22-22 46.8-22 33.2 0 45.2 21.2 45.2 49.6v106.4zM1314.1 81.1v84.4c6.8-6.8 20-16 36.8-16 37.6 0 63.6 26 63.6 78.8 0 52.4-34.8 81.2-80.4 81.2-34.4 0-55.2-8.4-62.4-12.4v-216zm0 192c2.8.8 9.2 3.2 20 3.2 22 0 35.2-16.4 35.2-47.6 0-28-9.2-44.8-30.8-44.8-12.8 0-22 8-24.8 11.2zM1519.8 306.3c-1.2-4-2.4-11.6-2.8-16.4-6.4 8-20.8 20-42 20-25.6 0-45.6-15.6-45.6-42.8 0-39.6 40-54 80.4-54h5.2v-8.8c0-12.8-5.2-20.4-24-20.4-19.2 0-32.4 10-38.4 14.4l-18-26.4c9.2-8 28.8-22 61.2-22 41.6 0 61.2 16.4 61.2 56.8v53.6c0 20.8 2.4 36 4.4 46zm-4.8-67.2h-5.2c-23.2 0-39.2 6.8-39.2 24.4 0 10.8 8.4 15.6 17.6 15.6 14.4 0 22.4-8 26.8-12.8zM1633.8 309.9c-27.2 0-44.4-8-53.6-14.4l14.4-30c5.6 4 20.4 12.4 37.2 12.4 15.6 0 24.4-4.4 24.4-13.2 0-10-16.8-12.8-38.4-23.2-20.8-10-32.8-22-32.8-44.8 0-28.8 22.4-47.2 56.8-47.2 26 0 41.6 8 48.8 12l-14.8 29.2c-5.6-4-17.6-9.6-32-9.6s-20.4 5.2-20.4 12.8c0 10 14 12.4 30.8 19.2 23.6 9.6 40.4 20.8 40.4 46.8-.8 33.2-23.6 50-60.8 50M1792.2 277.9c20.4 0 31.6-6.4 38.8-10.4l13.6 27.6c-10 5.6-25.6 14.8-56.4 14.8-50.4 0-79.2-32-79.2-80.8 0-48.4 33.2-79.2 74.8-79.2 47.6 0 70.4 33.2 65.2 90.4h-94c1.6 22.8 12.8 37.6 37.2 37.6m16-66.8c-.4-16.8-6.8-30.4-25.2-30.4-16.8 0-26.4 10.8-28.8 30.4z" class="st1" style="fill:currentColor" transform="translate(150.22 27.826)"/></svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
1
apps/web/public/logos/deloitte.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="892.4" height="170.507" viewBox="-86.2 14.747 1092.4 170.507"><path d="M3054.827 974.386a4.32 4.32 0 1 1 8.637 0 4.32 4.32 0 0 1-8.637 0M2917.055 962.946q0-4.106-1.587-6.09-1.586-1.98-4.818-1.98h-2.294v16.732h1.755q3.592.001 5.267-2.135 1.676-2.134 1.677-6.527m8.18-.285q0 7.478-4.02 11.522-4.02 4.047-11.304 4.046h-9.436v-29.87h10.095q7.023 0 10.845 3.677 3.82 3.677 3.82 10.625M2951.373 978.229h7.509v-29.996h-7.509zM2969.43 967.04q0 2.87.749 4.374.749 1.505 2.515 1.505 1.748 0 2.469-1.505.719-1.505.718-4.374 0-2.853-.728-4.306-.731-1.457-2.498-1.458-1.727.001-2.476 1.447-.749 1.444-.749 4.317m14.094 0q.001 5.466-2.87 8.524-2.871 3.059-8.036 3.059-4.955 0-7.883-3.128-2.93-3.126-2.93-8.455 0-5.448 2.871-8.467t8.058-3.02q3.206 0 5.664 1.398t3.792 4.003q1.334 2.603 1.334 6.086M2986.506 978.23h7.51v-22.282h-7.51zM2986.506 953.253h7.51v-5.022h-7.51zM3009.23 972.546c1.015 0 2.222-.258 3.63-.769v5.606q-1.517.669-2.89.953-1.372.286-3.217.286-3.781 0-5.455-1.899-1.667-1.897-1.668-5.828v-9.185H2997v-5.76h2.63v-5.69l7.567-1.317v7.007h4.791v5.76h-4.791v8.672q0 2.164 2.034 2.164M3026.612 972.546c1.013 0 2.22-.258 3.63-.769v5.606q-1.518.669-2.89.953-1.374.286-3.218.286-3.782 0-5.452-1.899-1.671-1.897-1.672-5.828v-9.185h-2.63v-5.76h2.63v-5.777l7.567-1.23v7.007h4.793v5.76h-4.793v8.672q0 2.164 2.035 2.164M3039.717 964.326q.155-1.83 1.047-2.685.895-.855 2.217-.855 1.445-.001 2.295.965.857.962.893 2.575zm10.59-6.145q-2.678-2.626-7.593-2.626-5.166 0-7.952 3.018-2.784 3.019-2.785 8.663.001 5.467 3.007 8.426 3.005 2.96 8.44 2.96 2.61 0 4.493-.355a13 13 0 0 0 3.627-1.266l-1.154-5.021c-.851.347-1.661.615-2.426.79q-1.658.386-3.638.386-2.171 0-3.427-1.061-1.258-1.065-1.335-2.932h13.422v-3.42q0-4.938-2.679-7.562M2935.2 964.326q.155-1.83 1.047-2.685.894-.855 2.219-.855 1.44-.001 2.294.965.855.962.893 2.575zm10.592-6.145q-2.68-2.626-7.595-2.626-5.167 0-7.95 3.018-2.785 3.019-2.786 8.663 0 5.467 3.007 8.426 3.004 2.96 8.44 2.96 2.61 0 4.493-.355a13 13 0 0 0 3.627-1.266l-1.155-5.021c-.851.347-1.661.615-2.425.79q-1.66.386-3.639.386-2.17 0-3.427-1.061-1.258-1.065-1.335-2.932h13.422v-3.42q0-4.938-2.677-7.562" style="fill:currentColor" transform="translate(-15746.429 -5136.262)scale(5.4348)"/></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
1
apps/web/public/logos/fast_company.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 295 42"><rect width="100%" height="100%" fill="none"/><path d="M259.5 5.5c0-2.9.9-3.9 2.4-3.9s2.7.6 4.1 3.9l8.5 19.3V37c0 2.9-1.2 3.7-4.5 4.1v.8h15.7v-.8c-3.4-.4-4.5-1.3-4.5-4.1V24.8l8.2-18.6c1.6-3.6 3.2-4.4 5.6-4.8V.6h-11.5v.8c3.9.4 5.3 1.5 4.2 4.1L280.5 22l-7.4-16.9c-1-2.3-.4-3 3.9-3.6V.7h-24.7v.8c3.9.6 5.1 1.3 5.1 4.1v22.6L239.3.7h-8.9v.8c2.9.4 3.8 1.3 3.8 4.1v31.5c0 2.9-.8 3.9-1.8 3.9-.9 0-1.4-.4-2.7-3.9L216.3.5h-.8l-12.9 35c-1.4 3.9-3.6 5.2-5.8 5.7v.8h11.8v-.8c-4.1-.4-5.4-2-4.5-4.6l2.9-8h12.2l2.8 7.5c1.2 3.4.5 4.4-3 5v.8h22.4v-.8c-3.9-.6-5.1-1.3-5.1-4.1V8.8L258.2 42h1.3zM101.6 21.2c0-12.8 6.1-19.5 13.2-19.5 4.2 0 6.9.9 8.5 2.6 1.2 1.2 2.1 2.9 3.1 5.6h.8V1.3C123.1.5 119.4 0 115.7 0 105 0 93.9 6.9 93.9 21.2S105 42.4 115 42.4c4.4 0 8.3-.7 12-1.8l1.2-8.1-.7-.2c-.9 1.7-2 3.2-3.2 4.5-2.6 2.6-6.1 4-9.6 4-6.8-.1-13.1-6.6-13.1-19.6m88.7 1.2c-.9 0-2.1-.1-3.3-.3v-20h3.3c5.5 0 7.9 2.9 7.9 10.1 0 7.3-2.5 10.2-7.9 10.2M61.8.6v9.9h.8c1.2-6.3 3.7-8.3 7.9-8.3h2V37c0 2.9-1.2 3.7-4.5 4.1v.8h15.7v-.8c-3.4-.4-4.5-1.3-4.5-4.1V2.1h2c4.2 0 6.7 2 7.9 8.3h.8V.5H61.8zM49.3 42.4c6.8 0 14-3.9 14-11.9 0-4.7-2.5-8.6-6.9-11l-7.8-4.3c-4.1-2.3-5.3-4.4-5.3-7.4 0-3.4 2.5-6.1 7.2-6.1 2.3 0 4 .6 5.4 1.9 1.2 1.2 2.4 3.2 3.5 6.8h.7V1.3C57.3.5 54.4 0 51 0c-6.7 0-11.7 4.2-11.7 11.3 0 4.5 2.5 8.6 6.6 11l7.2 4c4.1 2.3 5.4 4.5 5.4 7.8 0 3.9-4 6.7-8.4 6.7-2.9 0-5.3-1-7-2.7-1.1-1.1-2.3-2.8-3.1-5h4.7v-.8c-1.3-.3-2.1-.5-3.2-3.1L32.3 7.3h-.8l-9 21.4c-1.2 2.9-2 3.4-3.4 3.6v.8h8v-.8c-2.9-.3-3.7-1.7-3-3.5l1.4-3.4h8.1l1.8 4.2c.8 1.9-.4 2.4-3.3 2.6v.8h6.4v7.9c3.2.9 7.3 1.5 10.8 1.5m101.6-.4 11.9-33.1.9 28.2c.1 2.8-1 3.6-4.4 4v.8h32.8v-.8c-3.9-.6-5.1-1.3-5.1-4.1V23.7c1.3.2 2.6.3 3.6.3 7.9 0 14.7-2.9 14.7-11.7S198.5.6 190.6.6h-14.1v.8c2.9.4 3.8 1.3 3.8 4.1V37c0 2.9-1.2 4.1-4.5 4.1h-.1c-3.5 0-5-1.3-5.1-4l-1.2-31.5c-.1-2.9.9-3.8 4-4.2V.6h-9.7l-10.6 29.7L142.5.6h-10.4v.8c3.1.4 4.1 1.4 4 4.2L135 35.8c-.1 3-1.7 4.8-4.6 5.3v.8h11v-.8c-2.8-.4-4.4-2.2-4.3-5.3l.9-27.5 12.1 33.6zM119 33.3c5.3 0 12.1-4.7 12.1-12.1 0-7.3-6.7-12.1-12.1-12.1-5.3 0-12.1 4.7-12.1 12.1 0 7.3 6.7 12.1 12.1 12.1m0-22.5c3.4 0 5.7 2.8 5.7 10.4 0 7.7-2.4 10.4-5.7 10.4-3.4 0-5.7-2.8-5.7-10.4 0-7.7 2.3-10.4 5.7-10.4m99.7 16.1h-11.1l5.5-15.2zM33.1 23.8h-6.8l3.4-8.3zm-13 2.1h.8V13.5h-.8c-1.3 4.4-2.6 5.4-5 5.4h-4.6V2.1h7.3c4.2 0 6.7 2 7.9 8.3h.8V.5H0v.8c2.9.4 3.8 1.3 3.8 4.1v31.5c0 2.9-.9 3.7-3.8 4.1v.8h15.6V41c-3.9-.6-5.1-1.3-5.1-4.1V20.4h4.6c2.3.1 3.7 1.1 5 5.5" class="currentLayer" style="fill:currentColor"/></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
1
apps/web/public/logos/lego.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="-5 0 24 14"><path d="M11.48 4.37c-.714 0-1.207.284-1.54.678a.9.9 0 0 0-.16-.238c-.273-.308-.712-.452-1.3-.452-.576 0-1.056.18-1.39.462-.172-.28-.585-.467-1.082-.467-.65 0-1.358.092-1.778.769-.01-.244-.032-.373-.169-.518-.166-.176-.436-.222-.698-.222-.478 0-.838.209-1.097.634C1.89 5.616.98 7.59 1 8.546c.014.618.428 1.063 1.17 1.08.579.015 1.034-.14 1.323-.432.26.282.655.447 1.128.447.528 0 1.059-.158 1.372-.504.264.324.68.513 1.214.51a2.19 2.19 0 0 0 1.713-.842c.22.598.777.836 1.386.836 1.335 0 1.92-.918 2.41-2.369.11-.327.256-.873.28-1.33.041-.764-.282-1.571-1.517-1.571M2.598 8.02c.69-.12.864.129.842.36-.065.692-.7.847-1.251.834-.4-.009-.76-.193-.77-.657-.017-.812.811-2.69 1.201-3.314.18-.295.4-.441.75-.441.331 0 .413.17.408.374-.013.544-.892 2.197-1.18 2.843m2.249-.639a7 7 0 0 0-.203.657c.227-.056.397-.096.688-.089.332.008.544.146.544.42 0 .666-.735.86-1.245.86-.56 0-1.052-.318-1.052-.93 0-.718.39-1.807.755-2.532.448-.89.906-1.008 1.695-1.008.347 0 .747.148.747.475 0 .454-.385.627-.766.65a5 5 0 0 1-.563.006s-.127.194-.262.538c.706-.1 1.005.06.886.47-.161.551-.639.587-1.224.483zM8.32 5.665c-.19 0-.316.12-.409.251-.204.288-.648 1.44-.717 1.912-.047.324.093.39.246.39.245 0 .52-.26.614-.688 0 0-.467-.01-.338-.425.125-.402.362-.489.756-.505.775-.032.698.54.636.846-.201.99-.907 1.787-1.904 1.787-.683 0-1.107-.378-1.107-1.075 0-.496.246-1.275.44-1.731.416-.97.852-1.65 1.962-1.65.666 0 1.191.24 1.114.864-.056.457-.286.726-.702.759-.116.009-.593-.003-.435-.454.056-.157.078-.281-.156-.281m4.192.819a6.7 6.7 0 0 1-.668 1.79c-.467.84-1.035.959-1.53.953s-1.055-.19-1.06-.954c-.002-.549.235-1.324.436-1.832.35-.92.708-1.671 1.84-1.658 1.32.016 1.085 1.19.982 1.7m-1.12-.8c-.113-.001-.212.02-.3.158-.2.258-.784 1.854-.774 2.172.004.114.067.214.208.214.161 0 .25-.111.33-.246.184-.311.7-1.721.715-2.074.004-.102-.013-.222-.179-.224" style="fill:currentColor"/></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
1
apps/web/public/logos/linkedin.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-48.214 -18.217 387.865 116.248"><path d="M1.785 65.652h31.62V55.27H13.23V15.665H1.785zm47.629 0v-34.43H37.97v34.43zm-5.721-39.13c3.99 0 6.474-2.644 6.474-5.95-.074-3.378-2.484-5.947-6.398-5.947-3.915 0-6.475 2.57-6.475 5.947 0 3.306 2.484 5.95 6.324 5.95zm11.034 39.13h11.444V46.424c0-1.029.074-2.058.377-2.791.826-2.056 2.709-4.186 5.871-4.186 4.142 0 5.799 3.158 5.799 7.784v18.42H89.66V45.91c0-10.576-5.646-15.497-13.176-15.497-6.173 0-8.884 3.451-10.39 5.802h.077v-4.993H54.727c.151 3.231 0 34.43 0 34.43m51.078-49.987H94.361v49.987h11.444V54.489l2.86-3.601 8.96 14.764h14.078l-15.056-21.373 13.174-14.54h-13.776s-9.411 13.008-10.24 14.552zm56.501 35.625c.151-.884.377-2.58.377-4.498 0-8.9-4.518-17.936-16.413-17.936-12.724 0-18.597 10.063-18.597 19.19 0 11.288 7.153 18.337 19.65 18.337 4.97 0 9.561-.732 13.327-2.275l-1.506-7.558c-3.088 1.024-6.25 1.537-10.164 1.537-5.345 0-10.012-2.195-10.389-6.871l23.715.072zm-23.79-7.742c.301-2.938 2.26-7.273 7.153-7.273 5.194 0 6.4 4.628 6.4 7.273h-13.552zm52.414-27.883v17.304h-.151c-1.657-2.422-5.12-4.038-9.71-4.038-8.81 0-16.564 7.05-16.49 19.094 0 11.164 7.003 18.435 15.735 18.435 4.744 0 9.26-2.058 11.52-6.024h.225l.453 5.216h10.163c-.15-2.424-.302-6.61-.302-10.723V15.664h-11.444zm0 34.05c0 .88-.075 1.763-.227 2.495-.675 3.16-3.386 5.361-6.699 5.361-4.742 0-7.83-3.818-7.83-9.84 0-5.654 2.637-10.208 7.906-10.208 3.538 0 6.022 2.423 6.7 5.433.15.663.15 1.398.15 2.058v4.7z" style="fill:currentColor"/><mask id="a"><rect width="100%" height="100%" fill="#fff"/><path d="M236.85 65.61V31.18h-11.444v34.43h11.445zm-5.72-39.13c3.99 0 6.474-2.644 6.474-5.948-.075-3.379-2.484-5.949-6.398-5.949-3.917 0-6.475 2.57-6.475 5.949 0 3.304 2.483 5.948 6.324 5.948zm12.054 39.13h11.443V46.385c0-1.028.075-2.058.377-2.792.827-2.057 2.71-4.186 5.872-4.186 4.14 0 5.797 3.157 5.797 7.786V65.61h11.443V45.869c0-10.575-5.645-15.496-13.174-15.496-6.173 0-8.884 3.45-10.39 5.8h.076v-4.992h-11.443c.149 3.23-.001 34.43-.001 34.43z"/></mask><path d="M213.882 7.245c0-3.015 2.508-5.462 5.6-5.462h64.568c3.093 0 5.6 2.447 5.6 5.462V72.57c0 3.016-2.507 5.461-5.6 5.461h-64.568c-3.092 0-5.6-2.445-5.6-5.46V7.244z" mask="url(#a)" style="fill:currentColor"/></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
1
apps/web/public/logos/sana.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="66" height="24" class="wordmark" viewBox="0 0 66 24"><path d="M0 17.198h3.045c.356 3.077 3.045 4.664 5.927 4.664 3.045 0 5.409-1.814 5.409-4.632 0-2.883-2.332-3.595-6.186-4.47C2.559 11.53.777 9.587.777 6.283.777 2.623 3.984 0 8.486 0c4.178 0 7.806 2.332 8.032 6.057h-3.012c-.227-2.462-2.429-3.919-5.15-3.919-2.947 0-4.761 1.879-4.761 3.951 0 2.462 2.073 3.206 6.121 4.049 5.441 1.134 7.514 3.271 7.514 6.931 0 4.243-3.498 6.931-8.356 6.931C4.081 24 .291 21.636 0 17.198M18.267 19.304c0-3.336 2.818-5.344 10.3-5.538v-.972c0-2.494-1.36-3.725-3.563-3.725-2.267 0-3.401 1.49-3.563 3.077h-2.785c.324-2.721 2.559-4.988 6.348-4.988 4.049 0 6.316 2.202 6.316 5.636v10.721h-2.623v-2.073C27.757 23.093 26.008 24 23.709 24c-2.915 0-5.442-1.717-5.442-4.696m10.3-1.458v-2.3c-5.538.162-7.547 1.458-7.547 3.66 0 1.684 1.36 2.883 3.271 2.883 2.43 0 4.276-1.652 4.276-4.243M33.684 7.676h2.656v2.332c.907-1.684 2.623-2.785 4.923-2.785 3.595 0 5.506 2.364 5.506 5.862v10.429h-2.85v-9.911c0-2.915-1.296-4.275-3.498-4.275s-3.887 1.879-3.887 4.308v9.879h-2.85zM48.389 19.304c0-3.336 2.818-5.344 10.3-5.538v-.972c0-2.494-1.36-3.725-3.563-3.725-2.267 0-3.401 1.49-3.563 3.077h-2.785c.324-2.721 2.559-4.988 6.348-4.988 4.049 0 6.316 2.202 6.316 5.636v10.721h-2.623v-2.073C57.879 23.093 56.13 24 53.83 24c-2.915 0-5.441-1.717-5.441-4.696m10.299-1.458v-2.3c-5.538.162-7.547 1.458-7.547 3.66 0 1.684 1.36 2.883 3.271 2.883 2.43 0 4.276-1.652 4.276-4.243M61.043 1.018h-1.017v3.014h-.602V1.018h-1.017v-.5h2.636zM63.251 3.263l.873-2.745h.917V4.03h-.596V1.137l-.908 2.893h-.581l-.928-2.889V4.03h-.587V.518h.933z" style="fill:currentColor"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
1
apps/web/public/logos/wakam.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-50 -20 288.624 78.268"><g data-name="Calque 2"><g data-name="Groupe 1909" opacity=".35"><path fill="#0540ff" d="M68.234 103.2a4.226 4.226 0 0 1-3.767-6.125L73.8 78.55a4.226 4.226 0 0 1 7.548 3.8l-9.335 18.522a4.23 4.23 0 0 1-3.781 2.323Z" data-name="Tracé 10091" style="fill:currentColor" transform="translate(-54.53 -64.931)"/></g><g data-name="Groupe 1910" opacity=".35"><path fill="#0540ff" d="M1093.234 103.213a4.226 4.226 0 0 1-3.766-6.125l9.335-18.522a4.223 4.223 0 0 1 7.542 3.8l-9.335 18.522a4.23 4.23 0 0 1-3.776 2.325" data-name="Tracé 10092" style="fill:currentColor" transform="translate(-927.653 -64.946)"/></g><path fill="#0540ff" d="M140.7 103.184a4.22 4.22 0 0 1-3.759-2.3l-9.483-18.521a4.223 4.223 0 0 1 7.517-3.853l5.7 11.122 5.594-11.1a4.226 4.226 0 0 1 7.548 3.805l-9.335 18.522a4.22 4.22 0 0 1-3.758 2.322Z" data-name="Tracé 10093" style="fill:currentColor" transform="translate(-108.179 -64.918)"/><path fill="#0540ff" d="M13.708 103.2a4.22 4.22 0 0 1-3.762-2.3L.462 82.382a4.223 4.223 0 0 1 7.517-3.852l9.483 18.522a4.226 4.226 0 0 1-3.755 6.149Z" data-name="Tracé 10094" style="fill:currentColor" transform="translate(.003 -64.936)"/><path fill="#0540ff" d="M966.234 103.219a4.226 4.226 0 0 1-3.766-6.125l9.332-18.522a4.22 4.22 0 0 1 3.758-2.322h.013a4.22 4.22 0 0 1 3.758 2.3l9.483 18.522a4.223 4.223 0 0 1-7.517 3.852L975.6 89.8l-5.588 11.1a4.23 4.23 0 0 1-3.778 2.319" data-name="Tracé 10095" style="fill:currentColor" transform="translate(-819.471 -64.952)"/><path fill="#0540ff" d="M1165.708 103.2a4.22 4.22 0 0 1-3.762-2.3l-9.483-18.522a4.223 4.223 0 1 1 7.517-3.852l9.483 18.522a4.226 4.226 0 0 1-3.755 6.149Z" data-name="Tracé 10096" style="fill:currentColor" transform="translate(-981.302 -64.936)"/><path fill="#0540ff" d="m578.369 30.891-8.541-6.677 8.446-5.666a4 4 0 0 0-4.456-6.647l-11.737 7.869V4.186a4.186 4.186 0 1 0-8.372 0v29.783a4.186 4.186 0 0 0 8.372 0V28.32l11.36 8.871a4 4 0 1 0 4.927-6.3Z" data-name="Tracé 10097" style="fill:currentColor" transform="translate(-471.665)"/><path fill="#0540ff" d="M356.4 90.163a13.4 13.4 0 1 0-7 11.854 3.852 3.852 0 0 0 7-2.223zM343 96.09a5.853 5.853 0 1 1 5.853-5.853A5.853 5.853 0 0 1 343 96.09" data-name="Tracé 10098" style="fill:currentColor" transform="translate(-280.762 -65.455)"/><path fill="#0540ff" d="M782.4 90.163a13.4 13.4 0 1 0-7 11.854 3.853 3.853 0 0 0 7-2.223zM769 96.09a5.853 5.853 0 1 1 5.853-5.853A5.853 5.853 0 0 1 769 96.09" data-name="Tracé 10099" style="fill:currentColor" transform="translate(-643.64 -65.455)"/></g></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
BIN
apps/web/public/testimonials/avatars/bobby_computers.jpg
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
apps/web/public/testimonials/avatars/bravo68web.jpeg
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
apps/web/public/testimonials/avatars/ehb.webp
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
apps/web/public/testimonials/avatars/fox.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
apps/web/public/testimonials/avatars/hanno_braun.webp
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
apps/web/public/testimonials/avatars/headless_dev.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
apps/web/public/testimonials/avatars/jan_stgmnn.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
apps/web/public/testimonials/avatars/jrraphael.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
apps/web/public/testimonials/avatars/tasneema_waquar.jpeg
Normal file
|
After Width: | Height: | Size: 18 KiB |
@@ -1,4 +1,5 @@
|
||||
import { useRef, useState } from "react";
|
||||
import { useTheme } from "next-themes";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import {
|
||||
TbLayoutSidebarLeftCollapse,
|
||||
TbLayoutSidebarLeftExpand,
|
||||
@@ -10,10 +11,7 @@ import { authClient } from "@kan/auth/client";
|
||||
|
||||
import { useClickOutside } from "~/hooks/useClickOutside";
|
||||
import { useModal } from "~/providers/modal";
|
||||
import { useTheme } from "next-themes";
|
||||
import { WorkspaceProvider } from "~/providers/workspace";
|
||||
import FeedbackModal from "./FeedbackModal";
|
||||
import Modal from "./modal";
|
||||
import { useWorkspace, WorkspaceProvider } from "~/providers/workspace";
|
||||
import SideNavigation from "./SideNavigation";
|
||||
|
||||
interface DashboardProps {
|
||||
@@ -41,8 +39,9 @@ export default function Dashboard({
|
||||
rightPanel,
|
||||
hasRightPanel = false,
|
||||
}: DashboardProps) {
|
||||
const { theme } = useTheme();
|
||||
const { modalContentType } = useModal();
|
||||
const { resolvedTheme } = useTheme();
|
||||
const { openModal } = useModal();
|
||||
const { availableWorkspaces, hasLoaded } = useWorkspace();
|
||||
|
||||
const { data: session, isPending: sessionLoading } = authClient.useSession();
|
||||
|
||||
@@ -90,7 +89,13 @@ export default function Dashboard({
|
||||
}
|
||||
});
|
||||
|
||||
const isDarkMode = theme === "dark";
|
||||
useEffect(() => {
|
||||
if (hasLoaded && availableWorkspaces.length === 0) {
|
||||
openModal("NEW_WORKSPACE", undefined, undefined, false);
|
||||
}
|
||||
}, [hasLoaded, availableWorkspaces.length, openModal]);
|
||||
|
||||
const isDarkMode = resolvedTheme === "dark";
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -2,7 +2,7 @@ import { CgDarkMode } from "react-icons/cg";
|
||||
import { useTheme } from "next-themes";
|
||||
|
||||
const ThemeToggle = () => {
|
||||
const { theme, setTheme } = useTheme();
|
||||
const { theme, resolvedTheme, setTheme } = useTheme();
|
||||
|
||||
const toggleTheme = () => {
|
||||
setTheme(theme === "light" ? "dark" : "light");
|
||||
@@ -12,11 +12,11 @@ const ThemeToggle = () => {
|
||||
<button
|
||||
onClick={toggleTheme}
|
||||
className="rounded p-1.5 transition-all hover:bg-light-200 dark:hover:bg-dark-100"
|
||||
aria-label={`Switch to ${theme === "light" ? "dark" : "light"} theme`}
|
||||
aria-label={`Switch to ${resolvedTheme === "light" ? "dark" : "light"} theme`}
|
||||
>
|
||||
<CgDarkMode
|
||||
className={`h-4 w-4 text-light-900 transition-transform duration-200 dark:text-dark-900 ${
|
||||
theme === "dark" ? "rotate-180" : "rotate-0"
|
||||
resolvedTheme === "dark" ? "rotate-180" : "rotate-0"
|
||||
}`}
|
||||
/>
|
||||
</button>
|
||||
|
||||
@@ -3,6 +3,7 @@ import Link from "next/link";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { Menu, Transition } from "@headlessui/react";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { useTheme } from "next-themes";
|
||||
import { Fragment } from "react";
|
||||
import { twMerge } from "tailwind-merge";
|
||||
|
||||
@@ -10,7 +11,6 @@ import { authClient } from "@kan/auth/client";
|
||||
|
||||
import { useIsMobile } from "~/hooks/useMediaQuery";
|
||||
import { useModal } from "~/providers/modal";
|
||||
import { useTheme } from "next-themes";
|
||||
import { getAvatarUrl } from "~/utils/helpers";
|
||||
|
||||
interface UserMenuProps {
|
||||
|
||||
@@ -8,6 +8,7 @@ interface Props {
|
||||
modalSize?: "sm" | "md" | "lg";
|
||||
positionFromTop?: "sm" | "md" | "lg";
|
||||
isVisible?: boolean;
|
||||
closeOnClickOutside?: boolean;
|
||||
}
|
||||
|
||||
const Modal: React.FC<Props> = ({
|
||||
@@ -15,10 +16,17 @@ const Modal: React.FC<Props> = ({
|
||||
modalSize = "sm",
|
||||
positionFromTop = "md",
|
||||
isVisible,
|
||||
closeOnClickOutside,
|
||||
}) => {
|
||||
const { isOpen, closeModal } = useModal();
|
||||
const {
|
||||
isOpen,
|
||||
closeModal,
|
||||
closeOnClickOutside: modalCloseOnClickOutside,
|
||||
} = useModal();
|
||||
|
||||
const shouldShow = isVisible !== undefined ? isVisible : isOpen;
|
||||
const shouldShow = isVisible ?? isOpen;
|
||||
const shouldCloseOnClickOutside =
|
||||
closeOnClickOutside ?? modalCloseOnClickOutside;
|
||||
|
||||
const modalSizeMap = {
|
||||
sm: "max-w-[400px]",
|
||||
@@ -34,7 +42,11 @@ const Modal: React.FC<Props> = ({
|
||||
|
||||
return (
|
||||
<Transition.Root show={shouldShow} as={Fragment}>
|
||||
<Dialog as="div" className="relative z-50" onClose={closeModal}>
|
||||
<Dialog
|
||||
as="div"
|
||||
className="relative z-50"
|
||||
onClose={shouldCloseOnClickOutside ? closeModal : () => null}
|
||||
>
|
||||
<Transition.Child
|
||||
as={Fragment}
|
||||
enter="ease-out duration-300"
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", oder besuche unsere"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -58,11 +58,12 @@ msgstr "$10/Monat"
|
||||
msgid "$8/month"
|
||||
msgstr "$8/Monat"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/PricingTiers.tsx:34
|
||||
msgid "1 user"
|
||||
msgstr "1 Benutzer"
|
||||
|
||||
#: src/views/home/index.tsx:72
|
||||
#: src/views/home/index.tsx:71
|
||||
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."
|
||||
|
||||
@@ -79,6 +80,10 @@ msgstr "Konto gelöscht"
|
||||
msgid "Activity"
|
||||
msgstr "Aktivität"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:66
|
||||
msgid "Activity log"
|
||||
msgstr "Aktivitätsprotokoll"
|
||||
|
||||
#: src/views/home/components/Features.tsx:110
|
||||
msgid "Activity logs"
|
||||
msgstr "Aktivitätsprotokolle"
|
||||
@@ -157,7 +162,8 @@ msgstr "Das Hinzufügen eines neuen Mitglieds kostet zusätzlich {price} ({billi
|
||||
msgid "Adjust the square crop to fit your avatar."
|
||||
msgstr "Passe den quadratischen Zuschnitt an deinen Avatar an."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/PricingTiers.tsx:52
|
||||
msgid "Admin roles"
|
||||
msgstr "Administratorrollen"
|
||||
|
||||
@@ -256,6 +262,10 @@ msgstr "Bist du sicher, dass du dein Konto löschen möchtest?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "hat <0>{0}</0> der Karte zugewiesen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Zugewiesene Personen"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:47
|
||||
msgid "Awaiting Customer"
|
||||
msgstr "Warten auf Kunden"
|
||||
@@ -291,6 +301,8 @@ msgid "Blog Post"
|
||||
msgstr "Blogbeitrag"
|
||||
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/card/index.tsx:216
|
||||
#: src/views/public/board/index.tsx:100
|
||||
msgid "Board"
|
||||
msgstr "Board"
|
||||
|
||||
@@ -307,10 +319,14 @@ msgstr "Der Name des Boards darf 100 Zeichen nicht überschreiten"
|
||||
msgid "Board name is required"
|
||||
msgstr "Boardname ist erforderlich"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Board nicht gefunden"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Board-Freigabe & Einladungen"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:45
|
||||
msgid "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgstr "Board-URL darf nur Buchstaben, Zahlen und Bindestriche enthalten"
|
||||
@@ -319,7 +335,7 @@ msgstr "Board-URL darf nur Buchstaben, Zahlen und Bindestriche enthalten"
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "Board-URL darf 60 Zeichen nicht überschreiten"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "Board-URL in die Zwischenablage kopiert"
|
||||
|
||||
@@ -328,6 +344,7 @@ msgid "Board URL must be at least 3 characters long"
|
||||
msgstr "Board-URL muss mindestens 3 Zeichen lang sein"
|
||||
|
||||
#: src/views/home/components/Features.tsx:85
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:86
|
||||
msgid "Board visibility"
|
||||
msgstr "Board-Sichtbarkeit"
|
||||
|
||||
@@ -366,6 +383,10 @@ msgstr "Fehlerbericht"
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Karte"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Karte nicht gefunden"
|
||||
@@ -394,6 +415,11 @@ msgstr "Überprüfe deinen Posteingang"
|
||||
msgid "Checklist name"
|
||||
msgstr "Checklistenname"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:77
|
||||
#: src/views/pricing/components/PricingTiers.tsx:38
|
||||
msgid "Checklists"
|
||||
msgstr "Checklisten"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
msgid "Clear filters"
|
||||
msgstr "Filter löschen"
|
||||
@@ -425,15 +451,24 @@ msgstr "Demnächst verfügbar"
|
||||
msgid "Comments"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Kommentare & Erwähnungen"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:94
|
||||
msgid "Company"
|
||||
msgstr "Unternehmen"
|
||||
|
||||
#: src/views/pricing/index.tsx:70
|
||||
msgid "Compare our features to see why Kan is the best choice."
|
||||
msgstr "Vergleichen Sie unsere Funktionen, um zu sehen, warum Kan die beste Wahl ist."
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:82
|
||||
msgid "Complete"
|
||||
msgstr "Abgeschlossen"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/PricingTiers.tsx:67
|
||||
msgid "Complete control and ownership:"
|
||||
msgstr "Vollständige Kontrolle und Eigentum:"
|
||||
|
||||
@@ -464,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Verbinde dein Trello-Konto, um Boards zu importieren."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
@@ -488,6 +524,10 @@ msgstr "Fortfahren mit {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Kontrolliere, wer deine Boards ansehen und bearbeiten kann."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Kernfunktionen"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "template" : "board"
|
||||
#: src/views/boards/components/NewBoardForm.tsx:166
|
||||
msgid "Create {0}"
|
||||
@@ -566,14 +606,27 @@ msgstr "Schneide deinen Avatar zu"
|
||||
msgid "Current password is required"
|
||||
msgstr "Aktuelles Passwort ist erforderlich"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:37
|
||||
msgid "Custom board templates"
|
||||
msgstr "Benutzerdefinierte Board-Vorlagen"
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:71
|
||||
msgid "Custom domain"
|
||||
msgstr "Benutzerdefinierte Domain"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:72
|
||||
msgid "Custom templates"
|
||||
msgstr "Benutzerdefinierte Vorlagen"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:315
|
||||
msgid "Custom URLs require upgrading to a Pro plan"
|
||||
msgstr "Benutzerdefinierte URLs erfordern ein Upgrade auf einen Pro-Plan"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:98
|
||||
msgid "Custom workspace link"
|
||||
msgstr "Benutzerdefinierter Workspace-Link"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:339
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
|
||||
msgid "Custom workspace URL"
|
||||
@@ -686,13 +739,14 @@ msgstr "Bietet ihr einen kostenlosen Plan an?"
|
||||
msgid "docs"
|
||||
msgstr "Dokumente"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Dokumente"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentation"
|
||||
|
||||
@@ -837,11 +891,13 @@ msgstr "Fehler beim Upgrade auf Pro"
|
||||
msgid "Error uploading profile image"
|
||||
msgstr "Fehler beim Hochladen des Profilbilds"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/PricingTiers.tsx:49
|
||||
msgid "Everything in the free plan, plus:"
|
||||
msgstr "Alles im kostenlosen Plan, plus:"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/PricingTiers.tsx:31
|
||||
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
msgstr "Alles was du brauchst, für immer kostenlos. Unbegrenzte Boards, unbegrenzte Listen, unbegrenzte Karten. Jederzeit upgraden."
|
||||
|
||||
@@ -867,22 +923,37 @@ msgstr "Board konnte nicht erstellt werden"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Anmeldung mit {0} fehlgeschlagen. Bitte versuche es erneut."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Häufig gestellte Fragen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Schnell & leichtgewichtig"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:237
|
||||
msgid "Feature"
|
||||
msgstr "Feature"
|
||||
|
||||
#: src/views/pricing/index.tsx:67
|
||||
msgid "Feature breakdown"
|
||||
msgstr "Funktionsübersicht"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:53
|
||||
msgid "Feature Request"
|
||||
msgstr "Feature-Anfrage"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:63
|
||||
msgid "Features"
|
||||
msgstr "Features"
|
||||
|
||||
@@ -907,16 +978,18 @@ msgstr "Finden Sie Antworten auf häufige Fragen zum Projekt. Nicht gefunden, wo
|
||||
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-Source-Projekte eine Einnahmequelle benötigen. Unsere stammt aus dem kostenpflichtigen Cloud-Angebot für Workspaces mit mehreren Benutzern (kostenlos während der Beta-Phase) und für benutzerdefinierte Workspace-Slugs. Es besteht keine Verpflichtung, dieses Angebot zu nutzen, und Sie können die Software kostenlos auf Ihrer eigenen Infrastruktur selbst hosten."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Kostenlos"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Kostenloser Plan"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/PricingTiers.tsx:32
|
||||
msgid "Free, forever"
|
||||
msgstr "Kostenlos, für immer"
|
||||
|
||||
@@ -930,13 +1003,15 @@ msgstr "Spaß"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:74
|
||||
msgid "Get started"
|
||||
msgstr "Loslegen"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:31
|
||||
#: src/views/home/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/Pricing.tsx:31
|
||||
#: src/views/pricing/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/PricingTiers.tsx:29
|
||||
#: src/views/pricing/components/PricingTiers.tsx:46
|
||||
msgid "Get Started"
|
||||
msgstr "Loslegen"
|
||||
|
||||
@@ -953,11 +1028,12 @@ msgstr "Beginne mit dem Erstellen einer neuen Liste"
|
||||
msgid "Get started for free today"
|
||||
msgstr "Starten Sie noch heute kostenlos"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:92
|
||||
#: src/views/pricing/components/Pricing.tsx:92
|
||||
#: src/views/pricing/index.tsx:47
|
||||
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."
|
||||
|
||||
#: src/views/home/index.tsx:76
|
||||
#: src/views/home/index.tsx:75
|
||||
msgid "Get started on Cloud"
|
||||
msgstr "In der Cloud starten"
|
||||
|
||||
@@ -973,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Zur Startseite"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Zur App"
|
||||
@@ -987,7 +1062,8 @@ msgstr "Hohe Priorität"
|
||||
msgid "Hired"
|
||||
msgstr "Eingestellt"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/PricingTiers.tsx:66
|
||||
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
msgstr "Hosten Sie Kan auf Ihrer eigenen Infrastruktur. Ideal für Organisationen, die vollständige Kontrolle über ihre Daten benötigen."
|
||||
|
||||
@@ -1027,7 +1103,7 @@ msgstr "Ideen"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Ideen zur Verbesserung dieser Seite..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importieren"
|
||||
|
||||
@@ -1039,6 +1115,10 @@ msgstr "Import abgeschlossen"
|
||||
msgid "Import failed"
|
||||
msgstr "Import fehlgeschlagen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:80
|
||||
msgid "Import from Trello"
|
||||
msgstr "Import von Trello"
|
||||
|
||||
#: src/views/home/components/Features.tsx:96
|
||||
msgid "Import your Trello boards and hit the ground running."
|
||||
msgstr "Importieren Sie Ihre Trello-Boards und starten Sie sofort durch."
|
||||
@@ -1065,7 +1145,8 @@ msgstr "in"
|
||||
msgid "In Progress"
|
||||
msgstr "In Bearbeitung"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/PricingTiers.tsx:26
|
||||
msgid "Individuals"
|
||||
msgstr "Einzelpersonen"
|
||||
|
||||
@@ -1074,6 +1155,10 @@ msgstr "Einzelpersonen"
|
||||
msgid "Integrations"
|
||||
msgstr "Integrationen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:92
|
||||
msgid "Intelligent search"
|
||||
msgstr "Intelligente Suche"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||
msgid "Interviewing"
|
||||
msgstr "Vorstellungsgespräch"
|
||||
@@ -1086,7 +1171,7 @@ msgstr "Ungültige E-Mail-Adresse"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Ungültige Einladung"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Einladen"
|
||||
|
||||
@@ -1098,6 +1183,10 @@ msgstr "Einladungslink kopiert"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Einladungslink in die Zwischenablage kopiert"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Einladungslinks"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
msgstr "Einladungslinks erfordern ein Team- oder Pro-Abonnement. Bitte upgraden Sie Ihren Workspace."
|
||||
@@ -1124,7 +1213,15 @@ msgstr "Arbeitsbereich beitreten | kan.bn"
|
||||
msgid "Junior"
|
||||
msgstr "Junior"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:51
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:185
|
||||
msgid "Kan"
|
||||
msgstr "Kan"
|
||||
|
||||
#: src/views/pricing/components/PricingTiers.tsx:48
|
||||
msgid "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kan ist besser im Team. Perfekt für kleine und wachsende Teams, die zusammenarbeiten möchten."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:51
|
||||
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kanban funktioniert besser im Team. Perfekt für kleine und wachsende Teams, die zusammenarbeiten möchten."
|
||||
|
||||
@@ -1143,6 +1240,10 @@ msgstr "Beachten Sie, dass diese Aktion nicht rückgängig gemacht werden kann."
|
||||
msgid "Labels"
|
||||
msgstr "Labels"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:76
|
||||
msgid "Labels & filters"
|
||||
msgstr "Labels & Filter"
|
||||
|
||||
#: src/views/home/components/Features.tsx:100
|
||||
msgid "Labels & Filters"
|
||||
msgstr "Labels & Filter"
|
||||
@@ -1156,11 +1257,12 @@ msgstr "Sprache"
|
||||
msgid "Launch offer"
|
||||
msgstr "Einführungsangebot"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Einführungsangebot: Erhalten Sie unbegrenzte Mitglieder mit Pro"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:99
|
||||
#: src/views/pricing/components/Pricing.tsx:98
|
||||
#: src/views/pricing/components/PricingTiers.tsx:84
|
||||
msgid "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
msgstr "Einführungsangebot: unbegrenzte Plätze für nur $29/Monat mit Pro"
|
||||
|
||||
@@ -1180,7 +1282,7 @@ msgstr "Lizenz"
|
||||
msgid "Light"
|
||||
msgstr "Hell"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link kopiert"
|
||||
|
||||
@@ -1204,6 +1306,10 @@ msgstr "Abmelden"
|
||||
msgid "Long-term"
|
||||
msgstr "Langfristig"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:236
|
||||
msgid "Loved by teams worldwide"
|
||||
msgstr "Von Teams weltweit geliebt"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:18
|
||||
msgid "Low Priority"
|
||||
msgstr "Niedrige Priorität"
|
||||
@@ -1233,16 +1339,17 @@ msgstr "Mittlere Priorität"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:366
|
||||
#: src/views/card/index.tsx:126
|
||||
#: src/views/members/index.tsx:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Mitglieder"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Mitglieder | {0}"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:14
|
||||
#: src/views/pricing/components/Pricing.tsx:14
|
||||
#: src/views/pricing/index.tsx:20
|
||||
msgid "Monthly"
|
||||
msgstr "Monatlich"
|
||||
|
||||
@@ -1270,7 +1377,7 @@ msgstr "Name"
|
||||
msgid "Need help?"
|
||||
msgstr "Brauchst du Hilfe?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Neu"
|
||||
@@ -1342,7 +1449,7 @@ msgstr "Keine {0}"
|
||||
msgid "No boards found"
|
||||
msgstr "Keine Boards gefunden"
|
||||
|
||||
#: src/views/home/index.tsx:86
|
||||
#: src/views/home/index.tsx:85
|
||||
msgid "No credit card required"
|
||||
msgstr "Keine Kreditkarte erforderlich"
|
||||
|
||||
@@ -1370,6 +1477,10 @@ 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."
|
||||
msgstr "Sobald Sie Ihren Arbeitsbereich löschen, gibt es kein Zurück mehr. Diese Aktion kann nicht rückgängig gemacht werden."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open Source"
|
||||
|
||||
#: src/components/AuthForm.tsx:365
|
||||
msgid "or"
|
||||
msgstr "oder"
|
||||
@@ -1378,10 +1489,15 @@ msgstr "oder"
|
||||
msgid "Organize and find cards quickly with powerful filtering tools."
|
||||
msgstr "Organisiere und finde Karten schnell mit leistungsstarken Filterwerkzeugen."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/PricingTiers.tsx:70
|
||||
msgid "Own your data"
|
||||
msgstr "Besitze deine Daten"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Im Besitz von Atlassian"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:70
|
||||
msgid "Part-time"
|
||||
msgstr "Teilzeit"
|
||||
@@ -1406,20 +1522,23 @@ msgstr "Passwort muss mindestens 8 Zeichen lang sein"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Passwörter stimmen nicht überein"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Pausiert"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:102
|
||||
#: src/views/pricing/components/Pricing.tsx:100
|
||||
#: src/views/pricing/components/PricingTiers.tsx:86
|
||||
msgid "Payment frequency"
|
||||
msgstr "Zahlungshäufigkeit"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "Ausstehend"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:20
|
||||
#: src/views/pricing/components/Pricing.tsx:15
|
||||
#: src/views/pricing/components/Pricing.tsx:20
|
||||
#: src/views/pricing/index.tsx:21
|
||||
#: src/views/pricing/index.tsx:26
|
||||
msgid "per user/month"
|
||||
msgstr "pro Benutzer/Monat"
|
||||
|
||||
@@ -1431,6 +1550,10 @@ msgstr "Persönliches Projekt"
|
||||
msgid "Planning"
|
||||
msgstr "Planung"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Plattform"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:24
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Bitte bestätigen Sie Ihr neues Passwort"
|
||||
@@ -1497,13 +1620,21 @@ msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport
|
||||
msgid "Please try again later."
|
||||
msgstr "Bitte versuche es später erneut."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Preis pro Benutzer/Monat"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:85
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:34
|
||||
#: src/views/pricing/index.tsx:40
|
||||
msgid "Pricing"
|
||||
msgstr "Preise"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/PricingTiers.tsx:53
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:91
|
||||
msgid "Priority email support"
|
||||
msgstr "Prioritäts-E-Mail-Support"
|
||||
@@ -1516,7 +1647,7 @@ msgstr "Datenschutzrichtlinie"
|
||||
msgid "Private"
|
||||
msgstr "Privat"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro-Plan"
|
||||
|
||||
@@ -1564,7 +1695,7 @@ msgstr "Remote"
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Mitglied entfernen"
|
||||
|
||||
@@ -1607,20 +1738,26 @@ msgstr "Lösung"
|
||||
msgid "Resources"
|
||||
msgstr "Ressourcen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:80
|
||||
msgid "Review"
|
||||
msgstr "Überprüfung"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rolle"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/PricingTiers.tsx:69
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Auf eigener Infrastruktur betreiben"
|
||||
|
||||
@@ -1641,6 +1778,10 @@ msgstr "Vorauswahl"
|
||||
msgid "Search boards and cards..."
|
||||
msgstr "Boards und Karten durchsuchen..."
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:239
|
||||
msgid "See what our users are saying about Kan"
|
||||
msgstr "Erfahren Sie, was unsere Nutzer über Kan sagen"
|
||||
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||
msgid "Select all"
|
||||
msgstr "Alle auswählen"
|
||||
@@ -1649,11 +1790,12 @@ msgstr "Alle auswählen"
|
||||
msgid "Select source"
|
||||
msgstr "Quelle auswählen"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/PricingTiers.tsx:61
|
||||
msgid "Self Host"
|
||||
msgstr "Selbst hosten"
|
||||
|
||||
#: src/views/home/index.tsx:82
|
||||
#: src/views/home/index.tsx:81
|
||||
msgid "Self host with Github"
|
||||
msgstr "Selbst hosten mit Github"
|
||||
|
||||
@@ -1661,6 +1803,10 @@ msgstr "Selbst hosten mit Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "hat sich selbst die Karte zugewiesen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Selbst hostbar"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:116
|
||||
msgid "Send feedback"
|
||||
msgstr "Feedback senden"
|
||||
@@ -1694,8 +1840,7 @@ msgstr "Einstellungen | Integrationen"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Einstellungen | Arbeitsbereich"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
@@ -1724,7 +1869,8 @@ msgstr "Die Registrierung ist derzeit deaktiviert. Bitte versuche es später ern
|
||||
msgid "Sign up with "
|
||||
msgstr "Registrieren mit "
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:89
|
||||
#: src/views/pricing/components/Pricing.tsx:89
|
||||
#: src/views/pricing/index.tsx:44
|
||||
msgid "Simple pricing"
|
||||
msgstr "Einfache Preisgestaltung"
|
||||
|
||||
@@ -1740,7 +1886,7 @@ msgstr "Social Media"
|
||||
msgid "Software Development"
|
||||
msgstr "Softwareentwicklung"
|
||||
|
||||
#: src/views/home/index.tsx:38
|
||||
#: src/views/home/index.tsx:37
|
||||
msgid "Star on Github"
|
||||
msgstr "Stern auf Github"
|
||||
|
||||
@@ -1761,7 +1907,8 @@ msgstr "Optimiere deinen Workspace für nur $29/Monat. Das bekommst du dafür:"
|
||||
msgid "Support"
|
||||
msgstr "Support"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/PricingTiers.tsx:54
|
||||
msgid "Support the development of the project"
|
||||
msgstr "Unterstütze die Entwicklung des Projekts"
|
||||
|
||||
@@ -1770,11 +1917,13 @@ msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Team-Plan"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
msgstr "Teams"
|
||||
|
||||
@@ -1808,6 +1957,10 @@ msgstr "Vorlagen"
|
||||
msgid "Terms of service"
|
||||
msgstr "Nutzungsbedingungen"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:232
|
||||
msgid "Testimonials"
|
||||
msgstr "Kundenstimmen"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:34
|
||||
msgid "Thank you for your feedback!"
|
||||
msgstr "Vielen Dank für dein Feedback!"
|
||||
@@ -1820,7 +1973,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."
|
||||
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:66
|
||||
#: src/views/home/index.tsx:65
|
||||
msgid "The open source <0/> alternative to Trello"
|
||||
msgstr "Die open source <0/> alternative zu Trello"
|
||||
|
||||
@@ -1849,7 +2002,7 @@ msgstr "Diese Aktion kann nicht rückgängig gemacht werden."
|
||||
msgid "This API key will only be shown once. Please save it in a secure location."
|
||||
msgstr "Dieser API-Schlüssel wird nur einmal angezeigt. Bitte speichern Sie ihn an einem sicheren Ort."
|
||||
|
||||
#: src/views/public/board/index.tsx:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Dieses Board ist privat oder existiert nicht"
|
||||
|
||||
@@ -1886,7 +2039,7 @@ msgstr "Dieser Workspace-Benutzername ist bereits vergeben"
|
||||
msgid "To Do"
|
||||
msgstr "Zu erledigen"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Menü umschalten"
|
||||
|
||||
@@ -1894,6 +2047,7 @@ msgstr "Menü umschalten"
|
||||
msgid "Track all card changes with detailed activity history."
|
||||
msgstr "Verfolge alle kartenänderungen mit detaillierter aktivitätshistorie."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:190
|
||||
#: src/views/settings/IntegrationsSettings.tsx:73
|
||||
msgid "Trello"
|
||||
msgstr "Trello"
|
||||
@@ -1910,6 +2064,10 @@ msgstr "Trello-importe"
|
||||
msgid "Triaging"
|
||||
msgstr "Priorisierung"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
msgid "Trusted by fast-moving teams<0/>around the world"
|
||||
msgstr "Von schnell agierenden Teams<0/>weltweit vertraut"
|
||||
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:88
|
||||
msgid "Unable to add checklist item"
|
||||
msgstr "Checklistenelement kann nicht hinzugefügt werden"
|
||||
@@ -2010,11 +2168,13 @@ msgstr "hat <0>{0}</0> von der Karte entfernt"
|
||||
msgid "unassigned themselves from the card"
|
||||
msgstr "hat sich selbst von der Karte entfernt"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:41
|
||||
#: src/views/pricing/components/Pricing.tsx:41
|
||||
msgid "Unlimited activity log"
|
||||
msgstr "Unbegrenztes aktivitätsprotokoll"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:48
|
||||
#: src/views/pricing/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/PricingTiers.tsx:35
|
||||
msgid "Unlimited boards"
|
||||
msgstr "Unbegrenzte boards"
|
||||
|
||||
@@ -2022,15 +2182,18 @@ msgstr "Unbegrenzte boards"
|
||||
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
msgstr "Unbegrenzte boards, unbegrenzte listen, unbegrenzte karten. Keine kreditkarte erforderlich."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:60
|
||||
#: src/views/pricing/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/PricingTiers.tsx:36
|
||||
msgid "Unlimited cards"
|
||||
msgstr "Unbegrenzte karten"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:40
|
||||
#: src/views/pricing/components/Pricing.tsx:40
|
||||
msgid "Unlimited comments"
|
||||
msgstr "Unbegrenzte kommentare"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:38
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:38
|
||||
msgid "Unlimited lists"
|
||||
msgstr "Unbegrenzte listen"
|
||||
|
||||
@@ -2039,6 +2202,10 @@ msgstr "Unbegrenzte listen"
|
||||
msgid "Unlimited members"
|
||||
msgstr "Unbegrenzte Mitglieder"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:42
|
||||
msgid "Unlimited workspaces"
|
||||
msgstr "Unbegrenzte Workspaces"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
|
||||
#: src/views/settings/components/UpdateDisplayNameForm.tsx:80
|
||||
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:91
|
||||
@@ -2109,7 +2276,7 @@ msgstr "URL muss mindestens 3 Zeichen lang sein"
|
||||
msgid "Use template"
|
||||
msgstr "Vorlage verwenden"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
@@ -2129,11 +2296,12 @@ msgstr "API-Schlüssel anzeigen und verwalten."
|
||||
msgid "View and manage your billing and subscription."
|
||||
msgstr "Verwalte deine Abrechnung und dein Abonnement."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/PricingTiers.tsx:64
|
||||
msgid "View docs"
|
||||
msgstr "Dokumentation ansehen"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Nur ansehen"
|
||||
|
||||
@@ -2141,7 +2309,7 @@ msgstr "Nur ansehen"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Sieh dir unsere roadmap an."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Workspace anzeigen"
|
||||
|
||||
@@ -2173,11 +2341,20 @@ msgstr "Was ist der unterschied zwischen Kan und Trello?"
|
||||
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
|
||||
msgstr "Als Trello 2011 auf den markt kam, beeindruckte es alle mit seiner sorgfältig gestalteten einfachheit, aber mit der zeit (und der atlassifizierung) verlor es seinen zauber und entwickelte sich zu etwas, das eher einem \"Jira Lite\" ähnelt. Dieses projekt ist unser versuch, den ursprünglichen zauber von Trellos einfachheit als open source wiederzubeleben."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White Label"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:22
|
||||
msgid "Why make an open source Trello?"
|
||||
msgstr "Warum ein open source Trello entwickeln?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:100
|
||||
#: src/views/public/boards/index.tsx:66
|
||||
msgid "Workspace"
|
||||
msgstr "Arbeitsbereich"
|
||||
|
||||
@@ -2206,7 +2383,8 @@ msgid "Workspace description updated"
|
||||
msgstr "Workspace-Beschreibung aktualisiert"
|
||||
|
||||
#: src/views/home/components/Features.tsx:90
|
||||
#: src/views/home/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/PricingTiers.tsx:51
|
||||
msgid "Workspace members"
|
||||
msgstr "Workspace-mitglieder"
|
||||
|
||||
@@ -2247,7 +2425,8 @@ msgstr "workspace-url"
|
||||
msgid "Writing"
|
||||
msgstr "Schreiben"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:19
|
||||
#: src/views/pricing/components/Pricing.tsx:19
|
||||
#: src/views/pricing/index.tsx:25
|
||||
msgid "Yearly"
|
||||
msgstr "Jährlich"
|
||||
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", or see our"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -62,7 +62,8 @@ msgstr "$10/month"
|
||||
msgid "$8/month"
|
||||
msgstr "$8/month"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/PricingTiers.tsx:34
|
||||
msgid "1 user"
|
||||
msgstr "1 user"
|
||||
|
||||
@@ -74,7 +75,7 @@ msgstr "1 user"
|
||||
#~ "A powerful, flexible kanban app that helps you organise work,\n"
|
||||
#~ " track progress, and deliver results—all in one place."
|
||||
|
||||
#: src/views/home/index.tsx:72
|
||||
#: src/views/home/index.tsx:71
|
||||
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."
|
||||
|
||||
@@ -91,6 +92,10 @@ msgstr "Account deleted"
|
||||
msgid "Activity"
|
||||
msgstr "Activity"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:66
|
||||
msgid "Activity log"
|
||||
msgstr "Activity log"
|
||||
|
||||
#: src/views/home/components/Features.tsx:110
|
||||
msgid "Activity logs"
|
||||
msgstr "Activity logs"
|
||||
@@ -177,7 +182,8 @@ msgstr "Adding a new member will cost an additional {price} ({billingType}) per
|
||||
msgid "Adjust the square crop to fit your avatar."
|
||||
msgstr "Adjust the square crop to fit your avatar."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/PricingTiers.tsx:52
|
||||
msgid "Admin roles"
|
||||
msgstr "Admin roles"
|
||||
|
||||
@@ -279,6 +285,10 @@ msgstr "Are you sure you want to delete this label?"
|
||||
msgid "Are you sure you want to delete your account?"
|
||||
msgstr "Are you sure you want to delete your account?"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:75
|
||||
#~ msgid "around the world"
|
||||
#~ msgstr "around the world"
|
||||
|
||||
#. placeholder {0}: truncate(memberName)
|
||||
#: src/views/card/components/ActivityList.tsx:110
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
@@ -288,6 +298,10 @@ msgstr "assigned <0>{0}</0> to the card"
|
||||
#~ msgid "assigned <0>{memberName}</0> to the card"
|
||||
#~ msgstr "assigned <0>{memberName}</0> to the card"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Assignees"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:47
|
||||
msgid "Awaiting Customer"
|
||||
msgstr "Awaiting Customer"
|
||||
@@ -327,6 +341,8 @@ msgid "Blog Post"
|
||||
msgstr "Blog Post"
|
||||
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/card/index.tsx:216
|
||||
#: src/views/public/board/index.tsx:100
|
||||
msgid "Board"
|
||||
msgstr "Board"
|
||||
|
||||
@@ -352,10 +368,14 @@ msgstr "Board name cannot exceed 100 characters"
|
||||
msgid "Board name is required"
|
||||
msgstr "Board name is required"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Board not found"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Board sharing & invites"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:45
|
||||
msgid "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgstr "Board URL can only contain letters, numbers, and hyphens"
|
||||
@@ -364,7 +384,7 @@ msgstr "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "Board URL cannot exceed 60 characters"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "Board URL copied to clipboard"
|
||||
|
||||
@@ -373,6 +393,7 @@ msgid "Board URL must be at least 3 characters long"
|
||||
msgstr "Board URL must be at least 3 characters long"
|
||||
|
||||
#: src/views/home/components/Features.tsx:85
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:86
|
||||
msgid "Board visibility"
|
||||
msgstr "Board visibility"
|
||||
|
||||
@@ -419,6 +440,10 @@ msgstr "Bug Report"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Card"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Card not found"
|
||||
@@ -451,6 +476,11 @@ msgstr "Check your inbox"
|
||||
msgid "Checklist name"
|
||||
msgstr "Checklist name"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:77
|
||||
#: src/views/pricing/components/PricingTiers.tsx:38
|
||||
msgid "Checklists"
|
||||
msgstr "Checklists"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
msgid "Clear filters"
|
||||
msgstr "Clear filters"
|
||||
@@ -482,15 +512,24 @@ msgstr "Coming soon"
|
||||
msgid "Comments"
|
||||
msgstr "Comments"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Comments & mentions"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:94
|
||||
msgid "Company"
|
||||
msgstr "Company"
|
||||
|
||||
#: src/views/pricing/index.tsx:70
|
||||
msgid "Compare our features to see why Kan is the best choice."
|
||||
msgstr "Compare our features to see why Kan is the best choice."
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:82
|
||||
msgid "Complete"
|
||||
msgstr "Complete"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/PricingTiers.tsx:67
|
||||
msgid "Complete control and ownership:"
|
||||
msgstr "Complete control and ownership:"
|
||||
|
||||
@@ -525,6 +564,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Connect your Trello account to import boards."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
@@ -549,6 +589,10 @@ msgstr "Continue with {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Control who can view and edit your boards."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Core features"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "template" : "board"
|
||||
#: src/views/boards/components/NewBoardForm.tsx:166
|
||||
msgid "Create {0}"
|
||||
@@ -643,10 +687,19 @@ msgstr "Crop your avatar"
|
||||
msgid "Current password is required"
|
||||
msgstr "Current password is required"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:37
|
||||
msgid "Custom board templates"
|
||||
msgstr "Custom board templates"
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:71
|
||||
msgid "Custom domain"
|
||||
msgstr "Custom domain"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:72
|
||||
msgid "Custom templates"
|
||||
msgstr "Custom templates"
|
||||
|
||||
#: src/views/settings/components/CustomURLConfirmation.tsx:50
|
||||
#~ msgid "Custom URLs are a premium feature. You'll be directed to upgrade your account."
|
||||
#~ msgstr "Custom URLs are a premium feature. You'll be directed to upgrade your account."
|
||||
@@ -659,6 +712,10 @@ msgstr "Custom domain"
|
||||
msgid "Custom URLs require upgrading to a Pro plan"
|
||||
msgstr "Custom URLs require upgrading to a Pro plan"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:98
|
||||
msgid "Custom workspace link"
|
||||
msgstr "Custom workspace link"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:339
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
|
||||
msgid "Custom workspace URL"
|
||||
@@ -771,13 +828,14 @@ msgstr "Do you offer a free plan?"
|
||||
msgid "docs"
|
||||
msgstr "docs"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Docs"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentation"
|
||||
|
||||
@@ -922,11 +980,13 @@ msgstr "Error upgrading to Pro"
|
||||
msgid "Error uploading profile image"
|
||||
msgstr "Error uploading profile image"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/PricingTiers.tsx:49
|
||||
msgid "Everything in the free plan, plus:"
|
||||
msgstr "Everything in the free plan, plus:"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/PricingTiers.tsx:31
|
||||
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
msgstr "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
|
||||
@@ -952,22 +1012,37 @@ msgstr "Failed to create board"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Failed to login with {0}. Please try again."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "FAQs"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Fast & lightweight"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:237
|
||||
msgid "Feature"
|
||||
msgstr "Feature"
|
||||
|
||||
#: src/views/pricing/index.tsx:67
|
||||
msgid "Feature breakdown"
|
||||
msgstr "Feature breakdown"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:53
|
||||
msgid "Feature Request"
|
||||
msgstr "Feature Request"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:63
|
||||
msgid "Features"
|
||||
msgstr "Features"
|
||||
|
||||
@@ -992,17 +1067,20 @@ msgstr "Find answers to common questions about the project. Can't find what you'
|
||||
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
msgstr "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Free"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Free Plan"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/PricingTiers.tsx:32
|
||||
msgid "Free, forever"
|
||||
msgstr "Free, forever"
|
||||
|
||||
@@ -1016,13 +1094,15 @@ msgstr "Fun"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:74
|
||||
msgid "Get started"
|
||||
msgstr "Get started"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:31
|
||||
#: src/views/home/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/Pricing.tsx:31
|
||||
#: src/views/pricing/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/PricingTiers.tsx:29
|
||||
#: src/views/pricing/components/PricingTiers.tsx:46
|
||||
msgid "Get Started"
|
||||
msgstr "Get Started"
|
||||
|
||||
@@ -1043,11 +1123,12 @@ msgstr "Get started by creating a new list"
|
||||
msgid "Get started for free today"
|
||||
msgstr "Get started for free today"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:92
|
||||
#: src/views/pricing/components/Pricing.tsx:92
|
||||
#: src/views/pricing/index.tsx:47
|
||||
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."
|
||||
|
||||
#: src/views/home/index.tsx:76
|
||||
#: src/views/home/index.tsx:75
|
||||
msgid "Get started on Cloud"
|
||||
msgstr "Get started on Cloud"
|
||||
|
||||
@@ -1063,8 +1144,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Go Home"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Go to app"
|
||||
@@ -1077,7 +1157,8 @@ msgstr "High Priority"
|
||||
msgid "Hired"
|
||||
msgstr "Hired"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/PricingTiers.tsx:66
|
||||
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
msgstr "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
|
||||
@@ -1121,7 +1202,7 @@ msgstr "Ideas to improve this page..."
|
||||
#~ msgid "Ideas, Research, Planning, Execution, Review, Next Steps, Complete"
|
||||
#~ msgstr "Ideas, Research, Planning, Execution, Review, Next Steps, Complete"
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
@@ -1133,6 +1214,10 @@ msgstr "Import complete"
|
||||
msgid "Import failed"
|
||||
msgstr "Import failed"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:80
|
||||
msgid "Import from Trello"
|
||||
msgstr "Import from Trello"
|
||||
|
||||
#: src/views/home/components/Features.tsx:96
|
||||
msgid "Import your Trello boards and hit the ground running."
|
||||
msgstr "Import your Trello boards and hit the ground running."
|
||||
@@ -1159,7 +1244,8 @@ msgstr "in"
|
||||
msgid "In Progress"
|
||||
msgstr "In Progress"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/PricingTiers.tsx:26
|
||||
msgid "Individuals"
|
||||
msgstr "Individuals"
|
||||
|
||||
@@ -1168,6 +1254,10 @@ msgstr "Individuals"
|
||||
msgid "Integrations"
|
||||
msgstr "Integrations"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:92
|
||||
msgid "Intelligent search"
|
||||
msgstr "Intelligent search"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||
msgid "Interviewing"
|
||||
msgstr "Interviewing"
|
||||
@@ -1180,7 +1270,7 @@ msgstr "Invalid email address"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invalid invitation"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Invite"
|
||||
|
||||
@@ -1196,6 +1286,10 @@ msgstr "Invite link copied"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Invite link copied to clipboard"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Invite links"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
msgstr "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
@@ -1222,7 +1316,15 @@ msgstr "Join workspace | kan.bn"
|
||||
msgid "Junior"
|
||||
msgstr "Junior"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:51
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:185
|
||||
msgid "Kan"
|
||||
msgstr "Kan"
|
||||
|
||||
#: src/views/pricing/components/PricingTiers.tsx:48
|
||||
msgid "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:51
|
||||
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
|
||||
@@ -1241,6 +1343,10 @@ msgstr "Keep in mind that this action is irreversible."
|
||||
msgid "Labels"
|
||||
msgstr "Labels"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:76
|
||||
msgid "Labels & filters"
|
||||
msgstr "Labels & filters"
|
||||
|
||||
#: src/views/home/components/Features.tsx:100
|
||||
msgid "Labels & Filters"
|
||||
msgstr "Labels & Filters"
|
||||
@@ -1254,11 +1360,12 @@ msgstr "Language"
|
||||
msgid "Launch offer"
|
||||
msgstr "Launch offer"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Launch offer: Get unlimited members with Pro"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:99
|
||||
#: src/views/pricing/components/Pricing.tsx:98
|
||||
#: src/views/pricing/components/PricingTiers.tsx:84
|
||||
msgid "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
msgstr "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
|
||||
@@ -1278,7 +1385,7 @@ msgstr "License"
|
||||
msgid "Light"
|
||||
msgstr "Light"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link copied"
|
||||
|
||||
@@ -1302,6 +1409,10 @@ msgstr "Logout"
|
||||
msgid "Long-term"
|
||||
msgstr "Long-term"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:236
|
||||
msgid "Loved by teams worldwide"
|
||||
msgstr "Loved by teams worldwide"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:18
|
||||
msgid "Low Priority"
|
||||
msgstr "Low Priority"
|
||||
@@ -1331,16 +1442,17 @@ msgstr "Medium Priority"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:366
|
||||
#: src/views/card/index.tsx:126
|
||||
#: src/views/members/index.tsx:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Members"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Members | {0}"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:14
|
||||
#: src/views/pricing/components/Pricing.tsx:14
|
||||
#: src/views/pricing/index.tsx:20
|
||||
msgid "Monthly"
|
||||
msgstr "Monthly"
|
||||
|
||||
@@ -1376,7 +1488,7 @@ msgstr "Name"
|
||||
msgid "Need help?"
|
||||
msgstr "Need help?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "New"
|
||||
@@ -1460,7 +1572,7 @@ msgstr "No {0}"
|
||||
msgid "No boards found"
|
||||
msgstr "No boards found"
|
||||
|
||||
#: src/views/home/index.tsx:86
|
||||
#: src/views/home/index.tsx:85
|
||||
msgid "No credit card required"
|
||||
msgstr "No credit card required"
|
||||
|
||||
@@ -1488,6 +1600,10 @@ 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."
|
||||
msgstr "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
#: src/components/AuthForm.tsx:365
|
||||
msgid "or"
|
||||
msgstr "or"
|
||||
@@ -1496,10 +1612,15 @@ msgstr "or"
|
||||
msgid "Organize and find cards quickly with powerful filtering tools."
|
||||
msgstr "Organize and find cards quickly with powerful filtering tools."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/PricingTiers.tsx:70
|
||||
msgid "Own your data"
|
||||
msgstr "Own your data"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Owned by Atlassian"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:70
|
||||
msgid "Part-time"
|
||||
msgstr "Part-time"
|
||||
@@ -1524,20 +1645,23 @@ msgstr "Password must be at least 8 characters"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Passwords do not match"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Paused"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:102
|
||||
#: src/views/pricing/components/Pricing.tsx:100
|
||||
#: src/views/pricing/components/PricingTiers.tsx:86
|
||||
msgid "Payment frequency"
|
||||
msgstr "Payment frequency"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "Pending"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:20
|
||||
#: src/views/pricing/components/Pricing.tsx:15
|
||||
#: src/views/pricing/components/Pricing.tsx:20
|
||||
#: src/views/pricing/index.tsx:21
|
||||
#: src/views/pricing/index.tsx:26
|
||||
msgid "per user/month"
|
||||
msgstr "per user/month"
|
||||
|
||||
@@ -1549,6 +1673,10 @@ msgstr "Personal Project"
|
||||
msgid "Planning"
|
||||
msgstr "Planning"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Platform"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:24
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Please confirm your new password"
|
||||
@@ -1615,13 +1743,21 @@ msgstr "Please try again later, or contact customer support."
|
||||
msgid "Please try again later."
|
||||
msgstr "Please try again later."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Price per user/month"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:85
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:34
|
||||
#: src/views/pricing/index.tsx:40
|
||||
msgid "Pricing"
|
||||
msgstr "Pricing"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/PricingTiers.tsx:53
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:91
|
||||
msgid "Priority email support"
|
||||
msgstr "Priority email support"
|
||||
@@ -1634,7 +1770,7 @@ msgstr "Privacy policy"
|
||||
msgid "Private"
|
||||
msgstr "Private"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro Plan"
|
||||
|
||||
@@ -1682,7 +1818,7 @@ msgstr "Remote"
|
||||
msgid "Remove"
|
||||
msgstr "Remove"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Remove member"
|
||||
|
||||
@@ -1729,6 +1865,10 @@ msgstr "Resolution"
|
||||
msgid "Resources"
|
||||
msgstr "Resources"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:80
|
||||
msgid "Review"
|
||||
msgstr "Review"
|
||||
@@ -1739,14 +1879,16 @@ msgstr "Review"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Role"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/PricingTiers.tsx:69
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Run on your own infrastructure"
|
||||
|
||||
@@ -1767,6 +1909,10 @@ msgstr "Screening"
|
||||
msgid "Search boards and cards..."
|
||||
msgstr "Search boards and cards..."
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:239
|
||||
msgid "See what our users are saying about Kan"
|
||||
msgstr "See what our users are saying about Kan"
|
||||
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||
msgid "Select all"
|
||||
msgstr "Select all"
|
||||
@@ -1775,11 +1921,12 @@ msgstr "Select all"
|
||||
msgid "Select source"
|
||||
msgstr "Select source"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/PricingTiers.tsx:61
|
||||
msgid "Self Host"
|
||||
msgstr "Self Host"
|
||||
|
||||
#: src/views/home/index.tsx:82
|
||||
#: src/views/home/index.tsx:81
|
||||
msgid "Self host with Github"
|
||||
msgstr "Self host with Github"
|
||||
|
||||
@@ -1787,6 +1934,10 @@ msgstr "Self host with Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "self-assigned the card"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Self-hostable"
|
||||
|
||||
#: src/components/FeedbackButton.tsx:137
|
||||
#~ msgid "Send"
|
||||
#~ msgstr "Send"
|
||||
@@ -1832,8 +1983,7 @@ msgstr "Settings | Workspace"
|
||||
#~ msgid "Share invite link"
|
||||
#~ msgstr "Share invite link"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
@@ -1862,7 +2012,8 @@ msgstr "Sign up is currently disabled. Please try again later."
|
||||
msgid "Sign up with "
|
||||
msgstr "Sign up with "
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:89
|
||||
#: src/views/pricing/components/Pricing.tsx:89
|
||||
#: src/views/pricing/index.tsx:44
|
||||
msgid "Simple pricing"
|
||||
msgstr "Simple pricing"
|
||||
|
||||
@@ -1878,7 +2029,7 @@ msgstr "Social Media"
|
||||
msgid "Software Development"
|
||||
msgstr "Software Development"
|
||||
|
||||
#: src/views/home/index.tsx:38
|
||||
#: src/views/home/index.tsx:37
|
||||
msgid "Star on Github"
|
||||
msgstr "Star on Github"
|
||||
|
||||
@@ -1899,7 +2050,8 @@ msgstr "Supercharge your workspace for just $29/month. Here's what you'll get:"
|
||||
msgid "Support"
|
||||
msgstr "Support"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/PricingTiers.tsx:54
|
||||
msgid "Support the development of the project"
|
||||
msgstr "Support the development of the project"
|
||||
|
||||
@@ -1908,11 +2060,13 @@ msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Team Plan"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
msgstr "Teams"
|
||||
|
||||
@@ -1946,6 +2100,10 @@ msgstr "Templates"
|
||||
msgid "Terms of service"
|
||||
msgstr "Terms of service"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:232
|
||||
msgid "Testimonials"
|
||||
msgstr "Testimonials"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:34
|
||||
msgid "Thank you for your feedback!"
|
||||
msgstr "Thank you for your feedback!"
|
||||
@@ -1958,7 +2116,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."
|
||||
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:66
|
||||
#: src/views/home/index.tsx:65
|
||||
msgid "The open source <0/> alternative to Trello"
|
||||
msgstr "The open source <0/> alternative to Trello"
|
||||
|
||||
@@ -1987,7 +2145,7 @@ msgstr "This action can't be undone."
|
||||
msgid "This API key will only be shown once. Please save it in a secure location."
|
||||
msgstr "This API key will only be shown once. Please save it in a secure location."
|
||||
|
||||
#: src/views/public/board/index.tsx:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "This board is private or does not exist"
|
||||
|
||||
@@ -2028,7 +2186,7 @@ msgstr "To Do"
|
||||
#~ msgid "To Do, In Progress, Done"
|
||||
#~ msgstr "To Do, In Progress, Done"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Toggle menu"
|
||||
|
||||
@@ -2036,6 +2194,7 @@ msgstr "Toggle menu"
|
||||
msgid "Track all card changes with detailed activity history."
|
||||
msgstr "Track all card changes with detailed activity history."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:190
|
||||
#: src/views/settings/IntegrationsSettings.tsx:73
|
||||
msgid "Trello"
|
||||
msgstr "Trello"
|
||||
@@ -2052,6 +2211,14 @@ msgstr "Trello imports"
|
||||
msgid "Triaging"
|
||||
msgstr "Triaging"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
#~ msgid "Trusted by fast-moving teams"
|
||||
#~ msgstr "Trusted by fast-moving teams"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
msgid "Trusted by fast-moving teams<0/>around the world"
|
||||
msgstr "Trusted by fast-moving teams<0/>around the world"
|
||||
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:88
|
||||
msgid "Unable to add checklist item"
|
||||
msgstr "Unable to add checklist item"
|
||||
@@ -2156,11 +2323,13 @@ msgstr "unassigned <0>{0}</0> from the card"
|
||||
msgid "unassigned themselves from the card"
|
||||
msgstr "unassigned themselves from the card"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:41
|
||||
#: src/views/pricing/components/Pricing.tsx:41
|
||||
msgid "Unlimited activity log"
|
||||
msgstr "Unlimited activity log"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:48
|
||||
#: src/views/pricing/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/PricingTiers.tsx:35
|
||||
msgid "Unlimited boards"
|
||||
msgstr "Unlimited boards"
|
||||
|
||||
@@ -2168,15 +2337,18 @@ msgstr "Unlimited boards"
|
||||
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
msgstr "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:60
|
||||
#: src/views/pricing/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/PricingTiers.tsx:36
|
||||
msgid "Unlimited cards"
|
||||
msgstr "Unlimited cards"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:40
|
||||
#: src/views/pricing/components/Pricing.tsx:40
|
||||
msgid "Unlimited comments"
|
||||
msgstr "Unlimited comments"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:38
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:38
|
||||
msgid "Unlimited lists"
|
||||
msgstr "Unlimited lists"
|
||||
|
||||
@@ -2185,6 +2357,10 @@ msgstr "Unlimited lists"
|
||||
msgid "Unlimited members"
|
||||
msgstr "Unlimited members"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:42
|
||||
msgid "Unlimited workspaces"
|
||||
msgstr "Unlimited workspaces"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
|
||||
#: src/views/settings/components/UpdateDisplayNameForm.tsx:80
|
||||
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:91
|
||||
@@ -2259,7 +2435,7 @@ msgstr "URL must be at least 3 characters long"
|
||||
msgid "Use template"
|
||||
msgstr "Use template"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "User"
|
||||
|
||||
@@ -2279,11 +2455,12 @@ msgstr "View and manage your API keys."
|
||||
msgid "View and manage your billing and subscription."
|
||||
msgstr "View and manage your billing and subscription."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/PricingTiers.tsx:64
|
||||
msgid "View docs"
|
||||
msgstr "View docs"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "View only"
|
||||
|
||||
@@ -2291,7 +2468,7 @@ msgstr "View only"
|
||||
msgid "View our roadmap."
|
||||
msgstr "View our roadmap."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "View workspace"
|
||||
|
||||
@@ -2327,11 +2504,20 @@ msgstr "When Trello launched in 2011, it blew everyone away with its carefully d
|
||||
#~ msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello’s simplicity, in open source."
|
||||
#~ msgstr "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello’s simplicity, in open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:22
|
||||
msgid "Why make an open source Trello?"
|
||||
msgstr "Why make an open source Trello?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:100
|
||||
#: src/views/public/boards/index.tsx:66
|
||||
msgid "Workspace"
|
||||
msgstr "Workspace"
|
||||
|
||||
@@ -2360,7 +2546,8 @@ msgid "Workspace description updated"
|
||||
msgstr "Workspace description updated"
|
||||
|
||||
#: src/views/home/components/Features.tsx:90
|
||||
#: src/views/home/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/PricingTiers.tsx:51
|
||||
msgid "Workspace members"
|
||||
msgstr "Workspace members"
|
||||
|
||||
@@ -2401,7 +2588,8 @@ msgstr "workspace-url"
|
||||
msgid "Writing"
|
||||
msgstr "Writing"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:19
|
||||
#: src/views/pricing/components/Pricing.tsx:19
|
||||
#: src/views/pricing/index.tsx:25
|
||||
msgid "Yearly"
|
||||
msgstr "Yearly"
|
||||
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", o consulta nuestra"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -58,11 +58,12 @@ msgstr "$10/mes"
|
||||
msgid "$8/month"
|
||||
msgstr "$8/mes"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/PricingTiers.tsx:34
|
||||
msgid "1 user"
|
||||
msgstr "1 usuario"
|
||||
|
||||
#: src/views/home/index.tsx:72
|
||||
#: src/views/home/index.tsx:71
|
||||
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."
|
||||
|
||||
@@ -79,6 +80,10 @@ msgstr "Cuenta eliminada"
|
||||
msgid "Activity"
|
||||
msgstr "Actividad"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:66
|
||||
msgid "Activity log"
|
||||
msgstr "Registro de actividad"
|
||||
|
||||
#: src/views/home/components/Features.tsx:110
|
||||
msgid "Activity logs"
|
||||
msgstr "Registros de actividad"
|
||||
@@ -157,7 +162,8 @@ msgstr "Añadir un nuevo miembro costará {price} adicionales ({billingType}) po
|
||||
msgid "Adjust the square crop to fit your avatar."
|
||||
msgstr "Ajusta el recorte cuadrado para que se adapte a tu avatar."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/PricingTiers.tsx:52
|
||||
msgid "Admin roles"
|
||||
msgstr "Roles de administrador"
|
||||
|
||||
@@ -256,6 +262,10 @@ msgstr "¿Estás seguro de que quieres eliminar tu cuenta?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "asignó <0>{0}</0> a la tarjeta"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Asignados"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:47
|
||||
msgid "Awaiting Customer"
|
||||
msgstr "Esperando al cliente"
|
||||
@@ -291,6 +301,8 @@ msgid "Blog Post"
|
||||
msgstr "Entrada de blog"
|
||||
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/card/index.tsx:216
|
||||
#: src/views/public/board/index.tsx:100
|
||||
msgid "Board"
|
||||
msgstr "Tablero"
|
||||
|
||||
@@ -307,10 +319,14 @@ msgstr "El nombre del tablero no puede exceder los 100 caracteres"
|
||||
msgid "Board name is required"
|
||||
msgstr "El nombre del tablero es obligatorio"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Tablero no encontrado"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Compartir tablero e invitaciones"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:45
|
||||
msgid "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgstr "La URL del tablero solo puede contener letras, números y guiones"
|
||||
@@ -319,7 +335,7 @@ msgstr "La URL del tablero solo puede contener letras, números y guiones"
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "La URL del tablero no puede exceder los 60 caracteres"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL del tablero copiada al portapapeles"
|
||||
|
||||
@@ -328,6 +344,7 @@ msgid "Board URL must be at least 3 characters long"
|
||||
msgstr "La URL del tablero debe tener al menos 3 caracteres"
|
||||
|
||||
#: src/views/home/components/Features.tsx:85
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:86
|
||||
msgid "Board visibility"
|
||||
msgstr "Visibilidad del tablero"
|
||||
|
||||
@@ -366,6 +383,10 @@ msgstr "Informe de error"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Tarjeta"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Tarjeta no encontrada"
|
||||
@@ -394,6 +415,11 @@ msgstr "Revisa tu bandeja de entrada"
|
||||
msgid "Checklist name"
|
||||
msgstr "Nombre de la lista de verificación"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:77
|
||||
#: src/views/pricing/components/PricingTiers.tsx:38
|
||||
msgid "Checklists"
|
||||
msgstr "Listas de verificación"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
msgid "Clear filters"
|
||||
msgstr "Borrar filtros"
|
||||
@@ -425,15 +451,24 @@ msgstr "Próximamente"
|
||||
msgid "Comments"
|
||||
msgstr "Comentarios"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Comentarios y menciones"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:94
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
#: src/views/pricing/index.tsx:70
|
||||
msgid "Compare our features to see why Kan is the best choice."
|
||||
msgstr "Compara nuestras características para ver por qué Kan es la mejor opción."
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:82
|
||||
msgid "Complete"
|
||||
msgstr "Completado"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/PricingTiers.tsx:67
|
||||
msgid "Complete control and ownership:"
|
||||
msgstr "Control y propiedad completos:"
|
||||
|
||||
@@ -464,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Conecta tu cuenta de Trello para importar tableros."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contacto"
|
||||
|
||||
@@ -488,6 +524,10 @@ msgstr "Continuar con {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Controla quién puede ver y editar tus tableros."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Características principales"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "template" : "board"
|
||||
#: src/views/boards/components/NewBoardForm.tsx:166
|
||||
msgid "Create {0}"
|
||||
@@ -566,14 +606,27 @@ msgstr "Recorta tu avatar"
|
||||
msgid "Current password is required"
|
||||
msgstr "Se requiere la contraseña actual"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:37
|
||||
msgid "Custom board templates"
|
||||
msgstr "Plantillas de tablero personalizadas"
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:71
|
||||
msgid "Custom domain"
|
||||
msgstr "Dominio personalizado"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:72
|
||||
msgid "Custom templates"
|
||||
msgstr "Plantillas personalizadas"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:315
|
||||
msgid "Custom URLs require upgrading to a Pro plan"
|
||||
msgstr "Las URLs personalizadas requieren actualizar a un plan Pro"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:98
|
||||
msgid "Custom workspace link"
|
||||
msgstr "Enlace de espacio de trabajo personalizado"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:339
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
|
||||
msgid "Custom workspace URL"
|
||||
@@ -686,13 +739,14 @@ msgstr "¿Ofrecen un plan gratuito?"
|
||||
msgid "docs"
|
||||
msgstr "documentos"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Documentos"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentación"
|
||||
|
||||
@@ -837,11 +891,13 @@ msgstr "Error al actualizar a Pro"
|
||||
msgid "Error uploading profile image"
|
||||
msgstr "Error al subir la imagen de perfil"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/PricingTiers.tsx:49
|
||||
msgid "Everything in the free plan, plus:"
|
||||
msgstr "Todo lo que hay en el plan gratuito, más:"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/PricingTiers.tsx:31
|
||||
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
msgstr "Todo lo que necesitas, gratis para siempre. Tableros ilimitados, listas ilimitadas, tarjetas ilimitadas. Actualiza en cualquier momento."
|
||||
|
||||
@@ -867,22 +923,37 @@ msgstr "Error al crear el tablero"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Error al iniciar sesión con {0}. Por favor, inténtalo de nuevo."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Preguntas frecuentes"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Rápido y ligero"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:237
|
||||
msgid "Feature"
|
||||
msgstr "Función"
|
||||
|
||||
#: src/views/pricing/index.tsx:67
|
||||
msgid "Feature breakdown"
|
||||
msgstr "Desglose de características"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:53
|
||||
msgid "Feature Request"
|
||||
msgstr "Solicitud de función"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:63
|
||||
msgid "Features"
|
||||
msgstr "Características"
|
||||
|
||||
@@ -907,16 +978,18 @@ msgstr "Encuentra respuestas a preguntas frecuentes sobre el proyecto. ¿No encu
|
||||
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos proyectos de código abierto necesitan una fuente de ingresos. La nuestra proviene de la oferta de pago en la nube para espacios de trabajo con múltiples usuarios (gratuita durante la beta) y para slugs personalizados de espacios de trabajo. No hay obligación de usarla, y puedes autoalojar el software en tu propia infraestructura sin costo alguno."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Plan gratuito"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/PricingTiers.tsx:32
|
||||
msgid "Free, forever"
|
||||
msgstr "Gratis, para siempre"
|
||||
|
||||
@@ -930,13 +1003,15 @@ msgstr "Diversión"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:74
|
||||
msgid "Get started"
|
||||
msgstr "Comenzar"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:31
|
||||
#: src/views/home/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/Pricing.tsx:31
|
||||
#: src/views/pricing/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/PricingTiers.tsx:29
|
||||
#: src/views/pricing/components/PricingTiers.tsx:46
|
||||
msgid "Get Started"
|
||||
msgstr "Comenzar"
|
||||
|
||||
@@ -953,11 +1028,12 @@ msgstr "Comienza creando una nueva lista"
|
||||
msgid "Get started for free today"
|
||||
msgstr "Comienza gratis hoy mismo"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:92
|
||||
#: src/views/pricing/components/Pricing.tsx:92
|
||||
#: src/views/pricing/index.tsx:47
|
||||
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."
|
||||
|
||||
#: src/views/home/index.tsx:76
|
||||
#: src/views/home/index.tsx:75
|
||||
msgid "Get started on Cloud"
|
||||
msgstr "Comenzar en la nube"
|
||||
|
||||
@@ -973,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Ir a inicio"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Ir a la aplicación"
|
||||
@@ -987,7 +1062,8 @@ msgstr "Alta prioridad"
|
||||
msgid "Hired"
|
||||
msgstr "Contratado"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/PricingTiers.tsx:66
|
||||
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
msgstr "Aloja Kan en tu propia infraestructura. Ideal para organizaciones que necesitan control completo sobre sus datos."
|
||||
|
||||
@@ -1027,7 +1103,7 @@ msgstr "Ideas"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Ideas para mejorar esta página..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
@@ -1039,6 +1115,10 @@ msgstr "Importación completada"
|
||||
msgid "Import failed"
|
||||
msgstr "Importación fallida"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:80
|
||||
msgid "Import from Trello"
|
||||
msgstr "Importar desde Trello"
|
||||
|
||||
#: src/views/home/components/Features.tsx:96
|
||||
msgid "Import your Trello boards and hit the ground running."
|
||||
msgstr "Importa tus tableros de Trello y comienza a trabajar de inmediato."
|
||||
@@ -1065,7 +1145,8 @@ msgstr "en"
|
||||
msgid "In Progress"
|
||||
msgstr "En progreso"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/PricingTiers.tsx:26
|
||||
msgid "Individuals"
|
||||
msgstr "Individuos"
|
||||
|
||||
@@ -1074,6 +1155,10 @@ msgstr "Individuos"
|
||||
msgid "Integrations"
|
||||
msgstr "Integraciones"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:92
|
||||
msgid "Intelligent search"
|
||||
msgstr "Búsqueda inteligente"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||
msgid "Interviewing"
|
||||
msgstr "Entrevistando"
|
||||
@@ -1086,7 +1171,7 @@ msgstr "Dirección de correo electrónico no válida"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invitación inválida"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Invitar"
|
||||
|
||||
@@ -1098,6 +1183,10 @@ msgstr "Enlace de invitación copiado"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Enlace de invitación copiado al portapapeles"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Enlaces de invitación"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
msgstr "Los enlaces de invitación requieren una suscripción de Equipo o Pro. Por favor, actualiza tu espacio de trabajo."
|
||||
@@ -1124,7 +1213,15 @@ msgstr "Unirse al espacio de trabajo | kan.bn"
|
||||
msgid "Junior"
|
||||
msgstr "Junior"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:51
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:185
|
||||
msgid "Kan"
|
||||
msgstr "Kan"
|
||||
|
||||
#: src/views/pricing/components/PricingTiers.tsx:48
|
||||
msgid "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kan es mejor con un equipo. Perfecto para equipos pequeños y en crecimiento que buscan colaborar."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:51
|
||||
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kanban es mejor con un equipo. Perfecto para equipos pequeños y en crecimiento que buscan colaborar."
|
||||
|
||||
@@ -1143,6 +1240,10 @@ msgstr "Ten en cuenta que esta acción es irreversible."
|
||||
msgid "Labels"
|
||||
msgstr "Etiquetas"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:76
|
||||
msgid "Labels & filters"
|
||||
msgstr "Etiquetas y filtros"
|
||||
|
||||
#: src/views/home/components/Features.tsx:100
|
||||
msgid "Labels & Filters"
|
||||
msgstr "Etiquetas y filtros"
|
||||
@@ -1156,11 +1257,12 @@ msgstr "Idioma"
|
||||
msgid "Launch offer"
|
||||
msgstr "Oferta de lanzamiento"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Oferta de lanzamiento: Obtén miembros ilimitados con Pro"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:99
|
||||
#: src/views/pricing/components/Pricing.tsx:98
|
||||
#: src/views/pricing/components/PricingTiers.tsx:84
|
||||
msgid "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
msgstr "Oferta de lanzamiento: asientos ilimitados por solo $29/mes con Pro"
|
||||
|
||||
@@ -1180,7 +1282,7 @@ msgstr "Licencia"
|
||||
msgid "Light"
|
||||
msgstr "Claro"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Enlace copiado"
|
||||
|
||||
@@ -1204,6 +1306,10 @@ msgstr "Cerrar sesión"
|
||||
msgid "Long-term"
|
||||
msgstr "Largo plazo"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:236
|
||||
msgid "Loved by teams worldwide"
|
||||
msgstr "Amado por equipos en todo el mundo"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:18
|
||||
msgid "Low Priority"
|
||||
msgstr "Prioridad baja"
|
||||
@@ -1233,16 +1339,17 @@ msgstr "Prioridad media"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:366
|
||||
#: src/views/card/index.tsx:126
|
||||
#: src/views/members/index.tsx:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Miembros"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Miembros | {0}"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:14
|
||||
#: src/views/pricing/components/Pricing.tsx:14
|
||||
#: src/views/pricing/index.tsx:20
|
||||
msgid "Monthly"
|
||||
msgstr "Mensual"
|
||||
|
||||
@@ -1270,7 +1377,7 @@ msgstr "Nombre"
|
||||
msgid "Need help?"
|
||||
msgstr "¿Necesitas ayuda?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nuevo"
|
||||
@@ -1342,7 +1449,7 @@ msgstr "Sin {0}"
|
||||
msgid "No boards found"
|
||||
msgstr "No se encontraron tableros"
|
||||
|
||||
#: src/views/home/index.tsx:86
|
||||
#: src/views/home/index.tsx:85
|
||||
msgid "No credit card required"
|
||||
msgstr "No se requiere tarjeta de crédito"
|
||||
|
||||
@@ -1370,6 +1477,10 @@ 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."
|
||||
msgstr "Una vez que elimines tu espacio de trabajo, no hay vuelta atrás. Esta acción no se puede deshacer."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Código abierto"
|
||||
|
||||
#: src/components/AuthForm.tsx:365
|
||||
msgid "or"
|
||||
msgstr "o"
|
||||
@@ -1378,10 +1489,15 @@ msgstr "o"
|
||||
msgid "Organize and find cards quickly with powerful filtering tools."
|
||||
msgstr "Organiza y encuentra tarjetas rápidamente con potentes herramientas de filtrado."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/PricingTiers.tsx:70
|
||||
msgid "Own your data"
|
||||
msgstr "Sé dueño de tus datos"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Propiedad de Atlassian"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:70
|
||||
msgid "Part-time"
|
||||
msgstr "Tiempo parcial"
|
||||
@@ -1406,20 +1522,23 @@ msgstr "La contraseña debe tener al menos 8 caracteres"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Las contraseñas no coinciden"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Pausado"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:102
|
||||
#: src/views/pricing/components/Pricing.tsx:100
|
||||
#: src/views/pricing/components/PricingTiers.tsx:86
|
||||
msgid "Payment frequency"
|
||||
msgstr "Frecuencia de pago"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "Pendiente"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:20
|
||||
#: src/views/pricing/components/Pricing.tsx:15
|
||||
#: src/views/pricing/components/Pricing.tsx:20
|
||||
#: src/views/pricing/index.tsx:21
|
||||
#: src/views/pricing/index.tsx:26
|
||||
msgid "per user/month"
|
||||
msgstr "por usuario/mes"
|
||||
|
||||
@@ -1431,6 +1550,10 @@ msgstr "Proyecto personal"
|
||||
msgid "Planning"
|
||||
msgstr "Planificación"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Plataforma"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:24
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Por favor, confirma tu nueva contraseña"
|
||||
@@ -1497,13 +1620,21 @@ msgstr "Por favor, inténtalo de nuevo más tarde o contacta con atención al cl
|
||||
msgid "Please try again later."
|
||||
msgstr "Por favor, inténtalo de nuevo más tarde."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Precio por usuario/mes"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:85
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:34
|
||||
#: src/views/pricing/index.tsx:40
|
||||
msgid "Pricing"
|
||||
msgstr "Precios"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/PricingTiers.tsx:53
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:91
|
||||
msgid "Priority email support"
|
||||
msgstr "Soporte prioritario por email"
|
||||
@@ -1516,7 +1647,7 @@ msgstr "Política de privacidad"
|
||||
msgid "Private"
|
||||
msgstr "Privado"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Plan Pro"
|
||||
|
||||
@@ -1564,7 +1695,7 @@ msgstr "Remoto"
|
||||
msgid "Remove"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Eliminar miembro"
|
||||
|
||||
@@ -1607,20 +1738,26 @@ msgstr "Resolución"
|
||||
msgid "Resources"
|
||||
msgstr "Recursos"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "API REST"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:80
|
||||
msgid "Review"
|
||||
msgstr "Revisión"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Hoja de ruta"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/PricingTiers.tsx:69
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Ejecuta en tu propia infraestructura"
|
||||
|
||||
@@ -1641,6 +1778,10 @@ msgstr "Preselección"
|
||||
msgid "Search boards and cards..."
|
||||
msgstr "Buscar tableros y tarjetas..."
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:239
|
||||
msgid "See what our users are saying about Kan"
|
||||
msgstr "Mira lo que nuestros usuarios están diciendo sobre Kan"
|
||||
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||
msgid "Select all"
|
||||
msgstr "Seleccionar todo"
|
||||
@@ -1649,11 +1790,12 @@ msgstr "Seleccionar todo"
|
||||
msgid "Select source"
|
||||
msgstr "Seleccionar origen"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/PricingTiers.tsx:61
|
||||
msgid "Self Host"
|
||||
msgstr "Autoalojamiento"
|
||||
|
||||
#: src/views/home/index.tsx:82
|
||||
#: src/views/home/index.tsx:81
|
||||
msgid "Self host with Github"
|
||||
msgstr "Autoalojamiento con Github"
|
||||
|
||||
@@ -1661,6 +1803,10 @@ msgstr "Autoalojamiento con Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "se autoasignó la tarjeta"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Autoalojable"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:116
|
||||
msgid "Send feedback"
|
||||
msgstr "Enviar comentarios"
|
||||
@@ -1694,8 +1840,7 @@ msgstr "Configuración | Integraciones"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Configuración | Espacio de trabajo"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
@@ -1724,7 +1869,8 @@ msgstr "El registro está actualmente deshabilitado. Por favor, inténtalo de nu
|
||||
msgid "Sign up with "
|
||||
msgstr "Registrarse con "
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:89
|
||||
#: src/views/pricing/components/Pricing.tsx:89
|
||||
#: src/views/pricing/index.tsx:44
|
||||
msgid "Simple pricing"
|
||||
msgstr "Precios simples"
|
||||
|
||||
@@ -1740,7 +1886,7 @@ msgstr "Redes sociales"
|
||||
msgid "Software Development"
|
||||
msgstr "Desarrollo de software"
|
||||
|
||||
#: src/views/home/index.tsx:38
|
||||
#: src/views/home/index.tsx:37
|
||||
msgid "Star on Github"
|
||||
msgstr "Estrella en Github"
|
||||
|
||||
@@ -1761,7 +1907,8 @@ msgstr "Potencia tu espacio de trabajo por solo $29/mes. Esto es lo que obtendr
|
||||
msgid "Support"
|
||||
msgstr "Soporte"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/PricingTiers.tsx:54
|
||||
msgid "Support the development of the project"
|
||||
msgstr "Apoya el desarrollo del proyecto"
|
||||
|
||||
@@ -1770,11 +1917,13 @@ msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Plan de Equipo"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
msgstr "Equipos"
|
||||
|
||||
@@ -1808,6 +1957,10 @@ msgstr "Plantillas"
|
||||
msgid "Terms of service"
|
||||
msgstr "Términos de servicio"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:232
|
||||
msgid "Testimonials"
|
||||
msgstr "Testimonios"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:34
|
||||
msgid "Thank you for your feedback!"
|
||||
msgstr "¡Gracias por tus comentarios!"
|
||||
@@ -1820,7 +1973,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."
|
||||
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:66
|
||||
#: src/views/home/index.tsx:65
|
||||
msgid "The open source <0/> alternative to Trello"
|
||||
msgstr "La alternativa de código abierto <0/> a Trello"
|
||||
|
||||
@@ -1849,7 +2002,7 @@ msgstr "Esta acción no se puede deshacer."
|
||||
msgid "This API key will only be shown once. Please save it in a secure location."
|
||||
msgstr "Esta clave API solo se mostrará una vez. Por favor, guárdala en un lugar seguro."
|
||||
|
||||
#: src/views/public/board/index.tsx:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Este tablero es privado o no existe"
|
||||
|
||||
@@ -1886,7 +2039,7 @@ msgstr "Este nombre de usuario del espacio de trabajo ya ha sido tomado"
|
||||
msgid "To Do"
|
||||
msgstr "Por hacer"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Alternar menú"
|
||||
|
||||
@@ -1894,6 +2047,7 @@ msgstr "Alternar menú"
|
||||
msgid "Track all card changes with detailed activity history."
|
||||
msgstr "Rastrea todos los cambios en las tarjetas con un historial de actividad detallado."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:190
|
||||
#: src/views/settings/IntegrationsSettings.tsx:73
|
||||
msgid "Trello"
|
||||
msgstr "Trello"
|
||||
@@ -1910,6 +2064,10 @@ msgstr "Importaciones de Trello"
|
||||
msgid "Triaging"
|
||||
msgstr "Clasificación"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
msgid "Trusted by fast-moving teams<0/>around the world"
|
||||
msgstr "Equipos ágiles de todo el mundo<0/>confían en nosotros"
|
||||
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:88
|
||||
msgid "Unable to add checklist item"
|
||||
msgstr "No se puede añadir el elemento a la lista de verificación"
|
||||
@@ -2010,11 +2168,13 @@ msgstr "desasignó <0>{0}</0> de la tarjeta"
|
||||
msgid "unassigned themselves from the card"
|
||||
msgstr "se desasignó de la tarjeta"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:41
|
||||
#: src/views/pricing/components/Pricing.tsx:41
|
||||
msgid "Unlimited activity log"
|
||||
msgstr "Registro de actividad ilimitado"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:48
|
||||
#: src/views/pricing/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/PricingTiers.tsx:35
|
||||
msgid "Unlimited boards"
|
||||
msgstr "Tableros ilimitados"
|
||||
|
||||
@@ -2022,15 +2182,18 @@ msgstr "Tableros ilimitados"
|
||||
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
msgstr "Tableros ilimitados, listas ilimitadas, tarjetas ilimitadas. No se requiere tarjeta de crédito."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:60
|
||||
#: src/views/pricing/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/PricingTiers.tsx:36
|
||||
msgid "Unlimited cards"
|
||||
msgstr "Tarjetas ilimitadas"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:40
|
||||
#: src/views/pricing/components/Pricing.tsx:40
|
||||
msgid "Unlimited comments"
|
||||
msgstr "Comentarios ilimitados"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:38
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:38
|
||||
msgid "Unlimited lists"
|
||||
msgstr "Listas ilimitadas"
|
||||
|
||||
@@ -2039,6 +2202,10 @@ msgstr "Listas ilimitadas"
|
||||
msgid "Unlimited members"
|
||||
msgstr "Miembros ilimitados"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:42
|
||||
msgid "Unlimited workspaces"
|
||||
msgstr "Espacios de trabajo ilimitados"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
|
||||
#: src/views/settings/components/UpdateDisplayNameForm.tsx:80
|
||||
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:91
|
||||
@@ -2109,7 +2276,7 @@ msgstr "La URL debe tener al menos 3 caracteres"
|
||||
msgid "Use template"
|
||||
msgstr "Usar plantilla"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
@@ -2129,11 +2296,12 @@ msgstr "Ver y gestionar tus claves API."
|
||||
msgid "View and manage your billing and subscription."
|
||||
msgstr "Ver y gestionar tu facturación y suscripción."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/PricingTiers.tsx:64
|
||||
msgid "View docs"
|
||||
msgstr "Ver documentación"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Solo visualización"
|
||||
|
||||
@@ -2141,7 +2309,7 @@ msgstr "Solo visualización"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Ver nuestra hoja de ruta."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Ver espacio de trabajo"
|
||||
|
||||
@@ -2173,11 +2341,20 @@ msgstr "¿Cuál es la diferencia entre Kan y Trello?"
|
||||
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
|
||||
msgstr "Cuando Trello se lanzó en 2011, impresionó a todos con su simplicidad cuidadosamente diseñada, pero con el tiempo (y la atlassificación) perdió su magia y se convirtió en algo más cercano a \"Jira Lite\". Este proyecto es nuestro intento de recuperar la magia original de la simplicidad de Trello, en código abierto."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "Marca blanca"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:22
|
||||
msgid "Why make an open source Trello?"
|
||||
msgstr "¿Por qué crear un Trello de código abierto?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:100
|
||||
#: src/views/public/boards/index.tsx:66
|
||||
msgid "Workspace"
|
||||
msgstr "Espacio de trabajo"
|
||||
|
||||
@@ -2206,7 +2383,8 @@ msgid "Workspace description updated"
|
||||
msgstr "Descripción del espacio de trabajo actualizada"
|
||||
|
||||
#: src/views/home/components/Features.tsx:90
|
||||
#: src/views/home/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/PricingTiers.tsx:51
|
||||
msgid "Workspace members"
|
||||
msgstr "Miembros del espacio de trabajo"
|
||||
|
||||
@@ -2247,7 +2425,8 @@ msgstr "workspace-url"
|
||||
msgid "Writing"
|
||||
msgstr "Escritura"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:19
|
||||
#: src/views/pricing/components/Pricing.tsx:19
|
||||
#: src/views/pricing/index.tsx:25
|
||||
msgid "Yearly"
|
||||
msgstr "Anual"
|
||||
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", ou consultez notre"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -58,11 +58,12 @@ msgstr "10 $/mois"
|
||||
msgid "$8/month"
|
||||
msgstr "8 $/mois"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/PricingTiers.tsx:34
|
||||
msgid "1 user"
|
||||
msgstr "1 utilisateur"
|
||||
|
||||
#: src/views/home/index.tsx:72
|
||||
#: src/views/home/index.tsx:71
|
||||
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."
|
||||
|
||||
@@ -79,6 +80,10 @@ msgstr "Compte supprimé"
|
||||
msgid "Activity"
|
||||
msgstr "Activité"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:66
|
||||
msgid "Activity log"
|
||||
msgstr "Journal d'activité"
|
||||
|
||||
#: src/views/home/components/Features.tsx:110
|
||||
msgid "Activity logs"
|
||||
msgstr "Journaux d'activité"
|
||||
@@ -157,7 +162,8 @@ msgstr "L'ajout d'un nouveau membre coûtera {price} supplémentaires ({billingT
|
||||
msgid "Adjust the square crop to fit your avatar."
|
||||
msgstr "Ajustez le recadrage carré pour adapter votre avatar."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/PricingTiers.tsx:52
|
||||
msgid "Admin roles"
|
||||
msgstr "Rôles d'administrateur"
|
||||
|
||||
@@ -256,6 +262,10 @@ msgstr "Êtes-vous sûr de vouloir supprimer votre compte ?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "a assigné <0>{0}</0> à la carte"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Assignés"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:47
|
||||
msgid "Awaiting Customer"
|
||||
msgstr "En attente du client"
|
||||
@@ -291,6 +301,8 @@ msgid "Blog Post"
|
||||
msgstr "Article de blog"
|
||||
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/card/index.tsx:216
|
||||
#: src/views/public/board/index.tsx:100
|
||||
msgid "Board"
|
||||
msgstr "Tableau"
|
||||
|
||||
@@ -307,10 +319,14 @@ msgstr "Le nom du tableau ne peut pas dépasser 100 caractères"
|
||||
msgid "Board name is required"
|
||||
msgstr "Le nom du tableau est requis"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Tableau introuvable"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Partage de tableau & invitations"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:45
|
||||
msgid "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgstr "L'URL du tableau ne peut contenir que des lettres, des chiffres et des traits d'union"
|
||||
@@ -319,7 +335,7 @@ msgstr "L'URL du tableau ne peut contenir que des lettres, des chiffres et des t
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "L'URL du tableau ne peut pas dépasser 60 caractères"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL du tableau copiée dans le presse-papiers"
|
||||
|
||||
@@ -328,6 +344,7 @@ msgid "Board URL must be at least 3 characters long"
|
||||
msgstr "L'URL du tableau doit comporter au moins 3 caractères"
|
||||
|
||||
#: src/views/home/components/Features.tsx:85
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:86
|
||||
msgid "Board visibility"
|
||||
msgstr "Visibilité du tableau"
|
||||
|
||||
@@ -366,6 +383,10 @@ msgstr "Rapport de bug"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Carte"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Carte introuvable"
|
||||
@@ -394,6 +415,11 @@ msgstr "Vérifiez votre boîte de réception"
|
||||
msgid "Checklist name"
|
||||
msgstr "Nom de la checklist"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:77
|
||||
#: src/views/pricing/components/PricingTiers.tsx:38
|
||||
msgid "Checklists"
|
||||
msgstr "Listes de contrôle"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
msgid "Clear filters"
|
||||
msgstr "Effacer les filtres"
|
||||
@@ -425,15 +451,24 @@ msgstr "Bientôt disponible"
|
||||
msgid "Comments"
|
||||
msgstr "Commentaires"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Commentaires & mentions"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:94
|
||||
msgid "Company"
|
||||
msgstr "Entreprise"
|
||||
|
||||
#: src/views/pricing/index.tsx:70
|
||||
msgid "Compare our features to see why Kan is the best choice."
|
||||
msgstr "Comparez nos fonctionnalités pour voir pourquoi Kan est le meilleur choix."
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:82
|
||||
msgid "Complete"
|
||||
msgstr "Terminé"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/PricingTiers.tsx:67
|
||||
msgid "Complete control and ownership:"
|
||||
msgstr "Contrôle et propriété complets :"
|
||||
|
||||
@@ -464,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Connectez votre compte Trello pour importer des tableaux."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
@@ -488,6 +524,10 @@ msgstr "Continuer avec {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Contrôlez qui peut voir et modifier vos tableaux."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Fonctionnalités essentielles"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "template" : "board"
|
||||
#: src/views/boards/components/NewBoardForm.tsx:166
|
||||
msgid "Create {0}"
|
||||
@@ -566,14 +606,27 @@ msgstr "Recadrez votre avatar"
|
||||
msgid "Current password is required"
|
||||
msgstr "Le mot de passe actuel est requis"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:37
|
||||
msgid "Custom board templates"
|
||||
msgstr "Modèles de tableau personnalisés"
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:71
|
||||
msgid "Custom domain"
|
||||
msgstr "Domaine personnalisé"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:72
|
||||
msgid "Custom templates"
|
||||
msgstr "Modèles personnalisés"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:315
|
||||
msgid "Custom URLs require upgrading to a Pro plan"
|
||||
msgstr "Les URL personnalisées nécessitent une mise à niveau vers un forfait Pro"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:98
|
||||
msgid "Custom workspace link"
|
||||
msgstr "Lien d'espace de travail personnalisé"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:339
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
|
||||
msgid "Custom workspace URL"
|
||||
@@ -686,13 +739,14 @@ msgstr "Proposez-vous un plan gratuit ?"
|
||||
msgid "docs"
|
||||
msgstr "documentation"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Documentation"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentation"
|
||||
|
||||
@@ -837,11 +891,13 @@ msgstr "Erreur lors de la mise à niveau vers Pro"
|
||||
msgid "Error uploading profile image"
|
||||
msgstr "Erreur lors du téléchargement de l'image de profil"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/PricingTiers.tsx:49
|
||||
msgid "Everything in the free plan, plus:"
|
||||
msgstr "Tout ce qui est inclus dans le plan gratuit, plus :"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/PricingTiers.tsx:31
|
||||
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
msgstr "Tout ce dont vous avez besoin, gratuit pour toujours. Tableaux illimités, listes illimitées, cartes illimitées. Possibilité de mise à niveau à tout moment."
|
||||
|
||||
@@ -867,22 +923,37 @@ msgstr "Échec de la création du tableau"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Échec de connexion avec {0}. Veuillez réessayer."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Rapide & léger"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:237
|
||||
msgid "Feature"
|
||||
msgstr "Fonctionnalité"
|
||||
|
||||
#: src/views/pricing/index.tsx:67
|
||||
msgid "Feature breakdown"
|
||||
msgstr "Détail des fonctionnalités"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:53
|
||||
msgid "Feature Request"
|
||||
msgstr "Demande de fonctionnalité"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:63
|
||||
msgid "Features"
|
||||
msgstr "Fonctionnalités"
|
||||
|
||||
@@ -907,16 +978,18 @@ msgstr "Trouvez des réponses aux questions fréquentes sur le projet. Vous ne t
|
||||
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons projets open source ont besoin d'une source de revenus. La nôtre provient de l'offre cloud payante pour les espaces de travail avec plusieurs utilisateurs (gratuite pendant la bêta) et pour les slugs d'espace de travail personnalisés. Il n'y a aucune obligation de l'utiliser, et vous pouvez auto-héberger le logiciel sur votre propre infrastructure gratuitement."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Forfait gratuit"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/PricingTiers.tsx:32
|
||||
msgid "Free, forever"
|
||||
msgstr "Gratuit, pour toujours"
|
||||
|
||||
@@ -930,13 +1003,15 @@ msgstr "Amusant"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:74
|
||||
msgid "Get started"
|
||||
msgstr "Commencer"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:31
|
||||
#: src/views/home/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/Pricing.tsx:31
|
||||
#: src/views/pricing/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/PricingTiers.tsx:29
|
||||
#: src/views/pricing/components/PricingTiers.tsx:46
|
||||
msgid "Get Started"
|
||||
msgstr "Commencer"
|
||||
|
||||
@@ -953,11 +1028,12 @@ msgstr "Commencez par créer une nouvelle liste"
|
||||
msgid "Get started for free today"
|
||||
msgstr "Commencez gratuitement aujourd'hui"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:92
|
||||
#: src/views/pricing/components/Pricing.tsx:92
|
||||
#: src/views/pricing/index.tsx:47
|
||||
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."
|
||||
|
||||
#: src/views/home/index.tsx:76
|
||||
#: src/views/home/index.tsx:75
|
||||
msgid "Get started on Cloud"
|
||||
msgstr "Commencer sur le Cloud"
|
||||
|
||||
@@ -973,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Aller à l'accueil"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Accéder à l'application"
|
||||
@@ -987,7 +1062,8 @@ msgstr "Haute priorité"
|
||||
msgid "Hired"
|
||||
msgstr "Embauché"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/PricingTiers.tsx:66
|
||||
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
msgstr "Hébergez Kan sur votre propre infrastructure. Idéal pour les organisations qui ont besoin d'un contrôle total sur leurs données."
|
||||
|
||||
@@ -1027,7 +1103,7 @@ msgstr "Idées"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Idées pour améliorer cette page..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importer"
|
||||
|
||||
@@ -1039,6 +1115,10 @@ msgstr "Importation terminée"
|
||||
msgid "Import failed"
|
||||
msgstr "Échec de l'importation"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:80
|
||||
msgid "Import from Trello"
|
||||
msgstr "Importation depuis Trello"
|
||||
|
||||
#: src/views/home/components/Features.tsx:96
|
||||
msgid "Import your Trello boards and hit the ground running."
|
||||
msgstr "Importez vos tableaux Trello et commencez immédiatement."
|
||||
@@ -1065,7 +1145,8 @@ msgstr "dans"
|
||||
msgid "In Progress"
|
||||
msgstr "En cours"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/PricingTiers.tsx:26
|
||||
msgid "Individuals"
|
||||
msgstr "Particuliers"
|
||||
|
||||
@@ -1074,6 +1155,10 @@ msgstr "Particuliers"
|
||||
msgid "Integrations"
|
||||
msgstr "Intégrations"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:92
|
||||
msgid "Intelligent search"
|
||||
msgstr "Recherche intelligente"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||
msgid "Interviewing"
|
||||
msgstr "Entretien"
|
||||
@@ -1086,7 +1171,7 @@ msgstr "Adresse e-mail invalide"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invitation invalide"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Inviter"
|
||||
|
||||
@@ -1098,6 +1183,10 @@ msgstr "Lien d'invitation copié"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Lien d'invitation copié dans le presse-papiers"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Liens d'invitation"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
msgstr "Les liens d'invitation nécessitent un abonnement Team ou Pro. Veuillez mettre à niveau votre espace de travail."
|
||||
@@ -1124,7 +1213,15 @@ msgstr "Rejoindre l'espace de travail | kan.bn"
|
||||
msgid "Junior"
|
||||
msgstr "Junior"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:51
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:185
|
||||
msgid "Kan"
|
||||
msgstr "Kan"
|
||||
|
||||
#: src/views/pricing/components/PricingTiers.tsx:48
|
||||
msgid "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kan est meilleur en équipe. Parfait pour les petites équipes et celles en croissance qui cherchent à collaborer."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:51
|
||||
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kanban est meilleur en équipe. Parfait pour les petites équipes et celles en croissance qui cherchent à collaborer."
|
||||
|
||||
@@ -1143,6 +1240,10 @@ msgstr "Gardez à l'esprit que cette action est irréversible."
|
||||
msgid "Labels"
|
||||
msgstr "Étiquettes"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:76
|
||||
msgid "Labels & filters"
|
||||
msgstr "Étiquettes & filtres"
|
||||
|
||||
#: src/views/home/components/Features.tsx:100
|
||||
msgid "Labels & Filters"
|
||||
msgstr "Étiquettes & filtres"
|
||||
@@ -1156,11 +1257,12 @@ msgstr "Langue"
|
||||
msgid "Launch offer"
|
||||
msgstr "Offre de lancement"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Offre de lancement : obtenez des membres illimités avec Pro"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:99
|
||||
#: src/views/pricing/components/Pricing.tsx:98
|
||||
#: src/views/pricing/components/PricingTiers.tsx:84
|
||||
msgid "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
msgstr "Offre de lancement : sièges illimités pour seulement 29 $/mois avec Pro"
|
||||
|
||||
@@ -1180,7 +1282,7 @@ msgstr "Licence"
|
||||
msgid "Light"
|
||||
msgstr "Clair"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Lien copié"
|
||||
|
||||
@@ -1204,6 +1306,10 @@ msgstr "Déconnexion"
|
||||
msgid "Long-term"
|
||||
msgstr "Long terme"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:236
|
||||
msgid "Loved by teams worldwide"
|
||||
msgstr "Adoré par les équipes du monde entier"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:18
|
||||
msgid "Low Priority"
|
||||
msgstr "Priorité basse"
|
||||
@@ -1233,16 +1339,17 @@ msgstr "Priorité moyenne"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:366
|
||||
#: src/views/card/index.tsx:126
|
||||
#: src/views/members/index.tsx:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Membres | {0}"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:14
|
||||
#: src/views/pricing/components/Pricing.tsx:14
|
||||
#: src/views/pricing/index.tsx:20
|
||||
msgid "Monthly"
|
||||
msgstr "Mensuel"
|
||||
|
||||
@@ -1270,7 +1377,7 @@ msgstr "Nom"
|
||||
msgid "Need help?"
|
||||
msgstr "Besoin d'aide ?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nouveau"
|
||||
@@ -1342,7 +1449,7 @@ msgstr "Aucun {0}"
|
||||
msgid "No boards found"
|
||||
msgstr "Aucun tableau trouvé"
|
||||
|
||||
#: src/views/home/index.tsx:86
|
||||
#: src/views/home/index.tsx:85
|
||||
msgid "No credit card required"
|
||||
msgstr "Aucune carte de crédit requise"
|
||||
|
||||
@@ -1370,6 +1477,10 @@ 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."
|
||||
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/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
#: src/components/AuthForm.tsx:365
|
||||
msgid "or"
|
||||
msgstr "ou"
|
||||
@@ -1378,10 +1489,15 @@ msgstr "ou"
|
||||
msgid "Organize and find cards quickly with powerful filtering tools."
|
||||
msgstr "Organisez et trouvez rapidement des cartes avec des outils de filtrage puissants."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/PricingTiers.tsx:70
|
||||
msgid "Own your data"
|
||||
msgstr "Maîtrisez vos données"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Détenu par Atlassian"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:70
|
||||
msgid "Part-time"
|
||||
msgstr "Temps partiel"
|
||||
@@ -1406,20 +1522,23 @@ msgstr "Le mot de passe doit comporter au moins 8 caractères"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Les mots de passe ne correspondent pas"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "En pause"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:102
|
||||
#: src/views/pricing/components/Pricing.tsx:100
|
||||
#: src/views/pricing/components/PricingTiers.tsx:86
|
||||
msgid "Payment frequency"
|
||||
msgstr "Fréquence de paiement"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "En attente"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:20
|
||||
#: src/views/pricing/components/Pricing.tsx:15
|
||||
#: src/views/pricing/components/Pricing.tsx:20
|
||||
#: src/views/pricing/index.tsx:21
|
||||
#: src/views/pricing/index.tsx:26
|
||||
msgid "per user/month"
|
||||
msgstr "par utilisateur/mois"
|
||||
|
||||
@@ -1431,6 +1550,10 @@ msgstr "Projet personnel"
|
||||
msgid "Planning"
|
||||
msgstr "Planification"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Plateforme"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:24
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Veuillez confirmer votre nouveau mot de passe"
|
||||
@@ -1497,13 +1620,21 @@ msgstr "Veuillez réessayer plus tard ou contacter le service client."
|
||||
msgid "Please try again later."
|
||||
msgstr "Veuillez réessayer plus tard."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Prix par utilisateur/mois"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:85
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:34
|
||||
#: src/views/pricing/index.tsx:40
|
||||
msgid "Pricing"
|
||||
msgstr "Tarifs"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/PricingTiers.tsx:53
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:91
|
||||
msgid "Priority email support"
|
||||
msgstr "Support par e-mail prioritaire"
|
||||
@@ -1516,7 +1647,7 @@ msgstr "Politique de confidentialité"
|
||||
msgid "Private"
|
||||
msgstr "Privé"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Plan Pro"
|
||||
|
||||
@@ -1564,7 +1695,7 @@ msgstr "À distance"
|
||||
msgid "Remove"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Supprimer le membre"
|
||||
|
||||
@@ -1607,20 +1738,26 @@ msgstr "Résolution"
|
||||
msgid "Resources"
|
||||
msgstr "Ressources"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "API REST"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:80
|
||||
msgid "Review"
|
||||
msgstr "Révision"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Feuille de route"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/PricingTiers.tsx:69
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Exécutez sur votre propre infrastructure"
|
||||
|
||||
@@ -1641,6 +1778,10 @@ msgstr "Présélection"
|
||||
msgid "Search boards and cards..."
|
||||
msgstr "Rechercher des tableaux et des cartes..."
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:239
|
||||
msgid "See what our users are saying about Kan"
|
||||
msgstr "Découvrez ce que nos utilisateurs disent de Kan"
|
||||
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||
msgid "Select all"
|
||||
msgstr "Sélectionner tout"
|
||||
@@ -1649,11 +1790,12 @@ msgstr "Sélectionner tout"
|
||||
msgid "Select source"
|
||||
msgstr "Sélectionner la source"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/PricingTiers.tsx:61
|
||||
msgid "Self Host"
|
||||
msgstr "Auto-hébergement"
|
||||
|
||||
#: src/views/home/index.tsx:82
|
||||
#: src/views/home/index.tsx:81
|
||||
msgid "Self host with Github"
|
||||
msgstr "Auto-hébergement avec Github"
|
||||
|
||||
@@ -1661,6 +1803,10 @@ msgstr "Auto-hébergement avec Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "s'est auto-assigné la carte"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Auto-hébergeable"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:116
|
||||
msgid "Send feedback"
|
||||
msgstr "Envoyer des commentaires"
|
||||
@@ -1694,8 +1840,7 @@ msgstr "Paramètres | Intégrations"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Paramètres | Espace de travail"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Se connecter"
|
||||
|
||||
@@ -1724,7 +1869,8 @@ msgstr "L'inscription est actuellement désactivée. Veuillez réessayer plus ta
|
||||
msgid "Sign up with "
|
||||
msgstr "S'inscrire avec "
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:89
|
||||
#: src/views/pricing/components/Pricing.tsx:89
|
||||
#: src/views/pricing/index.tsx:44
|
||||
msgid "Simple pricing"
|
||||
msgstr "Tarification simple"
|
||||
|
||||
@@ -1740,7 +1886,7 @@ msgstr "Réseaux sociaux"
|
||||
msgid "Software Development"
|
||||
msgstr "Développement logiciel"
|
||||
|
||||
#: src/views/home/index.tsx:38
|
||||
#: src/views/home/index.tsx:37
|
||||
msgid "Star on Github"
|
||||
msgstr "Étoile sur Github"
|
||||
|
||||
@@ -1761,7 +1907,8 @@ msgstr "Optimisez votre espace de travail pour seulement 29 $/mois. Voici ce que
|
||||
msgid "Support"
|
||||
msgstr "Assistance"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/PricingTiers.tsx:54
|
||||
msgid "Support the development of the project"
|
||||
msgstr "Soutenir le développement du projet"
|
||||
|
||||
@@ -1770,11 +1917,13 @@ msgid "System"
|
||||
msgstr "Système"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Forfait d'équipe"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
msgstr "Équipes"
|
||||
|
||||
@@ -1808,6 +1957,10 @@ msgstr "Modèles"
|
||||
msgid "Terms of service"
|
||||
msgstr "Conditions d'utilisation"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:232
|
||||
msgid "Testimonials"
|
||||
msgstr "Témoignages"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:34
|
||||
msgid "Thank you for your feedback!"
|
||||
msgstr "Merci pour vos commentaires !"
|
||||
@@ -1820,7 +1973,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."
|
||||
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:66
|
||||
#: src/views/home/index.tsx:65
|
||||
msgid "The open source <0/> alternative to Trello"
|
||||
msgstr "L'alternative open source <0/> à Trello"
|
||||
|
||||
@@ -1849,7 +2002,7 @@ msgstr "Cette action ne peut pas être annulée."
|
||||
msgid "This API key will only be shown once. Please save it in a secure location."
|
||||
msgstr "Cette clé API ne sera affichée qu'une seule fois. Veuillez la sauvegarder dans un emplacement sécurisé."
|
||||
|
||||
#: src/views/public/board/index.tsx:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Ce tableau est privé ou n'existe pas"
|
||||
|
||||
@@ -1886,7 +2039,7 @@ msgstr "Ce nom d'utilisateur d'espace de travail est déjà pris"
|
||||
msgid "To Do"
|
||||
msgstr "À faire"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Basculer le menu"
|
||||
|
||||
@@ -1894,6 +2047,7 @@ msgstr "Basculer le menu"
|
||||
msgid "Track all card changes with detailed activity history."
|
||||
msgstr "Suivez tous les changements de cartes avec un historique d'activité détaillé."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:190
|
||||
#: src/views/settings/IntegrationsSettings.tsx:73
|
||||
msgid "Trello"
|
||||
msgstr "Trello"
|
||||
@@ -1910,6 +2064,10 @@ msgstr "Importations Trello"
|
||||
msgid "Triaging"
|
||||
msgstr "Triage"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
msgid "Trusted by fast-moving teams<0/>around the world"
|
||||
msgstr "Approuvé par des équipes dynamiques<0/>du monde entier"
|
||||
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:88
|
||||
msgid "Unable to add checklist item"
|
||||
msgstr "Impossible d'ajouter l'élément à la liste de contrôle"
|
||||
@@ -2010,11 +2168,13 @@ msgstr "a désassigné <0>{0}</0> de la carte"
|
||||
msgid "unassigned themselves from the card"
|
||||
msgstr "s'est retiré de la carte"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:41
|
||||
#: src/views/pricing/components/Pricing.tsx:41
|
||||
msgid "Unlimited activity log"
|
||||
msgstr "Journal d'activité illimité"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:48
|
||||
#: src/views/pricing/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/PricingTiers.tsx:35
|
||||
msgid "Unlimited boards"
|
||||
msgstr "Tableaux illimités"
|
||||
|
||||
@@ -2022,15 +2182,18 @@ msgstr "Tableaux illimités"
|
||||
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
msgstr "Tableaux illimités, listes illimitées, cartes illimitées. Aucune carte de crédit requise."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:60
|
||||
#: src/views/pricing/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/PricingTiers.tsx:36
|
||||
msgid "Unlimited cards"
|
||||
msgstr "Cartes illimitées"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:40
|
||||
#: src/views/pricing/components/Pricing.tsx:40
|
||||
msgid "Unlimited comments"
|
||||
msgstr "Commentaires illimités"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:38
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:38
|
||||
msgid "Unlimited lists"
|
||||
msgstr "Listes illimitées"
|
||||
|
||||
@@ -2039,6 +2202,10 @@ msgstr "Listes illimitées"
|
||||
msgid "Unlimited members"
|
||||
msgstr "Membres illimités"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:42
|
||||
msgid "Unlimited workspaces"
|
||||
msgstr "Espaces de travail illimités"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
|
||||
#: src/views/settings/components/UpdateDisplayNameForm.tsx:80
|
||||
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:91
|
||||
@@ -2109,7 +2276,7 @@ msgstr "L'URL doit comporter au moins 3 caractères"
|
||||
msgid "Use template"
|
||||
msgstr "Utiliser le modèle"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
@@ -2129,11 +2296,12 @@ msgstr "Consultez et gérez vos clés API."
|
||||
msgid "View and manage your billing and subscription."
|
||||
msgstr "Consultez et gérez votre facturation et votre abonnement."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/PricingTiers.tsx:64
|
||||
msgid "View docs"
|
||||
msgstr "Voir la documentation"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Affichage uniquement"
|
||||
|
||||
@@ -2141,7 +2309,7 @@ msgstr "Affichage uniquement"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Consultez notre feuille de route."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Voir l'espace de travail"
|
||||
|
||||
@@ -2173,11 +2341,20 @@ msgstr "Quelle est la différence entre Kan et Trello ?"
|
||||
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
|
||||
msgstr "Quand Trello a été lancé en 2011, il a impressionné tout le monde par sa simplicité soigneusement conçue, mais au fil du temps (et de l'\"atlassification\"), il a perdu sa magie et s'est transformé en quelque chose qui ressemble davantage à \"Jira Lite\". Ce projet est notre tentative de retrouver la magie originelle de la simplicité de Trello, en open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "Marque blanche"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:22
|
||||
msgid "Why make an open source Trello?"
|
||||
msgstr "Pourquoi créer un Trello open source ?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:100
|
||||
#: src/views/public/boards/index.tsx:66
|
||||
msgid "Workspace"
|
||||
msgstr "Espace de travail"
|
||||
|
||||
@@ -2206,7 +2383,8 @@ msgid "Workspace description updated"
|
||||
msgstr "Description de l'espace de travail mise à jour"
|
||||
|
||||
#: src/views/home/components/Features.tsx:90
|
||||
#: src/views/home/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/PricingTiers.tsx:51
|
||||
msgid "Workspace members"
|
||||
msgstr "Membres de l'espace de travail"
|
||||
|
||||
@@ -2247,7 +2425,8 @@ msgstr "workspace-url"
|
||||
msgid "Writing"
|
||||
msgstr "Écriture"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:19
|
||||
#: src/views/pricing/components/Pricing.tsx:19
|
||||
#: src/views/pricing/index.tsx:25
|
||||
msgid "Yearly"
|
||||
msgstr "Annuel"
|
||||
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
export const locales = ["en", "fr", "de", "es", "it", "nl", "ru"] as const;
|
||||
export const locales = [
|
||||
"en",
|
||||
"fr",
|
||||
"de",
|
||||
"es",
|
||||
"it",
|
||||
"nl",
|
||||
"ru",
|
||||
"pl",
|
||||
] as const;
|
||||
|
||||
export type Locale = (typeof locales)[number];
|
||||
|
||||
@@ -12,4 +21,5 @@ export const localeNames: Record<Locale, string> = {
|
||||
it: "Italiano",
|
||||
nl: "Nederlands",
|
||||
ru: "Русский",
|
||||
pl: "Polski",
|
||||
};
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", o consulta i nostri"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -58,11 +58,12 @@ msgstr "$10/mese"
|
||||
msgid "$8/month"
|
||||
msgstr "$8/mese"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/PricingTiers.tsx:34
|
||||
msgid "1 user"
|
||||
msgstr "1 utente"
|
||||
|
||||
#: src/views/home/index.tsx:72
|
||||
#: src/views/home/index.tsx:71
|
||||
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."
|
||||
|
||||
@@ -79,6 +80,10 @@ msgstr "Account eliminato"
|
||||
msgid "Activity"
|
||||
msgstr "Attività"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:66
|
||||
msgid "Activity log"
|
||||
msgstr "Registro attività"
|
||||
|
||||
#: src/views/home/components/Features.tsx:110
|
||||
msgid "Activity logs"
|
||||
msgstr "Registri attività"
|
||||
@@ -157,7 +162,8 @@ msgstr "L'aggiunta di un nuovo membro costerà un supplemento di {price} ({billi
|
||||
msgid "Adjust the square crop to fit your avatar."
|
||||
msgstr "Regola il ritaglio quadrato per adattarlo al tuo avatar."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/PricingTiers.tsx:52
|
||||
msgid "Admin roles"
|
||||
msgstr "Ruoli amministratore"
|
||||
|
||||
@@ -256,6 +262,10 @@ msgstr "Sei sicuro di voler eliminare il tuo account?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "ha assegnato <0>{0}</0> alla scheda"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Assegnatari"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:47
|
||||
msgid "Awaiting Customer"
|
||||
msgstr "In attesa del cliente"
|
||||
@@ -291,6 +301,8 @@ msgid "Blog Post"
|
||||
msgstr "Post del blog"
|
||||
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/card/index.tsx:216
|
||||
#: src/views/public/board/index.tsx:100
|
||||
msgid "Board"
|
||||
msgstr "Bacheca"
|
||||
|
||||
@@ -307,10 +319,14 @@ msgstr "Il nome della bacheca non può superare i 100 caratteri"
|
||||
msgid "Board name is required"
|
||||
msgstr "Il nome della bacheca è obbligatorio"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Bacheca non trovata"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Condivisione bacheca & inviti"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:45
|
||||
msgid "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgstr "L'URL della bacheca può contenere solo lettere, numeri e trattini"
|
||||
@@ -319,7 +335,7 @@ msgstr "L'URL della bacheca può contenere solo lettere, numeri e trattini"
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "L'URL della bacheca non può superare i 60 caratteri"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL della bacheca copiato negli appunti"
|
||||
|
||||
@@ -328,6 +344,7 @@ msgid "Board URL must be at least 3 characters long"
|
||||
msgstr "L'URL della bacheca deve contenere almeno 3 caratteri"
|
||||
|
||||
#: src/views/home/components/Features.tsx:85
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:86
|
||||
msgid "Board visibility"
|
||||
msgstr "Visibilità bacheca"
|
||||
|
||||
@@ -366,6 +383,10 @@ msgstr "Segnalazione bug"
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Carta"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Carta non trovata"
|
||||
@@ -394,6 +415,11 @@ msgstr "Controlla la tua casella di posta"
|
||||
msgid "Checklist name"
|
||||
msgstr "Nome della checklist"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:77
|
||||
#: src/views/pricing/components/PricingTiers.tsx:38
|
||||
msgid "Checklists"
|
||||
msgstr "Checklist"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
msgid "Clear filters"
|
||||
msgstr "Cancella filtri"
|
||||
@@ -425,15 +451,24 @@ msgstr "Prossimamente"
|
||||
msgid "Comments"
|
||||
msgstr "Commenti"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Commenti & menzioni"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:94
|
||||
msgid "Company"
|
||||
msgstr "Azienda"
|
||||
|
||||
#: src/views/pricing/index.tsx:70
|
||||
msgid "Compare our features to see why Kan is the best choice."
|
||||
msgstr "Confronta le nostre funzionalità per scoprire perché Kan è la scelta migliore."
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:82
|
||||
msgid "Complete"
|
||||
msgstr "Completato"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/PricingTiers.tsx:67
|
||||
msgid "Complete control and ownership:"
|
||||
msgstr "Controllo e proprietà completi:"
|
||||
|
||||
@@ -464,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Connetti il tuo account Trello per importare le bacheche."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contatti"
|
||||
|
||||
@@ -488,6 +524,10 @@ msgstr "Continua con {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Controlla chi può visualizzare e modificare le tue bacheche."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Funzionalità principali"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "template" : "board"
|
||||
#: src/views/boards/components/NewBoardForm.tsx:166
|
||||
msgid "Create {0}"
|
||||
@@ -566,14 +606,27 @@ msgstr "Ritaglia il tuo avatar"
|
||||
msgid "Current password is required"
|
||||
msgstr "La password attuale è obbligatoria"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:37
|
||||
msgid "Custom board templates"
|
||||
msgstr "Template personalizzati per bacheca"
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:71
|
||||
msgid "Custom domain"
|
||||
msgstr "Dominio personalizzato"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:72
|
||||
msgid "Custom templates"
|
||||
msgstr "Template personalizzati"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:315
|
||||
msgid "Custom URLs require upgrading to a Pro plan"
|
||||
msgstr "Gli URL personalizzati richiedono l'aggiornamento a un piano Pro"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:98
|
||||
msgid "Custom workspace link"
|
||||
msgstr "Link personalizzato dell'area di lavoro"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:339
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
|
||||
msgid "Custom workspace URL"
|
||||
@@ -686,13 +739,14 @@ msgstr "Offrite un piano gratuito?"
|
||||
msgid "docs"
|
||||
msgstr "documenti"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Documenti"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentazione"
|
||||
|
||||
@@ -837,11 +891,13 @@ msgstr "Errore durante l'aggiornamento a Pro"
|
||||
msgid "Error uploading profile image"
|
||||
msgstr "Errore durante il caricamento dell'immagine del profilo"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/PricingTiers.tsx:49
|
||||
msgid "Everything in the free plan, plus:"
|
||||
msgstr "Tutto ciò che è incluso nel piano gratuito, più:"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/PricingTiers.tsx:31
|
||||
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
msgstr "Tutto ciò di cui hai bisogno, gratis per sempre. Bacheche illimitate, liste illimitate, schede illimitate. Aggiorna in qualsiasi momento."
|
||||
|
||||
@@ -867,22 +923,37 @@ msgstr "Impossibile creare la bacheca"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Accesso con {0} fallito. Riprova."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Veloce & leggero"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:237
|
||||
msgid "Feature"
|
||||
msgstr "Funzionalità"
|
||||
|
||||
#: src/views/pricing/index.tsx:67
|
||||
msgid "Feature breakdown"
|
||||
msgstr "Dettaglio funzionalità"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:53
|
||||
msgid "Feature Request"
|
||||
msgstr "Richiesta funzionalità"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:63
|
||||
msgid "Features"
|
||||
msgstr "Funzionalità"
|
||||
|
||||
@@ -907,16 +978,18 @@ msgstr "Trova risposte alle domande comuni sul progetto. Non trovi quello che st
|
||||
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni progetti open source necessitano di una fonte di entrate. La nostra proviene dall'offerta cloud a pagamento per workspace con più utenti (gratuita durante la beta) e per slug di workspace personalizzati. Non c'è alcun obbligo di utilizzarla, e puoi ospitare autonomamente il software sulla tua infrastruttura gratuitamente."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratuito"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Piano gratuito"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/PricingTiers.tsx:32
|
||||
msgid "Free, forever"
|
||||
msgstr "Gratuito, per sempre"
|
||||
|
||||
@@ -930,13 +1003,15 @@ msgstr "Divertimento"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:74
|
||||
msgid "Get started"
|
||||
msgstr "Inizia ora"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:31
|
||||
#: src/views/home/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/Pricing.tsx:31
|
||||
#: src/views/pricing/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/PricingTiers.tsx:29
|
||||
#: src/views/pricing/components/PricingTiers.tsx:46
|
||||
msgid "Get Started"
|
||||
msgstr "Inizia ora"
|
||||
|
||||
@@ -953,11 +1028,12 @@ msgstr "Inizia creando una nuova lista"
|
||||
msgid "Get started for free today"
|
||||
msgstr "Inizia gratuitamente oggi"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:92
|
||||
#: src/views/pricing/components/Pricing.tsx:92
|
||||
#: src/views/pricing/index.tsx:47
|
||||
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."
|
||||
|
||||
#: src/views/home/index.tsx:76
|
||||
#: src/views/home/index.tsx:75
|
||||
msgid "Get started on Cloud"
|
||||
msgstr "Inizia su Cloud"
|
||||
|
||||
@@ -973,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Vai alla home"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Vai all'app"
|
||||
@@ -987,7 +1062,8 @@ msgstr "Alta priorità"
|
||||
msgid "Hired"
|
||||
msgstr "Assunto"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/PricingTiers.tsx:66
|
||||
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
msgstr "Ospita Kan sulla tua infrastruttura. Ideale per organizzazioni che necessitano di controllo completo sui propri dati."
|
||||
|
||||
@@ -1027,7 +1103,7 @@ msgstr "Idee"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Idee per migliorare questa pagina..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importa"
|
||||
|
||||
@@ -1039,6 +1115,10 @@ msgstr "Importazione completata"
|
||||
msgid "Import failed"
|
||||
msgstr "Importazione fallita"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:80
|
||||
msgid "Import from Trello"
|
||||
msgstr "Importa da Trello"
|
||||
|
||||
#: src/views/home/components/Features.tsx:96
|
||||
msgid "Import your Trello boards and hit the ground running."
|
||||
msgstr "Importa le tue bacheche Trello e parti subito."
|
||||
@@ -1065,7 +1145,8 @@ msgstr "in"
|
||||
msgid "In Progress"
|
||||
msgstr "In corso"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/PricingTiers.tsx:26
|
||||
msgid "Individuals"
|
||||
msgstr "Privati"
|
||||
|
||||
@@ -1074,6 +1155,10 @@ msgstr "Privati"
|
||||
msgid "Integrations"
|
||||
msgstr "Integrazioni"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:92
|
||||
msgid "Intelligent search"
|
||||
msgstr "Ricerca intelligente"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||
msgid "Interviewing"
|
||||
msgstr "Colloquio"
|
||||
@@ -1086,7 +1171,7 @@ msgstr "Indirizzo email non valido"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invito non valido"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Invita"
|
||||
|
||||
@@ -1098,6 +1183,10 @@ msgstr "Link di invito copiato"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Link di invito copiato negli appunti"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Link di invito"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
msgstr "I link di invito richiedono un abbonamento Team o Pro. Per favore aggiorna il tuo spazio di lavoro."
|
||||
@@ -1124,7 +1213,15 @@ msgstr "Unisciti allo spazio di lavoro | kan.bn"
|
||||
msgid "Junior"
|
||||
msgstr "Junior"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:51
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:185
|
||||
msgid "Kan"
|
||||
msgstr "Kan"
|
||||
|
||||
#: src/views/pricing/components/PricingTiers.tsx:48
|
||||
msgid "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kan è migliore con un team. Perfetto per piccoli team in crescita che cercano di collaborare."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:51
|
||||
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kanban è migliore con un team. Perfetto per piccoli team in crescita che cercano di collaborare."
|
||||
|
||||
@@ -1143,6 +1240,10 @@ msgstr "Tieni presente che questa azione è irreversibile."
|
||||
msgid "Labels"
|
||||
msgstr "Etichette"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:76
|
||||
msgid "Labels & filters"
|
||||
msgstr "Etichette & filtri"
|
||||
|
||||
#: src/views/home/components/Features.tsx:100
|
||||
msgid "Labels & Filters"
|
||||
msgstr "Etichette & Filtri"
|
||||
@@ -1156,11 +1257,12 @@ msgstr "Lingua"
|
||||
msgid "Launch offer"
|
||||
msgstr "Offerta di lancio"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Offerta di lancio: ottieni membri illimitati con Pro"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:99
|
||||
#: src/views/pricing/components/Pricing.tsx:98
|
||||
#: src/views/pricing/components/PricingTiers.tsx:84
|
||||
msgid "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
msgstr "Offerta di lancio: posti illimitati a soli $29/mese con Pro"
|
||||
|
||||
@@ -1180,7 +1282,7 @@ msgstr "Licenza"
|
||||
msgid "Light"
|
||||
msgstr "Chiaro"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link copiato"
|
||||
|
||||
@@ -1204,6 +1306,10 @@ msgstr "Esci"
|
||||
msgid "Long-term"
|
||||
msgstr "A lungo termine"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:236
|
||||
msgid "Loved by teams worldwide"
|
||||
msgstr "Amato dai team di tutto il mondo"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:18
|
||||
msgid "Low Priority"
|
||||
msgstr "Bassa priorità"
|
||||
@@ -1233,16 +1339,17 @@ msgstr "Media priorità"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:366
|
||||
#: src/views/card/index.tsx:126
|
||||
#: src/views/members/index.tsx:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Membri"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Membri | {0}"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:14
|
||||
#: src/views/pricing/components/Pricing.tsx:14
|
||||
#: src/views/pricing/index.tsx:20
|
||||
msgid "Monthly"
|
||||
msgstr "Mensile"
|
||||
|
||||
@@ -1270,7 +1377,7 @@ msgstr "Nome"
|
||||
msgid "Need help?"
|
||||
msgstr "Hai bisogno di aiuto?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nuovo"
|
||||
@@ -1342,7 +1449,7 @@ msgstr "Nessun {0}"
|
||||
msgid "No boards found"
|
||||
msgstr "Nessuna bacheca trovata"
|
||||
|
||||
#: src/views/home/index.tsx:86
|
||||
#: src/views/home/index.tsx:85
|
||||
msgid "No credit card required"
|
||||
msgstr "Nessuna carta di credito richiesta"
|
||||
|
||||
@@ -1370,6 +1477,10 @@ 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."
|
||||
msgstr "Una volta eliminata l'area di lavoro, non si può tornare indietro. Questa azione non può essere annullata."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
#: src/components/AuthForm.tsx:365
|
||||
msgid "or"
|
||||
msgstr "o"
|
||||
@@ -1378,10 +1489,15 @@ msgstr "o"
|
||||
msgid "Organize and find cards quickly with powerful filtering tools."
|
||||
msgstr "Organizza e trova le schede rapidamente con potenti strumenti di filtraggio."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/PricingTiers.tsx:70
|
||||
msgid "Own your data"
|
||||
msgstr "Possiedi i tuoi dati"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Di proprietà di Atlassian"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:70
|
||||
msgid "Part-time"
|
||||
msgstr "Part-time"
|
||||
@@ -1406,20 +1522,23 @@ msgstr "La password deve contenere almeno 8 caratteri"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Le password non corrispondono"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "In pausa"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:102
|
||||
#: src/views/pricing/components/Pricing.tsx:100
|
||||
#: src/views/pricing/components/PricingTiers.tsx:86
|
||||
msgid "Payment frequency"
|
||||
msgstr "Frequenza di pagamento"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "In attesa"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:20
|
||||
#: src/views/pricing/components/Pricing.tsx:15
|
||||
#: src/views/pricing/components/Pricing.tsx:20
|
||||
#: src/views/pricing/index.tsx:21
|
||||
#: src/views/pricing/index.tsx:26
|
||||
msgid "per user/month"
|
||||
msgstr "per utente/mese"
|
||||
|
||||
@@ -1431,6 +1550,10 @@ msgstr "Progetto personale"
|
||||
msgid "Planning"
|
||||
msgstr "Pianificazione"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Piattaforma"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:24
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Conferma la tua nuova password"
|
||||
@@ -1497,13 +1620,21 @@ msgstr "Riprova più tardi o contatta l'assistenza clienti."
|
||||
msgid "Please try again later."
|
||||
msgstr "Riprova più tardi."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Prezzo per utente/mese"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:85
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:34
|
||||
#: src/views/pricing/index.tsx:40
|
||||
msgid "Pricing"
|
||||
msgstr "Prezzi"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/PricingTiers.tsx:53
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:91
|
||||
msgid "Priority email support"
|
||||
msgstr "Supporto email prioritario"
|
||||
@@ -1516,7 +1647,7 @@ msgstr "Informativa sulla privacy"
|
||||
msgid "Private"
|
||||
msgstr "Privato"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Piano Pro"
|
||||
|
||||
@@ -1564,7 +1695,7 @@ msgstr "Remoto"
|
||||
msgid "Remove"
|
||||
msgstr "Rimuovi"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Rimuovi membro"
|
||||
|
||||
@@ -1607,20 +1738,26 @@ msgstr "Risoluzione"
|
||||
msgid "Resources"
|
||||
msgstr "Risorse"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:80
|
||||
msgid "Review"
|
||||
msgstr "Revisione"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Ruolo"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/PricingTiers.tsx:69
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Esegui sulla tua infrastruttura"
|
||||
|
||||
@@ -1641,6 +1778,10 @@ msgstr "Selezione"
|
||||
msgid "Search boards and cards..."
|
||||
msgstr "Cerca bacheche e schede..."
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:239
|
||||
msgid "See what our users are saying about Kan"
|
||||
msgstr "Scopri cosa dicono i nostri utenti su Kan"
|
||||
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||
msgid "Select all"
|
||||
msgstr "Seleziona tutto"
|
||||
@@ -1649,11 +1790,12 @@ msgstr "Seleziona tutto"
|
||||
msgid "Select source"
|
||||
msgstr "Seleziona fonte"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/PricingTiers.tsx:61
|
||||
msgid "Self Host"
|
||||
msgstr "Self Host"
|
||||
|
||||
#: src/views/home/index.tsx:82
|
||||
#: src/views/home/index.tsx:81
|
||||
msgid "Self host with Github"
|
||||
msgstr "Self host con Github"
|
||||
|
||||
@@ -1661,6 +1803,10 @@ msgstr "Self host con Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "si è auto-assegnato la scheda"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Self-hostable"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:116
|
||||
msgid "Send feedback"
|
||||
msgstr "Invia feedback"
|
||||
@@ -1694,8 +1840,7 @@ msgstr "Impostazioni | Integrazioni"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Impostazioni | Area di lavoro"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Accedi"
|
||||
|
||||
@@ -1724,7 +1869,8 @@ msgstr "La registrazione è attualmente disabilitata. Riprova più tardi."
|
||||
msgid "Sign up with "
|
||||
msgstr "Registrati con "
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:89
|
||||
#: src/views/pricing/components/Pricing.tsx:89
|
||||
#: src/views/pricing/index.tsx:44
|
||||
msgid "Simple pricing"
|
||||
msgstr "Prezzi semplici"
|
||||
|
||||
@@ -1740,7 +1886,7 @@ msgstr "Social media"
|
||||
msgid "Software Development"
|
||||
msgstr "Sviluppo software"
|
||||
|
||||
#: src/views/home/index.tsx:38
|
||||
#: src/views/home/index.tsx:37
|
||||
msgid "Star on Github"
|
||||
msgstr "Metti una stella su Github"
|
||||
|
||||
@@ -1761,7 +1907,8 @@ msgstr "Potenzia la tua area di lavoro per soli $29/mese. Ecco cosa otterrai:"
|
||||
msgid "Support"
|
||||
msgstr "Supporto"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/PricingTiers.tsx:54
|
||||
msgid "Support the development of the project"
|
||||
msgstr "Sostieni lo sviluppo del progetto"
|
||||
|
||||
@@ -1770,11 +1917,13 @@ msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Piano Team"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
msgstr "Team"
|
||||
|
||||
@@ -1808,6 +1957,10 @@ msgstr "Template"
|
||||
msgid "Terms of service"
|
||||
msgstr "Termini di servizio"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:232
|
||||
msgid "Testimonials"
|
||||
msgstr "Testimonianze"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:34
|
||||
msgid "Thank you for your feedback!"
|
||||
msgstr "Grazie per il tuo feedback!"
|
||||
@@ -1820,7 +1973,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."
|
||||
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:66
|
||||
#: src/views/home/index.tsx:65
|
||||
msgid "The open source <0/> alternative to Trello"
|
||||
msgstr "L'alternativa open source <0/> a Trello"
|
||||
|
||||
@@ -1849,7 +2002,7 @@ msgstr "Questa azione non può essere annullata."
|
||||
msgid "This API key will only be shown once. Please save it in a secure location."
|
||||
msgstr "Questa chiave API verrà mostrata una sola volta. Salvala in un luogo sicuro."
|
||||
|
||||
#: src/views/public/board/index.tsx:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Questa bacheca è privata o non esiste"
|
||||
|
||||
@@ -1886,7 +2039,7 @@ msgstr "Questo nome utente dell'area di lavoro è già stato utilizzato"
|
||||
msgid "To Do"
|
||||
msgstr "Da fare"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Attiva/disattiva menu"
|
||||
|
||||
@@ -1894,6 +2047,7 @@ msgstr "Attiva/disattiva menu"
|
||||
msgid "Track all card changes with detailed activity history."
|
||||
msgstr "Tieni traccia di tutte le modifiche alle schede con una cronologia dettagliata delle attività."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:190
|
||||
#: src/views/settings/IntegrationsSettings.tsx:73
|
||||
msgid "Trello"
|
||||
msgstr "Trello"
|
||||
@@ -1910,6 +2064,10 @@ msgstr "Importazioni da Trello"
|
||||
msgid "Triaging"
|
||||
msgstr "Smistamento"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
msgid "Trusted by fast-moving teams<0/>around the world"
|
||||
msgstr "Team dinamici di tutto il mondo<0/>si fidano di noi"
|
||||
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:88
|
||||
msgid "Unable to add checklist item"
|
||||
msgstr "Impossibile aggiungere l'elemento della checklist"
|
||||
@@ -2010,11 +2168,13 @@ msgstr "ha rimosso l'assegnazione di <0>{0}</0> dalla scheda"
|
||||
msgid "unassigned themselves from the card"
|
||||
msgstr "si è rimosso dall'assegnazione della scheda"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:41
|
||||
#: src/views/pricing/components/Pricing.tsx:41
|
||||
msgid "Unlimited activity log"
|
||||
msgstr "Registro attività illimitato"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:48
|
||||
#: src/views/pricing/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/PricingTiers.tsx:35
|
||||
msgid "Unlimited boards"
|
||||
msgstr "Bacheche illimitate"
|
||||
|
||||
@@ -2022,15 +2182,18 @@ msgstr "Bacheche illimitate"
|
||||
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
msgstr "Bacheche illimitate, liste illimitate, schede illimitate. Nessuna carta di credito richiesta."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:60
|
||||
#: src/views/pricing/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/PricingTiers.tsx:36
|
||||
msgid "Unlimited cards"
|
||||
msgstr "Schede illimitate"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:40
|
||||
#: src/views/pricing/components/Pricing.tsx:40
|
||||
msgid "Unlimited comments"
|
||||
msgstr "Commenti illimitati"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:38
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:38
|
||||
msgid "Unlimited lists"
|
||||
msgstr "Liste illimitate"
|
||||
|
||||
@@ -2039,6 +2202,10 @@ msgstr "Liste illimitate"
|
||||
msgid "Unlimited members"
|
||||
msgstr "Membri illimitati"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:42
|
||||
msgid "Unlimited workspaces"
|
||||
msgstr "Aree di lavoro illimitate"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
|
||||
#: src/views/settings/components/UpdateDisplayNameForm.tsx:80
|
||||
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:91
|
||||
@@ -2109,7 +2276,7 @@ msgstr "L'URL deve contenere almeno 3 caratteri"
|
||||
msgid "Use template"
|
||||
msgstr "Usa template"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Utente"
|
||||
|
||||
@@ -2129,11 +2296,12 @@ msgstr "Visualizza e gestisci le tue chiavi API."
|
||||
msgid "View and manage your billing and subscription."
|
||||
msgstr "Visualizza e gestisci la tua fatturazione e abbonamento."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/PricingTiers.tsx:64
|
||||
msgid "View docs"
|
||||
msgstr "Visualizza documenti"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Solo visualizzazione"
|
||||
|
||||
@@ -2141,7 +2309,7 @@ msgstr "Solo visualizzazione"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Visualizza la nostra roadmap."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Visualizza spazio di lavoro"
|
||||
|
||||
@@ -2173,11 +2341,20 @@ msgstr "Qual è la differenza tra Kan e Trello?"
|
||||
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
|
||||
msgstr "Quando Trello fu lanciato nel 2011, stupì tutti con la sua semplicità attentamente progettata, ma col tempo (e con l'atlassificazione) ha perso la sua magia trasformandosi in qualcosa di più simile a \"Jira Lite\". Questo progetto è il nostro tentativo di recuperare la magia originale della semplicità di Trello, in versione open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:22
|
||||
msgid "Why make an open source Trello?"
|
||||
msgstr "Perché creare un Trello open source?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:100
|
||||
#: src/views/public/boards/index.tsx:66
|
||||
msgid "Workspace"
|
||||
msgstr "Spazio di lavoro"
|
||||
|
||||
@@ -2206,7 +2383,8 @@ msgid "Workspace description updated"
|
||||
msgstr "Descrizione dell'area di lavoro aggiornata"
|
||||
|
||||
#: src/views/home/components/Features.tsx:90
|
||||
#: src/views/home/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/PricingTiers.tsx:51
|
||||
msgid "Workspace members"
|
||||
msgstr "Membri del workspace"
|
||||
|
||||
@@ -2247,7 +2425,8 @@ msgstr "workspace-url"
|
||||
msgid "Writing"
|
||||
msgstr "Scrittura"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:19
|
||||
#: src/views/pricing/components/Pricing.tsx:19
|
||||
#: src/views/pricing/index.tsx:25
|
||||
msgid "Yearly"
|
||||
msgstr "Annuale"
|
||||
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", of bekijk onze"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -58,11 +58,12 @@ msgstr "$10/maand"
|
||||
msgid "$8/month"
|
||||
msgstr "$8/maand"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/PricingTiers.tsx:34
|
||||
msgid "1 user"
|
||||
msgstr "1 gebruiker"
|
||||
|
||||
#: src/views/home/index.tsx:72
|
||||
#: src/views/home/index.tsx:71
|
||||
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."
|
||||
|
||||
@@ -79,6 +80,10 @@ msgstr "Account verwijderd"
|
||||
msgid "Activity"
|
||||
msgstr "Activiteit"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:66
|
||||
msgid "Activity log"
|
||||
msgstr "Activiteitenlogboek"
|
||||
|
||||
#: src/views/home/components/Features.tsx:110
|
||||
msgid "Activity logs"
|
||||
msgstr "Activiteitenlogboeken"
|
||||
@@ -157,7 +162,8 @@ msgstr "Het toevoegen van een nieuw lid kost een extra {price} ({billingType}) p
|
||||
msgid "Adjust the square crop to fit your avatar."
|
||||
msgstr "Pas de vierkante uitsnede aan zodat je avatar goed past."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/PricingTiers.tsx:52
|
||||
msgid "Admin roles"
|
||||
msgstr "Beheerdersrollen"
|
||||
|
||||
@@ -256,6 +262,10 @@ msgstr "Weet je zeker dat je je account wilt verwijderen?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "heeft <0>{0}</0> aan de kaart toegewezen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Toegewezen personen"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:47
|
||||
msgid "Awaiting Customer"
|
||||
msgstr "Wachten op klant"
|
||||
@@ -291,6 +301,8 @@ msgid "Blog Post"
|
||||
msgstr "Blogbericht"
|
||||
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/card/index.tsx:216
|
||||
#: src/views/public/board/index.tsx:100
|
||||
msgid "Board"
|
||||
msgstr "Bord"
|
||||
|
||||
@@ -307,10 +319,14 @@ msgstr "Bordnaam mag niet langer zijn dan 100 tekens"
|
||||
msgid "Board name is required"
|
||||
msgstr "Bordnaam is verplicht"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Bord niet gevonden"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Bord delen & uitnodigingen"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:45
|
||||
msgid "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgstr "Board URL kan alleen letters, cijfers en koppeltekens bevatten"
|
||||
@@ -319,7 +335,7 @@ msgstr "Board URL kan alleen letters, cijfers en koppeltekens bevatten"
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "Board URL mag niet langer zijn dan 60 tekens"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "Board URL gekopieerd naar klembord"
|
||||
|
||||
@@ -328,6 +344,7 @@ msgid "Board URL must be at least 3 characters long"
|
||||
msgstr "Board URL moet minimaal 3 tekens lang zijn"
|
||||
|
||||
#: src/views/home/components/Features.tsx:85
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:86
|
||||
msgid "Board visibility"
|
||||
msgstr "Bordzichtbaarheid"
|
||||
|
||||
@@ -366,6 +383,10 @@ msgstr "Bugrapport"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Kaart"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Kaart niet gevonden"
|
||||
@@ -394,6 +415,11 @@ msgstr "Controleer je inbox"
|
||||
msgid "Checklist name"
|
||||
msgstr "Naam checklist"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:77
|
||||
#: src/views/pricing/components/PricingTiers.tsx:38
|
||||
msgid "Checklists"
|
||||
msgstr "Checklists"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
msgid "Clear filters"
|
||||
msgstr "Filters wissen"
|
||||
@@ -425,15 +451,24 @@ msgstr "Binnenkort beschikbaar"
|
||||
msgid "Comments"
|
||||
msgstr "Opmerkingen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Opmerkingen & vermeldingen"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:94
|
||||
msgid "Company"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
#: src/views/pricing/index.tsx:70
|
||||
msgid "Compare our features to see why Kan is the best choice."
|
||||
msgstr "Vergelijk onze functies om te zien waarom Kan de beste keuze is."
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:82
|
||||
msgid "Complete"
|
||||
msgstr "Voltooid"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/PricingTiers.tsx:67
|
||||
msgid "Complete control and ownership:"
|
||||
msgstr "Volledige controle en eigendom:"
|
||||
|
||||
@@ -464,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Verbind je Trello-account om borden te importeren."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
@@ -488,6 +524,10 @@ msgstr "Doorgaan met {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Bepaal wie je borden kan bekijken en bewerken."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Kernfuncties"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "template" : "board"
|
||||
#: src/views/boards/components/NewBoardForm.tsx:166
|
||||
msgid "Create {0}"
|
||||
@@ -566,14 +606,27 @@ msgstr "Snijd je avatar bij"
|
||||
msgid "Current password is required"
|
||||
msgstr "Huidig wachtwoord is vereist"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:37
|
||||
msgid "Custom board templates"
|
||||
msgstr "Aangepaste bordsjablonen"
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:71
|
||||
msgid "Custom domain"
|
||||
msgstr "Aangepast domein"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:72
|
||||
msgid "Custom templates"
|
||||
msgstr "Aangepaste sjablonen"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:315
|
||||
msgid "Custom URLs require upgrading to a Pro plan"
|
||||
msgstr "Aangepaste URL's vereisen een upgrade naar een Pro-abonnement"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:98
|
||||
msgid "Custom workspace link"
|
||||
msgstr "Aangepaste werkruimtelink"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:339
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
|
||||
msgid "Custom workspace URL"
|
||||
@@ -686,13 +739,14 @@ msgstr "Bieden jullie een gratis abonnement aan?"
|
||||
msgid "docs"
|
||||
msgstr "docs"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Docs"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentatie"
|
||||
|
||||
@@ -837,11 +891,13 @@ msgstr "Fout bij upgraden naar Pro"
|
||||
msgid "Error uploading profile image"
|
||||
msgstr "Fout bij het uploaden van profielafbeelding"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/PricingTiers.tsx:49
|
||||
msgid "Everything in the free plan, plus:"
|
||||
msgstr "Alles in het gratis abonnement, plus:"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/PricingTiers.tsx:31
|
||||
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
msgstr "Alles wat je nodig hebt, voor altijd gratis. Onbeperkte borden, onbeperkte lijsten, onbeperkte kaarten. Upgrade wanneer je maar wilt."
|
||||
|
||||
@@ -867,22 +923,37 @@ msgstr "Bord maken mislukt"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Inloggen met {0} is mislukt. Probeer het opnieuw."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Veelgestelde vragen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Snel & lichtgewicht"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:237
|
||||
msgid "Feature"
|
||||
msgstr "Functie"
|
||||
|
||||
#: src/views/pricing/index.tsx:67
|
||||
msgid "Feature breakdown"
|
||||
msgstr "Functieoverzicht"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:53
|
||||
msgid "Feature Request"
|
||||
msgstr "Functieverzoek"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:63
|
||||
msgid "Features"
|
||||
msgstr "Functies"
|
||||
|
||||
@@ -907,16 +978,18 @@ msgstr "Vind antwoorden op veelgestelde vragen over het project. Kun je niet vin
|
||||
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open source projecten een inkomstenbron nodig hebben. De onze komt van de betaalde cloudoplossing voor werkruimtes met meerdere gebruikers (gratis tijdens de bèta) en voor aangepaste werkruimte-slugs. Je bent niet verplicht om hiervan gebruik te maken en je kunt de software gratis op je eigen infrastructuur hosten."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Gratis plan"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/PricingTiers.tsx:32
|
||||
msgid "Free, forever"
|
||||
msgstr "Altijd gratis"
|
||||
|
||||
@@ -930,13 +1003,15 @@ msgstr "Leuk"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:74
|
||||
msgid "Get started"
|
||||
msgstr "Aan de slag"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:31
|
||||
#: src/views/home/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/Pricing.tsx:31
|
||||
#: src/views/pricing/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/PricingTiers.tsx:29
|
||||
#: src/views/pricing/components/PricingTiers.tsx:46
|
||||
msgid "Get Started"
|
||||
msgstr "Aan de slag"
|
||||
|
||||
@@ -953,11 +1028,12 @@ msgstr "Begin door een nieuwe lijst te maken"
|
||||
msgid "Get started for free today"
|
||||
msgstr "Begin vandaag nog gratis"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:92
|
||||
#: src/views/pricing/components/Pricing.tsx:92
|
||||
#: src/views/pricing/index.tsx:47
|
||||
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."
|
||||
|
||||
#: src/views/home/index.tsx:76
|
||||
#: src/views/home/index.tsx:75
|
||||
msgid "Get started on Cloud"
|
||||
msgstr "Begin in de cloud"
|
||||
|
||||
@@ -973,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Naar startpagina"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Naar de app"
|
||||
@@ -987,7 +1062,8 @@ msgstr "Hoge prioriteit"
|
||||
msgid "Hired"
|
||||
msgstr "Aangenomen"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/PricingTiers.tsx:66
|
||||
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
msgstr "Host Kan op je eigen infrastructuur. Ideaal voor organisaties die volledige controle over hun gegevens nodig hebben."
|
||||
|
||||
@@ -1027,7 +1103,7 @@ msgstr "Ideeën"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Ideeën om deze pagina te verbeteren..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importeren"
|
||||
|
||||
@@ -1039,6 +1115,10 @@ msgstr "Import voltooid"
|
||||
msgid "Import failed"
|
||||
msgstr "Import mislukt"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:80
|
||||
msgid "Import from Trello"
|
||||
msgstr "Importeren vanuit Trello"
|
||||
|
||||
#: src/views/home/components/Features.tsx:96
|
||||
msgid "Import your Trello boards and hit the ground running."
|
||||
msgstr "Importeer je Trello-borden en ga direct aan de slag."
|
||||
@@ -1065,7 +1145,8 @@ msgstr "in"
|
||||
msgid "In Progress"
|
||||
msgstr "In behandeling"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/PricingTiers.tsx:26
|
||||
msgid "Individuals"
|
||||
msgstr "Individuen"
|
||||
|
||||
@@ -1074,6 +1155,10 @@ msgstr "Individuen"
|
||||
msgid "Integrations"
|
||||
msgstr "Integraties"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:92
|
||||
msgid "Intelligent search"
|
||||
msgstr "Intelligente zoekopdracht"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||
msgid "Interviewing"
|
||||
msgstr "Interviewen"
|
||||
@@ -1086,7 +1171,7 @@ msgstr "Ongeldig e-mailadres"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Ongeldige uitnodiging"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Uitnodigen"
|
||||
|
||||
@@ -1098,6 +1183,10 @@ msgstr "Uitnodigingslink gekopieerd"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Uitnodigingslink gekopieerd naar klembord"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Uitnodigingslinks"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
msgstr "Uitnodigingslinks vereisen een Team- of Pro-abonnement. Upgrade je werkruimte."
|
||||
@@ -1124,7 +1213,15 @@ msgstr "Deelnemen aan werkruimte | kan.bn"
|
||||
msgid "Junior"
|
||||
msgstr "Junior"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:51
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:185
|
||||
msgid "Kan"
|
||||
msgstr "Kan"
|
||||
|
||||
#: src/views/pricing/components/PricingTiers.tsx:48
|
||||
msgid "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kan werkt beter met een team. Perfect voor kleine en groeiende teams die willen samenwerken."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:51
|
||||
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kanban werkt beter met een team. Perfect voor kleine en groeiende teams die willen samenwerken."
|
||||
|
||||
@@ -1143,6 +1240,10 @@ msgstr "Houd er rekening mee dat deze actie onomkeerbaar is."
|
||||
msgid "Labels"
|
||||
msgstr "Labels"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:76
|
||||
msgid "Labels & filters"
|
||||
msgstr "Labels & filters"
|
||||
|
||||
#: src/views/home/components/Features.tsx:100
|
||||
msgid "Labels & Filters"
|
||||
msgstr "Labels & filters"
|
||||
@@ -1156,11 +1257,12 @@ msgstr "Taal"
|
||||
msgid "Launch offer"
|
||||
msgstr "Introductieaanbieding"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Lanceringsaanbieding: krijg onbeperkt aantal leden met Pro"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:99
|
||||
#: src/views/pricing/components/Pricing.tsx:98
|
||||
#: src/views/pricing/components/PricingTiers.tsx:84
|
||||
msgid "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
msgstr "Introductieaanbieding: onbeperkt aantal gebruikers voor slechts $29/maand met Pro"
|
||||
|
||||
@@ -1180,7 +1282,7 @@ msgstr "Licentie"
|
||||
msgid "Light"
|
||||
msgstr "Licht"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link gekopieerd"
|
||||
|
||||
@@ -1204,6 +1306,10 @@ msgstr "Uitloggen"
|
||||
msgid "Long-term"
|
||||
msgstr "Lange termijn"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:236
|
||||
msgid "Loved by teams worldwide"
|
||||
msgstr "Geliefd door teams wereldwijd"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:18
|
||||
msgid "Low Priority"
|
||||
msgstr "Lage prioriteit"
|
||||
@@ -1233,16 +1339,17 @@ msgstr "Gemiddelde prioriteit"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:366
|
||||
#: src/views/card/index.tsx:126
|
||||
#: src/views/members/index.tsx:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Leden"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Leden | {0}"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:14
|
||||
#: src/views/pricing/components/Pricing.tsx:14
|
||||
#: src/views/pricing/index.tsx:20
|
||||
msgid "Monthly"
|
||||
msgstr "Maandelijks"
|
||||
|
||||
@@ -1270,7 +1377,7 @@ msgstr "Naam"
|
||||
msgid "Need help?"
|
||||
msgstr "Hulp nodig?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nieuw"
|
||||
@@ -1342,7 +1449,7 @@ msgstr "Geen {0}"
|
||||
msgid "No boards found"
|
||||
msgstr "Geen borden gevonden"
|
||||
|
||||
#: src/views/home/index.tsx:86
|
||||
#: src/views/home/index.tsx:85
|
||||
msgid "No credit card required"
|
||||
msgstr "Geen creditcard vereist"
|
||||
|
||||
@@ -1370,6 +1477,10 @@ 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."
|
||||
msgstr "Zodra je je werkruimte verwijdert, is er geen weg terug. Deze actie kan niet ongedaan worden gemaakt."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
#: src/components/AuthForm.tsx:365
|
||||
msgid "or"
|
||||
msgstr "of"
|
||||
@@ -1378,10 +1489,15 @@ msgstr "of"
|
||||
msgid "Organize and find cards quickly with powerful filtering tools."
|
||||
msgstr "Organiseer en vind kaarten snel met krachtige filtertools."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/PricingTiers.tsx:70
|
||||
msgid "Own your data"
|
||||
msgstr "Bezit je eigen data"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Eigendom van Atlassian"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:70
|
||||
msgid "Part-time"
|
||||
msgstr "Deeltijd"
|
||||
@@ -1406,20 +1522,23 @@ msgstr "Wachtwoord moet minimaal 8 tekens bevatten"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Wachtwoorden komen niet overeen"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Gepauzeerd"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:102
|
||||
#: src/views/pricing/components/Pricing.tsx:100
|
||||
#: src/views/pricing/components/PricingTiers.tsx:86
|
||||
msgid "Payment frequency"
|
||||
msgstr "Betalingsfrequentie"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "In behandeling"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:20
|
||||
#: src/views/pricing/components/Pricing.tsx:15
|
||||
#: src/views/pricing/components/Pricing.tsx:20
|
||||
#: src/views/pricing/index.tsx:21
|
||||
#: src/views/pricing/index.tsx:26
|
||||
msgid "per user/month"
|
||||
msgstr "per gebruiker/maand"
|
||||
|
||||
@@ -1431,6 +1550,10 @@ msgstr "Persoonlijk project"
|
||||
msgid "Planning"
|
||||
msgstr "Planning"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Platform"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:24
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Bevestig je nieuwe wachtwoord"
|
||||
@@ -1497,13 +1620,21 @@ msgstr "Probeer het later opnieuw of neem contact op met de klantenservice."
|
||||
msgid "Please try again later."
|
||||
msgstr "Probeer het later opnieuw."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Prijs per gebruiker/maand"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:85
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:34
|
||||
#: src/views/pricing/index.tsx:40
|
||||
msgid "Pricing"
|
||||
msgstr "Prijzen"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/PricingTiers.tsx:53
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:91
|
||||
msgid "Priority email support"
|
||||
msgstr "Prioriteit e-mailondersteuning"
|
||||
@@ -1516,7 +1647,7 @@ msgstr "Privacybeleid"
|
||||
msgid "Private"
|
||||
msgstr "Privé"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro Plan"
|
||||
|
||||
@@ -1564,7 +1695,7 @@ msgstr "Op afstand"
|
||||
msgid "Remove"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Lid verwijderen"
|
||||
|
||||
@@ -1607,20 +1738,26 @@ msgstr "Oplossing"
|
||||
msgid "Resources"
|
||||
msgstr "Bronnen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:80
|
||||
msgid "Review"
|
||||
msgstr "Beoordeling"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/PricingTiers.tsx:69
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Draai op je eigen infrastructuur"
|
||||
|
||||
@@ -1641,6 +1778,10 @@ msgstr "Screening"
|
||||
msgid "Search boards and cards..."
|
||||
msgstr "Zoek in borden en kaarten..."
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:239
|
||||
msgid "See what our users are saying about Kan"
|
||||
msgstr "Bekijk wat onze gebruikers over Kan zeggen"
|
||||
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||
msgid "Select all"
|
||||
msgstr "Alles selecteren"
|
||||
@@ -1649,11 +1790,12 @@ msgstr "Alles selecteren"
|
||||
msgid "Select source"
|
||||
msgstr "Selecteer bron"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/PricingTiers.tsx:61
|
||||
msgid "Self Host"
|
||||
msgstr "Zelf hosten"
|
||||
|
||||
#: src/views/home/index.tsx:82
|
||||
#: src/views/home/index.tsx:81
|
||||
msgid "Self host with Github"
|
||||
msgstr "Zelf hosten met Github"
|
||||
|
||||
@@ -1661,6 +1803,10 @@ msgstr "Zelf hosten met Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "heeft de kaart aan zichzelf toegewezen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Zelf te hosten"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:116
|
||||
msgid "Send feedback"
|
||||
msgstr "Feedback versturen"
|
||||
@@ -1694,8 +1840,7 @@ msgstr "Instellingen | Integraties"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Instellingen | Werkruimte"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Inloggen"
|
||||
|
||||
@@ -1724,7 +1869,8 @@ msgstr "Registreren is momenteel uitgeschakeld. Probeer het later opnieuw."
|
||||
msgid "Sign up with "
|
||||
msgstr "Registreren met "
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:89
|
||||
#: src/views/pricing/components/Pricing.tsx:89
|
||||
#: src/views/pricing/index.tsx:44
|
||||
msgid "Simple pricing"
|
||||
msgstr "Eenvoudige prijzen"
|
||||
|
||||
@@ -1740,7 +1886,7 @@ msgstr "Social media"
|
||||
msgid "Software Development"
|
||||
msgstr "Softwareontwikkeling"
|
||||
|
||||
#: src/views/home/index.tsx:38
|
||||
#: src/views/home/index.tsx:37
|
||||
msgid "Star on Github"
|
||||
msgstr "Star op Github"
|
||||
|
||||
@@ -1761,7 +1907,8 @@ msgstr "Geef je werkruimte een boost voor slechts $29/maand. Dit krijg je:"
|
||||
msgid "Support"
|
||||
msgstr "Ondersteuning"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/PricingTiers.tsx:54
|
||||
msgid "Support the development of the project"
|
||||
msgstr "Ondersteun de ontwikkeling van het project"
|
||||
|
||||
@@ -1770,11 +1917,13 @@ msgid "System"
|
||||
msgstr "Systeem"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Teamplan"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
msgstr "Teams"
|
||||
|
||||
@@ -1808,6 +1957,10 @@ msgstr "Sjablonen"
|
||||
msgid "Terms of service"
|
||||
msgstr "Servicevoorwaarden"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:232
|
||||
msgid "Testimonials"
|
||||
msgstr "Getuigenissen"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:34
|
||||
msgid "Thank you for your feedback!"
|
||||
msgstr "Bedankt voor je feedback!"
|
||||
@@ -1820,7 +1973,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."
|
||||
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:66
|
||||
#: src/views/home/index.tsx:65
|
||||
msgid "The open source <0/> alternative to Trello"
|
||||
msgstr "Het open source <0/> alternatief voor Trello"
|
||||
|
||||
@@ -1849,7 +2002,7 @@ msgstr "Deze actie kan niet ongedaan worden gemaakt."
|
||||
msgid "This API key will only be shown once. Please save it in a secure location."
|
||||
msgstr "Deze API-sleutel wordt slechts één keer getoond. Bewaar deze op een veilige plaats."
|
||||
|
||||
#: src/views/public/board/index.tsx:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Dit bord is privé of bestaat niet"
|
||||
|
||||
@@ -1886,7 +2039,7 @@ msgstr "Deze werkruimtegebruikersnaam is al in gebruik"
|
||||
msgid "To Do"
|
||||
msgstr "Te doen"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Menu in-/uitschakelen"
|
||||
|
||||
@@ -1894,6 +2047,7 @@ msgstr "Menu in-/uitschakelen"
|
||||
msgid "Track all card changes with detailed activity history."
|
||||
msgstr "Volg alle kaartwijzigingen met gedetailleerde activiteitengeschiedenis."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:190
|
||||
#: src/views/settings/IntegrationsSettings.tsx:73
|
||||
msgid "Trello"
|
||||
msgstr "Trello"
|
||||
@@ -1910,6 +2064,10 @@ msgstr "Trello-imports"
|
||||
msgid "Triaging"
|
||||
msgstr "Triage"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
msgid "Trusted by fast-moving teams<0/>around the world"
|
||||
msgstr "Vertrouwd door snelbewegende teams<0/>over de hele wereld"
|
||||
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:88
|
||||
msgid "Unable to add checklist item"
|
||||
msgstr "Kan checklistitem niet toevoegen"
|
||||
@@ -2010,11 +2168,13 @@ msgstr "<0>{0}</0> van de kaart verwijderd"
|
||||
msgid "unassigned themselves from the card"
|
||||
msgstr "zichzelf van de kaart verwijderd"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:41
|
||||
#: src/views/pricing/components/Pricing.tsx:41
|
||||
msgid "Unlimited activity log"
|
||||
msgstr "Onbeperkt activiteitenlogboek"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:48
|
||||
#: src/views/pricing/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/PricingTiers.tsx:35
|
||||
msgid "Unlimited boards"
|
||||
msgstr "Onbeperkt aantal borden"
|
||||
|
||||
@@ -2022,15 +2182,18 @@ msgstr "Onbeperkt aantal borden"
|
||||
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
msgstr "Onbeperkt aantal borden, onbeperkt aantal lijsten, onbeperkt aantal kaarten. Geen creditcard vereist."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:60
|
||||
#: src/views/pricing/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/PricingTiers.tsx:36
|
||||
msgid "Unlimited cards"
|
||||
msgstr "Onbeperkt aantal kaarten"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:40
|
||||
#: src/views/pricing/components/Pricing.tsx:40
|
||||
msgid "Unlimited comments"
|
||||
msgstr "Onbeperkt aantal opmerkingen"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:38
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:38
|
||||
msgid "Unlimited lists"
|
||||
msgstr "Onbeperkt aantal lijsten"
|
||||
|
||||
@@ -2039,6 +2202,10 @@ msgstr "Onbeperkt aantal lijsten"
|
||||
msgid "Unlimited members"
|
||||
msgstr "Onbeperkt aantal leden"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:42
|
||||
msgid "Unlimited workspaces"
|
||||
msgstr "Onbeperkte werkruimtes"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
|
||||
#: src/views/settings/components/UpdateDisplayNameForm.tsx:80
|
||||
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:91
|
||||
@@ -2109,7 +2276,7 @@ msgstr "URL moet minimaal 3 tekens lang zijn"
|
||||
msgid "Use template"
|
||||
msgstr "Sjabloon gebruiken"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
@@ -2129,11 +2296,12 @@ msgstr "Bekijk en beheer je API-sleutels."
|
||||
msgid "View and manage your billing and subscription."
|
||||
msgstr "Bekijk en beheer je facturering en abonnement."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/PricingTiers.tsx:64
|
||||
msgid "View docs"
|
||||
msgstr "Bekijk documentatie"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Alleen bekijken"
|
||||
|
||||
@@ -2141,7 +2309,7 @@ msgstr "Alleen bekijken"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Bekijk onze roadmap."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Werkruimte bekijken"
|
||||
|
||||
@@ -2173,11 +2341,20 @@ msgstr "Wat is het verschil tussen Kan en Trello?"
|
||||
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
|
||||
msgstr "Toen Trello in 2011 werd gelanceerd, blies het iedereen omver met zijn zorgvuldig ontworpen eenvoud, maar na verloop van tijd (en atlassificatie) verloor het zijn magie en groeide het uit tot iets dat meer leek op \"Jira Lite\". Dit project is onze poging om de oorspronkelijke magie van Trello's eenvoud terug te brengen, in open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:22
|
||||
msgid "Why make an open source Trello?"
|
||||
msgstr "Waarom een open source Trello maken?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:100
|
||||
#: src/views/public/boards/index.tsx:66
|
||||
msgid "Workspace"
|
||||
msgstr "Werkruimte"
|
||||
|
||||
@@ -2206,7 +2383,8 @@ msgid "Workspace description updated"
|
||||
msgstr "Werkruimtebeschrijving bijgewerkt"
|
||||
|
||||
#: src/views/home/components/Features.tsx:90
|
||||
#: src/views/home/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/PricingTiers.tsx:51
|
||||
msgid "Workspace members"
|
||||
msgstr "Werkruimteleden"
|
||||
|
||||
@@ -2247,7 +2425,8 @@ msgstr "werkruimte-url"
|
||||
msgid "Writing"
|
||||
msgstr "Schrijven"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:19
|
||||
#: src/views/pricing/components/Pricing.tsx:19
|
||||
#: src/views/pricing/index.tsx:25
|
||||
msgid "Yearly"
|
||||
msgstr "Jaarlijks"
|
||||
|
||||
|
||||
2520
apps/web/src/locales/pl/messages.po
Normal file
1
apps/web/src/locales/pl/messages.ts
Normal file
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", или посмотрите наши"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -58,11 +58,12 @@ msgstr "$10/месяц"
|
||||
msgid "$8/month"
|
||||
msgstr "$8/месяц"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/Pricing.tsx:36
|
||||
#: src/views/pricing/components/PricingTiers.tsx:34
|
||||
msgid "1 user"
|
||||
msgstr "1 пользователь"
|
||||
|
||||
#: src/views/home/index.tsx:72
|
||||
#: src/views/home/index.tsx:71
|
||||
msgid "A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place."
|
||||
msgstr "Мощное и гибкое приложение для канбана, которое помогает организовать работу, отслеживать прогресс и достигать результатов — всё в одном месте."
|
||||
|
||||
@@ -79,6 +80,10 @@ msgstr "Аккаунт удалён"
|
||||
msgid "Activity"
|
||||
msgstr "Активность"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:66
|
||||
msgid "Activity log"
|
||||
msgstr "Журнал активности"
|
||||
|
||||
#: src/views/home/components/Features.tsx:110
|
||||
msgid "Activity logs"
|
||||
msgstr "Журналы активности"
|
||||
@@ -157,7 +162,8 @@ msgstr "Добавление нового участника будет стои
|
||||
msgid "Adjust the square crop to fit your avatar."
|
||||
msgstr "Настройте квадратное кадрирование, чтобы оно подходило для вашего аватара."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/Pricing.tsx:55
|
||||
#: src/views/pricing/components/PricingTiers.tsx:52
|
||||
msgid "Admin roles"
|
||||
msgstr "Роли администратора"
|
||||
|
||||
@@ -256,6 +262,10 @@ msgstr "Вы уверены, что хотите удалить свой акк
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "назначено <0>{0}</0> к карточке"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Исполнители"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:47
|
||||
msgid "Awaiting Customer"
|
||||
msgstr "Ожидание клиента"
|
||||
@@ -291,6 +301,8 @@ msgid "Blog Post"
|
||||
msgstr "Пост в блоге"
|
||||
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/card/index.tsx:216
|
||||
#: src/views/public/board/index.tsx:100
|
||||
msgid "Board"
|
||||
msgstr "Доска"
|
||||
|
||||
@@ -307,10 +319,14 @@ msgstr "Название доски не может превышать 100 си
|
||||
msgid "Board name is required"
|
||||
msgstr "Название доски обязательно"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Доска не найдена"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Общий доступ к доске и приглашения"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:45
|
||||
msgid "Board URL can only contain letters, numbers, and hyphens"
|
||||
msgstr "URL доски может содержать только буквы, цифры и дефисы"
|
||||
@@ -319,7 +335,7 @@ msgstr "URL доски может содержать только буквы, ц
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "URL доски не может превышать 60 символов"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL доски скопирован в буфер обмена"
|
||||
|
||||
@@ -328,6 +344,7 @@ msgid "Board URL must be at least 3 characters long"
|
||||
msgstr "URL доски должен содержать не менее 3 символов"
|
||||
|
||||
#: src/views/home/components/Features.tsx:85
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:86
|
||||
msgid "Board visibility"
|
||||
msgstr "Видимость доски"
|
||||
|
||||
@@ -366,6 +383,10 @@ msgstr "Отчет об ошибке"
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Карточка"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Карточка не найдена"
|
||||
@@ -394,6 +415,11 @@ msgstr "Проверьте ваш почтовый ящик"
|
||||
msgid "Checklist name"
|
||||
msgstr "Название контрольного списка"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:77
|
||||
#: src/views/pricing/components/PricingTiers.tsx:38
|
||||
msgid "Checklists"
|
||||
msgstr "Контрольные списки"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
msgid "Clear filters"
|
||||
msgstr "Очистить фильтры"
|
||||
@@ -425,15 +451,24 @@ msgstr "Скоро будет"
|
||||
msgid "Comments"
|
||||
msgstr "Комментарии"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Комментарии и упоминания"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:94
|
||||
msgid "Company"
|
||||
msgstr "Компания"
|
||||
|
||||
#: src/views/pricing/index.tsx:70
|
||||
msgid "Compare our features to see why Kan is the best choice."
|
||||
msgstr "Сравните наши функции, чтобы понять, почему Kan — лучший выбор."
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:82
|
||||
msgid "Complete"
|
||||
msgstr "Завершить"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/Pricing.tsx:70
|
||||
#: src/views/pricing/components/PricingTiers.tsx:67
|
||||
msgid "Complete control and ownership:"
|
||||
msgstr "Полный контроль и владение:"
|
||||
|
||||
@@ -464,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Подключите ваш аккаунт Trello, чтобы импортировать доски."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Контакт"
|
||||
|
||||
@@ -488,6 +524,10 @@ msgstr "Продолжить с {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Управляйте тем, кто может просматривать и редактировать ваши доски."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Основные функции"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "template" : "board"
|
||||
#: src/views/boards/components/NewBoardForm.tsx:166
|
||||
msgid "Create {0}"
|
||||
@@ -566,14 +606,27 @@ msgstr "Обрежьте ваш аватар"
|
||||
msgid "Current password is required"
|
||||
msgstr "Требуется текущий пароль"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:37
|
||||
msgid "Custom board templates"
|
||||
msgstr "Пользовательские шаблоны досок"
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:74
|
||||
#: src/views/pricing/components/PricingTiers.tsx:71
|
||||
msgid "Custom domain"
|
||||
msgstr "Пользовательский домен"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:72
|
||||
msgid "Custom templates"
|
||||
msgstr "Пользовательские шаблоны"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:315
|
||||
msgid "Custom URLs require upgrading to a Pro plan"
|
||||
msgstr "Для пользовательских URL требуется обновление до Pro-плана"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:98
|
||||
msgid "Custom workspace link"
|
||||
msgstr "Пользовательская ссылка рабочего пространства"
|
||||
|
||||
#: src/components/NewWorkspaceForm.tsx:339
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:74
|
||||
msgid "Custom workspace URL"
|
||||
@@ -686,13 +739,14 @@ msgstr "Вы предлагаете бесплатный план?"
|
||||
msgid "docs"
|
||||
msgstr "документы"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Документы"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Документация"
|
||||
|
||||
@@ -837,11 +891,13 @@ msgstr "Ошибка при обновлении до Pro"
|
||||
msgid "Error uploading profile image"
|
||||
msgstr "Ошибка загрузки изображения профиля"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/Pricing.tsx:52
|
||||
#: src/views/pricing/components/PricingTiers.tsx:49
|
||||
msgid "Everything in the free plan, plus:"
|
||||
msgstr "Все в бесплатном плане, плюс:"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/Pricing.tsx:33
|
||||
#: src/views/pricing/components/PricingTiers.tsx:31
|
||||
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
|
||||
msgstr "Все, что вам нужно, бесплатно навсегда. Неограниченное количество досок, списков и карточек. Обновляйтесь в любое время."
|
||||
|
||||
@@ -867,22 +923,37 @@ msgstr "Не удалось создать доску"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Не удалось войти с {0}. Пожалуйста, попробуйте снова."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Часто задаваемые вопросы"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Быстрый и легковесный"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:237
|
||||
msgid "Feature"
|
||||
msgstr "Функция"
|
||||
|
||||
#: src/views/pricing/index.tsx:67
|
||||
msgid "Feature breakdown"
|
||||
msgstr "Разбор функций"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:53
|
||||
msgid "Feature Request"
|
||||
msgstr "Запрос функции"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:63
|
||||
msgid "Features"
|
||||
msgstr "Функции"
|
||||
|
||||
@@ -907,16 +978,18 @@ msgstr "Найдите ответы на часто задаваемые воп
|
||||
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
|
||||
msgstr "Для долгосрочной устойчивости мы признаем, что всем хорошим проектам с открытым исходным кодом нужен источник дохода. Наш доход поступает от платного облачного предложения для рабочих пространств с несколькими пользователями (бесплатно в период бета-тестирования) и для пользовательских адресов рабочих пространств. Нет обязательства использовать это, и вы можете самостоятельно разместить программное обеспечение на своей инфраструктуре бесплатно."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Бесплатно"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Бесплатный план"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:34
|
||||
#: src/views/pricing/components/PricingTiers.tsx:32
|
||||
msgid "Free, forever"
|
||||
msgstr "Бесплатно, навсегда"
|
||||
|
||||
@@ -930,13 +1003,15 @@ msgstr "Веселье"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:74
|
||||
msgid "Get started"
|
||||
msgstr "Начать"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:31
|
||||
#: src/views/home/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/Pricing.tsx:31
|
||||
#: src/views/pricing/components/Pricing.tsx:49
|
||||
#: src/views/pricing/components/PricingTiers.tsx:29
|
||||
#: src/views/pricing/components/PricingTiers.tsx:46
|
||||
msgid "Get Started"
|
||||
msgstr "Начать"
|
||||
|
||||
@@ -953,11 +1028,12 @@ msgstr "Начните с создания нового списка"
|
||||
msgid "Get started for free today"
|
||||
msgstr "Начните бесплатно уже сегодня"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:92
|
||||
#: src/views/pricing/components/Pricing.tsx:92
|
||||
#: src/views/pricing/index.tsx:47
|
||||
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
|
||||
msgstr "Начните бесплатно, без ограничений на использование. Для совместной работы обновитесь до плана, который подходит для размера вашей команды."
|
||||
|
||||
#: src/views/home/index.tsx:76
|
||||
#: src/views/home/index.tsx:75
|
||||
msgid "Get started on Cloud"
|
||||
msgstr "Начните работу в облаке"
|
||||
|
||||
@@ -973,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "На главную"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Перейти в приложение"
|
||||
@@ -987,7 +1062,8 @@ msgstr "Высокий приоритет"
|
||||
msgid "Hired"
|
||||
msgstr "Нанят"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/Pricing.tsx:69
|
||||
#: src/views/pricing/components/PricingTiers.tsx:66
|
||||
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
|
||||
msgstr "Разместите Kan на своей инфраструктуре. Идеально подходит для организаций, которым нужен полный контроль над своими данными."
|
||||
|
||||
@@ -1027,7 +1103,7 @@ msgstr "Идеи"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Идеи для улучшения этой страницы..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Импорт"
|
||||
|
||||
@@ -1039,6 +1115,10 @@ msgstr "Импорт завершён"
|
||||
msgid "Import failed"
|
||||
msgstr "Импорт не удался"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:80
|
||||
msgid "Import from Trello"
|
||||
msgstr "Импорт из Trello"
|
||||
|
||||
#: src/views/home/components/Features.tsx:96
|
||||
msgid "Import your Trello boards and hit the ground running."
|
||||
msgstr "Импортируйте свои доски Trello и начните работать без промедления."
|
||||
@@ -1065,7 +1145,8 @@ msgstr "в"
|
||||
msgid "In Progress"
|
||||
msgstr "В процессе"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/Pricing.tsx:28
|
||||
#: src/views/pricing/components/PricingTiers.tsx:26
|
||||
msgid "Individuals"
|
||||
msgstr "Физические лица"
|
||||
|
||||
@@ -1074,6 +1155,10 @@ msgstr "Физические лица"
|
||||
msgid "Integrations"
|
||||
msgstr "Интеграции"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:92
|
||||
msgid "Intelligent search"
|
||||
msgstr "Интеллектуальный поиск"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||
msgid "Interviewing"
|
||||
msgstr "Собеседование"
|
||||
@@ -1086,7 +1171,7 @@ msgstr "Недействительный адрес электронной по
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Недействительное приглашение"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Пригласить"
|
||||
|
||||
@@ -1098,6 +1183,10 @@ msgstr "Ссылка приглашения скопирована"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Ссылка приглашения скопирована в буфер обмена"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Ссылки-приглашения"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||
msgstr "Ссылки для приглашений требуют подписки Team или Pro. Пожалуйста, обновите ваше рабочее пространство."
|
||||
@@ -1124,7 +1213,15 @@ msgstr "Присоединиться к рабочему пространств
|
||||
msgid "Junior"
|
||||
msgstr "Младший"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:51
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:185
|
||||
msgid "Kan"
|
||||
msgstr "Kan"
|
||||
|
||||
#: src/views/pricing/components/PricingTiers.tsx:48
|
||||
msgid "Kan is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Kan лучше работает в команде. Идеально подходит для небольших и растущих команд, стремящихся к сотрудничеству."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:51
|
||||
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
|
||||
msgstr "Канбан лучше работает в команде. Идеально подходит для небольших и растущих команд, стремящихся к сотрудничеству."
|
||||
|
||||
@@ -1143,6 +1240,10 @@ msgstr "Имейте в виду, что это действие необрат
|
||||
msgid "Labels"
|
||||
msgstr "Метки"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:76
|
||||
msgid "Labels & filters"
|
||||
msgstr "Метки и фильтры"
|
||||
|
||||
#: src/views/home/components/Features.tsx:100
|
||||
msgid "Labels & Filters"
|
||||
msgstr "Метки и фильтры"
|
||||
@@ -1156,11 +1257,12 @@ msgstr "Язык"
|
||||
msgid "Launch offer"
|
||||
msgstr "Стартовое предложение"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Стартовое предложение: получите неограниченное количество участников с Pro"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:99
|
||||
#: src/views/pricing/components/Pricing.tsx:98
|
||||
#: src/views/pricing/components/PricingTiers.tsx:84
|
||||
msgid "Launch offer: unlimited seats for just $29/month with Pro"
|
||||
msgstr "Стартовое предложение: неограниченное количество мест всего за $29/месяц с Pro"
|
||||
|
||||
@@ -1180,7 +1282,7 @@ msgstr "Лицензия"
|
||||
msgid "Light"
|
||||
msgstr "Светлый"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Ссылка скопирована"
|
||||
|
||||
@@ -1204,6 +1306,10 @@ msgstr "Выход"
|
||||
msgid "Long-term"
|
||||
msgstr "Долгосрочный"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:236
|
||||
msgid "Loved by teams worldwide"
|
||||
msgstr "Любим командами по всему миру"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:18
|
||||
msgid "Low Priority"
|
||||
msgstr "Низкий приоритет"
|
||||
@@ -1233,16 +1339,17 @@ msgstr "Средний приоритет"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:366
|
||||
#: src/views/card/index.tsx:126
|
||||
#: src/views/members/index.tsx:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Участники"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Участники | {0}"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:14
|
||||
#: src/views/pricing/components/Pricing.tsx:14
|
||||
#: src/views/pricing/index.tsx:20
|
||||
msgid "Monthly"
|
||||
msgstr "Ежемесячно"
|
||||
|
||||
@@ -1270,7 +1377,7 @@ msgstr "Имя"
|
||||
msgid "Need help?"
|
||||
msgstr "Нужна помощь?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Новый"
|
||||
@@ -1342,7 +1449,7 @@ msgstr "Нет {0}"
|
||||
msgid "No boards found"
|
||||
msgstr "Доски не найдены"
|
||||
|
||||
#: src/views/home/index.tsx:86
|
||||
#: src/views/home/index.tsx:85
|
||||
msgid "No credit card required"
|
||||
msgstr "Кредитная карта не требуется"
|
||||
|
||||
@@ -1370,6 +1477,10 @@ msgstr "После удаления аккаунта возврат будет
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "После удаления рабочего пространства возврат будет невозможен. Это действие необратимо."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "С открытым исходным кодом"
|
||||
|
||||
#: src/components/AuthForm.tsx:365
|
||||
msgid "or"
|
||||
msgstr "или"
|
||||
@@ -1378,10 +1489,15 @@ msgstr "или"
|
||||
msgid "Organize and find cards quickly with powerful filtering tools."
|
||||
msgstr "Организуйте и находите карточки быстро с помощью мощных инструментов фильтрации."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/Pricing.tsx:73
|
||||
#: src/views/pricing/components/PricingTiers.tsx:70
|
||||
msgid "Own your data"
|
||||
msgstr "Владейте своими данными"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Принадлежит Atlassian"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:70
|
||||
msgid "Part-time"
|
||||
msgstr "Частичная занятость"
|
||||
@@ -1406,20 +1522,23 @@ msgstr "Пароль должен содержать не менее 8 симв
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Пароли не совпадают"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Приостановлено"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:102
|
||||
#: src/views/pricing/components/Pricing.tsx:100
|
||||
#: src/views/pricing/components/PricingTiers.tsx:86
|
||||
msgid "Payment frequency"
|
||||
msgstr "Частота платежей"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "В ожидании"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:20
|
||||
#: src/views/pricing/components/Pricing.tsx:15
|
||||
#: src/views/pricing/components/Pricing.tsx:20
|
||||
#: src/views/pricing/index.tsx:21
|
||||
#: src/views/pricing/index.tsx:26
|
||||
msgid "per user/month"
|
||||
msgstr "на пользователя/месяц"
|
||||
|
||||
@@ -1431,6 +1550,10 @@ msgstr "Личный проект"
|
||||
msgid "Planning"
|
||||
msgstr "Планирование"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Платформа"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:24
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Пожалуйста, подтвердите новый пароль"
|
||||
@@ -1497,13 +1620,21 @@ msgstr "Пожалуйста, попробуйте позже или свяжи
|
||||
msgid "Please try again later."
|
||||
msgstr "Пожалуйста, попробуйте позже."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Цена за пользователя/месяц"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Pricing.tsx:85
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:34
|
||||
#: src/views/pricing/index.tsx:40
|
||||
msgid "Pricing"
|
||||
msgstr "Цены"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/Pricing.tsx:56
|
||||
#: src/views/pricing/components/PricingTiers.tsx:53
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:91
|
||||
msgid "Priority email support"
|
||||
msgstr "Приоритетная поддержка по электронной почте"
|
||||
@@ -1516,7 +1647,7 @@ msgstr "Политика конфиденциальности"
|
||||
msgid "Private"
|
||||
msgstr "Личное"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Профессиональный план"
|
||||
|
||||
@@ -1564,7 +1695,7 @@ msgstr "Удалённый"
|
||||
msgid "Remove"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Удалить участника"
|
||||
|
||||
@@ -1607,20 +1738,26 @@ msgstr "Решение"
|
||||
msgid "Resources"
|
||||
msgstr "Ресурсы"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:80
|
||||
msgid "Review"
|
||||
msgstr "Обзор"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Дорожная карта"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Роль"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/Pricing.tsx:72
|
||||
#: src/views/pricing/components/PricingTiers.tsx:69
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Запустите на своей инфраструктуре"
|
||||
|
||||
@@ -1641,6 +1778,10 @@ msgstr "Отбор"
|
||||
msgid "Search boards and cards..."
|
||||
msgstr "Поиск досок и карточек..."
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:239
|
||||
msgid "See what our users are saying about Kan"
|
||||
msgstr "Узнайте, что наши пользователи говорят о Kan"
|
||||
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||
msgid "Select all"
|
||||
msgstr "Выбрать все"
|
||||
@@ -1649,11 +1790,12 @@ msgstr "Выбрать все"
|
||||
msgid "Select source"
|
||||
msgstr "Выбрать источник"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/Pricing.tsx:64
|
||||
#: src/views/pricing/components/PricingTiers.tsx:61
|
||||
msgid "Self Host"
|
||||
msgstr "Самостоятельный хостинг"
|
||||
|
||||
#: src/views/home/index.tsx:82
|
||||
#: src/views/home/index.tsx:81
|
||||
msgid "Self host with Github"
|
||||
msgstr "Самостоятельный хостинг с Github"
|
||||
|
||||
@@ -1661,6 +1803,10 @@ msgstr "Самостоятельный хостинг с Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "самостоятельно назначил карточку"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Самостоятельный хостинг"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:116
|
||||
msgid "Send feedback"
|
||||
msgstr "Отправить отзыв"
|
||||
@@ -1694,8 +1840,7 @@ msgstr "Настройки | Интеграции"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Настройки | Рабочая область"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Войти"
|
||||
|
||||
@@ -1724,7 +1869,8 @@ msgstr "Регистрация в настоящее время отключен
|
||||
msgid "Sign up with "
|
||||
msgstr "Зарегистрироваться с "
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:89
|
||||
#: src/views/pricing/components/Pricing.tsx:89
|
||||
#: src/views/pricing/index.tsx:44
|
||||
msgid "Simple pricing"
|
||||
msgstr "Простое ценообразование"
|
||||
|
||||
@@ -1740,7 +1886,7 @@ msgstr "Социальные сети"
|
||||
msgid "Software Development"
|
||||
msgstr "Разработка программного обеспечения"
|
||||
|
||||
#: src/views/home/index.tsx:38
|
||||
#: src/views/home/index.tsx:37
|
||||
msgid "Star on Github"
|
||||
msgstr "Поставить звезду на Github"
|
||||
|
||||
@@ -1761,7 +1907,8 @@ msgstr "Улучшите свою рабочую область всего за
|
||||
msgid "Support"
|
||||
msgstr "Поддержка"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/Pricing.tsx:57
|
||||
#: src/views/pricing/components/PricingTiers.tsx:54
|
||||
msgid "Support the development of the project"
|
||||
msgstr "Поддержите развитие проекта"
|
||||
|
||||
@@ -1770,11 +1917,13 @@ msgid "System"
|
||||
msgstr "Система"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Командный план"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
msgstr "Команды"
|
||||
|
||||
@@ -1808,6 +1957,10 @@ msgstr "Шаблоны"
|
||||
msgid "Terms of service"
|
||||
msgstr "Условия обслуживания"
|
||||
|
||||
#: src/views/home/components/Testimonials.tsx:232
|
||||
msgid "Testimonials"
|
||||
msgstr "Отзывы"
|
||||
|
||||
#: src/components/FeedbackModal.tsx:34
|
||||
msgid "Thank you for your feedback!"
|
||||
msgstr "Спасибо за ваш отзыв!"
|
||||
@@ -1820,7 +1973,7 @@ msgstr "Введённый вами текущий пароль неверен."
|
||||
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 "Основное отличие Kan от Trello заключается в том, что Kan является проектом с открытым исходным кодом, позволяющим любому просматривать, изменять и вносить вклад в наш код. Наше облачное предложение также не имеет ограничений на функции для индивидуального использования, тогда как Trello блокирует базовые функции, такие как количество досок, которые вы можете создать, за платным доступом."
|
||||
|
||||
#: src/views/home/index.tsx:66
|
||||
#: src/views/home/index.tsx:65
|
||||
msgid "The open source <0/> alternative to Trello"
|
||||
msgstr "Альтернатива Trello с открытым исходным кодом <0/>"
|
||||
|
||||
@@ -1849,7 +2002,7 @@ msgstr "Это действие нельзя будет отменить."
|
||||
msgid "This API key will only be shown once. Please save it in a secure location."
|
||||
msgstr "Этот API-ключ будет показан только один раз. Пожалуйста, сохраните его в безопасном месте."
|
||||
|
||||
#: src/views/public/board/index.tsx:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Эта доска является приватной или не существует."
|
||||
|
||||
@@ -1886,7 +2039,7 @@ msgstr "Это имя пользователя рабочего простран
|
||||
msgid "To Do"
|
||||
msgstr "Сделать"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Переключить меню"
|
||||
|
||||
@@ -1894,6 +2047,7 @@ msgstr "Переключить меню"
|
||||
msgid "Track all card changes with detailed activity history."
|
||||
msgstr "Отслеживайте все изменения карточек с подробной историей действий."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:190
|
||||
#: src/views/settings/IntegrationsSettings.tsx:73
|
||||
msgid "Trello"
|
||||
msgstr "Trello"
|
||||
@@ -1910,6 +2064,10 @@ msgstr "Импорт Trello"
|
||||
msgid "Triaging"
|
||||
msgstr "Сортировка"
|
||||
|
||||
#: src/views/home/components/Logos.tsx:73
|
||||
msgid "Trusted by fast-moving teams<0/>around the world"
|
||||
msgstr "Доверяют динамичным командам<0/>по всему миру"
|
||||
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:88
|
||||
msgid "Unable to add checklist item"
|
||||
msgstr "Не удалось добавить элемент контрольного списка."
|
||||
@@ -2010,11 +2168,13 @@ msgstr "удалил(а) <0>{0}</0> из карточки"
|
||||
msgid "unassigned themselves from the card"
|
||||
msgstr "удалил(а) себя из карточки"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:41
|
||||
#: src/views/pricing/components/Pricing.tsx:41
|
||||
msgid "Unlimited activity log"
|
||||
msgstr "Неограниченный журнал активности"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:48
|
||||
#: src/views/pricing/components/Pricing.tsx:37
|
||||
#: src/views/pricing/components/PricingTiers.tsx:35
|
||||
msgid "Unlimited boards"
|
||||
msgstr "Неограниченное количество досок"
|
||||
|
||||
@@ -2022,15 +2182,18 @@ msgstr "Неограниченное количество досок"
|
||||
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
|
||||
msgstr "Неограниченное количество досок, списков и карточек. Кредитная карта не требуется."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:60
|
||||
#: src/views/pricing/components/Pricing.tsx:39
|
||||
#: src/views/pricing/components/PricingTiers.tsx:36
|
||||
msgid "Unlimited cards"
|
||||
msgstr "Неограниченное количество карточек"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:40
|
||||
#: src/views/pricing/components/Pricing.tsx:40
|
||||
msgid "Unlimited comments"
|
||||
msgstr "Неограниченное количество комментариев"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:38
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:38
|
||||
msgid "Unlimited lists"
|
||||
msgstr "Неограниченное количество списков"
|
||||
|
||||
@@ -2039,6 +2202,10 @@ msgstr "Неограниченное количество списков"
|
||||
msgid "Unlimited members"
|
||||
msgstr "Неограниченное количество участников"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:42
|
||||
msgid "Unlimited workspaces"
|
||||
msgstr "Неограниченное количество рабочих пространств"
|
||||
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:174
|
||||
#: src/views/settings/components/UpdateDisplayNameForm.tsx:80
|
||||
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:91
|
||||
@@ -2109,7 +2276,7 @@ msgstr "URL должен содержать не менее 3 символов"
|
||||
msgid "Use template"
|
||||
msgstr "Использовать шаблон"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Пользователь"
|
||||
|
||||
@@ -2129,11 +2296,12 @@ msgstr "Просмотр и управление вашими API-ключами
|
||||
msgid "View and manage your billing and subscription."
|
||||
msgstr "Просмотр и управление вашими счетами и подпиской."
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/Pricing.tsx:67
|
||||
#: src/views/pricing/components/PricingTiers.tsx:64
|
||||
msgid "View docs"
|
||||
msgstr "Просмотреть документацию"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Только просмотр"
|
||||
|
||||
@@ -2141,7 +2309,7 @@ msgstr "Только просмотр"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Просмотреть нашу дорожную карту."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Просмотреть рабочее пространство"
|
||||
|
||||
@@ -2173,11 +2341,20 @@ msgstr "В чем разница между Kan и Trello?"
|
||||
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
|
||||
msgstr "Когда Trello запустился в 2011 году, он поразил всех своей тщательно продуманной простотой, но со временем (и под влиянием атлассификации) потерял свою магию и превратился во что-то ближе к \"Jira Lite\". Этот проект — наша попытка вернуть оригинальную магию простоты Trello в формате open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:22
|
||||
msgid "Why make an open source Trello?"
|
||||
msgstr "Зачем создавать Trello с открытым исходным кодом?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:361
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:100
|
||||
#: src/views/public/boards/index.tsx:66
|
||||
msgid "Workspace"
|
||||
msgstr "Рабочее пространство"
|
||||
|
||||
@@ -2206,7 +2383,8 @@ msgid "Workspace description updated"
|
||||
msgstr "Описание рабочего пространства обновлено"
|
||||
|
||||
#: src/views/home/components/Features.tsx:90
|
||||
#: src/views/home/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/Pricing.tsx:54
|
||||
#: src/views/pricing/components/PricingTiers.tsx:51
|
||||
msgid "Workspace members"
|
||||
msgstr "Участники рабочего пространства"
|
||||
|
||||
@@ -2247,7 +2425,8 @@ msgstr "workspace-url"
|
||||
msgid "Writing"
|
||||
msgstr "Письмо"
|
||||
|
||||
#: src/views/home/components/Pricing.tsx:19
|
||||
#: src/views/pricing/components/Pricing.tsx:19
|
||||
#: src/views/pricing/index.tsx:25
|
||||
msgid "Yearly"
|
||||
msgstr "Ежегодно"
|
||||
|
||||
|
||||
5
apps/web/src/pages/pricing/index.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import PricingView from "~/views/pricing";
|
||||
|
||||
export default function Pricing() {
|
||||
return <PricingView />;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ interface ModalState {
|
||||
contentType: string;
|
||||
entityId?: string;
|
||||
entityLabel?: string;
|
||||
closeOnClickOutside?: boolean;
|
||||
}
|
||||
|
||||
interface Props {
|
||||
@@ -16,6 +17,7 @@ interface ModalContextType {
|
||||
contentType: string,
|
||||
entityId?: string,
|
||||
entityLabel?: string,
|
||||
closeOnClickOutside?: boolean,
|
||||
) => void;
|
||||
closeModal: () => void;
|
||||
closeModals: (count: number) => void;
|
||||
@@ -23,6 +25,7 @@ interface ModalContextType {
|
||||
modalContentType: string;
|
||||
entityId: string;
|
||||
entityLabel: string;
|
||||
closeOnClickOutside: boolean;
|
||||
modalStates: Record<string, any>;
|
||||
setModalState: (modalType: string, state: any) => void;
|
||||
getModalState: (modalType: string) => any;
|
||||
@@ -41,10 +44,21 @@ export const ModalProvider: React.FC<Props> = ({ children }) => {
|
||||
const modalContentType = currentModal?.contentType || "";
|
||||
const entityId = currentModal?.entityId || "";
|
||||
const entityLabel = currentModal?.entityLabel || "";
|
||||
const closeOnClickOutside = currentModal?.closeOnClickOutside ?? true;
|
||||
|
||||
const openModal = useCallback(
|
||||
(contentType: string, entityId?: string, entityLabel?: string) => {
|
||||
const newModal: ModalState = { contentType, entityId, entityLabel };
|
||||
(
|
||||
contentType: string,
|
||||
entityId?: string,
|
||||
entityLabel?: string,
|
||||
closeOnClickOutside?: boolean,
|
||||
) => {
|
||||
const newModal: ModalState = {
|
||||
contentType,
|
||||
entityId,
|
||||
entityLabel,
|
||||
closeOnClickOutside,
|
||||
};
|
||||
setModalStack((prev) => [...prev, newModal]);
|
||||
},
|
||||
[],
|
||||
@@ -107,6 +121,7 @@ export const ModalProvider: React.FC<Props> = ({ children }) => {
|
||||
modalContentType,
|
||||
entityId,
|
||||
entityLabel,
|
||||
closeOnClickOutside,
|
||||
modalStates,
|
||||
setModalState,
|
||||
getModalState,
|
||||
|
||||
@@ -20,6 +20,8 @@ const loadMessages = async (locale: Locale) => {
|
||||
return (await import("~/locales/nl/messages")).messages;
|
||||
case "ru":
|
||||
return (await import("~/locales/ru/messages")).messages;
|
||||
case "pl":
|
||||
return (await import("~/locales/pl/messages")).messages;
|
||||
default:
|
||||
return enMessages;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { HiBars3BottomLeft, HiChatBubbleLeft } from "react-icons/hi2";
|
||||
|
||||
import Avatar from "~/components/Avatar";
|
||||
import Badge from "~/components/Badge";
|
||||
import CircularProgress from "~/components/CircularProgress";
|
||||
@@ -9,6 +11,8 @@ const Card = ({
|
||||
labels,
|
||||
members,
|
||||
checklists,
|
||||
description,
|
||||
comments,
|
||||
}: {
|
||||
title: string;
|
||||
labels: { name: string; colourCode: string | null }[];
|
||||
@@ -27,6 +31,8 @@ const Card = ({
|
||||
index: number;
|
||||
}[];
|
||||
}[];
|
||||
description: string | null;
|
||||
comments: { publicId: string }[];
|
||||
}) => {
|
||||
const completedItems = checklists.reduce((acc, checklist) => {
|
||||
return acc + checklist.items.filter((item) => item.completed).length;
|
||||
@@ -39,10 +45,17 @@ const Card = ({
|
||||
const progress =
|
||||
totalItems > 0 ? Math.round((completedItems / totalItems) * 100) : 0;
|
||||
|
||||
const hasDescription =
|
||||
description && description.replace(/<[^>]*>/g, "").trim().length > 0;
|
||||
|
||||
return (
|
||||
<div className="flex flex-col rounded-md border border-light-200 bg-light-50 px-3 py-2 text-sm text-neutral-900 dark:border-dark-200 dark:bg-dark-200 dark:text-dark-1000 dark:hover:bg-dark-300">
|
||||
<span>{title}</span>
|
||||
{labels.length || members.length || checklists.length > 0 ? (
|
||||
{labels.length ||
|
||||
members.length ||
|
||||
checklists.length > 0 ||
|
||||
hasDescription ||
|
||||
comments.length > 0 ? (
|
||||
<div className="mt-2 flex flex-col justify-end">
|
||||
<div className="space-x-0.5">
|
||||
{labels.map((label) => (
|
||||
@@ -52,37 +65,51 @@ const Card = ({
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
<div className="flex items-center justify-end gap-1">
|
||||
{checklists.length > 0 && (
|
||||
<div className="flex items-center gap-1 rounded-full border-[1px] border-light-300 px-2 py-1 dark:border-dark-600">
|
||||
<CircularProgress
|
||||
progress={progress || 2}
|
||||
size="sm"
|
||||
className="flex-shrink-0"
|
||||
/>
|
||||
<span className="text-[10px] text-light-900 dark:text-dark-950">
|
||||
{completedItems}/{totalItems}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
{members.length > 0 && (
|
||||
<div className="isolate flex justify-end -space-x-1 overflow-hidden">
|
||||
{members.map(({ user, email }) => {
|
||||
const avatarUrl = user?.image
|
||||
? getAvatarUrl(user.image)
|
||||
: undefined;
|
||||
<div className="mt-2 flex items-center justify-between gap-1">
|
||||
<div className="flex items-center gap-2">
|
||||
{hasDescription && (
|
||||
<div className="flex items-center gap-1 text-light-700 dark:text-dark-800">
|
||||
<HiBars3BottomLeft className="h-4 w-4" />
|
||||
</div>
|
||||
)}
|
||||
{comments.length > 0 && (
|
||||
<div className="flex items-center gap-1 text-light-700 dark:text-dark-800">
|
||||
<HiChatBubbleLeft className="h-4 w-4" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className="flex items-center justify-end gap-1">
|
||||
{checklists.length > 0 && (
|
||||
<div className="flex items-center gap-1 rounded-full border-[1px] border-light-300 px-2 py-1 dark:border-dark-600">
|
||||
<CircularProgress
|
||||
progress={progress || 2}
|
||||
size="sm"
|
||||
className="flex-shrink-0"
|
||||
/>
|
||||
<span className="text-[10px] text-light-900 dark:text-dark-950">
|
||||
{completedItems}/{totalItems}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
{members.length > 0 && (
|
||||
<div className="isolate flex justify-end -space-x-1 overflow-hidden">
|
||||
{members.map(({ user, email }) => {
|
||||
const avatarUrl = user?.image
|
||||
? getAvatarUrl(user.image)
|
||||
: undefined;
|
||||
|
||||
return (
|
||||
<Avatar
|
||||
name={user?.name ?? ""}
|
||||
email={user?.email ?? email}
|
||||
imageUrl={avatarUrl}
|
||||
size="sm"
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
return (
|
||||
<Avatar
|
||||
name={user?.name ?? ""}
|
||||
email={user?.email ?? email}
|
||||
imageUrl={avatarUrl}
|
||||
size="sm"
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
@@ -358,7 +358,7 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={`${(boardData?.name ?? isTemplate) ? t`Board` : t`Template`} | ${workspace.name}`}
|
||||
title={`${boardData?.name ?? (isTemplate ? t`Board` : t`Template`)} | ${workspace.name ?? t`Workspace`}`}
|
||||
/>
|
||||
<div className="relative flex h-full flex-col">
|
||||
<PatternedBackground />
|
||||
@@ -546,6 +546,10 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
labels={card.labels}
|
||||
members={card.members}
|
||||
checklists={card.checklists ?? []}
|
||||
description={
|
||||
card.description ?? null
|
||||
}
|
||||
comments={card.comments ?? []}
|
||||
/>
|
||||
</Link>
|
||||
)}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { useEffect } from "react";
|
||||
import { HiArrowDownTray, HiOutlinePlusSmall } from "react-icons/hi2";
|
||||
|
||||
import Button from "~/components/Button";
|
||||
@@ -15,18 +14,12 @@ import { NewBoardForm } from "./components/NewBoardForm";
|
||||
|
||||
export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
const { openModal, modalContentType, isOpen } = useModal();
|
||||
const { availableWorkspaces, workspace, hasLoaded } = useWorkspace();
|
||||
|
||||
useEffect(() => {
|
||||
if (hasLoaded && availableWorkspaces.length === 0) {
|
||||
openModal("NEW_WORKSPACE");
|
||||
}
|
||||
}, [hasLoaded, availableWorkspaces.length, openModal]);
|
||||
const { workspace } = useWorkspace();
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={t`${isTemplate ? "Templates" : "Boards"} | ${workspace.name ?? "Workspace"}`}
|
||||
title={t`${isTemplate ? "Templates" : "Boards"} | ${workspace.name ?? t`Workspace`}`}
|
||||
/>
|
||||
<div className="m-auto h-full max-w-[1100px] p-6 px-5 md:px-28 md:py-12">
|
||||
<div className="relative z-10 mb-8 flex w-full items-center justify-between">
|
||||
|
||||
@@ -213,7 +213,7 @@ export default function CardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={t`${card?.title ?? "Card"} | ${board?.name ?? "Board"}`}
|
||||
title={t`${card?.title ?? t`Card`} | ${board?.name ?? t`Board`}`}
|
||||
/>
|
||||
<div className="flex h-full flex-1 flex-row overflow-hidden">
|
||||
<div className="scrollbar-thumb-rounded-[4px] scrollbar-track-rounded-[4px] w-full flex-1 overflow-y-auto scrollbar scrollbar-track-light-200 scrollbar-thumb-light-400 hover:scrollbar-thumb-light-400 dark:scrollbar-track-dark-100 dark:scrollbar-thumb-dark-300 dark:hover:scrollbar-thumb-dark-300">
|
||||
|
||||
@@ -53,7 +53,7 @@ const Cta = ({ theme }: { theme: string }) => {
|
||||
<h2 className="text-balance text-4xl font-bold tracking-tight text-light-1000 dark:text-dark-1000 sm:text-4xl">
|
||||
{t`Get started for free today`}
|
||||
</h2>
|
||||
<p className="text-md/8 mx-auto mt-6 max-w-[375px] text-pretty text-light-900 dark:text-dark-900">
|
||||
<p className="text-md/8 mx-auto mt-6 max-w-[375px] text-pretty text-light-950 dark:text-dark-900">
|
||||
{t`Unlimited boards, unlimited lists, unlimited cards. No credit card required.`}
|
||||
</p>
|
||||
<Link href="/signup">
|
||||
|
||||
@@ -146,7 +146,7 @@ const Faqs = () => {
|
||||
<p className="mt-2 text-center text-3xl font-bold text-light-1000 dark:text-dark-1000 lg:text-4xl">
|
||||
{t`Questions?`}
|
||||
</p>
|
||||
<p className="text:md lg:text-md mt-3 max-w-[500px] text-center text-dark-900">
|
||||
<p className="text:md lg:text-md mt-3 max-w-[500px] text-center text-light-950 dark:text-dark-900">
|
||||
<Trans>
|
||||
Find answers to common questions about the project. Can't find what
|
||||
you're looking for? Feel free to{" "}
|
||||
|
||||
@@ -135,7 +135,7 @@ const Features = ({ theme }: { theme: "light" | "dark" }) => {
|
||||
<p className="mt-2 text-center text-3xl font-bold text-light-1000 dark:text-dark-1000 lg:text-4xl">
|
||||
{t`Kanban reimagined`}
|
||||
</p>
|
||||
<p className="text-md lg:text-md mt-3 max-w-[500px] text-center text-dark-900">
|
||||
<p className="text-md lg:text-md mt-3 max-w-[500px] text-center text-light-950 dark:text-dark-900">
|
||||
{t`Simple, visual task management that just works. Drag and drop cards, collaborate with your team, and get more done.`}
|
||||
</p>
|
||||
<div className="mx-auto mt-16 w-full max-w-7xl">
|
||||
|
||||
@@ -6,55 +6,83 @@ import { twMerge } from "tailwind-merge";
|
||||
import Button from "~/components/Button";
|
||||
|
||||
const Header = ({ isLoggedIn }: { isLoggedIn: boolean }) => {
|
||||
const [isScrolled, setIsScrolled] = useState(false);
|
||||
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
||||
|
||||
const menuItems = [
|
||||
{ label: t`Roadmap`, href: "/kan/roadmap", openInNewTab: true },
|
||||
{ label: t`Features`, href: "#features" },
|
||||
{ label: t`Pricing`, href: "#pricing" },
|
||||
{ label: t`Docs`, href: "https://docs.kan.bn", openInNewTab: true },
|
||||
const desktopMenuItems = [
|
||||
{
|
||||
label: t`Roadmap`,
|
||||
href: "/kan/roadmap",
|
||||
openInNewTab: true,
|
||||
},
|
||||
{ label: t`Features`, href: "/#features" },
|
||||
{ label: t`Pricing`, href: "/pricing" },
|
||||
{
|
||||
label: t`Docs`,
|
||||
href: "https://docs.kan.bn",
|
||||
openInNewTab: true,
|
||||
},
|
||||
];
|
||||
|
||||
useEffect(() => {
|
||||
const handleScroll = () => {
|
||||
setIsScrolled(window.scrollY > 0);
|
||||
};
|
||||
window.addEventListener("scroll", handleScroll);
|
||||
return () => window.removeEventListener("scroll", handleScroll);
|
||||
}, []);
|
||||
const mobileMenuItems = [
|
||||
{
|
||||
label: t`Roadmap`,
|
||||
href: "/kan/roadmap",
|
||||
openInNewTab: true,
|
||||
group: "Product",
|
||||
},
|
||||
{ label: t`Features`, href: "/#features", group: "Product" },
|
||||
{ label: t`Pricing`, href: "/pricing", group: "Product" },
|
||||
{
|
||||
label: t`Documentation`,
|
||||
href: "https://docs.kan.bn",
|
||||
openInNewTab: true,
|
||||
group: "Resources",
|
||||
},
|
||||
{ label: t`FAQ`, href: "/#faq", group: "Resources" },
|
||||
{ label: t`Contact`, href: "mailto:support@kan.bn", group: "Resources" },
|
||||
];
|
||||
|
||||
// Group mobile menu items by their group property
|
||||
const groupedMenuItems = mobileMenuItems.reduce(
|
||||
(acc, item) => {
|
||||
(acc[item.group] ??= []).push(item);
|
||||
return acc;
|
||||
},
|
||||
{} as Record<string, typeof mobileMenuItems>,
|
||||
);
|
||||
|
||||
const toggleMenu = () => {
|
||||
setIsMenuOpen(!isMenuOpen);
|
||||
document.body.style.overflow = !isMenuOpen ? "hidden" : "";
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
document.documentElement.classList.toggle("overflow-hidden", isMenuOpen);
|
||||
document.body.classList.toggle("overflow-hidden", isMenuOpen);
|
||||
return () => {
|
||||
document.documentElement.classList.remove("overflow-hidden");
|
||||
document.body.classList.remove("overflow-hidden");
|
||||
};
|
||||
}, [isMenuOpen]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div
|
||||
className={twMerge(
|
||||
"fixed z-50 m-auto flex w-full transition-all duration-500 lg:max-w-[1100px] lg:px-4 lg:pt-4",
|
||||
"fixed z-50 flex w-full transition-all duration-500",
|
||||
)}
|
||||
>
|
||||
<div
|
||||
className={twMerge(
|
||||
"m-auto flex h-[4rem] min-h-[4rem] w-full px-5 py-2 align-middle transition-all duration-500 lg:rounded-3xl lg:border lg:border-transparent",
|
||||
isScrolled &&
|
||||
"border-b border-light-300 bg-light-50/80 opacity-100 shadow-sm backdrop-blur-[10px] dark:border-dark-300 dark:bg-dark-50/90 lg:rounded-2xl lg:border",
|
||||
!isScrolled && "bg-transparent opacity-90",
|
||||
)}
|
||||
>
|
||||
<div className="flex w-full items-center justify-between lg:px-4">
|
||||
<div className="flex h-[4rem] min-h-[4rem] w-full border-b border-light-300 bg-light-50/80 px-5 py-2 align-middle opacity-100 shadow-sm backdrop-blur-[10px] transition-all duration-500 dark:border-dark-300 dark:bg-dark-50/90">
|
||||
<div className="mx-auto flex w-full max-w-[1100px] items-center justify-between lg:px-4">
|
||||
<div className="my-auto flex items-center justify-between">
|
||||
<Link href="/">
|
||||
<h1 className="w-[200px] text-lg font-bold tracking-tight text-neutral-900 dark:text-dark-1000">
|
||||
<h1 className="text-lg font-bold tracking-tight text-neutral-900 dark:text-dark-1000 lg:w-[200px]">
|
||||
kan.bn
|
||||
</h1>
|
||||
</Link>
|
||||
</div>
|
||||
{/* Desktop Menu */}
|
||||
<div className="hidden justify-center gap-10 dark:text-dark-1000 lg:flex">
|
||||
{menuItems.map((item) => (
|
||||
{desktopMenuItems.map((item) => (
|
||||
<Link
|
||||
key={item.label}
|
||||
href={item.href}
|
||||
@@ -66,42 +94,38 @@ const Header = ({ isLoggedIn }: { isLoggedIn: boolean }) => {
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
{/* Hamburger Menu Button */}
|
||||
<button
|
||||
onClick={toggleMenu}
|
||||
className="z-50 p-2 lg:hidden"
|
||||
aria-label={t`Toggle menu`}
|
||||
>
|
||||
<div
|
||||
className={twMerge(
|
||||
"my-[5px] h-[2px] w-4 bg-current bg-light-1000 transition-all dark:bg-dark-1000",
|
||||
isMenuOpen ? "translate-y-[7px] rotate-45" : "",
|
||||
<div className="flex items-center justify-end gap-4 lg:w-[200px]">
|
||||
<div className="justify-end gap-2">
|
||||
{isLoggedIn ? (
|
||||
<Button href="/boards">{t`Go to app`}</Button>
|
||||
) : (
|
||||
<div className="flex items-center justify-end gap-2">
|
||||
<Button href="/login" variant="ghost">
|
||||
{t`Sign in`}
|
||||
</Button>
|
||||
<Button href="/signup">{t`Get started`}</Button>
|
||||
</div>
|
||||
)}
|
||||
/>
|
||||
<div
|
||||
className={twMerge(
|
||||
"my-[5px] ml-[4px] h-[2px] w-3 bg-current bg-light-1000 transition-all dark:bg-dark-1000",
|
||||
isMenuOpen ? "opacity-0" : "",
|
||||
)}
|
||||
/>
|
||||
<div
|
||||
className={twMerge(
|
||||
"my-[5px] h-[2px] w-4 bg-current bg-light-1000 transition-all dark:bg-dark-1000",
|
||||
isMenuOpen ? "-translate-y-[7px] -rotate-45" : "",
|
||||
)}
|
||||
/>
|
||||
</button>
|
||||
<div className="hidden w-[200px] justify-end gap-2 lg:flex">
|
||||
{isLoggedIn ? (
|
||||
<Button href="/boards">{t`Go to app`}</Button>
|
||||
) : (
|
||||
<>
|
||||
<Button href="/login" variant="ghost">
|
||||
{t`Sign in`}
|
||||
</Button>
|
||||
<Button href="/signup">{t`Get started`}</Button>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
{/* Hamburger Menu Button */}
|
||||
<button
|
||||
onClick={toggleMenu}
|
||||
className="relative z-50 p-2 lg:hidden"
|
||||
aria-label={t`Toggle menu`}
|
||||
>
|
||||
<div
|
||||
className={twMerge(
|
||||
"absolute left-1/2 top-1/2 h-[1px] w-4 -translate-x-1/2 -translate-y-[4px] bg-current bg-light-1000 transition-all duration-300 ease-in-out dark:bg-dark-1000",
|
||||
isMenuOpen ? "translate-y-0 rotate-45" : "",
|
||||
)}
|
||||
/>
|
||||
<div
|
||||
className={twMerge(
|
||||
"absolute left-1/2 top-1/2 h-[1px] w-4 -translate-x-1/2 translate-y-[4px] bg-current bg-light-1000 transition-all duration-300 ease-in-out dark:bg-dark-1000",
|
||||
isMenuOpen ? "translate-y-0 -rotate-45" : "",
|
||||
)}
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -114,35 +138,27 @@ const Header = ({ isLoggedIn }: { isLoggedIn: boolean }) => {
|
||||
: "pointer-events-none translate-x-0 opacity-0"
|
||||
}`}
|
||||
>
|
||||
<div className="absolute inset-0 bg-white dark:bg-dark-100">
|
||||
<div className="flex h-full flex-col items-center justify-center space-y-8">
|
||||
{menuItems.map((item) => (
|
||||
<Link
|
||||
key={item.label}
|
||||
href={item.href}
|
||||
target={item.openInNewTab ? "_blank" : undefined}
|
||||
rel={item.openInNewTab ? "noopener noreferrer" : undefined}
|
||||
className="transform text-xl font-bold text-light-1000 transition-all duration-300 hover:scale-105 dark:text-dark-1000"
|
||||
>
|
||||
{item.label}
|
||||
</Link>
|
||||
<div className="absolute inset-0 bg-light-50/80 bg-white backdrop-blur-[15px] dark:bg-dark-50 dark:bg-dark-50/90">
|
||||
<div className="mt-[6rem] flex h-full flex-col space-y-8 px-5">
|
||||
{Object.entries(groupedMenuItems).map(([group, items]) => (
|
||||
<div key={group} className="flex flex-col space-y-4">
|
||||
<div className="text-sm font-bold text-light-900 dark:text-dark-900">
|
||||
{group}
|
||||
</div>
|
||||
{items.map((item) => (
|
||||
<Link
|
||||
key={item.label}
|
||||
href={item.href}
|
||||
target={item.openInNewTab ? "_blank" : undefined}
|
||||
rel={item.openInNewTab ? "noopener noreferrer" : undefined}
|
||||
className="transform text-lg font-bold text-light-1000 dark:text-dark-1000"
|
||||
onClick={() => setIsMenuOpen(false)}
|
||||
>
|
||||
{item.label}
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
))}
|
||||
<div className="mt-8 flex flex-col gap-4">
|
||||
{isLoggedIn ? (
|
||||
<Button href="/boards" onClick={toggleMenu}>
|
||||
{t`Go to app`}
|
||||
</Button>
|
||||
) : (
|
||||
<>
|
||||
<Button href="/login" variant="ghost" onClick={toggleMenu}>
|
||||
{t`Sign in`}
|
||||
</Button>
|
||||
<Button href="/signup" onClick={toggleMenu}>
|
||||
{t`Get started`}
|
||||
</Button>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,13 +7,13 @@ import Footer from "./Footer";
|
||||
import Header from "./Header";
|
||||
|
||||
export default function Layout({ children }: { children: React.ReactNode }) {
|
||||
const { theme } = useTheme();
|
||||
const { resolvedTheme } = useTheme();
|
||||
|
||||
const { data: session } = authClient.useSession();
|
||||
|
||||
const isLoggedIn = !!session?.user;
|
||||
|
||||
const isDarkMode = theme === "dark";
|
||||
const isDarkMode = resolvedTheme === "dark";
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -26,8 +26,8 @@ export default function Layout({ children }: { children: React.ReactNode }) {
|
||||
`}</style>
|
||||
<div className="mx-auto flex h-full min-h-screen min-w-[375px] flex-col items-center bg-light-100 dark:bg-dark-50">
|
||||
<PatternedBackground />
|
||||
<Header isLoggedIn={isLoggedIn} />
|
||||
<div className="z-10 mx-auto h-full w-full max-w-[1100px]">
|
||||
<Header isLoggedIn={isLoggedIn} />
|
||||
{children}
|
||||
</div>
|
||||
<Footer />
|
||||
|
||||
123
apps/web/src/views/home/components/Logos.tsx
Normal file
@@ -0,0 +1,123 @@
|
||||
import type { FC, SVGProps } from "react";
|
||||
import { Trans } from "@lingui/react/macro";
|
||||
|
||||
import AirbusLogo from "/public/logos/airbus.svg";
|
||||
import BitwardenLogo from "/public/logos/bitwarden.svg";
|
||||
import CouchbaseLogo from "/public/logos/couchbase.svg";
|
||||
import DeloitteLogo from "/public/logos/deloitte.svg";
|
||||
import FastCompanyLogo from "/public/logos/fast_company.svg";
|
||||
import LegoLogo from "/public/logos/lego.svg";
|
||||
import LinkedinLogo from "/public/logos/linkedin.svg";
|
||||
import SanaLogo from "/public/logos/sana.svg";
|
||||
import WakamLogo from "/public/logos/wakam.svg";
|
||||
|
||||
type LogoComponent = FC<SVGProps<SVGSVGElement>>;
|
||||
|
||||
export default function Logos() {
|
||||
const logos: {
|
||||
id: number;
|
||||
component: LogoComponent;
|
||||
alt: string;
|
||||
}[] = [
|
||||
{
|
||||
id: 1,
|
||||
component: SanaLogo as LogoComponent,
|
||||
alt: "Sana Logo",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
component: FastCompanyLogo as LogoComponent,
|
||||
alt: "Fast Company Logo",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
component: BitwardenLogo as LogoComponent,
|
||||
alt: "Bitwarden Logo",
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
component: CouchbaseLogo as LogoComponent,
|
||||
alt: "Couchbase Logo",
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
component: LegoLogo as LogoComponent,
|
||||
alt: "Lego Logo",
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
component: AirbusLogo as LogoComponent,
|
||||
alt: "Airbus Logo",
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
component: DeloitteLogo as LogoComponent,
|
||||
alt: "Deloitte Logo",
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
component: WakamLogo as LogoComponent,
|
||||
alt: "Wakam Logo",
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
component: LinkedinLogo as LogoComponent,
|
||||
alt: "Linked In Logo",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="w-full px-4 py-16">
|
||||
<div className="mb-8 text-center">
|
||||
<p className="text-sm font-medium text-light-800 dark:text-dark-800">
|
||||
<Trans>
|
||||
Trusted by fast-moving teams
|
||||
<br />
|
||||
around the world
|
||||
</Trans>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="relative overflow-hidden">
|
||||
<div className="absolute left-0 top-0 z-10 h-full w-8 bg-gradient-to-r from-white/60 to-transparent dark:from-dark-50" />
|
||||
<div className="absolute right-0 top-0 z-10 h-full w-8 bg-gradient-to-l from-white/60 to-transparent dark:from-dark-50" />
|
||||
|
||||
<div className="animate-scroll flex" style={{ width: "max-content" }}>
|
||||
<div className="flex flex-shrink-0 items-center space-x-12">
|
||||
{logos.map((logo) => {
|
||||
const LogoComponent: LogoComponent = logo.component;
|
||||
return (
|
||||
<div
|
||||
key={`first-${logo.id}`}
|
||||
className="flex h-12 w-32 items-center justify-center"
|
||||
>
|
||||
<LogoComponent
|
||||
className="text-light-950 transition-all duration-300 hover:text-light-1000 dark:text-dark-950 hover:dark:text-dark-1000"
|
||||
aria-label={logo.alt}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
|
||||
<div className="ml-12 flex flex-shrink-0 items-center space-x-12">
|
||||
{logos.map((logo) => {
|
||||
const LogoComponent: LogoComponent = logo.component;
|
||||
return (
|
||||
<div
|
||||
key={`second-${logo.id}`}
|
||||
className="flex h-12 w-32 items-center justify-center"
|
||||
>
|
||||
<LogoComponent
|
||||
className="text-light-950 transition-all duration-300 hover:text-light-1000 dark:text-dark-950 hover:dark:text-dark-1000"
|
||||
aria-label={logo.alt}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
258
apps/web/src/views/home/components/Testimonials.tsx
Normal file
@@ -0,0 +1,258 @@
|
||||
import Image from "next/image";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { twMerge } from "tailwind-merge";
|
||||
|
||||
interface Testimonial {
|
||||
name: string;
|
||||
handle: string;
|
||||
image?: string;
|
||||
colour?: string;
|
||||
text: string | React.ReactNode;
|
||||
role?: string;
|
||||
link?: string;
|
||||
rowSpan?: number;
|
||||
}
|
||||
|
||||
const TestimonialCard = ({
|
||||
testimonial,
|
||||
rowSpan,
|
||||
}: {
|
||||
testimonial: Testimonial;
|
||||
rowSpan?: number;
|
||||
}) => {
|
||||
// Generate initials for avatar
|
||||
const initials = testimonial.name
|
||||
.split(" ")
|
||||
.map((n) => n[0])
|
||||
.join("")
|
||||
.toUpperCase();
|
||||
|
||||
return (
|
||||
<div
|
||||
className={twMerge(
|
||||
"group relative rounded-2xl border border-light-200 bg-light-50 p-6 transition-all duration-200 hover:shadow-sm dark:border-dark-200 dark:bg-dark-50",
|
||||
rowSpan === 2 ? "md:row-span-2" : "",
|
||||
)}
|
||||
>
|
||||
<div className="flex items-start gap-3">
|
||||
{testimonial.image ? (
|
||||
<div className="relative h-10 w-10 shrink-0 overflow-hidden rounded-full">
|
||||
<Image
|
||||
src={testimonial.image}
|
||||
alt={testimonial.name}
|
||||
fill
|
||||
className="object-cover"
|
||||
/>
|
||||
</div>
|
||||
) : (
|
||||
<div
|
||||
className="flex h-10 w-10 shrink-0 items-center justify-center rounded-full text-sm font-semibold text-light-50 dark:text-dark-1000"
|
||||
style={
|
||||
testimonial.colour
|
||||
? { backgroundColor: testimonial.colour }
|
||||
: undefined
|
||||
}
|
||||
>
|
||||
{initials}
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="flex-1">
|
||||
<div className="flex items-center gap-2">
|
||||
<p className="font-semibold text-light-1000 dark:text-dark-1000">
|
||||
{testimonial.name}
|
||||
</p>
|
||||
</div>
|
||||
{testimonial.link ? (
|
||||
<a
|
||||
href={testimonial.link}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="-mt-1 block text-sm text-light-800 transition-colors hover:text-light-900 dark:text-dark-800 dark:hover:text-dark-900"
|
||||
>
|
||||
{testimonial.handle}
|
||||
</a>
|
||||
) : (
|
||||
<p className="-mt-0.5 block text-sm text-light-800 dark:text-dark-800">
|
||||
{testimonial.handle}
|
||||
</p>
|
||||
)}
|
||||
{testimonial.role && (
|
||||
<p className="text-xs text-light-600 dark:text-dark-600">
|
||||
{testimonial.role}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mt-4 text-sm leading-relaxed text-light-950 dark:text-dark-900">
|
||||
<p>{testimonial.text}</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const Testimonials = () => {
|
||||
const testimonials: Testimonial[] = [
|
||||
{
|
||||
name: "Bobby Compüters",
|
||||
handle: "@bobbycomputers",
|
||||
image: "/testimonials/avatars/bobby_computers.jpg",
|
||||
text: (
|
||||
<>
|
||||
Holy crap I love this app. It's brutally minimal but somehow has
|
||||
everything I need.
|
||||
</>
|
||||
),
|
||||
link: "https://x.com/bobbycomputers",
|
||||
},
|
||||
{
|
||||
name: "JR Raphael",
|
||||
handle: "@JRRaphael",
|
||||
image: "/testimonials/avatars/jrraphael.png",
|
||||
link: "https://www.fastcompany.com/91376028/trello-alternative-kan",
|
||||
rowSpan: 2,
|
||||
text: (
|
||||
<>
|
||||
The interesting thing about signing into Kan for the first time is
|
||||
that it feels new and electrifying—and yet simultaneously quite
|
||||
familiar, especially if you’ve spent any time in Trello over the
|
||||
years.
|
||||
<br />
|
||||
<br />
|
||||
As someone who connected more with Trello’s original vision and mostly
|
||||
just tolerated the more recent pivots and additions, it’s a bit of a
|
||||
revelation to use.
|
||||
<br />
|
||||
<br />
|
||||
At its core, Kan gives you a super-minimalist and frills-free
|
||||
Trello-style Kanban board. And the extent to which it has been able to
|
||||
build upon the original Trello vision is staggering.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "singiamtel",
|
||||
handle: "@singiamtel",
|
||||
colour: "#ff6600",
|
||||
text: <>The project seems nice, but how good is that domain name</>,
|
||||
link: "https://news.ycombinator.com/item?id=44157177",
|
||||
},
|
||||
|
||||
{
|
||||
name: "Jan Stgmnn",
|
||||
handle: "@JanStgmnn",
|
||||
image: "/testimonials/avatars/jan_stgmnn.jpg",
|
||||
link: "https://x.com/JanStgmnn",
|
||||
text: (
|
||||
<>
|
||||
Just wanted to say, that I really love the project. It's so easy to
|
||||
use and has a really nice UI!
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Fox",
|
||||
handle: "@dscfox",
|
||||
image: "/testimonials/avatars/fox.png",
|
||||
link: "https://discord.gg/e6ejRb6CmT",
|
||||
rowSpan: 2,
|
||||
text: (
|
||||
<>
|
||||
I've been looking at alternatives for months, but everything came up
|
||||
short.
|
||||
<br />
|
||||
<br />
|
||||
Some were direct clones, but lacked features I was dependent on.
|
||||
Others were rich in features, but strayed too far away from the
|
||||
simplicity of Trello.
|
||||
<br />
|
||||
<br />
|
||||
This seems like the best alternative to Trello for me.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Hanno Braun",
|
||||
handle: "@hannobraun",
|
||||
image: "/testimonials/avatars/hanno_braun.webp",
|
||||
link: "https://discord.gg/e6ejRb6CmT",
|
||||
text: (
|
||||
<>
|
||||
I've been very impressed with the app so far! It's great to have such
|
||||
a nice open source alternative to Trello.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "headlessdev_",
|
||||
handle: "@headlessdev_",
|
||||
image: "/testimonials/avatars/headless_dev.png",
|
||||
link: "https://www.reddit.com/r/selfhosted/comments/1l1f2st/i_made_an_opensource_alternative_to_trello/",
|
||||
text: <>This is the best thing I've seen here in a long time</>,
|
||||
},
|
||||
{
|
||||
name: "EHB",
|
||||
handle: "@ehb3839",
|
||||
image: "/testimonials/avatars/ehb.webp",
|
||||
link: "https://www.reddit.com/r/selfhosted/comments/1l1f2st/i_made_an_opensource_alternative_to_trello/",
|
||||
text: (
|
||||
<>
|
||||
It's exactly what I've been looking for recently. The simplicity of
|
||||
the overall app is a pleasure to use.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Tasneema Waquar",
|
||||
handle: "@tasneema_waquar",
|
||||
image: "/testimonials/avatars/tasneema_waquar.jpeg",
|
||||
link: "https://www.producthunt.com/products/kan-bn/reviews",
|
||||
text: (
|
||||
<>
|
||||
The design of this project management tool is impressive. The
|
||||
interface is intuitive, free of unnecessary clutter, and comes with a
|
||||
solid selection of templates.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "BRAVO68WEB",
|
||||
handle: "@bravo68web",
|
||||
image: "/testimonials/avatars/bravo68web.jpeg",
|
||||
link: "https://discord.gg/e6ejRb6CmT",
|
||||
text: <>I have fallen in love with the project.</>,
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="flex flex-col items-center justify-center px-4 pb-24">
|
||||
<div className="flex items-center gap-2 rounded-full border bg-light-50 px-4 py-1 text-center text-xs text-light-1000 dark:border-dark-300 dark:bg-dark-50 dark:text-dark-900 lg:text-sm">
|
||||
<p>{t`Testimonials`}</p>
|
||||
</div>
|
||||
|
||||
<p className="mt-2 text-center text-3xl font-bold text-light-1000 dark:text-dark-1000 lg:text-4xl">
|
||||
{t`Loved by teams worldwide`}
|
||||
</p>
|
||||
<p className="text-md lg:text-md mt-3 max-w-[500px] text-center text-light-950 dark:text-dark-900">
|
||||
{t`See what our users are saying about Kan`}
|
||||
</p>
|
||||
|
||||
<div className="mx-auto mt-16 w-full max-w-7xl">
|
||||
<div className="grid grid-cols-1 gap-4 md:auto-rows-fr md:grid-cols-3">
|
||||
{testimonials.map((testimonial, index) => (
|
||||
<TestimonialCard
|
||||
key={`testimonial-${index}`}
|
||||
testimonial={testimonial}
|
||||
rowSpan={testimonial.rowSpan}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Testimonials;
|
||||
@@ -2,22 +2,21 @@ import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { Trans } from "@lingui/react/macro";
|
||||
import { IoLogoGithub, IoLogoHackernews } from "react-icons/io";
|
||||
import { useTheme } from "next-themes";
|
||||
import { IoLogoGithub } from "react-icons/io";
|
||||
|
||||
import Button from "~/components/Button";
|
||||
import { PageHead } from "~/components/PageHead";
|
||||
import { useTheme } from "next-themes";
|
||||
import Cta from "./components/Cta";
|
||||
import FAQs from "./components/Faqs";
|
||||
import Features from "./components/Features";
|
||||
import Layout from "./components/Layout";
|
||||
import Pricing from "./components/Pricing";
|
||||
import Logos from "./components/Logos";
|
||||
import Testimonials from "./components/Testimonials";
|
||||
|
||||
export default function HomeView() {
|
||||
const { resolvedTheme } = useTheme();
|
||||
|
||||
const isDarkMode = resolvedTheme === "dark";
|
||||
|
||||
return (
|
||||
<Layout>
|
||||
<PageHead title="Kan.bn | The open source alternative to Trello" />
|
||||
@@ -68,7 +67,7 @@ export default function HomeView() {
|
||||
</Trans>
|
||||
</p>
|
||||
|
||||
<p className="text-md mt-3 max-w-[450px] text-center text-dark-900 lg:max-w-[600px] lg:text-lg">
|
||||
<p className="text-md mt-3 max-w-[450px] text-center text-light-950 dark:text-dark-900 lg:max-w-[600px] lg:text-lg">
|
||||
{t`A powerful, flexible kanban app that helps you organise work, track progress, and deliver results—all in one place.`}
|
||||
</p>
|
||||
|
||||
@@ -82,13 +81,13 @@ export default function HomeView() {
|
||||
{t`Self host with Github`}
|
||||
</Button>
|
||||
</div>
|
||||
<p className="mt-4 text-center text-sm text-dark-900">
|
||||
<p className="mt-4 text-center text-sm text-light-950 dark:text-dark-900">
|
||||
{t`No credit card required`}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="px-4">
|
||||
<div className="mb-24 rounded-[16px] border border-light-300 bg-light-50 p-1 shadow-md dark:border-dark-300 dark:bg-dark-100 lg:rounded-[24px] lg:p-2">
|
||||
<div className="px-4 pb-10">
|
||||
<div className="rounded-[16px] border border-light-300 bg-light-50 p-1 shadow-md dark:border-dark-300 dark:bg-dark-100 lg:rounded-[24px] lg:p-2">
|
||||
<div className="relative overflow-hidden rounded-[12px] border border-light-300 shadow-sm dark:border-dark-300 lg:rounded-[16px]">
|
||||
<Image
|
||||
src={`/hero-light.png`}
|
||||
@@ -107,13 +106,14 @@ export default function HomeView() {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Logos />
|
||||
<div className="relative pt-10">
|
||||
<div id="features" className="absolute -top-20" />
|
||||
<Features theme={resolvedTheme === "dark" ? "dark" : "light"} />
|
||||
</div>
|
||||
<div className="relative pt-10">
|
||||
<div id="pricing" className="absolute -top-20" />
|
||||
<Pricing />
|
||||
<div id="testimonials" className="absolute -top-20" />
|
||||
<Testimonials />
|
||||
</div>
|
||||
<div className="relative pt-10">
|
||||
<div id="faq" className="absolute -top-20" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import Link from "next/link";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { env } from "next-runtime-env";
|
||||
import { useEffect, useState } from "react";
|
||||
import {
|
||||
HiBolt,
|
||||
HiEllipsisHorizontal,
|
||||
@@ -171,7 +170,7 @@ export default function MembersPage() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead title={t`Members | ${workspace.name ?? "Workspace"}`} />
|
||||
<PageHead title={t`Members | ${workspace.name ?? t`Workspace`}`} />
|
||||
<div className="m-auto h-full max-w-[1100px] p-6 px-5 md:px-28 md:py-12">
|
||||
<div className="mb-8 flex w-full justify-between">
|
||||
<div className="flex items-center gap-3">
|
||||
|
||||
297
apps/web/src/views/pricing/components/FeatureComparisonTable.tsx
Normal file
@@ -0,0 +1,297 @@
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { HiCheckCircle, HiXCircle } from "react-icons/hi2";
|
||||
|
||||
interface Feature {
|
||||
key: string;
|
||||
label: string;
|
||||
kan: boolean | string;
|
||||
trello: boolean | string;
|
||||
}
|
||||
|
||||
interface Section {
|
||||
name: string;
|
||||
features: Feature[];
|
||||
}
|
||||
|
||||
type FrequencyValue = "monthly" | "annually";
|
||||
|
||||
const CellValue = ({ value }: { value: boolean | string }) => {
|
||||
if (typeof value === "string") {
|
||||
return (
|
||||
<span className="text-sm text-dark-900 dark:text-dark-900">{value}</span>
|
||||
);
|
||||
}
|
||||
return value ? (
|
||||
<HiCheckCircle className="h-5 w-5 text-light-950 dark:text-dark-1000" />
|
||||
) : (
|
||||
<HiXCircle className="h-5 w-5 text-light-700 dark:text-dark-600" />
|
||||
);
|
||||
};
|
||||
|
||||
const FeatureComparisonTable = ({
|
||||
frequencyValue,
|
||||
}: {
|
||||
frequencyValue: FrequencyValue;
|
||||
}) => {
|
||||
const sections: Section[] = [
|
||||
{
|
||||
name: t`Core features`,
|
||||
features: [
|
||||
{
|
||||
key: "ulimited-workspaces",
|
||||
label: t`Unlimited workspaces`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "unlimited-boards",
|
||||
label: t`Unlimited boards`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "unlimited-lists",
|
||||
label: t`Unlimited lists`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "unlimited-cards",
|
||||
label: t`Unlimited cards`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "activity-log",
|
||||
label: t`Activity log`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "templates",
|
||||
label: t`Custom templates`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{ key: "labels", label: t`Labels & filters`, kan: true, trello: true },
|
||||
{ key: "checklists", label: t`Checklists`, kan: true, trello: true },
|
||||
{
|
||||
key: "import",
|
||||
label: t`Import from Trello`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "visibility",
|
||||
label: t`Board visibility`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "search",
|
||||
label: t`Intelligent search`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "workspace-url",
|
||||
label: t`Custom workspace link`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: t`Teams`,
|
||||
features: [
|
||||
{
|
||||
key: "pricing",
|
||||
label: t`Price per user/month`,
|
||||
kan: frequencyValue === "monthly" ? `$10.00` : `$8.00`,
|
||||
trello: frequencyValue === "monthly" ? `$12.00` : `$10.00`,
|
||||
},
|
||||
{
|
||||
key: "comments",
|
||||
label: t`Comments & mentions`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "assignments",
|
||||
label: t`Assignees`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "sharing",
|
||||
label: t`Board sharing & invites`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "invite-links",
|
||||
label: t`Invite links`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: t`Platform`,
|
||||
features: [
|
||||
{
|
||||
key: "api",
|
||||
label: t`REST API`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
},
|
||||
{
|
||||
key: "open-source",
|
||||
label: t`Open source`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "self-hostable",
|
||||
label: t`Self-hostable`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "white-label",
|
||||
label: t`White label`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "performance",
|
||||
label: t`Fast & lightweight`,
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "this-is-a-joke",
|
||||
label: t`Owned by Atlassian`,
|
||||
kan: false,
|
||||
trello: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const products = [
|
||||
{
|
||||
id: "kan",
|
||||
name: t`Kan`,
|
||||
featured: true,
|
||||
},
|
||||
{
|
||||
id: "trello",
|
||||
name: t`Trello`,
|
||||
featured: false,
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<section aria-labelledby="comparison-heading" className="w-full px-4">
|
||||
<div className="mx-auto max-w-6xl py-8 lg:py-10">
|
||||
<div className="grid grid-cols-3 gap-x-8 border-t border-light-500 before:block dark:border-dark-300">
|
||||
{products.map((product) => (
|
||||
<div key={product.id} aria-hidden="true" className="-mt-px">
|
||||
<div
|
||||
className={`${product.featured ? "border-dark-200 dark:border-dark-800" : "border-transparent"} border-t-2 pt-8`}
|
||||
>
|
||||
<p
|
||||
className={`${product.featured ? "text-dark-50 dark:text-dark-1000" : "text-light-1000 dark:text-dark-1000"} text-center text-sm font-semibold`}
|
||||
>
|
||||
{product.name}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="-mt-6 space-y-12">
|
||||
{sections.map((section) => (
|
||||
<div key={section.name}>
|
||||
<h4 className="text-sm font-semibold text-light-1000 dark:text-dark-1000">
|
||||
{section.name}
|
||||
</h4>
|
||||
<div className="relative -mx-8 mt-8">
|
||||
<div
|
||||
aria-hidden="true"
|
||||
className="absolute inset-x-8 inset-y-0 grid grid-cols-3 gap-x-8 before:block"
|
||||
>
|
||||
{products.map((product) => (
|
||||
<div
|
||||
key={product.id}
|
||||
className={`size-full rounded-lg ${product.featured ? "bg-white shadow-sm dark:bg-dark-50 dark:shadow-none" : ""}`}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<table className="relative w-full border-separate border-spacing-x-8">
|
||||
<thead>
|
||||
<tr className="text-left">
|
||||
<th scope="col">
|
||||
<span className="sr-only">{t`Feature`}</span>
|
||||
</th>
|
||||
{products.map((p) => (
|
||||
<th key={p.id} scope="col">
|
||||
<span className="sr-only">{p.name}</span>
|
||||
</th>
|
||||
))}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{section.features.map((feature, featureIdx) => (
|
||||
<tr key={feature.key}>
|
||||
<th
|
||||
scope="row"
|
||||
className="w-1/3 py-3 pr-4 text-left text-sm font-normal text-light-1000 dark:text-dark-1000"
|
||||
>
|
||||
{feature.label}
|
||||
{featureIdx !== section.features.length - 1 ? (
|
||||
<div className="absolute inset-x-8 mt-3 h-px bg-light-500 dark:bg-dark-300" />
|
||||
) : null}
|
||||
</th>
|
||||
{products.map((p) => (
|
||||
<td
|
||||
key={p.id}
|
||||
className="relative w-1/3 px-4 py-0 text-center"
|
||||
>
|
||||
<span className="relative inline-flex w-full items-center justify-center py-3">
|
||||
<CellValue
|
||||
value={
|
||||
p.id === "kan" ? feature.kan : feature.trello
|
||||
}
|
||||
/>
|
||||
</span>
|
||||
</td>
|
||||
))}
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div
|
||||
aria-hidden="true"
|
||||
className="pointer-events-none absolute inset-x-8 inset-y-0 grid grid-cols-3 gap-x-8 before:block"
|
||||
>
|
||||
{products.map((product) => (
|
||||
<div
|
||||
key={product.id}
|
||||
className={`${product.featured ? "ring-1 ring-light-500 dark:ring-dark-800" : "ring-0"} rounded-2xl`}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
export default FeatureComparisonTable;
|
||||
@@ -85,19 +85,17 @@ const Pricing = () => {
|
||||
<p>{t`Pricing`}</p>
|
||||
</div>
|
||||
|
||||
<p className="mt-2 text-center text-3xl font-bold text-light-1000 dark:text-dark-1000 lg:text-4xl">
|
||||
<p className="mt-4 text-center text-3xl font-bold text-light-1000 dark:text-dark-1000 lg:text-5xl">
|
||||
{t`Simple pricing`}
|
||||
</p>
|
||||
<p className="text:md lg:text-md mt-3 max-w-[500px] text-center text-dark-900">
|
||||
<p className="text:md lg:text-md mt-6 max-w-[500px] text-center text-dark-900">
|
||||
{t`Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team.`}
|
||||
</p>
|
||||
|
||||
<div className="mt-12 flex flex-col items-center justify-center">
|
||||
<div className="mb-4 flex items-center gap-2 rounded-full border bg-white px-4 py-1.5 text-center text-xs font-bold text-gray-800 dark:border-dark-300 dark:bg-white dark:text-gray-800 lg:text-sm">
|
||||
<div className="mt-14 flex flex-col items-center justify-center">
|
||||
<div className="mb-8 flex items-center gap-2 rounded-full border bg-white px-4 py-1.5 text-center text-xs font-bold text-gray-800 dark:border-dark-300 dark:bg-dark-1000 dark:text-gray-800 lg:text-sm">
|
||||
<HiBolt />
|
||||
<p>
|
||||
{t`Launch offer: unlimited seats for just $29/month with Pro`}
|
||||
</p>
|
||||
<p>{t`Launch offer: unlimited seats for just $29/month with Pro`}</p>
|
||||
</div>
|
||||
<fieldset aria-label={t`Payment frequency`}>
|
||||
<RadioGroup
|
||||
@@ -164,7 +162,7 @@ const Pricing = () => {
|
||||
<p className="mt-6 flex items-baseline gap-x-1">
|
||||
<span
|
||||
className={twMerge(
|
||||
"text-4xl font-semibold tracking-tight text-light-100",
|
||||
"text-3xl font-semibold tracking-tight text-light-100",
|
||||
tier.highlighted
|
||||
? "text-light-50 dark:text-dark-1000"
|
||||
: "text-gray-900 dark:text-dark-1000",
|
||||
211
apps/web/src/views/pricing/components/PricingTiers.tsx
Normal file
@@ -0,0 +1,211 @@
|
||||
import Link from "next/link";
|
||||
import { Radio, RadioGroup } from "@headlessui/react";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { HiBolt, HiCheckCircle } from "react-icons/hi2";
|
||||
import { twMerge } from "tailwind-merge";
|
||||
|
||||
type FrequencyValue = "monthly" | "annually";
|
||||
|
||||
interface Frequency {
|
||||
value: FrequencyValue;
|
||||
label: string;
|
||||
priceSuffix: string;
|
||||
}
|
||||
|
||||
const Pricing = ({
|
||||
frequency,
|
||||
frequencies,
|
||||
setFrequency,
|
||||
}: {
|
||||
frequency: Frequency | undefined;
|
||||
frequencies: Frequency[];
|
||||
setFrequency: (frequency: Frequency) => void;
|
||||
}) => {
|
||||
const tiers = [
|
||||
{
|
||||
name: t`Individuals`,
|
||||
id: "tier-individuals",
|
||||
href: "signup",
|
||||
buttonText: t`Get Started`,
|
||||
price: { monthly: t`Free`, annually: t`Free` },
|
||||
description: t`Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time.`,
|
||||
featureHeader: t`Free, forever`,
|
||||
features: [
|
||||
t`1 user`,
|
||||
t`Unlimited boards`,
|
||||
t`Unlimited cards`,
|
||||
t`Custom board templates`,
|
||||
t`Checklists`,
|
||||
],
|
||||
showPrice: true,
|
||||
},
|
||||
{
|
||||
name: t`Teams`,
|
||||
id: "tier-teams",
|
||||
href: "signup",
|
||||
buttonText: t`Get Started`,
|
||||
price: { monthly: "$10.00", annually: "$8.00" },
|
||||
description: t`Kan is better with a team. Perfect for small and growing teams looking to collaborate.`,
|
||||
featureHeader: t`Everything in the free plan, plus:`,
|
||||
features: [
|
||||
t`Workspace members`,
|
||||
t`Admin roles`,
|
||||
t`Priority email support`,
|
||||
t`Support the development of the project`,
|
||||
],
|
||||
highlighted: true,
|
||||
showPrice: true,
|
||||
showPriceSuffix: true,
|
||||
},
|
||||
{
|
||||
name: t`Self Host`,
|
||||
id: "tier-self-host",
|
||||
href: "https://github.com/kanbn/kan",
|
||||
buttonText: t`View docs`,
|
||||
price: { monthly: "-", annually: "-" },
|
||||
description: t`Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data.`,
|
||||
featureHeader: t`Complete control and ownership:`,
|
||||
features: [
|
||||
t`Run on your own infrastructure`,
|
||||
t`Own your data`,
|
||||
t`Custom domain`,
|
||||
],
|
||||
mostPopular: false,
|
||||
showPrice: false,
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="flex flex-col items-center justify-center px-4 pb-10">
|
||||
<div className="mt-14 flex flex-col items-center justify-center">
|
||||
<div className="mb-8 flex items-center gap-2 rounded-full border bg-white px-4 py-1.5 text-center text-xs font-bold text-gray-800 dark:border-dark-300 dark:bg-dark-1000 dark:text-gray-800 lg:text-sm">
|
||||
<HiBolt />
|
||||
<p>{t`Launch offer: unlimited seats for just $29/month with Pro`}</p>
|
||||
</div>
|
||||
<fieldset aria-label={t`Payment frequency`}>
|
||||
<RadioGroup
|
||||
value={frequency}
|
||||
onChange={(value) => setFrequency(value)}
|
||||
className="grid grid-cols-2 gap-x-1 rounded-full p-1 text-center text-xs/5 font-semibold ring-1 ring-inset ring-light-600 dark:ring-dark-600"
|
||||
>
|
||||
{frequencies.map((option) => (
|
||||
<Radio
|
||||
key={option.value}
|
||||
value={option}
|
||||
className={twMerge(
|
||||
"cursor-pointer rounded-full px-2.5 py-1 text-xs transition-colors lg:text-sm",
|
||||
frequency?.value === option.value
|
||||
? "bg-dark-50 text-white dark:bg-light-50 dark:text-dark-50"
|
||||
: "text-light-900 hover:bg-light-100 dark:hover:bg-dark-100",
|
||||
)}
|
||||
>
|
||||
{option.label}
|
||||
</Radio>
|
||||
))}
|
||||
</RadioGroup>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="isolate mx-auto mb-10 grid max-w-md grid-cols-1 gap-8 px-4 lg:mx-0 lg:max-w-none lg:grid-cols-3">
|
||||
{tiers.map((tier) => (
|
||||
<div
|
||||
key={tier.id}
|
||||
className={twMerge(
|
||||
tier.highlighted
|
||||
? "bg-dark-50 ring-1 ring-dark-50 dark:ring-dark-800"
|
||||
: "bg-light-50 ring-1 ring-light-300 dark:bg-dark-50 dark:ring-dark-300",
|
||||
"rounded-3xl p-8 xl:p-10",
|
||||
)}
|
||||
>
|
||||
<div className="flex items-center justify-between gap-x-4">
|
||||
<h3
|
||||
id={tier.id}
|
||||
className={twMerge(
|
||||
tier.highlighted
|
||||
? "text-dark-1000 dark:text-dark-1000"
|
||||
: "text-dark-50 dark:text-dark-1000",
|
||||
"text-lg/8 font-semibold",
|
||||
)}
|
||||
>
|
||||
{tier.name}
|
||||
</h3>
|
||||
{tier.highlighted && frequency?.value === "annually" ? (
|
||||
<p className="rounded-full bg-light-50 px-2.5 py-1 text-[12px] font-semibold text-dark-500 dark:bg-dark-1000 dark:text-dark-50">
|
||||
-20%
|
||||
</p>
|
||||
) : null}
|
||||
</div>
|
||||
<p
|
||||
className={twMerge(
|
||||
"mt-4 text-sm/6 text-dark-950 dark:text-dark-900",
|
||||
tier.highlighted ? "text-light-100" : "text-dark-50",
|
||||
)}
|
||||
>
|
||||
{tier.description}
|
||||
</p>
|
||||
<p className="mt-6 flex items-baseline gap-x-1">
|
||||
<span
|
||||
className={twMerge(
|
||||
"text-3xl font-semibold tracking-tight text-light-100",
|
||||
tier.highlighted
|
||||
? "text-light-50 dark:text-dark-1000"
|
||||
: "text-gray-900 dark:text-dark-1000",
|
||||
!tier.showPrice && "opacity-0",
|
||||
)}
|
||||
>
|
||||
{tier.price[frequency?.value ?? "monthly"]}
|
||||
</span>
|
||||
{tier.showPriceSuffix && (
|
||||
<span className="text-sm/6 font-semibold text-light-50 dark:text-dark-900">
|
||||
{frequency?.priceSuffix}
|
||||
</span>
|
||||
)}
|
||||
</p>
|
||||
<Link
|
||||
href={tier.href}
|
||||
aria-describedby={tier.id}
|
||||
className={twMerge(
|
||||
tier.highlighted
|
||||
? "bg-light-50 text-dark-50 shadow-sm dark:bg-dark-1000 dark:text-dark-50"
|
||||
: "bg-dark-50 text-light-50 dark:bg-dark-200 dark:text-dark-1000",
|
||||
"mt-6 block rounded-md px-3 py-2 text-center text-sm/6 font-semibold focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600",
|
||||
)}
|
||||
>
|
||||
{tier.buttonText}
|
||||
</Link>
|
||||
<p
|
||||
className={twMerge(
|
||||
"mt-8 text-sm/6 font-bold",
|
||||
tier.highlighted
|
||||
? "text-light-100 dark:text-dark-1000"
|
||||
: "text-dark-50 dark:text-dark-1000",
|
||||
)}
|
||||
>
|
||||
{tier.featureHeader}
|
||||
</p>
|
||||
<ul
|
||||
role="list"
|
||||
className={twMerge(
|
||||
"mt-2 space-y-3 text-sm/6 text-light-600",
|
||||
tier.highlighted
|
||||
? "text-light-100 dark:text-dark-1000"
|
||||
: "text-dark-50 dark:text-dark-1000",
|
||||
)}
|
||||
>
|
||||
{tier.features.map((feature) => (
|
||||
<li key={feature} className="flex items-center gap-x-3">
|
||||
<HiCheckCircle className="h-5 w-5" />
|
||||
{feature}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Pricing;
|
||||
90
apps/web/src/views/pricing/index.tsx
Normal file
@@ -0,0 +1,90 @@
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { useTheme } from "next-themes";
|
||||
import { useState } from "react";
|
||||
|
||||
import Button from "~/components/Button";
|
||||
import { PageHead } from "~/components/PageHead";
|
||||
import Cta from "../home/components/Cta";
|
||||
import Layout from "../home/components/Layout";
|
||||
import Logos from "../home/components/Logos";
|
||||
import FeatureComparisonTable from "./components/FeatureComparisonTable";
|
||||
import PricingTiers from "./components/PricingTiers";
|
||||
|
||||
type FrequencyValue = "monthly" | "annually";
|
||||
|
||||
export default function PricingView() {
|
||||
const { resolvedTheme } = useTheme();
|
||||
const frequencies = [
|
||||
{
|
||||
value: "monthly" as FrequencyValue,
|
||||
label: t`Monthly`,
|
||||
priceSuffix: t`per user/month`,
|
||||
},
|
||||
{
|
||||
value: "annually" as FrequencyValue,
|
||||
label: t`Yearly`,
|
||||
priceSuffix: t`per user/month`,
|
||||
},
|
||||
];
|
||||
|
||||
const [frequency, setFrequency] = useState(frequencies[1]);
|
||||
|
||||
return (
|
||||
<Layout>
|
||||
<PageHead title={`${t`Pricing`} | kan.bn`} />
|
||||
|
||||
<div className="flex h-full w-full flex-col lg:pt-[5rem]">
|
||||
<div className="w-full pb-10 pt-32">
|
||||
<div className="flex flex-col items-center justify-center px-4 pb-10">
|
||||
<div className="flex items-center gap-2 rounded-full border bg-light-50 px-4 py-1 text-center text-xs text-light-1000 dark:border-dark-300 dark:bg-dark-50 dark:text-dark-900 lg:text-sm">
|
||||
<p>{t`Pricing`}</p>
|
||||
</div>
|
||||
|
||||
<p className="mt-4 text-center text-3xl font-bold text-light-1000 dark:text-dark-1000 lg:text-5xl">
|
||||
{t`Simple pricing`}
|
||||
</p>
|
||||
<p className="text:md lg:text-md mt-6 max-w-[500px] text-center text-light-950 dark:text-dark-900">
|
||||
{t`Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team.`}
|
||||
</p>
|
||||
</div>
|
||||
<PricingTiers
|
||||
frequency={frequency}
|
||||
frequencies={frequencies}
|
||||
setFrequency={setFrequency}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="pb-20">
|
||||
<Logos />
|
||||
</div>
|
||||
|
||||
<div className="pb-22 flex flex-col items-center justify-center px-4">
|
||||
<div className="flex items-center gap-2 rounded-full border bg-light-50 px-4 py-1 text-center text-xs text-light-1000 dark:border-dark-300 dark:bg-dark-50 dark:text-dark-900 lg:text-sm">
|
||||
<p>{t`Features`}</p>
|
||||
</div>
|
||||
|
||||
<p className="mt-4 text-center text-3xl font-bold text-light-1000 dark:text-dark-1000 lg:text-4xl">
|
||||
{t`Feature breakdown`}
|
||||
</p>
|
||||
<p className="text-md lg:text-md my-4 max-w-[500px] text-center text-light-950 dark:text-dark-900">
|
||||
{t`Compare our features to see why Kan is the best choice.`}
|
||||
</p>
|
||||
<div className="mt-2">
|
||||
<Button variant="primary" href="/signup">
|
||||
{t`Get started`}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div className="mt-10 w-full max-w-[900px]">
|
||||
<FeatureComparisonTable
|
||||
frequencyValue={frequency?.value ?? "annually"}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative">
|
||||
<Cta theme={resolvedTheme ?? "light"} />
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
@@ -45,7 +45,10 @@ export default function PublicBoardView() {
|
||||
members: formatToArray(router.query.members),
|
||||
labels: formatToArray(router.query.labels),
|
||||
},
|
||||
{ enabled: router.isReady && !!boardSlug, placeholderData: keepPreviousData },
|
||||
{
|
||||
enabled: router.isReady && !!boardSlug,
|
||||
placeholderData: keepPreviousData,
|
||||
},
|
||||
);
|
||||
|
||||
const CopyBoardLink = () => {
|
||||
@@ -94,7 +97,7 @@ export default function PublicBoardView() {
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={`${data?.name ?? "Board"} | ${data?.workspace.name ?? "Workspace"}`}
|
||||
title={`${data?.name ?? t`Board`} | ${data?.workspace.name ?? t`Workspace`}`}
|
||||
/>
|
||||
<style jsx global>{`
|
||||
html {
|
||||
@@ -156,7 +159,7 @@ export default function PublicBoardView() {
|
||||
) : (
|
||||
<div className="flex">
|
||||
<div className="min-w-[2rem]" />
|
||||
{data.lists.map((list) => (
|
||||
{data?.lists.map((list) => (
|
||||
<div
|
||||
key={list.publicId}
|
||||
className="dark-text-dark-1000 mr-5 h-fit min-w-[18rem] max-w-[18rem] rounded-md border border-light-400 bg-light-300 py-2 pl-2 pr-1 text-neutral-900 dark:border-dark-300 dark:bg-dark-100"
|
||||
@@ -182,6 +185,8 @@ export default function PublicBoardView() {
|
||||
labels={card.labels}
|
||||
checklists={card.checklists ?? []}
|
||||
members={[]}
|
||||
description={card.description}
|
||||
comments={card.comments ?? []}
|
||||
/>
|
||||
</Link>
|
||||
))}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
import { t } from "@lingui/core/macro";
|
||||
|
||||
import { PageHead } from "~/components/PageHead";
|
||||
import PatternedBackground from "~/components/PatternedBackground";
|
||||
@@ -62,7 +63,7 @@ export default function PublicBoardsView() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead title={`${"Board"} | ${"Workspace"}`} />
|
||||
<PageHead title={`${data?.name ?? t`Workspace`} | kan.bn`} />
|
||||
<style jsx global>{`
|
||||
html {
|
||||
height: 100vh;
|
||||
|
||||
@@ -240,7 +240,14 @@ export const initAuth = (db: dbClient) => {
|
||||
]
|
||||
: []),
|
||||
// @todo: hasing is disabled due to a bug in the api key plugin
|
||||
apiKey({ disableKeyHashing: true }),
|
||||
apiKey({
|
||||
disableKeyHashing: true,
|
||||
rateLimit: {
|
||||
enabled: true,
|
||||
timeWindow: 1000 * 60, // 1 minute
|
||||
maxRequests: 100, // 100 requests per minute
|
||||
},
|
||||
}),
|
||||
magicLink({
|
||||
expiresIn: 60 * 60 * 24 * 7, // 7 days
|
||||
sendMagicLink: async ({ email, url }) => {
|
||||
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
cardToWorkspaceMembers,
|
||||
checklistItems,
|
||||
checklists,
|
||||
comments,
|
||||
labels,
|
||||
lists,
|
||||
workspaceMembers,
|
||||
@@ -215,6 +216,13 @@ export const getByPublicId = async (
|
||||
},
|
||||
},
|
||||
},
|
||||
comments: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
},
|
||||
where: isNull(comments.deletedAt),
|
||||
limit: 1,
|
||||
},
|
||||
},
|
||||
where: and(
|
||||
cardIds.length > 0 ? inArray(cards.publicId, cardIds) : undefined,
|
||||
@@ -335,6 +343,13 @@ export const getBySlug = async (
|
||||
},
|
||||
},
|
||||
},
|
||||
comments: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
},
|
||||
where: isNull(comments.deletedAt),
|
||||
limit: 1,
|
||||
},
|
||||
checklists: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
|
||||
1637
pnpm-lock.yaml
generated
@@ -22,6 +22,7 @@ export default {
|
||||
"border-spin": "border-spin 4s linear infinite",
|
||||
"fade-down": "fade-down 0.5s ease-out",
|
||||
"fade-in": "fade-in 0.5s ease-out",
|
||||
scroll: "scroll 40s linear infinite",
|
||||
},
|
||||
|
||||
keyframes: {
|
||||
@@ -47,6 +48,14 @@ export default {
|
||||
opacity: "1",
|
||||
},
|
||||
},
|
||||
scroll: {
|
||||
"0%": {
|
||||
transform: "translateX(0)",
|
||||
},
|
||||
"100%": {
|
||||
transform: "translateX(calc(-50% - 1.5rem))",
|
||||
},
|
||||
},
|
||||
},
|
||||
colors: {
|
||||
"dark-50": "#161616",
|
||||
|
||||