Compare commits
1 Commits
feat/partn
...
chore/fix-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
39bca3b39f |
@@ -227,12 +227,6 @@ We welcome contributions! Please read our [contribution guidelines](CONTRIBUTING
|
||||
<img src="https://contrib.rocks/image?repo=kanbn/kan" />
|
||||
</a>
|
||||
|
||||
## Sponsors ❤️
|
||||
|
||||
[<img height="100" alt="image" src="https://github.com/user-attachments/assets/e331c71f-ac86-46a6-bceb-ce276de094b0" />](https://www.testmuai.com)
|
||||
|
||||
Proudly sponsored by [TestMu AI](https://www.testmuai.com) - an AI-native testing cloud platform built for modern engineering teams. Covering everything from autonomous test creation and fast execution to testing AI agents like chatbots and voice assistants. If you're serious about testing, go check them out.
|
||||
|
||||
## License 📝
|
||||
|
||||
Kan is licensed under the [AGPLv3 license](LICENSE).
|
||||
|
||||
@@ -11,7 +11,6 @@ RUN apk update && \
|
||||
apk add --no-cache libc6-compat && \
|
||||
rm -rf /var/cache/apk/* /tmp/* || true && \
|
||||
corepack enable && \
|
||||
corepack prepare pnpm@9.14.2 --activate && \
|
||||
npm install turbo@2.3.1 --global && \
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
|
||||
|
||||
@@ -614,10 +614,9 @@ checksums:
|
||||
RRn9jf/origin/1/0: d6f5120f072a821219608624f361384e
|
||||
RRn9jf/translation: 210b6ff8727f976182ec3f29ea3c7667
|
||||
yz7wBu/message: 2c2e22f8424a1031de89063bd0022e16
|
||||
yz7wBu/origin/0/0: 278a40eb45b1219f424703d0abc1d273
|
||||
yz7wBu/origin/1/0: 15fd9c05fc09ccbbb54aadc4aa5e5501
|
||||
yz7wBu/origin/2/0: afee530613110e248ffde6b56872ebed
|
||||
yz7wBu/origin/3/0: dcafca531d4dce1faef7788feabfb048
|
||||
yz7wBu/origin/0/0: 15fd9c05fc09ccbbb54aadc4aa5e5501
|
||||
yz7wBu/origin/1/0: afee530613110e248ffde6b56872ebed
|
||||
yz7wBu/origin/2/0: dcafca531d4dce1faef7788feabfb048
|
||||
yz7wBu/translation: 2c2e22f8424a1031de89063bd0022e16
|
||||
TcXcmk/message: a2da6c2339301e7c3ddf068c4ff9f7e8
|
||||
TcXcmk/origin/0/0: eb63312c63f6c8d2a5b6520c89012123
|
||||
@@ -735,9 +734,6 @@ checksums:
|
||||
uvH2xS/message: ecc2617544a6d385d18678577fa112fd
|
||||
uvH2xS/origin/0/0: 97bd206a05414e2a571020d64e166093
|
||||
uvH2xS/translation: ecc2617544a6d385d18678577fa112fd
|
||||
7mrkyO/message: d3853b58e9b736eefb0f9bf400daf4d7
|
||||
7mrkyO/origin/0/0: 1b05beba6bdd908015fa8e798717f024
|
||||
7mrkyO/translation: d3853b58e9b736eefb0f9bf400daf4d7
|
||||
9PaIxv/message: da95932e7a1465a5d21aa3b855a46dc2
|
||||
9PaIxv/origin/0/0: c0b59968b2b234167c488a05cc38710b
|
||||
9PaIxv/translation: da95932e7a1465a5d21aa3b855a46dc2
|
||||
@@ -1122,9 +1118,6 @@ checksums:
|
||||
rarRW%2F/origin/0/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||
rarRW%2F/origin/1/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||
rarRW%2F/translation: 91553b606a6ebed3534cd2e5635ce004
|
||||
sZixXc/translation: db4e3e372abb1ac510c62b14d544f0f8
|
||||
sZixXc/message: db4e3e372abb1ac510c62b14d544f0f8
|
||||
sZixXc/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
sVBn4K/message: 0d7979a25d290123ed8b8906bf468f1a
|
||||
sVBn4K/origin/0/0: d465da67c0a870d198eb7f313569c137
|
||||
sVBn4K/translation: 0d7979a25d290123ed8b8906bf468f1a
|
||||
@@ -1384,9 +1377,6 @@ checksums:
|
||||
2Py5S%2F/message: fe1183a7439299210d8ab7379b8f4d01
|
||||
2Py5S%2F/origin/0/0: 83911e3eacbad4583e2b1647a784d154
|
||||
2Py5S%2F/translation: fe1183a7439299210d8ab7379b8f4d01
|
||||
VOwhhz/message: 613f43526ea128b2749f70878f10008c
|
||||
VOwhhz/origin/0/0: 1b05beba6bdd908015fa8e798717f024
|
||||
VOwhhz/translation: 613f43526ea128b2749f70878f10008c
|
||||
iwr7AP/message: 27c24b56895defecd10b0171b39bc93f
|
||||
iwr7AP/origin/0/0: eb63312c63f6c8d2a5b6520c89012123
|
||||
iwr7AP/translation: 27c24b56895defecd10b0171b39bc93f
|
||||
@@ -1821,9 +1811,6 @@ checksums:
|
||||
Uworke/message: 213d63da450f35dabb3ab0e35e29feed
|
||||
Uworke/origin/0/0: eb63312c63f6c8d2a5b6520c89012123
|
||||
Uworke/translation: 213d63da450f35dabb3ab0e35e29feed
|
||||
nG7mus/translation: 03326832c645f4ddb873a6e7eab8a639
|
||||
nG7mus/message: 03326832c645f4ddb873a6e7eab8a639
|
||||
nG7mus/origin/0/0: 278a40eb45b1219f424703d0abc1d273
|
||||
IrZaAn/message: 1fcebe9ddb46f722a57f195efddc695d
|
||||
IrZaAn/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
IrZaAn/translation: 1fcebe9ddb46f722a57f195efddc695d
|
||||
@@ -1836,9 +1823,6 @@ checksums:
|
||||
vwGkYB/message: 4c30501d085eaccea47af34212bb26a7
|
||||
vwGkYB/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
vwGkYB/translation: 4c30501d085eaccea47af34212bb26a7
|
||||
Xlkxmi/translation: 3251e7239a9b349a86d5785a113cd6b9
|
||||
Xlkxmi/message: 3251e7239a9b349a86d5785a113cd6b9
|
||||
Xlkxmi/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
lpIMne/message: 37ca1f4e0afc9a0b8e9617f767103c92
|
||||
lpIMne/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
lpIMne/translation: 37ca1f4e0afc9a0b8e9617f767103c92
|
||||
@@ -1976,9 +1960,8 @@ checksums:
|
||||
fuwKpE/origin/1/0: fd0e66cef8d46e96bcf3143a12f9b6db
|
||||
fuwKpE/origin/2/0: fc0c18a095a68277a0f90a115942683b
|
||||
fuwKpE/origin/3/0: 1b05beba6bdd908015fa8e798717f024
|
||||
fuwKpE/origin/4/0: 1b05beba6bdd908015fa8e798717f024
|
||||
fuwKpE/origin/5/0: 9c8b544f5db130cd7c5eda9064ba3957
|
||||
fuwKpE/origin/6/0: faa8a2576972b4eb31565d8ea6098f43
|
||||
fuwKpE/origin/4/0: 9c8b544f5db130cd7c5eda9064ba3957
|
||||
fuwKpE/origin/5/0: faa8a2576972b4eb31565d8ea6098f43
|
||||
fuwKpE/translation: 346a18a54564881c888b95873d03df44
|
||||
nYNMZZ/message: d5a8a1b38eaf02d02cd6ac2211b42a92
|
||||
nYNMZZ/origin/0/0: 97bd206a05414e2a571020d64e166093
|
||||
@@ -2196,20 +2179,11 @@ checksums:
|
||||
v3YoMA/message: 3fff865dc00435f82896fc302ea45630
|
||||
v3YoMA/origin/0/0: eb63312c63f6c8d2a5b6520c89012123
|
||||
v3YoMA/translation: 3fff865dc00435f82896fc302ea45630
|
||||
GXGbXi/translation: 8686cb61f9bd3cd7ed100cc3af819458
|
||||
GXGbXi/message: 8686cb61f9bd3cd7ed100cc3af819458
|
||||
GXGbXi/origin/0/0: 627b72cd19a7154ae1c28cbd7ca0c730
|
||||
8AbRER/message: 3cb81c4829857556f5d117c9a23f7bcc
|
||||
8AbRER/origin/0/0: 81b173297e9c022d9ebde5f7018c95f9
|
||||
8AbRER/origin/1/0: 0eeeb7e68164ff118040918f1ef00a7a
|
||||
8AbRER/origin/2/0: 2201bf679c663a732d7f1b3c3ce3897f
|
||||
8AbRER/translation: 3cb81c4829857556f5d117c9a23f7bcc
|
||||
2gHjVM/translation: 873c4eb14a7e32e7fd7793047b6028a1
|
||||
2gHjVM/message: 873c4eb14a7e32e7fd7793047b6028a1
|
||||
2gHjVM/origin/0/0: 627b72cd19a7154ae1c28cbd7ca0c730
|
||||
2gHjVM/origin/1/0: 627b72cd19a7154ae1c28cbd7ca0c730
|
||||
2gHjVM/origin/2/0: 0627e0040ca4939c9a57349e98c51797
|
||||
2gHjVM/origin/3/0: 0627e0040ca4939c9a57349e98c51797
|
||||
Eit43O/message: b5d9a1edd988f455041aee9fa7fb3d63
|
||||
Eit43O/origin/0/0: 1d6b5f88cdad160a67842f6b65387448
|
||||
Eit43O/translation: b5d9a1edd988f455041aee9fa7fb3d63
|
||||
@@ -2369,14 +2343,6 @@ checksums:
|
||||
NnH3pK/message: 82a46f197779af4dde92e7e5f9336ccf
|
||||
NnH3pK/origin/0/0: dc1a240d2d0cccb102c67ca311d4e457
|
||||
NnH3pK/translation: 82a46f197779af4dde92e7e5f9336ccf
|
||||
InJcdo/message: 1b2364c95fd318d99cc502745beac94a
|
||||
InJcdo/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
InJcdo/origin/1/0: dc1a240d2d0cccb102c67ca311d4e457
|
||||
InJcdo/translation: 1b2364c95fd318d99cc502745beac94a
|
||||
zDNL2V/message: 6e053a87e63372e903c16a06de25c9a3
|
||||
zDNL2V/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
zDNL2V/origin/1/0: dc1a240d2d0cccb102c67ca311d4e457
|
||||
zDNL2V/translation: 6e053a87e63372e903c16a06de25c9a3
|
||||
itgYbC/message: efe14181bc517316e3ab3258d72d2ff9
|
||||
itgYbC/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
itgYbC/origin/1/0: dc1a240d2d0cccb102c67ca311d4e457
|
||||
@@ -2471,9 +2437,6 @@ checksums:
|
||||
kp6L3T/message: b7eadb89c615874f416d9658d0428c4c
|
||||
kp6L3T/origin/0/0: 30791e26a172d47d3cb0693e82679246
|
||||
kp6L3T/translation: b7eadb89c615874f416d9658d0428c4c
|
||||
pEb95p/message: 1d4c2a0ec7e4c707a4470fa4262b495d
|
||||
pEb95p/origin/0/0: 1b05beba6bdd908015fa8e798717f024
|
||||
pEb95p/translation: 1d4c2a0ec7e4c707a4470fa4262b495d
|
||||
MHrjPM/message: 344e64395eaff6822a57d18623853e1a
|
||||
MHrjPM/origin/0/0: a50c4fbde8da6e0a77c4e0aef0b44dea
|
||||
MHrjPM/translation: 344e64395eaff6822a57d18623853e1a
|
||||
@@ -2521,9 +2484,6 @@ checksums:
|
||||
LeM5RY/message: dfeac280858332082ad34d2623a59863
|
||||
LeM5RY/origin/0/0: 0dccc39d0debbf3e089cb6d292de762b
|
||||
LeM5RY/translation: dfeac280858332082ad34d2623a59863
|
||||
5MPY04/message: 661f2e21a85fbe1281b141a8041c8778
|
||||
5MPY04/origin/0/0: 1b05beba6bdd908015fa8e798717f024
|
||||
5MPY04/translation: 661f2e21a85fbe1281b141a8041c8778
|
||||
W1ewR0/message: ddcac5d14d48358b043a9487b42eec16
|
||||
W1ewR0/origin/0/0: fc0c18a095a68277a0f90a115942683b
|
||||
W1ewR0/origin/1/0: 1b05beba6bdd908015fa8e798717f024
|
||||
@@ -2543,9 +2503,6 @@ checksums:
|
||||
YcyP2z/origin/0/0: 3161dd30737e7d849d4ccc30a28bada9
|
||||
YcyP2z/origin/1/0: 3161dd30737e7d849d4ccc30a28bada9
|
||||
YcyP2z/translation: 7495f1434c9188849bffd015811d5337
|
||||
c1vOQR/message: 640ab5162eed616a7235d68376a016ed
|
||||
c1vOQR/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
c1vOQR/translation: 640ab5162eed616a7235d68376a016ed
|
||||
MxQXhL/message: c1c949477e121d73ed6683eddf9cd874
|
||||
MxQXhL/origin/0/0: ff4a160eca5f8da4f075fd1dd6061fa6
|
||||
MxQXhL/origin/1/0: 69d8634b177fdf937764b406fd477547
|
||||
@@ -2565,9 +2522,6 @@ checksums:
|
||||
2QGEbi/message: 550198b2c87f06726a843c79c1026ed9
|
||||
2QGEbi/origin/0/0: 4b4f55c033add8db69178563832227c6
|
||||
2QGEbi/translation: 550198b2c87f06726a843c79c1026ed9
|
||||
23nvb2/message: b9dedce59b5594ee2a88bf5d55d6dfac
|
||||
23nvb2/origin/0/0: a1fde3fcce608870830f168f027727ff
|
||||
23nvb2/translation: b9dedce59b5594ee2a88bf5d55d6dfac
|
||||
Oo4E6p/message: af985cf72c47df76e2f2139a427d9948
|
||||
Oo4E6p/origin/0/0: 97bd206a05414e2a571020d64e166093
|
||||
Oo4E6p/translation: af985cf72c47df76e2f2139a427d9948
|
||||
@@ -2589,10 +2543,6 @@ checksums:
|
||||
Q60WUZ/message: 4284c33aed2f2c5e004ed0a7d7d9bf87
|
||||
Q60WUZ/origin/0/0: 69d8634b177fdf937764b406fd477547
|
||||
Q60WUZ/translation: 4284c33aed2f2c5e004ed0a7d7d9bf87
|
||||
KNK33q/message: a606d59661b59b5e2e9ab58e8cbc143b
|
||||
KNK33q/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
KNK33q/origin/1/0: dc1a240d2d0cccb102c67ca311d4e457
|
||||
KNK33q/translation: a606d59661b59b5e2e9ab58e8cbc143b
|
||||
T7Mywq/message: 62899897d7bffcb1df3af77d460f0881
|
||||
T7Mywq/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
T7Mywq/translation: 62899897d7bffcb1df3af77d460f0881
|
||||
@@ -2635,9 +2585,6 @@ checksums:
|
||||
TFv5tM/message: 4f2240aeff6f7275feb33ca3f608e48c
|
||||
TFv5tM/origin/0/0: 7493592314bc3b96ad96127a949ba1ba
|
||||
TFv5tM/translation: 4f2240aeff6f7275feb33ca3f608e48c
|
||||
V1o9Jo/message: 7b212f1c2fdc370974f859b08349b0c6
|
||||
V1o9Jo/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
V1o9Jo/translation: 7b212f1c2fdc370974f859b08349b0c6
|
||||
It4%2FFS/message: ae1527c2765592f13980acb66997e570
|
||||
It4%2FFS/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
It4%2FFS/translation: ae1527c2765592f13980acb66997e570
|
||||
@@ -2802,15 +2749,9 @@ checksums:
|
||||
9y1RcT/message: 2dfa121e0ff1914e08068308a81973c0
|
||||
9y1RcT/origin/0/0: d77eb1f90f2fa86a55181629d88d237a
|
||||
9y1RcT/translation: 2dfa121e0ff1914e08068308a81973c0
|
||||
an6ayw/message: 2d39f6440ad379e417193dbfaa265b5f
|
||||
an6ayw/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
an6ayw/translation: 2d39f6440ad379e417193dbfaa265b5f
|
||||
GdWB%2BV/message: 6a15a9b926ecd2c91454e9da19c6049e
|
||||
GdWB%2BV/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
GdWB%2BV/translation: 6a15a9b926ecd2c91454e9da19c6049e
|
||||
LnaC5y/message: 229d2a9159e17f243cf317b9bd7d471c
|
||||
LnaC5y/origin/0/0: a1fde3fcce608870830f168f027727ff
|
||||
LnaC5y/translation: 229d2a9159e17f243cf317b9bd7d471c
|
||||
2X4ecw/message: fcefd247ec76a372002d2cffac3c5b0f
|
||||
2X4ecw/origin/0/0: a1fde3fcce608870830f168f027727ff
|
||||
2X4ecw/translation: fcefd247ec76a372002d2cffac3c5b0f
|
||||
@@ -2824,9 +2765,6 @@ checksums:
|
||||
8iP9oQ/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
8iP9oQ/origin/1/0: dc1a240d2d0cccb102c67ca311d4e457
|
||||
8iP9oQ/translation: 5c07446c838d07572c6b40621507e951
|
||||
kxZ7LS/message: 41ebcdff41ce85329915754faf7140c0
|
||||
kxZ7LS/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
kxZ7LS/translation: 41ebcdff41ce85329915754faf7140c0
|
||||
3d54Wj/message: d67dc42810694fd1344a9a9545aca1e7
|
||||
3d54Wj/origin/0/0: f64cd62b620f454998523af2a4330278
|
||||
3d54Wj/translation: d67dc42810694fd1344a9a9545aca1e7
|
||||
@@ -2970,18 +2908,12 @@ checksums:
|
||||
MdN5zD/message: e2e816f2b7a13b1056d79e7f25088664
|
||||
MdN5zD/origin/0/0: 0dccc39d0debbf3e089cb6d292de762b
|
||||
MdN5zD/translation: e2e816f2b7a13b1056d79e7f25088664
|
||||
ZhQoZn/translation: b05a1191bf048d76e7d6c1c3e76ce1fd
|
||||
ZhQoZn/message: b05a1191bf048d76e7d6c1c3e76ce1fd
|
||||
ZhQoZn/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
2SePRT/message: 257b840726f972f384243a72767f880f
|
||||
2SePRT/origin/0/0: 6cda8b872e4902cbc0191d9375adf4ef
|
||||
2SePRT/translation: 257b840726f972f384243a72767f880f
|
||||
uOqaMC/message: 24fc6cdc8740f37a83df85f582f03293
|
||||
uOqaMC/origin/0/0: 6cda8b872e4902cbc0191d9375adf4ef
|
||||
uOqaMC/translation: 24fc6cdc8740f37a83df85f582f03293
|
||||
8Zjc7q/translation: 65609a209e74f230563a7c8d7258a83c
|
||||
8Zjc7q/message: 65609a209e74f230563a7c8d7258a83c
|
||||
8Zjc7q/origin/0/0: 278a40eb45b1219f424703d0abc1d273
|
||||
GoDLB9/message: 8c8d944e07388c5877effdb2c2803dcf
|
||||
GoDLB9/origin/0/0: 5c60161e173f5eae9276d8e4c70b4ebb
|
||||
GoDLB9/translation: 8c8d944e07388c5877effdb2c2803dcf
|
||||
@@ -3009,9 +2941,6 @@ checksums:
|
||||
Ozt2vv/message: 8f730f68d52b7efa727aa0784282ebcb
|
||||
Ozt2vv/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
Ozt2vv/translation: 8f730f68d52b7efa727aa0784282ebcb
|
||||
EuK5ez/translation: d262a1ba9ebeea549d982f9cf85a6c18
|
||||
EuK5ez/message: d262a1ba9ebeea549d982f9cf85a6c18
|
||||
EuK5ez/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
"%2FtOdd2/message": 099e1780348cd7bf617721344371a430
|
||||
"%2FtOdd2/origin/0/0": 03c00909b41be01231cd3e843c8ee44e
|
||||
"%2FtOdd2/translation": 099e1780348cd7bf617721344371a430
|
||||
|
||||
@@ -33,7 +33,6 @@ type SearchResult =
|
||||
boardPublicId: string;
|
||||
boardName: string;
|
||||
listName: string;
|
||||
cardNumber: number | null;
|
||||
updatedAt: Date | null;
|
||||
createdAt: Date;
|
||||
type: "card";
|
||||
@@ -160,17 +159,8 @@ export default function CommandPallette({
|
||||
)}
|
||||
</div>
|
||||
<div className="min-w-0 flex-1 text-left">
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="truncate text-sm font-bold text-light-900 dark:text-dark-900">
|
||||
{result.title}
|
||||
</div>
|
||||
{result.type === "card" &&
|
||||
result.cardNumber != null &&
|
||||
workspace.cardPrefix && (
|
||||
<span className="flex-shrink-0 text-xs text-light-600 dark:text-dark-600">
|
||||
{workspace.cardPrefix}-{result.cardNumber}
|
||||
</span>
|
||||
)}
|
||||
<div className="truncate text-sm font-bold text-light-900 dark:text-dark-900">
|
||||
{result.title}
|
||||
</div>
|
||||
{result.type === "card" && (
|
||||
<div className="truncate text-xs text-light-700 dark:text-dark-700">
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { useRouter } from "next/navigation";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { env } from "next-runtime-env";
|
||||
import { useTheme } from "next-themes";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { env } from "next-runtime-env";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import {
|
||||
TbLayoutSidebarLeftCollapse,
|
||||
@@ -16,9 +15,6 @@ import { useClickOutside } from "~/hooks/useClickOutside";
|
||||
import { useModal } from "~/providers/modal";
|
||||
import { useWorkspace, WorkspaceProvider } from "~/providers/workspace";
|
||||
import { api } from "~/utils/api";
|
||||
import { ChangePasswordFormConfirmation } from "~/views/settings/components/ChangePasswordConfirmation";
|
||||
import Button from "./Button";
|
||||
import Modal from "./modal";
|
||||
import SideNavigation from "./SideNavigation";
|
||||
|
||||
interface DashboardProps {
|
||||
@@ -47,7 +43,7 @@ export default function Dashboard({
|
||||
hasRightPanel = false,
|
||||
}: DashboardProps) {
|
||||
const { resolvedTheme } = useTheme();
|
||||
const { openModal, closeModal, modalContentType } = useModal();
|
||||
const { openModal } = useModal();
|
||||
const { availableWorkspaces, hasLoaded } = useWorkspace();
|
||||
const router = useRouter();
|
||||
|
||||
@@ -106,32 +102,13 @@ export default function Dashboard({
|
||||
useEffect(() => {
|
||||
if (hasLoaded && availableWorkspaces.length === 0) {
|
||||
if (env("NEXT_PUBLIC_KAN_ENV") === "cloud") {
|
||||
router.push(
|
||||
`/onboarding/select-plan?returnUrl=${encodeURIComponent(window.location.pathname)}`,
|
||||
);
|
||||
router.push(`/onboarding/select-plan?returnUrl=${encodeURIComponent(window.location.pathname)}`);
|
||||
} else {
|
||||
openModal("NEW_WORKSPACE", undefined, undefined, false);
|
||||
}
|
||||
}
|
||||
}, [hasLoaded, availableWorkspaces.length, openModal, router]);
|
||||
|
||||
useEffect(() => {
|
||||
const isCredentialsEnabled =
|
||||
env("NEXT_PUBLIC_ALLOW_CREDENTIALS")?.toLowerCase() === "true";
|
||||
|
||||
if (
|
||||
!userLoading &&
|
||||
user &&
|
||||
isCredentialsEnabled &&
|
||||
user.hasMagicLinkAccount &&
|
||||
!user.hasPassword &&
|
||||
!sessionStorage.getItem("set_password_prompted")
|
||||
) {
|
||||
sessionStorage.setItem("set_password_prompted", "1");
|
||||
openModal("SET_PASSWORD_PROMPT");
|
||||
}
|
||||
}, [user, userLoading, openModal]);
|
||||
|
||||
const isDarkMode = resolvedTheme === "dark";
|
||||
|
||||
return (
|
||||
@@ -226,30 +203,6 @@ export default function Dashboard({
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Modal
|
||||
modalSize="sm"
|
||||
isVisible={modalContentType === "SET_PASSWORD_PROMPT"}
|
||||
>
|
||||
{user?.hasPassword ? (
|
||||
<div className="p-5">
|
||||
<h2 className="pb-4 text-base font-medium dark:text-white">{t`Password already set`}</h2>
|
||||
<p className="mb-6 text-sm text-light-900">
|
||||
{t`Your account already has a password. You can change it from your account settings.`}
|
||||
</p>
|
||||
<Button
|
||||
variant="secondary"
|
||||
onClick={closeModal}
|
||||
fullWidth
|
||||
size="lg"
|
||||
>
|
||||
{t`Close`}
|
||||
</Button>
|
||||
</div>
|
||||
) : (
|
||||
<ChangePasswordFormConfirmation hasPassword={false} />
|
||||
)}
|
||||
</Modal>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} Labels"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Aktiv"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Aktivität"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Checkliste hinzufügen"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "Möchten Sie den Webhook \"{webhookName}\" wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Karte nicht gefunden"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Kartentitel"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "Karten-URL in Zwischenablage kopiert"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Passwort ändern"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Bestätigen Sie Ihr neues Passwort"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Karten-Link kopieren"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Mitglieder kopieren"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Ticket-ID kopieren"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Weitere erstellen"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Karte erstellen"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Neues Label erstellen"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Webhook erstellen"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Erstellt"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Löschen"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Karte löschen"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Webhook löschen"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Fälligkeitsdatum"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Webhook bearbeiten"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Neues Secret eingeben, um zu aktualisieren"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Geben Sie Ihr aktuelles Passwort ein"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Geben Sie Ihr aktuelles Passwort ein und wählen Sie ein neues sicheres Passwort."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Geben Sie Ihr neues Passwort ein"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Fehler beim Ändern des Passworts"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Fehler beim Einladen des Mitglieds"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Fehler beim Festlegen des Passworts"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "Ereignisse"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Webhook konnte nicht erstellt werden"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook konnte nicht gelöscht werden"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Webhook konnte nicht getestet werden"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Webhook konnte nicht aktualisiert werden"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "HMAC-Secret zur Signaturverifizierung"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Ich bestätige, dass alle Workspace-Daten dauerhaft gelöscht werden und möchte fortfahren."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID kopiert"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "in"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Labels"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Weitere Aktivitäten laden"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Wird geladen ..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Mein Webhook"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Name"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Neue Karte"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Neues Passwort ist erforderlich"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "Neues Passwort muss sich vom aktuellen Passwort unterscheiden"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Neuer Webhook"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "Keine Ergebnisse für \"{debouncedQuery}\" gefunden."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "Keine Webhooks konfiguriert. Fügen Sie einen Webhook hinzu, um Benachrichtigungen zu erhalten."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Teilzeit"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Passwort bereits festgelegt"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Passwort geändert"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "Passwort muss mindestens 8 Zeichen lang sein"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Passwort festgelegt"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "Passwörter stimmen nicht überein"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Bitte bestätigen Sie Ihr neues Passwort"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Änderungen speichern"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Boards und Karten durchsuchen..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Secret (optional)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Test senden"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Senior"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Legen Sie ein Passwort fest, um die passwortbasierte Anmeldung zu aktivieren."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Fälligkeitsdatum festlegen"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Passwort festlegen"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Status"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Test"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Test fehlgeschlagen"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Test gesendet"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Test-Webhook erfolgreich gesendet!"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "Das eingegebene aktuelle Passwort ist falsch."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Dieser Workspace-Benutzername ist bereits vergeben"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "Ticket-ID in die Zwischenablage kopiert"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "Überschreibungen konnten nicht gelöscht werden"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "ID konnte nicht kopiert werden"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "Karte konnte nicht erstellt werden"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "Vorlage konnte nicht erstellt werden"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook konnte nicht erstellt werden"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "Kommentar konnte nicht gelöscht werden"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "Webhook konnte nicht gelöscht werden"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "Checkout kann nicht gestartet werden"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "Webhook konnte nicht getestet werden"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "Rolle konnte nicht aktualisiert werden"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "Webhook konnte nicht aktualisiert werden"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Wird verwendet, um Webhook-Payloads zur Verifizierung zu signieren. Leer lassen, um das bestehende Secret beizubehalten."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "Wir fangen gerade erst an. "
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Webhook erstellt"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Webhook erfolgreich erstellt"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook gelöscht"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Webhook erfolgreich gelöscht"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Webhook-Test fehlgeschlagen"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Webhook aktualisiert"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook erfolgreich aktualisiert"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Sie sind dabei, Ihr Passwort zu ändern."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Sie müssen Administrator sein, um Workspace-Berechtigungen zu verwalten."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "Sie haben sich ohne Passwort angemeldet. Legen Sie ein Passwort fest, um die passwortbasierte Anmeldung zu aktivieren."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Sie wurden eingeladen, einem Workspace beizutreten."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "Ihr Konto hat bereits ein Passwort. Sie können es in Ihren Kontoeinstellungen ändern."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "Ihr Passwort wurde geändert."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "Ihr Passwort wurde festgelegt."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} etiquetas"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Activo"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Actividad"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Añadir lista de verificación"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Se produjo un error inesperado. Por favor, inténtalo de nuevo más tarde."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "¿Está seguro de que desea eliminar el webhook \"{webhookName}\"? Esta acción no se puede deshacer."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Tarjeta no encontrada"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Título de la tarjeta"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "URL de la tarjeta copiada al portapapeles"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Cambiar contraseña"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Confirma tu nueva contraseña"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Copiar enlace de la tarjeta"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Copiar miembros"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Copiar ID del ticket"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Crear otro"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Crear tarjeta"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Crear nueva etiqueta"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Crear webhook"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Creado"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Eliminar"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Eliminar tarjeta"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Eliminar webhook"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Fecha de vencimiento"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Editar webhook"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Ingrese el nuevo secreto para actualizar"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Introduce tu contraseña actual"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Introduce tu contraseña actual y elige una nueva contraseña segura."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Introduce tu nueva contraseña"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Error al cambiar la contraseña"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Error al invitar al miembro"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Error al Establecer la Contraseña"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "Eventos"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Error al crear el webhook"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Error al eliminar el webhook"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Error al probar el webhook"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Error al actualizar el webhook"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Secreto HMAC para verificación de firma"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Reconozco que todos los datos del espacio de trabajo se eliminarán permanentemente y quiero continuar."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID copiado"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "en"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Etiquetas"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Cargar más actividades"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Cargando..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Mi webhook"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Nombre"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Nueva tarjeta"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Se requiere una nueva contraseña"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "La nueva contraseña debe ser diferente de la contraseña actual"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Nuevo webhook"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "No se encontraron resultados para \"{debouncedQuery}\"."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "No hay webhooks configurados. Agregue un webhook para recibir notificaciones."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Tiempo parcial"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Contraseña ya establecida"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Contraseña cambiada"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "La contraseña debe tener al menos 8 caracteres"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Contraseña Establecida"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "Las contraseñas no coinciden"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Por favor, confirma tu nueva contraseña"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Guardar cambios"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Buscar tableros y tarjetas..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Secreto (opcional)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Enviar prueba"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Senior"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Establece una contraseña para habilitar el inicio de sesión con contraseña."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Establecer fecha de vencimiento"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Establecer Contraseña"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Estado"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Prueba"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Prueba fallida"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Prueba enviada"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "¡Webhook de prueba enviado correctamente!"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "La contraseña actual que ingresaste es incorrecta."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Este nombre de usuario de espacio de trabajo ya está en uso"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "ID del ticket copiado al portapapeles"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "No se pudieron borrar las anulaciones"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "No se pudo copiar el ID"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "No se pudo crear la tarjeta"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "No se pudo crear la plantilla"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "No se pudo crear el webhook"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "No se pudo eliminar el comentario"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "No se pudo eliminar el webhook"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "No se pudo iniciar el proceso de pago"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "No se pudo probar el webhook"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "No se pudo actualizar el rol"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "No se pudo actualizar el webhook"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Se utiliza para firmar las cargas útiles del webhook para verificación. Dejar en blanco para mantener el secreto existente."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "Apenas estamos empezando."
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Webhook creado"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Webhook creado correctamente"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook eliminado"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Webhook eliminado correctamente"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "La prueba del webhook falló"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Webhook actualizado"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook actualizado correctamente"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Estás a punto de cambiar tu contraseña."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Necesitas ser administrador para gestionar los permisos del espacio de trabajo."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "Iniciaste sesión sin contraseña. Establece una contraseña para habilitar el inicio de sesión con contraseña."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Has sido invitado a unirte a un espacio de trabajo."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "Tu cuenta ya tiene una contraseña. Puedes cambiarla desde la configuración de tu cuenta."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "Tu contraseña ha sido cambiada."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "Tu contraseña ha sido establecida."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} étiquettes"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Actif"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Activité"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Ajouter une checklist"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Une erreur inattendue s'est produite. Veuillez réessayer ultérieurement."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "Êtes-vous sûr de vouloir supprimer le webhook \"{webhookName}\" ? Cette action est irréversible."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Carte introuvable"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Titre de la carte"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "URL de la carte copiée dans le presse-papiers"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Changer le mot de passe"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Confirmez votre nouveau mot de passe"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Copier le lien de la carte"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Copier les membres"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Copier l'ID du ticket"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Créer un autre"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Créer une carte"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Créer une nouvelle étiquette"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Créer un webhook"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Créé"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Supprimer"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Supprimer la carte"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Supprimer le webhook"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Date d'échéance"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Modifier le webhook"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Saisissez un nouveau secret pour mettre à jour"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Saisissez votre mot de passe actuel"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Saisissez votre mot de passe actuel et choisissez un nouveau mot de passe sécurisé."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Saisissez votre nouveau mot de passe"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Erreur lors du changement de mot de passe"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Erreur lors de l'invitation du membre"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Erreur lors de la définition du mot de passe"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "Événements"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Échec de la création du webhook"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Échec de la suppression du webhook"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Échec du test du webhook"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Échec de la mise à jour du webhook"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Secret HMAC pour la vérification de signature"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Je reconnais que toutes les données de l'espace de travail seront définitivement supprimées et je souhaite continuer."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID copié"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "dans"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Étiquettes"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Charger plus d'activités"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Chargement..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Mon webhook"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Nom"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Nouvelle carte"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Le nouveau mot de passe est requis"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "Le nouveau mot de passe doit être différent du mot de passe actuel"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Nouveau webhook"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "Aucun résultat trouvé pour « {debouncedQuery} »."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "Aucun webhook configuré. Ajoutez un webhook pour recevoir des notifications."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Temps partiel"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Mot de passe déjà défini"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Mot de passe modifié"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "Le mot de passe doit contenir au moins 8 caractères"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Mot de passe défini"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "Les mots de passe ne correspondent pas"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Veuillez confirmer votre nouveau mot de passe"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Enregistrer les modifications"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Rechercher des tableaux et des cartes..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Secret (facultatif)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Envoyer un test"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Senior"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Définissez un mot de passe pour activer la connexion par mot de passe."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Définir la date d'échéance"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Définir un mot de passe"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Statut"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Tester"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Test échoué"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Test envoyé"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Webhook de test envoyé avec succès !"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "Le mot de passe actuel que vous avez saisi est incorrect."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Ce nom d'utilisateur d'espace de travail est déjà pris"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "ID du ticket copié dans le presse-papiers"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "Impossible d'effacer les remplacements"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "Impossible de copier l'ID"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "Impossible de créer la carte"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "Impossible de créer le modèle"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Impossible de créer le webhook"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "Impossible de supprimer le commentaire"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "Impossible de supprimer le webhook"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "Impossible de démarrer le paiement"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "Impossible de tester le webhook"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "Impossible de mettre à jour le rôle"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "Impossible de mettre à jour le webhook"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Utilisé pour signer les charges utiles du webhook à des fins de vérification. Laissez vide pour conserver le secret existant."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "Nous ne faisons que commencer."
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Webhook créé"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Webhook créé avec succès"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook supprimé"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Webhook supprimé avec succès"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Le test du webhook a échoué"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Webhook mis à jour"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook mis à jour avec succès"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Vous êtes sur le point de modifier votre mot de passe."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Vous devez être administrateur pour gérer les permissions de l'espace de travail."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "Vous vous êtes connecté sans mot de passe. Définissez un mot de passe pour activer la connexion par mot de passe."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Vous avez été invité à rejoindre un espace de travail."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "Votre compte possède déjà un mot de passe. Vous pouvez le modifier depuis les paramètres de votre compte."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "Votre mot de passe a été modifié."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "Votre mot de passe a été défini."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} etichette"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Attivo"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Attività"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Aggiungi checklist"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Si è verificato un errore imprevisto. Riprova più tardi."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "Sei sicuro di voler eliminare il webhook \"{webhookName}\"? Questa azione non può essere annullata."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Card non trovata"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Titolo della card"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "URL della card copiato negli appunti"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Cambia password"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Conferma la tua nuova password"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Copia link card"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Copia membri"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Copia ID ticket"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Crea un altro"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Crea card"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Crea nuova etichetta"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Crea webhook"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Creato"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Elimina"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Elimina card"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Elimina webhook"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Data di scadenza"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Modifica webhook"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Inserisci un nuovo secret per aggiornare"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Inserisci la tua password attuale"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Inserisci la tua password attuale e scegli una nuova password sicura."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Inserisci la tua nuova password"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Errore durante la modifica della password"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Errore durante l'invito del membro"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Errore nell'impostazione della password"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "Eventi"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Impossibile creare il webhook"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Impossibile eliminare il webhook"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Impossibile testare il webhook"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Impossibile aggiornare il webhook"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Secret HMAC per la verifica della firma"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Riconosco che tutti i dati del workspace verranno eliminati definitivamente e voglio procedere."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID copiato"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "in"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Etichette"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Carica altre attività"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Caricamento..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Il mio webhook"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Nome"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Nuova card"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "La nuova password è obbligatoria"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "La nuova password deve essere diversa da quella attuale"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Nuovo webhook"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "Nessun risultato trovato per \"{debouncedQuery}\"."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "Nessun webhook configurato. Aggiungi un webhook per ricevere notifiche."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Part-time"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Password già impostata"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Password modificata"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "La password deve contenere almeno 8 caratteri"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Password impostata"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "Le password non corrispondono"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Conferma la tua nuova password"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Salva modifiche"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Cerca board e card..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Secret (facoltativo)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Invia test"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Senior"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Imposta una password per abilitare l'accesso tramite password."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Imposta scadenza"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Imposta password"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Stato"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Test"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Test fallito"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Test inviato"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Webhook di test inviato con successo!"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "La password attuale inserita non è corretta."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Questo nome utente dello workspace è già stato utilizzato"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "ID ticket copiato negli appunti"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "Impossibile cancellare le sostituzioni"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "Impossibile copiare l'ID"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "Impossibile creare la card"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "Impossibile creare il template"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Impossibile creare il webhook"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "Impossibile eliminare il commento"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "Impossibile eliminare il webhook"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "Impossibile avviare il checkout"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "Impossibile testare il webhook"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "Impossibile aggiornare il ruolo"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "Impossibile aggiornare il webhook"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Utilizzato per firmare i payload dei webhook per la verifica. Lasciare vuoto per mantenere il segreto esistente."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "Siamo solo all'inizio."
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Webhook creato"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Webhook creato con successo"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook eliminato"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Webhook eliminato con successo"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Test del webhook non riuscito"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Webhook aggiornato"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook aggiornato con successo"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Stai per modificare la tua password."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Devi essere un amministratore per gestire i permessi del workspace."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "Hai effettuato l'accesso senza una password. Imposta una password per abilitare l'accesso tramite password."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Sei stato invitato a unirti a un workspace."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "Il tuo account ha già una password. Puoi modificarla dalle impostazioni del tuo account."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "La tua password è stata modificata."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "La tua password è stata impostata."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} labels"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Actief"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Activiteit"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Checklist toevoegen"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Er is een onverwachte fout opgetreden. Probeer het later opnieuw."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "Weet je zeker dat je de webhook \"{webhookName}\" wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Kaart niet gevonden"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Kaarttitel"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "Kaart-URL gekopieerd naar klembord"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Wachtwoord wijzigen"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Bevestig je nieuwe wachtwoord"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Kopieer kaartlink"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Leden kopiëren"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Ticket-ID kopiëren"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Maak nog een"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Maak kaart"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Maak nieuw label"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Webhook aanmaken"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Aangemaakt"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Verwijderen"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Kaart verwijderen"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Webhook verwijderen"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Vervaldatum"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Webhook bewerken"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Voer nieuw geheim in om bij te werken"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Voer je huidige wachtwoord in"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Voer je huidige wachtwoord in en kies een nieuw veilig wachtwoord."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Voer je nieuwe wachtwoord in"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Fout bij wijzigen wachtwoord"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Fout bij uitnodigen lid"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Fout bij instellen wachtwoord"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "Gebeurtenissen"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Webhook aanmaken mislukt"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook verwijderen mislukt"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Webhook testen mislukt"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Webhook bijwerken mislukt"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "HMAC-geheim voor handtekeningverificatie"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Ik bevestig dat alle werkruimtegegevens permanent worden verwijderd en wil doorgaan."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID gekopieerd"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "in"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Labels"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Meer activiteiten laden"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Laden..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Mijn webhook"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Naam"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Nieuwe kaart"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Nieuw wachtwoord is verplicht"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "Nieuw wachtwoord moet verschillen van het huidige wachtwoord"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Nieuwe webhook"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "Geen resultaten gevonden voor \"{debouncedQuery}\"."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "Geen webhooks geconfigureerd. Voeg een webhook toe om meldingen te ontvangen."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Parttime"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Wachtwoord is al ingesteld"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Wachtwoord gewijzigd"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "Wachtwoord moet minimaal 8 tekens bevatten"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Wachtwoord ingesteld"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "Wachtwoorden komen niet overeen"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Bevestig je nieuwe wachtwoord"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Wijzigingen opslaan"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Zoek borden en kaarten..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Geheim (optioneel)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Test verzenden"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Senior"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Stel een wachtwoord in om inloggen met wachtwoord mogelijk te maken."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Vervaldatum instellen"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Wachtwoord instellen"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Status"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Test"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Test mislukt"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Test verzonden"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Test webhook succesvol verzonden!"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "Het huidige wachtwoord dat je hebt ingevoerd is onjuist."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Deze workspace-gebruikersnaam is al in gebruik"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "Ticket-ID gekopieerd naar klembord"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "Kan overschrijvingen niet wissen"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "Kan ID niet kopiëren"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "Kan kaart niet aanmaken"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "Kan sjabloon niet aanmaken"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Kan webhook niet aanmaken"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "Kan opmerking niet verwijderen"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "Kan webhook niet verwijderen"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "Kan afrekenen niet starten"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "Kan webhook niet testen"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "Kan rol niet bijwerken"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "Kan webhook niet bijwerken"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Wordt gebruikt om webhook-payloads te ondertekenen voor verificatie. Laat leeg om het bestaande geheim te behouden."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "We zijn net begonnen."
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Webhook aangemaakt"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Webhook succesvol aangemaakt"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook verwijderd"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Webhook succesvol verwijderd"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Webhook-test mislukt"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Webhook bijgewerkt"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook succesvol bijgewerkt"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Je staat op het punt je wachtwoord te wijzigen."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Je moet een beheerder zijn om werkruimte-rechten te beheren."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "U bent ingelogd zonder wachtwoord. Stel een wachtwoord in om inloggen met wachtwoord mogelijk te maken."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Je bent uitgenodigd om lid te worden van een werkruimte."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "Uw account heeft al een wachtwoord. U kunt dit wijzigen via uw accountinstellingen."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "Je wachtwoord is gewijzigd."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "Uw wachtwoord is ingesteld."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} etykiety"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Aktywna"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Aktywność"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Dodaj checklistę"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Wystąpił nieoczekiwany błąd. Spróbuj ponownie później."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "Czy na pewno chcesz usunąć webhook \"{webhookName}\"? Tej operacji nie można cofnąć."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Nie znaleziono karty"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Tytuł karty"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "Adres URL karty skopiowany do schowka"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Zmień hasło"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Potwierdź nowe hasło"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Kopiuj link do karty"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Kopiuj członków"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Skopiuj ID zgłoszenia"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Utwórz kolejną"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Utwórz kartę"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Utwórz nową etykietę"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Utwórz webhook"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Utworzono"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Usuń"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Usuń kartę"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Usuń webhook"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Termin wykonania"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Edytuj webhook"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Wprowadź nowy sekret, aby zaktualizować"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Wprowadź swoje obecne hasło"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Wprowadź swoje obecne hasło i wybierz nowe, bezpieczne hasło."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Wprowadź nowe hasło"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Błąd podczas zmiany hasła"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Błąd podczas zapraszania członka"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Błąd podczas ustawiania hasła"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "Zdarzenia"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Nie udało się utworzyć webhooka"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Nie udało się usunąć webhooka"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Nie udało się przetestować webhooka"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Nie udało się zaktualizować webhooka"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Sekret HMAC do weryfikacji podpisu"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Potwierdzam, że wszystkie dane przestrzeni roboczej zostaną trwale usunięte i chcę kontynuować."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID skopiowane"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "w"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Etykiety"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Załaduj więcej aktywności"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Ładowanie..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Mój webhook"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Nazwa"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Nowa karta"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Wymagane jest nowe hasło"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "Nowe hasło musi się różnić od obecnego"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Nowy webhook"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "Nie znaleziono wyników dla „{debouncedQuery}”."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "Brak skonfigurowanych webhooków. Dodaj webhook, aby otrzymywać powiadomienia."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Niepełny etat"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Hasło już ustawione"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Hasło zostało zmienione"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "Hasło musi mieć co najmniej 8 znaków"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Hasło ustawione"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "Hasła nie są zgodne"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Potwierdź nowe hasło"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Zapisz zmiany"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Wyszukaj tablice i karty..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Sekret (opcjonalnie)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Wyślij test"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Starszy"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Ustaw hasło, aby włączyć logowanie za pomocą hasła."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Ustaw termin"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Ustaw hasło"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Status"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Test"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Test nie powiódł się"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Test wysłany"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Webhook testowy został wysłany pomyślnie!"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "Wprowadzone obecne hasło jest nieprawidłowe."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Ta nazwa użytkownika workspace jest już zajęta"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "ID zgłoszenia skopiowane do schowka"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "Nie można wyczyścić nadpisań"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "Nie udało się skopiować ID"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "Nie można utworzyć karty"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "Nie można utworzyć szablonu"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Nie można utworzyć webhooka"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "Nie można usunąć komentarza"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "Nie można usunąć webhooka"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "Nie można rozpocząć procesu płatności"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "Nie można przetestować webhooka"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "Nie można zaktualizować roli"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "Nie można zaktualizować webhooka"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Służy do podpisywania danych webhook w celu weryfikacji. Pozostaw puste, aby zachować istniejący sekret."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "Dopiero zaczynamy."
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Webhook utworzony"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Webhook został utworzony pomyślnie"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook usunięty"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Webhook został usunięty pomyślnie"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Test webhooka nie powiódł się"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Webhook zaktualizowany"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook został zaktualizowany pomyślnie"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Zaraz zmienisz swoje hasło."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Musisz być administratorem, aby zarządzać uprawnieniami przestrzeni roboczej."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "Zalogowałeś się bez hasła. Ustaw hasło, aby włączyć logowanie za pomocą hasła."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Otrzymałeś zaproszenie do przestrzeni roboczej."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "Twoje konto ma już ustawione hasło. Możesz je zmienić w ustawieniach konta."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "Twoje hasło zostało zmienione."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "Twoje hasło zostało ustawione."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} etiquetas"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Ativo"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Atividade"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Adicionar checklist"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Ocorreu um erro inesperado. Por favor, tente novamente mais tarde."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "Tem certeza de que deseja excluir o webhook \"{webhookName}\"? Esta ação não pode ser desfeita."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Cartão não encontrado"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Título do cartão"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "URL do cartão copiada para a área de transferência"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Alterar senha"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Confirme sua nova senha"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Copiar link do cartão"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Copiar membros"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Copiar ID do ticket"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Criar outro"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Criar cartão"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Criar nova etiqueta"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Criar webhook"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Criado"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Excluir"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Excluir cartão"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Excluir webhook"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Data de vencimento"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Editar webhook"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Digite o novo segredo para atualizar"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Insira sua senha atual"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Insira sua senha atual e escolha uma nova senha segura."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Insira sua nova senha"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Erro ao alterar senha"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Erro ao convidar membro"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Erro ao Definir Senha"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "Eventos"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Falha ao criar webhook"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Falha ao excluir webhook"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Falha ao testar webhook"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Falha ao atualizar webhook"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Segredo HMAC para verificação de assinatura"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Reconheço que todos os dados do workspace serão permanentemente excluídos e desejo prosseguir."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID copiado"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "em"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Etiquetas"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Carregar mais atividades"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Carregando..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Meu webhook"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Nome"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Novo cartão"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "A nova senha é obrigatória"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "A nova senha deve ser diferente da senha atual"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Novo webhook"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "Nenhum resultado encontrado para \"{debouncedQuery}\"."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "Nenhum webhook configurado. Adicione um webhook para receber notificações."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Meio período"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Senha já definida"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Senha alterada"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "A senha deve ter pelo menos 8 caracteres"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Senha Definida"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "As senhas não coincidem"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Confirme sua nova senha"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Salvar alterações"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Pesquisar quadros e cartões..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Segredo (opcional)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Enviar teste"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Sênior"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Defina uma senha para habilitar o login por senha."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Definir data de vencimento"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Definir Senha"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Status"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Testar"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Teste falhou"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Teste enviado"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Webhook de teste enviado com sucesso!"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "A senha atual que você digitou está incorreta."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Este nome de usuário de workspace já está em uso"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "ID do ticket copiado para a área de transferência"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "Não foi possível limpar substituições"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "Não foi possível copiar o ID"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "Não foi possível criar card"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "Não foi possível criar template"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Não foi possível criar o webhook"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "Não foi possível excluir o comentário"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "Não foi possível excluir o webhook"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "Não foi possível iniciar o checkout"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "Não foi possível testar o webhook"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "Não foi possível atualizar a função"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "Não foi possível atualizar o webhook"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Usado para assinar cargas úteis de webhook para verificação. Deixe em branco para manter o segredo existente."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "Estamos apenas começando. "
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Webhook criado"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Webhook criado com sucesso"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Webhook excluído"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Webhook excluído com sucesso"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "O teste do webhook falhou"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Webhook atualizado"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Webhook atualizado com sucesso"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Você está prestes a alterar sua senha."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Você precisa ser um administrador para gerenciar as permissões do workspace."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "Você fez login sem uma senha. Defina uma senha para habilitar o login por senha."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Você foi convidado para entrar em um workspace."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "Sua conta já possui uma senha. Você pode alterá-la nas configurações da sua conta."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "Sua senha foi alterada."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "Sua senha foi definida."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -62,7 +62,7 @@
|
||||
"0": ["labelPublicIds.length"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 462]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 458]],
|
||||
"translation": "{0} метки"
|
||||
},
|
||||
"9x4DAL": {
|
||||
@@ -207,7 +207,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/index.tsx", 26],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 293],
|
||||
["src/views/settings/components/WebhookList.tsx", 106]
|
||||
],
|
||||
"translation": "Активно"
|
||||
@@ -217,8 +217,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 468],
|
||||
["src/views/public/board/CardModal.tsx", 205]
|
||||
["src/views/card/index.tsx", 455],
|
||||
["src/views/public/board/CardModal.tsx", 200]
|
||||
],
|
||||
"translation": "Активность"
|
||||
},
|
||||
@@ -263,7 +263,7 @@
|
||||
"message": "Add checklist",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 96]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 65]],
|
||||
"translation": "Добавить чек-лист"
|
||||
},
|
||||
"ngBZOd": {
|
||||
@@ -552,7 +552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 90]
|
||||
],
|
||||
"translation": "Произошла непредвиденная ошибка. Пожалуйста, попробуйте позже."
|
||||
},
|
||||
@@ -668,7 +668,7 @@
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 69]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 60]
|
||||
],
|
||||
"translation": "Вы уверены, что хотите удалить вебхук \"{webhookName}\"? Это действие невозможно отменить."
|
||||
},
|
||||
@@ -1271,13 +1271,13 @@
|
||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||
["src/views/onboarding/select-plan/index.tsx", 209],
|
||||
["src/views/settings/components/Avatar.tsx", 287],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 168],
|
||||
[
|
||||
"src/views/settings/components/ClearCustomPermissionsConfirmation.tsx",
|
||||
40
|
||||
],
|
||||
["src/views/settings/components/DeleteAccountConfirmation.tsx", 88],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 75],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 66],
|
||||
["src/views/settings/components/DeleteWorkspaceConfirmation.tsx", 98],
|
||||
["src/views/settings/components/UpgradeToProConfirmation.tsx", 108]
|
||||
],
|
||||
@@ -1304,8 +1304,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/card/index.tsx", 376],
|
||||
["src/views/card/index.tsx", 413]
|
||||
["src/views/card/index.tsx", 363],
|
||||
["src/views/card/index.tsx", 400]
|
||||
],
|
||||
"translation": "Карточка не найдена"
|
||||
},
|
||||
@@ -1313,7 +1313,7 @@
|
||||
"message": "Card title",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 328]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 324]],
|
||||
"translation": "Название карточки"
|
||||
},
|
||||
"rQXTmd": {
|
||||
@@ -1322,7 +1322,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 308],
|
||||
["src/views/card/components/Dropdown.tsx", 47],
|
||||
["src/views/card/components/Dropdown.tsx", 44],
|
||||
["src/views/public/board/CardModal.tsx", 38]
|
||||
],
|
||||
"translation": "URL карточки скопирован в буфер обмена"
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
["src/views/settings/AccountSettings.tsx", 98],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 109],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 178]
|
||||
],
|
||||
"translation": "Сменить пароль"
|
||||
},
|
||||
@@ -1462,8 +1462,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/Dashboard.tsx", 246],
|
||||
["src/views/card/index.tsx", 367],
|
||||
["src/views/card/index.tsx", 354],
|
||||
["src/views/members/components/EditMemberPermissionsModal.tsx", 172],
|
||||
["src/views/settings/components/NewApiKeyModal.tsx", 136]
|
||||
],
|
||||
@@ -1582,7 +1581,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 188]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 150]
|
||||
],
|
||||
"translation": "Подтвердите новый пароль"
|
||||
},
|
||||
@@ -1714,7 +1713,7 @@
|
||||
"message": "Copy card link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 80]],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 58]],
|
||||
"translation": "Скопировать ссылку на карточку"
|
||||
},
|
||||
"0utuU6": {
|
||||
@@ -1751,13 +1750,6 @@
|
||||
],
|
||||
"translation": "Копировать участников"
|
||||
},
|
||||
"7mrkyO": {
|
||||
"message": "Copy ticket ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 87]],
|
||||
"translation": "Скопировать ID задачи"
|
||||
},
|
||||
"9PaIxv": {
|
||||
"message": "Core features",
|
||||
"placeholders": {},
|
||||
@@ -1782,7 +1774,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/components/LabelForm.tsx", 213],
|
||||
["src/views/board/components/NewCardForm.tsx", 527],
|
||||
["src/views/board/components/NewCardForm.tsx", 523],
|
||||
["src/views/board/components/NewListForm.tsx", 141]
|
||||
],
|
||||
"translation": "Создать ещё одну"
|
||||
@@ -1798,7 +1790,7 @@
|
||||
"message": "Create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 537]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 533]],
|
||||
"translation": "Создать карточку"
|
||||
},
|
||||
"d33Usy": {
|
||||
@@ -1853,7 +1845,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/board/components/NewCardForm.tsx", 420],
|
||||
["src/views/card/components/LabelSelector.tsx", 101]
|
||||
],
|
||||
"translation": "Создать новую метку"
|
||||
@@ -1879,7 +1871,7 @@
|
||||
"message": "Create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Создать вебхук"
|
||||
},
|
||||
"FdtSNC": {
|
||||
@@ -1896,7 +1888,7 @@
|
||||
"message": "Created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 238]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 236]],
|
||||
"translation": "Создан"
|
||||
},
|
||||
"f8lDFq": {
|
||||
@@ -2062,7 +2054,7 @@
|
||||
["src/views/card/components/DeleteCardConfirmation.tsx", 92],
|
||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 67],
|
||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 83],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 82],
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 73],
|
||||
["src/views/settings/components/WebhookList.tsx", 140]
|
||||
],
|
||||
"translation": "Удалить"
|
||||
@@ -2091,7 +2083,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextMenu.tsx", 74],
|
||||
["src/views/card/components/Dropdown.tsx", 107]
|
||||
["src/views/card/components/Dropdown.tsx", 76]
|
||||
],
|
||||
"translation": "Удалить карточку"
|
||||
},
|
||||
@@ -2121,7 +2113,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 55]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 46]
|
||||
],
|
||||
"translation": "Удалить вебхук"
|
||||
},
|
||||
@@ -2303,7 +2295,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/components/Filters.tsx", 171],
|
||||
["src/views/board/components/NewCardForm.tsx", 479],
|
||||
["src/views/board/components/NewCardForm.tsx", 475],
|
||||
["src/views/card/index.tsx", 153]
|
||||
],
|
||||
"translation": "Срок выполнения"
|
||||
@@ -2412,7 +2404,7 @@
|
||||
"message": "Edit webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Редактировать вебхук"
|
||||
},
|
||||
"klpSmb": {
|
||||
@@ -2514,7 +2506,7 @@
|
||||
"message": "Enter new secret to update",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 258]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Введите новый секретный ключ для обновления"
|
||||
},
|
||||
"fR9laE": {
|
||||
@@ -2522,7 +2514,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 159]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 122]
|
||||
],
|
||||
"translation": "Введите текущий пароль"
|
||||
},
|
||||
@@ -2531,7 +2523,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 146]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 111]
|
||||
],
|
||||
"translation": "Введите текущий пароль и выберите новый надёжный пароль."
|
||||
},
|
||||
@@ -2554,7 +2546,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 174]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 136]
|
||||
],
|
||||
"translation": "Введите новый пароль"
|
||||
},
|
||||
@@ -2591,7 +2583,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 120]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 89]
|
||||
],
|
||||
"translation": "Ошибка при смене пароля"
|
||||
},
|
||||
@@ -2665,15 +2657,6 @@
|
||||
],
|
||||
"translation": "Ошибка при приглашении участника"
|
||||
},
|
||||
"sZixXc": {
|
||||
"message": "Error Setting Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 121]
|
||||
],
|
||||
"translation": "Ошибка установки пароля"
|
||||
},
|
||||
"sVBn4K": {
|
||||
"message": "Error updating display name",
|
||||
"placeholders": {},
|
||||
@@ -2741,8 +2724,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 271],
|
||||
["src/views/settings/components/WebhookList.tsx", 226]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 245],
|
||||
["src/views/settings/components/WebhookList.tsx", 224]
|
||||
],
|
||||
"translation": "События"
|
||||
},
|
||||
@@ -2802,7 +2785,7 @@
|
||||
"message": "Failed to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 119]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 109]],
|
||||
"translation": "Не удалось создать вебхук"
|
||||
},
|
||||
"9YPBHv": {
|
||||
@@ -2810,7 +2793,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 37]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Не удалось удалить вебхук"
|
||||
},
|
||||
@@ -2835,8 +2818,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 164],
|
||||
["src/views/settings/components/WebhookList.tsx", 186]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 143],
|
||||
["src/views/settings/components/WebhookList.tsx", 184]
|
||||
],
|
||||
"translation": "Не удалось протестировать вебхук"
|
||||
},
|
||||
@@ -2844,7 +2827,7 @@
|
||||
"message": "Failed to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 138]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 123]],
|
||||
"translation": "Не удалось обновить вебхук"
|
||||
},
|
||||
"ZL1A+p": {
|
||||
@@ -3222,7 +3205,7 @@
|
||||
"message": "HMAC secret for signature verification",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 259]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 234]],
|
||||
"translation": "Секретный ключ HMAC для проверки подписи"
|
||||
},
|
||||
"LrcnbT": {
|
||||
@@ -3292,13 +3275,6 @@
|
||||
],
|
||||
"translation": "Я подтверждаю, что все данные рабочего пространства будут безвозвратно удалены, и хочу продолжить."
|
||||
},
|
||||
"VOwhhz": {
|
||||
"message": "ID copied",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 64]],
|
||||
"translation": "ID скопирован"
|
||||
},
|
||||
"iwr7AP": {
|
||||
"message": "Ideas",
|
||||
"placeholders": {},
|
||||
@@ -3381,7 +3357,7 @@
|
||||
"message": "in",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 177]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 167]],
|
||||
"translation": "в"
|
||||
},
|
||||
"WbTDwg": {
|
||||
@@ -3568,7 +3544,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/CardContextLabelsModal.tsx", 31],
|
||||
["src/views/board/components/Filters.tsx", 155],
|
||||
["src/views/board/components/NewCardForm.tsx", 428],
|
||||
["src/views/board/components/NewCardForm.tsx", 424],
|
||||
["src/views/card/index.tsx", 133]
|
||||
],
|
||||
"translation": "Метки"
|
||||
@@ -3678,7 +3654,7 @@
|
||||
"origin": [
|
||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||
["src/views/board/index.tsx", 306],
|
||||
["src/views/card/components/Dropdown.tsx", 45],
|
||||
["src/views/card/components/Dropdown.tsx", 42],
|
||||
["src/views/public/board/CardModal.tsx", 36],
|
||||
["src/views/public/board/index.tsx", 77]
|
||||
],
|
||||
@@ -3712,7 +3688,7 @@
|
||||
"message": "Load more activities",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Загрузить ещё действия"
|
||||
},
|
||||
"0qyZ4b": {
|
||||
@@ -3728,7 +3704,7 @@
|
||||
"message": "Loading...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 579]],
|
||||
"origin": [["src/views/card/components/ActivityList.tsx", 580]],
|
||||
"translation": "Загрузка..."
|
||||
},
|
||||
"N/bcWA": {
|
||||
@@ -3845,7 +3821,7 @@
|
||||
"origin": [
|
||||
["src/components/SideNavigation.tsx", 123],
|
||||
["src/views/board/components/Filters.tsx", 147],
|
||||
["src/views/board/components/NewCardForm.tsx", 386],
|
||||
["src/views/board/components/NewCardForm.tsx", 382],
|
||||
["src/views/card/index.tsx", 143],
|
||||
["src/views/members/index.tsx", 263],
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 81]
|
||||
@@ -3932,7 +3908,7 @@
|
||||
"message": "My webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 231]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 209]],
|
||||
"translation": "Мой вебхук"
|
||||
},
|
||||
"6YtxFj": {
|
||||
@@ -3943,8 +3919,8 @@
|
||||
["src/components/LabelForm.tsx", 135],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 118],
|
||||
["src/views/boards/components/NewBoardForm.tsx", 134],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 227],
|
||||
["src/views/settings/components/WebhookList.tsx", 214]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 205],
|
||||
["src/views/settings/components/WebhookList.tsx", 212]
|
||||
],
|
||||
"translation": "Имя"
|
||||
},
|
||||
@@ -3992,7 +3968,7 @@
|
||||
"message": "New card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 311]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 307]],
|
||||
"translation": "Новая карточка"
|
||||
},
|
||||
"cWcxrL": {
|
||||
@@ -4031,7 +4007,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Требуется новый пароль"
|
||||
},
|
||||
@@ -4040,7 +4016,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 36]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 31]
|
||||
],
|
||||
"translation": "Новый пароль должен отличаться от текущего"
|
||||
},
|
||||
@@ -4062,7 +4038,7 @@
|
||||
"message": "New webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 210]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 188]],
|
||||
"translation": "Новый вебхук"
|
||||
},
|
||||
"curoK5": {
|
||||
@@ -4171,7 +4147,7 @@
|
||||
"debouncedQuery": ["debouncedQuery"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 193]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 183]],
|
||||
"translation": "По запросу «{debouncedQuery}» ничего не найдено."
|
||||
},
|
||||
"Q9pQaX": {
|
||||
@@ -4185,7 +4161,7 @@
|
||||
"message": "No webhooks configured. Add a webhook to receive notifications.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 196]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 194]],
|
||||
"translation": "Вебхуки не настроены. Добавьте вебхук для получения уведомлений."
|
||||
},
|
||||
"9h7RDh": {
|
||||
@@ -4321,19 +4297,12 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Частичная занятость"
|
||||
},
|
||||
"nG7mus": {
|
||||
"message": "Password already set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 236]],
|
||||
"translation": "Пароль уже установлен"
|
||||
},
|
||||
"IrZaAn": {
|
||||
"message": "Password Changed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 69]
|
||||
],
|
||||
"translation": "Пароль изменён"
|
||||
},
|
||||
@@ -4356,25 +4325,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 23]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 22]
|
||||
],
|
||||
"translation": "Пароль должен содержать не менее 8 символов"
|
||||
},
|
||||
"Xlkxmi": {
|
||||
"message": "Password Set",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 93]
|
||||
],
|
||||
"translation": "Пароль установлен"
|
||||
},
|
||||
"lpIMne": {
|
||||
"message": "Passwords do not match",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 30]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 27]
|
||||
],
|
||||
"translation": "Пароли не совпадают"
|
||||
},
|
||||
@@ -4506,7 +4466,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 25]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 24]
|
||||
],
|
||||
"translation": "Пожалуйста, подтвердите новый пароль"
|
||||
},
|
||||
@@ -4564,7 +4524,7 @@
|
||||
["src/components/FeedbackModal.tsx", 41],
|
||||
["src/components/NewWorkspaceForm.tsx", 109],
|
||||
["src/views/board/components/BoardDropdown.tsx", 68],
|
||||
["src/views/board/components/NewCardForm.tsx", 193],
|
||||
["src/views/board/components/NewCardForm.tsx", 189],
|
||||
["src/views/board/components/NewListForm.tsx", 79],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 61],
|
||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||
@@ -4631,8 +4591,7 @@
|
||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||
["src/views/board/index.tsx", 315],
|
||||
["src/views/card/components/Dropdown.tsx", 54],
|
||||
["src/views/card/components/Dropdown.tsx", 73],
|
||||
["src/views/card/components/Dropdown.tsx", 51],
|
||||
["src/views/public/board/CardModal.tsx", 45],
|
||||
["src/views/public/board/index.tsx", 86]
|
||||
],
|
||||
@@ -5016,7 +4975,7 @@
|
||||
"message": "Save changes",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 344]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 316]],
|
||||
"translation": "Сохранить изменения"
|
||||
},
|
||||
"MdwUGG": {
|
||||
@@ -5037,14 +4996,14 @@
|
||||
"message": "Search boards and cards...",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/CommandPallette.tsx", 105]],
|
||||
"origin": [["src/components/CommandPallette.tsx", 104]],
|
||||
"translation": "Поиск досок и карточек..."
|
||||
},
|
||||
"e1v+J3": {
|
||||
"message": "Secret (optional)",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 251]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 229]],
|
||||
"translation": "Секретный ключ (необязательно)"
|
||||
},
|
||||
"OkTY4+": {
|
||||
@@ -5135,7 +5094,7 @@
|
||||
"message": "Send test",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 338]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 310]],
|
||||
"translation": "Отправить тест"
|
||||
},
|
||||
"v3YoMA": {
|
||||
@@ -5145,13 +5104,6 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 82]],
|
||||
"translation": "Старший"
|
||||
},
|
||||
"GXGbXi": {
|
||||
"message": "Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 93]],
|
||||
"translation": "Установите пароль, чтобы включить вход по паролю."
|
||||
},
|
||||
"8AbRER": {
|
||||
"message": "Set due date",
|
||||
"placeholders": {},
|
||||
@@ -5163,18 +5115,6 @@
|
||||
],
|
||||
"translation": "Установить срок"
|
||||
},
|
||||
"2gHjVM": {
|
||||
"message": "Set Password",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/AccountSettings.tsx", 88],
|
||||
["src/views/settings/AccountSettings.tsx", 100],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 142],
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 216]
|
||||
],
|
||||
"translation": "Установить пароль"
|
||||
},
|
||||
"Eit43O": {
|
||||
"message": "set the due date",
|
||||
"placeholders": {},
|
||||
@@ -5408,7 +5348,7 @@
|
||||
"message": "Status",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 230]],
|
||||
"translation": "Статус"
|
||||
},
|
||||
"WYDptz": {
|
||||
@@ -5560,32 +5500,12 @@
|
||||
"origin": [["src/views/settings/components/WebhookList.tsx", 136]],
|
||||
"translation": "Тест"
|
||||
},
|
||||
"InJcdo": {
|
||||
"message": "Test failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 154],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Тест не пройден"
|
||||
},
|
||||
"zDNL2V": {
|
||||
"message": "Test sent",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 148],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Тест отправлен"
|
||||
},
|
||||
"itgYbC": {
|
||||
"message": "Test webhook sent successfully!",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 149],
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 132],
|
||||
["src/views/settings/components/WebhookList.tsx", 174]
|
||||
],
|
||||
"translation": "Тестовый вебхук успешно отправлен!"
|
||||
@@ -5632,7 +5552,7 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 114]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 84]
|
||||
],
|
||||
"translation": "Введённый вами текущий пароль неверен."
|
||||
},
|
||||
@@ -5816,13 +5736,6 @@
|
||||
],
|
||||
"translation": "Это имя пользователя рабочей области уже занято"
|
||||
},
|
||||
"pEb95p": {
|
||||
"message": "Ticket ID copied to clipboard",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 66]],
|
||||
"translation": "ID задачи скопирован в буфер обмена"
|
||||
},
|
||||
"MHrjPM": {
|
||||
"message": "Title",
|
||||
"placeholders": {},
|
||||
@@ -5936,20 +5849,13 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 39]],
|
||||
"translation": "Не удалось сбросить переопределения"
|
||||
},
|
||||
"5MPY04": {
|
||||
"message": "Unable to copy ID",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/card/components/Dropdown.tsx", 71]],
|
||||
"translation": "Не удалось скопировать ID"
|
||||
},
|
||||
"W1ewR0": {
|
||||
"message": "Unable to copy link",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/board/index.tsx", 313],
|
||||
["src/views/card/components/Dropdown.tsx", 52],
|
||||
["src/views/card/components/Dropdown.tsx", 49],
|
||||
["src/views/public/board/CardModal.tsx", 43],
|
||||
["src/views/public/board/index.tsx", 84]
|
||||
],
|
||||
@@ -5959,7 +5865,7 @@
|
||||
"message": "Unable to create card",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 190]],
|
||||
"origin": [["src/views/board/components/NewCardForm.tsx", 186]],
|
||||
"translation": "Не удалось создать карточку"
|
||||
},
|
||||
"mHhffx": {
|
||||
@@ -5986,13 +5892,6 @@
|
||||
],
|
||||
"translation": "Не удалось создать шаблон"
|
||||
},
|
||||
"c1vOQR": {
|
||||
"message": "Unable to create webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Не удалось создать вебхук"
|
||||
},
|
||||
"MxQXhL": {
|
||||
"message": "Unable to create workspace",
|
||||
"placeholders": {},
|
||||
@@ -6040,15 +5939,6 @@
|
||||
"origin": [["src/views/card/components/DeleteCommentConfirmation.tsx", 45]],
|
||||
"translation": "Не удалось удалить комментарий"
|
||||
},
|
||||
"23nvb2": {
|
||||
"message": "Unable to delete webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 36]
|
||||
],
|
||||
"translation": "Не удалось удалить вебхук"
|
||||
},
|
||||
"Oo4E6p": {
|
||||
"message": "Unable to duplicate card",
|
||||
"placeholders": {},
|
||||
@@ -6104,16 +5994,6 @@
|
||||
"origin": [["src/views/onboarding/workspace-details/index.tsx", 150]],
|
||||
"translation": "Не удалось начать оформление заказа"
|
||||
},
|
||||
"KNK33q": {
|
||||
"message": "Unable to test webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 163],
|
||||
["src/views/settings/components/WebhookList.tsx", 185]
|
||||
],
|
||||
"translation": "Не удалось протестировать вебхук"
|
||||
},
|
||||
"T7Mywq": {
|
||||
"message": "Unable to update board",
|
||||
"placeholders": {},
|
||||
@@ -6214,13 +6094,6 @@
|
||||
"origin": [["src/views/members/index.tsx", 65]],
|
||||
"translation": "Не удалось обновить роль"
|
||||
},
|
||||
"V1o9Jo": {
|
||||
"message": "Unable to update webhook",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 137]],
|
||||
"translation": "Не удалось обновить вебхук"
|
||||
},
|
||||
"It4/FS": {
|
||||
"message": "Unarchive board",
|
||||
"placeholders": {},
|
||||
@@ -6448,8 +6321,8 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 239],
|
||||
["src/views/settings/components/WebhookList.tsx", 220]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 217],
|
||||
["src/views/settings/components/WebhookList.tsx", 218]
|
||||
],
|
||||
"translation": "URL"
|
||||
},
|
||||
@@ -6501,7 +6374,7 @@
|
||||
"message": "Used to sign webhook payloads for verification. Leave blank to keep existing secret.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 265]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 239]],
|
||||
"translation": "Используется для подписи данных вебхука для проверки. Оставьте пустым, чтобы сохранить существующий секретный ключ."
|
||||
},
|
||||
"7PzzBU": {
|
||||
@@ -6595,35 +6468,19 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 152]],
|
||||
"translation": "Мы только начинаем."
|
||||
},
|
||||
"an6ayw": {
|
||||
"message": "Webhook created",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 110]],
|
||||
"translation": "Вебхук создан"
|
||||
},
|
||||
"GdWB+V": {
|
||||
"message": "Webhook created successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 111]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 104]],
|
||||
"translation": "Вебхук успешно создан"
|
||||
},
|
||||
"LnaC5y": {
|
||||
"message": "Webhook deleted",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 28]
|
||||
],
|
||||
"translation": "Вебхук удалён"
|
||||
},
|
||||
"2X4ecw": {
|
||||
"message": "Webhook deleted successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 29]
|
||||
["src/views/settings/components/DeleteWebhookConfirmation.tsx", 23]
|
||||
],
|
||||
"translation": "Вебхук успешно удалён"
|
||||
},
|
||||
@@ -6646,23 +6503,16 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 155],
|
||||
["src/views/settings/components/WebhookList.tsx", 178]
|
||||
["src/views/settings/components/NewWebhookModal.tsx", 135],
|
||||
["src/views/settings/components/WebhookList.tsx", 177]
|
||||
],
|
||||
"translation": "Не удалось выполнить тест вебхука"
|
||||
},
|
||||
"kxZ7LS": {
|
||||
"message": "Webhook updated",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 129]],
|
||||
"translation": "Вебхук обновлён"
|
||||
},
|
||||
"3d54Wj": {
|
||||
"message": "Webhook updated successfully",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 130]],
|
||||
"origin": [["src/views/settings/components/NewWebhookModal.tsx", 118]],
|
||||
"translation": "Вебхук успешно обновлён"
|
||||
},
|
||||
"Hf1cEZ": {
|
||||
@@ -6914,7 +6764,7 @@
|
||||
"message": "You are about to change your password.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 92]],
|
||||
"origin": [["src/views/settings/AccountSettings.tsx", 91]],
|
||||
"translation": "Вы собираетесь изменить свой пароль."
|
||||
},
|
||||
"3WXdoZ": {
|
||||
@@ -6996,15 +6846,6 @@
|
||||
"origin": [["src/views/settings/PermissionsSettings.tsx", 86]],
|
||||
"translation": "Вам нужно быть администратором, чтобы управлять правами доступа рабочего пространства."
|
||||
},
|
||||
"ZhQoZn": {
|
||||
"message": "You signed in without a password. Set a password to enable password-based login.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 147]
|
||||
],
|
||||
"translation": "Вы вошли без пароля. Установите пароль, чтобы включить вход по паролю."
|
||||
},
|
||||
"2SePRT": {
|
||||
"message": "You've been invited to join a workspace on kan.bn.",
|
||||
"placeholders": {},
|
||||
@@ -7019,13 +6860,6 @@
|
||||
"origin": [["src/views/invite/index.tsx", 135]],
|
||||
"translation": "Вас пригласили присоединиться к рабочему пространству."
|
||||
},
|
||||
"8Zjc7q": {
|
||||
"message": "Your account already has a password. You can change it from your account settings.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/components/Dashboard.tsx", 238]],
|
||||
"translation": "В вашей учетной записи уже есть пароль. Вы можете изменить его в настройках учетной записи."
|
||||
},
|
||||
"GoDLB9": {
|
||||
"message": "Your account has been deleted.",
|
||||
"placeholders": {},
|
||||
@@ -7089,19 +6923,10 @@
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 95]
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 70]
|
||||
],
|
||||
"translation": "Ваш пароль был изменён."
|
||||
},
|
||||
"EuK5ez": {
|
||||
"message": "Your password has been set.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 96]
|
||||
],
|
||||
"translation": "Ваш пароль установлен."
|
||||
},
|
||||
"/tOdd2": {
|
||||
"message": "Your profile image has been updated.",
|
||||
"placeholders": {},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,19 +0,0 @@
|
||||
export type WorkspacePlan = "free" | "team" | "pro" | "enterprise";
|
||||
|
||||
export interface TierConfig {
|
||||
plan: WorkspacePlan;
|
||||
seats: number | null;
|
||||
unlimitedSeats: boolean;
|
||||
}
|
||||
|
||||
const TIER_MAP: Record<number, TierConfig> = {
|
||||
1: { plan: "team", seats: 5, unlimitedSeats: false },
|
||||
2: { plan: "pro", seats: 15, unlimitedSeats: false },
|
||||
3: { plan: "pro", seats: null, unlimitedSeats: true },
|
||||
};
|
||||
|
||||
export function tierConfig(tier: number): TierConfig {
|
||||
const config = TIER_MAP[tier];
|
||||
if (!config) throw new Error(`Unknown partner tier: ${tier}`);
|
||||
return config;
|
||||
}
|
||||
@@ -1,168 +0,0 @@
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
|
||||
import { createNextApiContext } from "@kan/api/trpc";
|
||||
import { withApiLogging } from "@kan/api/utils/apiLogging";
|
||||
import { withRateLimit } from "@kan/api/utils/rateLimit";
|
||||
import * as subscriptionRepo from "@kan/db/repository/subscription.repo";
|
||||
import * as workspaceRepo from "@kan/db/repository/workspace.repo";
|
||||
import { createLogger } from "@kan/logger";
|
||||
|
||||
import { tierConfig } from "./_utils";
|
||||
|
||||
const log = createLogger("api");
|
||||
|
||||
interface TokenResponse {
|
||||
access_token: string;
|
||||
token_type: string;
|
||||
}
|
||||
|
||||
interface OAuthLicenseResponse {
|
||||
license_key: string;
|
||||
status: string;
|
||||
}
|
||||
|
||||
interface LicenseDetailResponse {
|
||||
license_key: string;
|
||||
status: string;
|
||||
tier: number;
|
||||
}
|
||||
|
||||
async function exchangeCodeForToken(code: string): Promise<TokenResponse> {
|
||||
const tokenUrl = process.env.PARTNER_TOKEN_URL;
|
||||
const clientId = process.env.PARTNER_CLIENT_ID;
|
||||
const clientSecret = process.env.PARTNER_CLIENT_SECRET;
|
||||
const redirectUrl = process.env.PARTNER_REDIRECT_URL;
|
||||
if (!tokenUrl) throw new Error("PARTNER_TOKEN_URL not configured");
|
||||
if (!clientId) throw new Error("PARTNER_CLIENT_ID not configured");
|
||||
if (!clientSecret) throw new Error("PARTNER_CLIENT_SECRET not configured");
|
||||
if (!redirectUrl) throw new Error("PARTNER_REDIRECT_URL not configured");
|
||||
|
||||
const res = await fetch(tokenUrl, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||||
body: new URLSearchParams({
|
||||
grant_type: "authorization_code",
|
||||
code,
|
||||
client_id: clientId,
|
||||
client_secret: clientSecret,
|
||||
redirect_uri: redirectUrl,
|
||||
}),
|
||||
});
|
||||
|
||||
if (!res.ok) throw new Error(`Token exchange failed: ${res.status}`);
|
||||
return res.json() as Promise<TokenResponse>;
|
||||
}
|
||||
|
||||
async function fetchOAuthLicense(
|
||||
accessToken: string,
|
||||
): Promise<OAuthLicenseResponse> {
|
||||
const oauthLicenseUrl = process.env.PARTNER_OAUTH_LICENSE_URL;
|
||||
if (!oauthLicenseUrl)
|
||||
throw new Error("PARTNER_OAUTH_LICENSE_URL not configured");
|
||||
|
||||
const res = await fetch(`${oauthLicenseUrl}?access_token=${accessToken}`);
|
||||
if (!res.ok) throw new Error(`OAuth license fetch failed: ${res.status}`);
|
||||
return res.json() as Promise<OAuthLicenseResponse>;
|
||||
}
|
||||
|
||||
async function fetchLicenseDetail(
|
||||
licenseKey: string,
|
||||
): Promise<LicenseDetailResponse> {
|
||||
const licenseApiUrl = process.env.PARTNER_LICENSE_API_URL;
|
||||
const apiKey = process.env.PARTNER_API_KEY;
|
||||
if (!licenseApiUrl) throw new Error("PARTNER_LICENSE_API_URL not configured");
|
||||
if (!apiKey) throw new Error("PARTNER_API_KEY not configured");
|
||||
|
||||
const apiKeyHeader = process.env.PARTNER_API_KEY_HEADER;
|
||||
if (!apiKeyHeader) throw new Error("PARTNER_API_KEY_HEADER not configured");
|
||||
|
||||
const res = await fetch(`${licenseApiUrl}/${licenseKey}`, {
|
||||
headers: { [apiKeyHeader]: apiKey },
|
||||
});
|
||||
if (!res.ok) throw new Error(`License detail fetch failed: ${res.status}`);
|
||||
return res.json() as Promise<LicenseDetailResponse>;
|
||||
}
|
||||
|
||||
export default withRateLimit(
|
||||
{ points: 20, duration: 60 },
|
||||
withApiLogging(async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ message: "Method not allowed" });
|
||||
}
|
||||
|
||||
const { code } = req.query;
|
||||
|
||||
if (!code || typeof code !== "string") {
|
||||
return res.status(400).json({ message: "Missing code parameter" });
|
||||
}
|
||||
|
||||
let license: LicenseDetailResponse;
|
||||
|
||||
try {
|
||||
const tokenData = await exchangeCodeForToken(code);
|
||||
const oauthLicense = await fetchOAuthLicense(tokenData.access_token);
|
||||
license = await fetchLicenseDetail(oauthLicense.license_key);
|
||||
} catch (err) {
|
||||
log.error({ err }, "Partner OAuth flow failed");
|
||||
return res.redirect(`/partner/activate?error=oauth_failed`);
|
||||
}
|
||||
|
||||
const { db, user } = await createNextApiContext(req);
|
||||
|
||||
const cfg = tierConfig(license.tier);
|
||||
const isActive = license.status === "active";
|
||||
const status = isActive ? "active" : "inactive";
|
||||
|
||||
if (!user) {
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(
|
||||
db,
|
||||
license.license_key,
|
||||
{
|
||||
plan: cfg.plan,
|
||||
status,
|
||||
partnerTier: license.tier,
|
||||
seats: cfg.seats,
|
||||
unlimitedSeats: cfg.unlimitedSeats,
|
||||
},
|
||||
);
|
||||
return res.redirect(
|
||||
`/partner/activate?license_key=${encodeURIComponent(license.license_key)}`,
|
||||
);
|
||||
}
|
||||
|
||||
const memberships = await workspaceRepo.getAllByUserId(db, user.id);
|
||||
const workspace = memberships?.[0]?.workspace;
|
||||
|
||||
if (!workspace) {
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(
|
||||
db,
|
||||
license.license_key,
|
||||
{
|
||||
plan: cfg.plan,
|
||||
status,
|
||||
partnerTier: license.tier,
|
||||
seats: cfg.seats,
|
||||
unlimitedSeats: cfg.unlimitedSeats,
|
||||
},
|
||||
);
|
||||
return res.redirect(
|
||||
`/onboarding?license_key=${encodeURIComponent(license.license_key)}`,
|
||||
);
|
||||
}
|
||||
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(db, license.license_key, {
|
||||
plan: cfg.plan,
|
||||
status,
|
||||
partnerTier: license.tier,
|
||||
seats: cfg.seats,
|
||||
unlimitedSeats: cfg.unlimitedSeats,
|
||||
referenceId: workspace.publicId,
|
||||
});
|
||||
|
||||
if (isActive) {
|
||||
await workspaceRepo.update(db, workspace.publicId, { plan: cfg.plan });
|
||||
}
|
||||
|
||||
return res.redirect(`/?partner_activated=1`);
|
||||
}),
|
||||
);
|
||||
@@ -1,64 +0,0 @@
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
|
||||
import { createNextApiContext } from "@kan/api/trpc";
|
||||
import { withApiLogging } from "@kan/api/utils/apiLogging";
|
||||
import { withRateLimit } from "@kan/api/utils/rateLimit";
|
||||
import * as subscriptionRepo from "@kan/db/repository/subscription.repo";
|
||||
import * as workspaceRepo from "@kan/db/repository/workspace.repo";
|
||||
|
||||
export default withRateLimit(
|
||||
{ points: 20, duration: 60 },
|
||||
withApiLogging(async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ message: "Method not allowed" });
|
||||
}
|
||||
|
||||
const { license_key } = req.query;
|
||||
|
||||
if (!license_key || typeof license_key !== "string") {
|
||||
return res.redirect("/?partner_error=missing_license");
|
||||
}
|
||||
|
||||
const { db, user } = await createNextApiContext(req);
|
||||
|
||||
if (!user) {
|
||||
return res.redirect(
|
||||
`/login?next=${encodeURIComponent(`/api/partner/link?license_key=${license_key}`)}`,
|
||||
);
|
||||
}
|
||||
|
||||
const sub = await subscriptionRepo.getByPartnerLicenseKey(db, license_key);
|
||||
|
||||
if (!sub) {
|
||||
return res.redirect("/?partner_error=invalid_license");
|
||||
}
|
||||
|
||||
if (sub.status !== "active") {
|
||||
return res.redirect("/?partner_error=license_inactive");
|
||||
}
|
||||
|
||||
const memberships = await workspaceRepo.getAllByUserId(db, user.id);
|
||||
const workspace = memberships?.[0]?.workspace;
|
||||
|
||||
if (!workspace) {
|
||||
return res.redirect(
|
||||
`/onboarding?license_key=${encodeURIComponent(license_key)}`,
|
||||
);
|
||||
}
|
||||
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(db, license_key, {
|
||||
plan: sub.plan,
|
||||
status: sub.status,
|
||||
partnerTier: sub.partnerTier ?? 1,
|
||||
seats: sub.seats ?? null,
|
||||
unlimitedSeats: sub.unlimitedSeats,
|
||||
referenceId: workspace.publicId,
|
||||
});
|
||||
|
||||
await workspaceRepo.update(db, workspace.publicId, {
|
||||
plan: sub.plan as "free" | "team" | "pro" | "enterprise",
|
||||
});
|
||||
|
||||
return res.redirect("/?partner_activated=1");
|
||||
}),
|
||||
);
|
||||
@@ -1,192 +0,0 @@
|
||||
import { createHmac, timingSafeEqual } from "crypto";
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
import type { Readable } from "node:stream";
|
||||
|
||||
import { createNextApiContext } from "@kan/api/trpc";
|
||||
import { withApiLogging } from "@kan/api/utils/apiLogging";
|
||||
import * as subscriptionRepo from "@kan/db/repository/subscription.repo";
|
||||
import * as workspaceRepo from "@kan/db/repository/workspace.repo";
|
||||
import { createLogger } from "@kan/logger";
|
||||
|
||||
import { tierConfig } from "./_utils";
|
||||
|
||||
const log = createLogger("api");
|
||||
|
||||
async function buffer(readable: Readable) {
|
||||
const chunks: Buffer[] = [];
|
||||
for await (const chunk of readable) {
|
||||
chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
|
||||
}
|
||||
return Buffer.concat(chunks);
|
||||
}
|
||||
|
||||
function verifySignature(
|
||||
rawBody: string,
|
||||
signature: string,
|
||||
timestamp: string,
|
||||
): boolean {
|
||||
const secret = process.env.PARTNER_API_KEY;
|
||||
if (!secret) return false;
|
||||
|
||||
const ts = Number(timestamp);
|
||||
if (isNaN(ts) || Date.now() / 1000 - ts > 300) return false;
|
||||
|
||||
const payload = `${timestamp}.${rawBody}`;
|
||||
const expected = createHmac("sha256", secret).update(payload).digest("hex");
|
||||
|
||||
try {
|
||||
return timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
interface WebhookPayload {
|
||||
event:
|
||||
| "purchase"
|
||||
| "activate"
|
||||
| "deactivate"
|
||||
| "upgrade"
|
||||
| "downgrade"
|
||||
| "migrate";
|
||||
license_key: string;
|
||||
license_status: string;
|
||||
tier: number;
|
||||
prev_license_key?: string;
|
||||
}
|
||||
|
||||
export default withApiLogging(
|
||||
async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
if (req.method !== "POST") {
|
||||
return res.status(405).json({ message: "Method not allowed" });
|
||||
}
|
||||
|
||||
const signatureHeader = process.env.PARTNER_SIGNATURE_HEADER;
|
||||
const timestampHeader = process.env.PARTNER_TIMESTAMP_HEADER;
|
||||
|
||||
if (!signatureHeader || !timestampHeader) {
|
||||
log.error("Webhook signature headers not configured");
|
||||
return res.status(500).json({ message: "Server misconfiguration" });
|
||||
}
|
||||
|
||||
const signature = req.headers[signatureHeader] as string | undefined;
|
||||
const timestamp = req.headers[timestampHeader] as string | undefined;
|
||||
|
||||
if (!signature || !timestamp) {
|
||||
return res.status(400).json({ message: "Missing signature headers" });
|
||||
}
|
||||
|
||||
const buf = await buffer(req as unknown as Readable);
|
||||
const rawBody = buf.toString("utf8");
|
||||
|
||||
if (!verifySignature(rawBody, signature, timestamp)) {
|
||||
return res.status(401).json({ message: "Invalid signature" });
|
||||
}
|
||||
|
||||
const payload = JSON.parse(rawBody) as WebhookPayload;
|
||||
const { event, license_key, license_status, tier, prev_license_key } =
|
||||
payload;
|
||||
|
||||
const { db } = await createNextApiContext(req);
|
||||
|
||||
switch (event) {
|
||||
case "purchase": {
|
||||
const cfg = tierConfig(tier);
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(db, license_key, {
|
||||
plan: cfg.plan,
|
||||
status: license_status,
|
||||
partnerTier: tier,
|
||||
seats: cfg.seats,
|
||||
unlimitedSeats: cfg.unlimitedSeats,
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
case "activate": {
|
||||
const cfg = tierConfig(tier);
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(db, license_key, {
|
||||
plan: cfg.plan,
|
||||
status: "active",
|
||||
partnerTier: tier,
|
||||
seats: cfg.seats,
|
||||
unlimitedSeats: cfg.unlimitedSeats,
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
case "deactivate": {
|
||||
const sub = await subscriptionRepo.getByPartnerLicenseKey(
|
||||
db,
|
||||
license_key,
|
||||
);
|
||||
if (sub) {
|
||||
await subscriptionRepo.updateById(db, sub.id, {
|
||||
plan: "free",
|
||||
status: "inactive",
|
||||
});
|
||||
if (sub.referenceId) {
|
||||
await workspaceRepo.update(db, sub.referenceId, { plan: "free" });
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "upgrade":
|
||||
case "downgrade": {
|
||||
const sub = await subscriptionRepo.getByPartnerLicenseKey(
|
||||
db,
|
||||
license_key,
|
||||
);
|
||||
if (sub) {
|
||||
const cfg = tierConfig(tier);
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(db, license_key, {
|
||||
plan: cfg.plan,
|
||||
status: license_status,
|
||||
partnerTier: tier,
|
||||
seats: cfg.seats,
|
||||
unlimitedSeats: cfg.unlimitedSeats,
|
||||
});
|
||||
if (sub.referenceId) {
|
||||
await workspaceRepo.update(db, sub.referenceId, { plan: cfg.plan });
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "migrate": {
|
||||
if (prev_license_key) {
|
||||
const sub = await subscriptionRepo.getByPartnerLicenseKey(
|
||||
db,
|
||||
prev_license_key,
|
||||
);
|
||||
if (sub) {
|
||||
const cfg = tierConfig(tier);
|
||||
await subscriptionRepo.upsertByPartnerLicenseKey(db, license_key, {
|
||||
plan: cfg.plan,
|
||||
status: sub.status,
|
||||
partnerTier: tier,
|
||||
seats: cfg.seats,
|
||||
unlimitedSeats: cfg.unlimitedSeats,
|
||||
referenceId: sub.referenceId ?? undefined,
|
||||
});
|
||||
await subscriptionRepo.updateById(db, sub.id, {
|
||||
status: "inactive",
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
log.warn({ event }, "Unhandled partner webhook event");
|
||||
}
|
||||
|
||||
return res.status(200).json({ success: true, event });
|
||||
},
|
||||
);
|
||||
|
||||
export const config = {
|
||||
api: {
|
||||
bodyParser: false,
|
||||
},
|
||||
};
|
||||
@@ -1,98 +0,0 @@
|
||||
import Link from "next/link";
|
||||
import { useRouter, useSearchParams } from "next/navigation";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { Trans } from "@lingui/react/macro";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { authClient } from "@kan/auth/client";
|
||||
|
||||
import { Auth } from "~/components/AuthForm";
|
||||
import { PageHead } from "~/components/PageHead";
|
||||
import PatternedBackground from "~/components/PatternedBackground";
|
||||
|
||||
export default function PartnerActivatePage() {
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
const licenseKey = searchParams.get("license_key");
|
||||
const error = searchParams.get("error");
|
||||
|
||||
const { data: session, isPending } = authClient.useSession();
|
||||
const [isMagicLinkSent, setIsMagicLinkSent] = useState(false);
|
||||
const [magicLinkRecipient, setMagicLinkRecipient] = useState("");
|
||||
|
||||
useEffect(() => {
|
||||
if (!isPending && session?.user && licenseKey) {
|
||||
router.push(
|
||||
`/api/partner/link?license_key=${encodeURIComponent(licenseKey)}`,
|
||||
);
|
||||
} else if (!isPending && session?.user && !licenseKey) {
|
||||
router.push("/boards");
|
||||
}
|
||||
}, [session, isPending, licenseKey, router]);
|
||||
|
||||
if (isPending || (session?.user && licenseKey)) return null;
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead title={t`Activate | kan.bn`} />
|
||||
<main className="h-screen bg-light-100 pt-20 dark:bg-dark-50 sm:pt-0">
|
||||
<div className="justify-top flex h-full flex-col items-center px-4 sm:justify-center">
|
||||
<div className="z-10 flex w-full flex-col items-center">
|
||||
<Link href="/">
|
||||
<h1 className="mb-6 text-lg font-bold tracking-tight text-light-1000 dark:text-dark-1000">
|
||||
kan.bn
|
||||
</h1>
|
||||
</Link>
|
||||
<p className="mb-2 text-3xl font-bold tracking-tight text-light-1000 dark:text-dark-1000">
|
||||
{isMagicLinkSent ? t`Check your inbox` : t`Activate your account`}
|
||||
</p>
|
||||
<p className="mb-10 text-sm text-light-800 dark:text-dark-800">
|
||||
{isMagicLinkSent ? (
|
||||
<Trans>We sent a link to {magicLinkRecipient}</Trans>
|
||||
) : (
|
||||
t`Sign in or create an account to activate your license`
|
||||
)}
|
||||
</p>
|
||||
|
||||
{error && (
|
||||
<div className="mb-4 w-full rounded-md bg-red-50 px-4 py-3 text-sm text-red-700 dark:bg-red-900/20 dark:text-red-400 sm:max-w-md">
|
||||
{t`Something went wrong during activation. Please try again.`}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{!isMagicLinkSent && (
|
||||
<div className="w-full rounded-lg border border-light-500 bg-light-300 px-4 py-10 dark:border-dark-400 dark:bg-dark-200 sm:max-w-md lg:px-10">
|
||||
<div className="sm:mx-auto sm:w-full sm:max-w-sm">
|
||||
<Auth
|
||||
setIsMagicLinkSent={(val, recipient) => {
|
||||
setIsMagicLinkSent(val);
|
||||
setMagicLinkRecipient(recipient);
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<p className="mt-4 text-sm text-light-1000 dark:text-dark-1000">
|
||||
<Trans>
|
||||
Already have an account?{" "}
|
||||
<span className="underline">
|
||||
<Link
|
||||
href={
|
||||
licenseKey
|
||||
? `/login?next=${encodeURIComponent(`/api/partner/link?license_key=${licenseKey}`)}`
|
||||
: "/login"
|
||||
}
|
||||
>
|
||||
Sign in
|
||||
</Link>
|
||||
</span>
|
||||
</Trans>
|
||||
</p>
|
||||
</div>
|
||||
<PatternedBackground />
|
||||
</div>
|
||||
</main>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -20,7 +20,6 @@ interface Workspace {
|
||||
plan: "free" | "team" | "pro" | "enterprise" | undefined;
|
||||
role: "admin" | "member" | "guest";
|
||||
weekStartDay: 0 | 1 | 6;
|
||||
cardPrefix: string;
|
||||
}
|
||||
|
||||
const initialWorkspace: Workspace = {
|
||||
@@ -31,7 +30,6 @@ const initialWorkspace: Workspace = {
|
||||
plan: "free" as const,
|
||||
role: "member",
|
||||
weekStartDay: 1,
|
||||
cardPrefix: "",
|
||||
};
|
||||
|
||||
const initialAvailableWorkspaces: Workspace[] = [];
|
||||
@@ -92,7 +90,6 @@ export const WorkspaceProvider: React.FC<{ children: ReactNode }> = ({
|
||||
description: workspace.description,
|
||||
plan: workspace.plan,
|
||||
weekStartDay: workspace.weekStartDay,
|
||||
cardPrefix: workspace.cardPrefix,
|
||||
hasLoaded: true,
|
||||
})) as Workspace[];
|
||||
|
||||
@@ -124,7 +121,6 @@ export const WorkspaceProvider: React.FC<{ children: ReactNode }> = ({
|
||||
description: selectedWorkspace.workspace.description,
|
||||
role: selectedWorkspace.role,
|
||||
weekStartDay: selectedWorkspace.workspace.weekStartDay as 0 | 1 | 6,
|
||||
cardPrefix: selectedWorkspace.workspace.cardPrefix,
|
||||
});
|
||||
|
||||
if (workspacePublicId) {
|
||||
@@ -145,7 +141,6 @@ export const WorkspaceProvider: React.FC<{ children: ReactNode }> = ({
|
||||
description: primaryWorkspace.description,
|
||||
role: primaryWorkspaceRole,
|
||||
weekStartDay: primaryWorkspace.weekStartDay as 0 | 1 | 6,
|
||||
cardPrefix: primaryWorkspace.cardPrefix,
|
||||
});
|
||||
}
|
||||
}, [data, isLoading, workspacePublicId, router]);
|
||||
|
||||
@@ -16,7 +16,6 @@ import { getAvatarUrl } from "~/utils/helpers";
|
||||
|
||||
const Card = ({
|
||||
title,
|
||||
ticketNumber,
|
||||
labels,
|
||||
members,
|
||||
checklists,
|
||||
@@ -26,7 +25,6 @@ const Card = ({
|
||||
dueDate,
|
||||
}: {
|
||||
title: string;
|
||||
ticketNumber?: string | null;
|
||||
labels: { name: string; colourCode: string | null }[];
|
||||
members: {
|
||||
publicId: string;
|
||||
@@ -69,11 +67,6 @@ const Card = ({
|
||||
|
||||
return (
|
||||
<div className="flex flex-col overflow-hidden 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">
|
||||
{ticketNumber && (
|
||||
<span className="mb-1 text-xs text-light-700 dark:text-dark-800">
|
||||
{ticketNumber}
|
||||
</span>
|
||||
)}
|
||||
<span className="break-words">{title}</span>
|
||||
{labels.length ||
|
||||
members.length ||
|
||||
|
||||
@@ -146,10 +146,6 @@ export function NewCardForm({
|
||||
listId: 2,
|
||||
description: "",
|
||||
dueDate: args.dueDate ?? null,
|
||||
cardNumber: null,
|
||||
comments: [],
|
||||
checklists: [],
|
||||
attachments: [],
|
||||
labels: oldBoard.labels.filter((label) =>
|
||||
args.labelPublicIds.includes(label.publicId),
|
||||
),
|
||||
|
||||
@@ -757,11 +757,6 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
>
|
||||
<Card
|
||||
title={card.title}
|
||||
ticketNumber={
|
||||
card.cardNumber != null
|
||||
? `${boardData.workspace.cardPrefix}-${card.cardNumber}`
|
||||
: null
|
||||
}
|
||||
labels={card.labels}
|
||||
members={card.members}
|
||||
checklists={card.checklists ?? []}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { t } from "@lingui/core/macro";
|
||||
import {
|
||||
HiEllipsisHorizontal,
|
||||
HiHashtag,
|
||||
HiLink,
|
||||
HiOutlineCheckCircle,
|
||||
HiOutlineTrash,
|
||||
@@ -19,13 +18,11 @@ export default function CardDropdown({
|
||||
isTemplate,
|
||||
boardPublicId,
|
||||
cardCreatedBy,
|
||||
ticketNumber,
|
||||
}: {
|
||||
cardPublicId: string;
|
||||
isTemplate?: boolean;
|
||||
boardPublicId?: string;
|
||||
cardCreatedBy?: string | null;
|
||||
ticketNumber?: string | null;
|
||||
}) {
|
||||
const { openModal } = useModal();
|
||||
const { showPopup } = usePopup();
|
||||
@@ -56,40 +53,12 @@ export default function CardDropdown({
|
||||
}
|
||||
};
|
||||
|
||||
const handleCopyTicketId = async () => {
|
||||
if (!ticketNumber) return;
|
||||
try {
|
||||
await navigator.clipboard.writeText(ticketNumber);
|
||||
showPopup({
|
||||
header: t`ID copied`,
|
||||
icon: "success",
|
||||
message: t`Ticket ID copied to clipboard`,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
showPopup({
|
||||
header: t`Unable to copy ID`,
|
||||
icon: "error",
|
||||
message: t`Please try again.`,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const items = [
|
||||
{
|
||||
label: t`Copy card link`,
|
||||
action: handleCopyCardLink,
|
||||
icon: <HiLink className="h-[16px] w-[16px] text-dark-900" />,
|
||||
},
|
||||
...(ticketNumber
|
||||
? [
|
||||
{
|
||||
label: t`Copy ticket ID`,
|
||||
action: handleCopyTicketId,
|
||||
icon: <HiHashtag className="h-[16px] w-[16px] text-dark-900" />,
|
||||
},
|
||||
]
|
||||
: []),
|
||||
...(canEditCard
|
||||
? [
|
||||
{
|
||||
|
||||
@@ -340,14 +340,6 @@ export default function CardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
>
|
||||
{board?.name}
|
||||
</Link>
|
||||
{card.cardNumber != null && card.list.board.workspace.cardPrefix && (
|
||||
<>
|
||||
<IoChevronForwardSharp className="h-[10px] w-[10px] text-light-900 dark:text-dark-900" />
|
||||
<span className="whitespace-nowrap text-sm font-bold leading-[1.5rem] text-light-700 dark:text-dark-800">
|
||||
{card.list.board.workspace.cardPrefix}-{card.cardNumber}
|
||||
</span>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<Dropdown
|
||||
@@ -355,11 +347,6 @@ export default function CardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
isTemplate={isTemplate}
|
||||
boardPublicId={boardId}
|
||||
cardCreatedBy={card?.createdBy}
|
||||
ticketNumber={
|
||||
card.cardNumber != null && card.list.board.workspace.cardPrefix
|
||||
? `${card.list.board.workspace.cardPrefix}-${card.cardNumber}`
|
||||
: null
|
||||
}
|
||||
/>
|
||||
<Link
|
||||
href={`/${isTemplate ? "templates" : "boards"}/${boardId}`}
|
||||
|
||||
@@ -140,11 +140,6 @@ export function CardModal({
|
||||
</div>
|
||||
) : (
|
||||
<>
|
||||
{data?.cardNumber != null && data.list.board.workspace.cardPrefix && (
|
||||
<span className="mb-1 block text-xs font-medium text-light-700 dark:text-dark-800">
|
||||
{data.list.board.workspace.cardPrefix}-{data.cardNumber}
|
||||
</span>
|
||||
)}
|
||||
<h1 className="pr-8 font-bold leading-[2.3rem] tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
|
||||
{data?.title}
|
||||
</h1>
|
||||
|
||||
@@ -85,19 +85,17 @@ export default function AccountSettings() {
|
||||
{isCredentialsEnabled && (
|
||||
<div className="mb-8 border-t border-light-300 dark:border-dark-300">
|
||||
<h2 className="mb-4 mt-8 text-[14px] font-bold text-neutral-900 dark:text-dark-1000">
|
||||
{data?.hasPassword ? t`Change Password` : t`Set Password`}
|
||||
{t`Change Password`}
|
||||
</h2>
|
||||
<p className="mb-8 text-sm text-neutral-500 dark:text-dark-900">
|
||||
{data?.hasPassword
|
||||
? t`You are about to change your password.`
|
||||
: t`Set a password to enable password-based login.`}
|
||||
{t`You are about to change your password.`}
|
||||
</p>
|
||||
<div className="mt-4">
|
||||
<Button
|
||||
variant="secondary"
|
||||
onClick={() => openModal("CHANGE_PASSWORD")}
|
||||
>
|
||||
{data?.hasPassword ? t`Change Password` : t`Set Password`}
|
||||
{t`Change Password`}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -115,7 +113,7 @@ export default function AccountSettings() {
|
||||
modalSize="sm"
|
||||
isVisible={isOpen && modalContentType === "CHANGE_PASSWORD"}
|
||||
>
|
||||
<ChangePasswordFormConfirmation hasPassword={data?.hasPassword ?? false} />
|
||||
<ChangePasswordFormConfirmation />
|
||||
</Modal>
|
||||
|
||||
{/* Global modals */}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { useRouter } from "next/navigation";
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { useMutation } from "@tanstack/react-query";
|
||||
import { env } from "next-runtime-env";
|
||||
import { useForm } from "react-hook-form";
|
||||
import { z } from "zod";
|
||||
|
||||
@@ -13,43 +14,27 @@ import { useModal } from "~/providers/modal";
|
||||
import { usePopup } from "~/providers/popup";
|
||||
import { api } from "~/utils/api";
|
||||
|
||||
const buildSchema = (hasPassword: boolean) => {
|
||||
const base = z.object({
|
||||
currentPassword: hasPassword
|
||||
? z.string().min(1, t`Current password is required`)
|
||||
: z.string().optional(),
|
||||
const FormSchema = z
|
||||
.object({
|
||||
currentPassword: z.string().min(1, t`Current password is required`),
|
||||
newPassword: z
|
||||
.string()
|
||||
.min(8, t`Password must be at least 8 characters`)
|
||||
.min(1, t`New password is required`),
|
||||
confirmPassword: z.string().min(1, t`Please confirm your new password`),
|
||||
})
|
||||
.refine((data) => data.newPassword === data.confirmPassword, {
|
||||
message: t`Passwords do not match`,
|
||||
path: ["confirmPassword"],
|
||||
})
|
||||
.refine((data) => data.currentPassword !== data.newPassword, {
|
||||
message: t`New password must be different from current password`,
|
||||
path: ["newPassword"],
|
||||
});
|
||||
|
||||
return base
|
||||
.refine((data) => data.newPassword === data.confirmPassword, {
|
||||
message: t`Passwords do not match`,
|
||||
path: ["confirmPassword"],
|
||||
})
|
||||
.refine(
|
||||
(data) => !hasPassword || data.currentPassword !== data.newPassword,
|
||||
{
|
||||
message: t`New password must be different from current password`,
|
||||
path: ["newPassword"],
|
||||
},
|
||||
);
|
||||
};
|
||||
type FormValues = z.infer<typeof FormSchema>;
|
||||
|
||||
interface FormValues {
|
||||
currentPassword?: string;
|
||||
newPassword: string;
|
||||
confirmPassword: string;
|
||||
}
|
||||
|
||||
interface Props {
|
||||
hasPassword: boolean;
|
||||
}
|
||||
|
||||
export function ChangePasswordFormConfirmation({ hasPassword }: Props) {
|
||||
export function ChangePasswordFormConfirmation() {
|
||||
const { closeModal } = useModal();
|
||||
const { showPopup } = usePopup();
|
||||
const router = useRouter();
|
||||
@@ -62,24 +47,15 @@ export function ChangePasswordFormConfirmation({ hasPassword }: Props) {
|
||||
reset,
|
||||
setError,
|
||||
} = useForm<FormValues>({
|
||||
resolver: zodResolver(buildSchema(hasPassword)),
|
||||
resolver: zodResolver(FormSchema),
|
||||
mode: "onChange",
|
||||
});
|
||||
|
||||
const setPasswordMutation = api.user.setPassword.useMutation();
|
||||
|
||||
const changePasswordMutation = useMutation({
|
||||
mutationFn: async (data: FormValues) => {
|
||||
if (!hasPassword) {
|
||||
await setPasswordMutation.mutateAsync({
|
||||
newPassword: data.newPassword,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const response = await authClient.changePassword({
|
||||
newPassword: data.newPassword,
|
||||
currentPassword: data.currentPassword ?? "",
|
||||
currentPassword: data.currentPassword,
|
||||
revokeOtherSessions: true,
|
||||
});
|
||||
|
||||
@@ -90,18 +66,12 @@ export function ChangePasswordFormConfirmation({ hasPassword }: Props) {
|
||||
onSuccess: async () => {
|
||||
closeModal();
|
||||
showPopup({
|
||||
header: hasPassword ? t`Password Changed` : t`Password Set`,
|
||||
message: hasPassword
|
||||
? t`Your password has been changed.`
|
||||
: t`Your password has been set.`,
|
||||
header: t`Password Changed`,
|
||||
message: t`Your password has been changed.`,
|
||||
icon: "success",
|
||||
});
|
||||
|
||||
if (!hasPassword) {
|
||||
sessionStorage.removeItem("set_password_prompted");
|
||||
}
|
||||
|
||||
utils.user.getUser.invalidate();
|
||||
utils.invalidate();
|
||||
reset();
|
||||
router.push("/");
|
||||
},
|
||||
@@ -116,9 +86,7 @@ export function ChangePasswordFormConfirmation({ hasPassword }: Props) {
|
||||
} else {
|
||||
closeModal();
|
||||
showPopup({
|
||||
header: hasPassword
|
||||
? t`Error Changing Password`
|
||||
: t`Error Setting Password`,
|
||||
header: t`Error Changing Password`,
|
||||
message: t`An unexpected error occurred. Please try again later.`,
|
||||
icon: "error",
|
||||
});
|
||||
@@ -138,33 +106,27 @@ export function ChangePasswordFormConfirmation({ hasPassword }: Props) {
|
||||
return (
|
||||
<div className="p-5">
|
||||
<div className="flex w-full flex-col justify-between pb-4">
|
||||
<h2 className="pb-4 text-base font-medium dark:text-white">
|
||||
{hasPassword ? t`Change Password` : t`Set Password`}
|
||||
</h2>
|
||||
<h2 className="text-md pb-4 font-medium dark:text-white">{t`Change Password`}</h2>
|
||||
<p className="mb-4 text-sm text-light-900">
|
||||
{hasPassword
|
||||
? t`Enter your current password and choose a new secure password.`
|
||||
: t`You signed in without a password. Set a password to enable password-based login.`}
|
||||
{t`Enter your current password and choose a new secure password.`}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<form onSubmit={handleSubmit(onSubmit)}>
|
||||
<div className="space-y-2">
|
||||
{hasPassword && (
|
||||
<div>
|
||||
<Input
|
||||
id="currentPassword"
|
||||
type="password"
|
||||
{...register("currentPassword")}
|
||||
placeholder={t`Enter your current password`}
|
||||
/>
|
||||
{errors.currentPassword && (
|
||||
<p className="mt-2 text-xs text-red-400">
|
||||
{errors.currentPassword.message}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
<div>
|
||||
<Input
|
||||
id="currentPassword"
|
||||
type="password"
|
||||
{...register("currentPassword")}
|
||||
placeholder={t`Enter your current password`}
|
||||
/>
|
||||
{errors.currentPassword && (
|
||||
<p className="mt-2 text-xs text-red-400">
|
||||
{errors.currentPassword.message}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Input
|
||||
@@ -213,7 +175,7 @@ export function ChangePasswordFormConfirmation({ hasPassword }: Props) {
|
||||
fullWidth
|
||||
size="lg"
|
||||
>
|
||||
{hasPassword ? t`Change Password` : t`Set Password`}
|
||||
{t`Change Password`}
|
||||
</Button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -78,7 +78,6 @@ export const cardRouter = createTRPCRouter({
|
||||
description: input.description,
|
||||
createdBy: userId,
|
||||
listId: list.id,
|
||||
workspaceId: list.workspaceId,
|
||||
position: input.position,
|
||||
dueDate: input.dueDate ?? null,
|
||||
});
|
||||
@@ -187,7 +186,6 @@ export const cardRouter = createTRPCRouter({
|
||||
"card.created",
|
||||
{
|
||||
id: String(newCard.id),
|
||||
publicId: newCard.publicId,
|
||||
title: input.title,
|
||||
description: input.description,
|
||||
dueDate: input.dueDate ?? null,
|
||||
@@ -946,7 +944,7 @@ export const cardRouter = createTRPCRouter({
|
||||
);
|
||||
}
|
||||
|
||||
if (input.index !== undefined || newListId !== undefined) {
|
||||
if (input.index !== undefined) {
|
||||
result = await cardRepo.reorder(ctx.db, {
|
||||
cardId: existingCard.id,
|
||||
newIndex: input.index,
|
||||
@@ -1071,7 +1069,6 @@ export const cardRouter = createTRPCRouter({
|
||||
movedToNewList ? "card.moved" : "card.updated",
|
||||
{
|
||||
id: String(result.id),
|
||||
publicId: result.publicId,
|
||||
title: result.title,
|
||||
description: result.description,
|
||||
dueDate: result.dueDate,
|
||||
@@ -1167,7 +1164,6 @@ export const cardRouter = createTRPCRouter({
|
||||
"card.deleted",
|
||||
{
|
||||
id: String(fullCard.id),
|
||||
publicId: fullCard.publicId,
|
||||
title: fullCard.title,
|
||||
description: fullCard.description,
|
||||
dueDate: fullCard.dueDate,
|
||||
@@ -1276,7 +1272,6 @@ export const cardRouter = createTRPCRouter({
|
||||
description: sourceCard.description ?? "",
|
||||
createdBy: userId,
|
||||
listId: targetList.id,
|
||||
workspaceId: targetList.workspaceId,
|
||||
position: "end",
|
||||
dueDate: sourceCard.dueDate ?? null,
|
||||
});
|
||||
|
||||
@@ -340,7 +340,6 @@ export const importRouter = createTRPCRouter({
|
||||
description: card.description,
|
||||
createdBy: userId,
|
||||
listId: newListId,
|
||||
workspaceId: workspace.id,
|
||||
index,
|
||||
importId: newImportId,
|
||||
}));
|
||||
@@ -889,7 +888,6 @@ export const importRouter = createTRPCRouter({
|
||||
description: data.description,
|
||||
createdBy: userId,
|
||||
listId: data.listId,
|
||||
workspaceId: workspace.id,
|
||||
index: index,
|
||||
importId: newImportId,
|
||||
}));
|
||||
|
||||
@@ -2,9 +2,9 @@ import { TRPCError } from "@trpc/server";
|
||||
import { z } from "zod";
|
||||
|
||||
import * as userRepo from "@kan/db/repository/user.repo";
|
||||
import { generateAvatarUrl } from "@kan/shared/utils";
|
||||
|
||||
import { createTRPCRouter, protectedProcedure } from "../trpc";
|
||||
import { generateAvatarUrl } from "@kan/shared/utils";
|
||||
|
||||
export const userRouter = createTRPCRouter({
|
||||
getUser: protectedProcedure
|
||||
@@ -27,8 +27,6 @@ export const userRouter = createTRPCRouter({
|
||||
name: z.string().nullable(),
|
||||
image: z.string().nullable(),
|
||||
stripeCustomerId: z.string().nullable(),
|
||||
hasPassword: z.boolean(),
|
||||
hasMagicLinkAccount: z.boolean(),
|
||||
apiKey: z
|
||||
.object({
|
||||
id: z.number(),
|
||||
@@ -63,8 +61,6 @@ export const userRouter = createTRPCRouter({
|
||||
return {
|
||||
...result,
|
||||
image: imageUrl,
|
||||
hasPassword: result.hasPassword,
|
||||
hasMagicLinkAccount: result.hasMagicLinkAccount,
|
||||
apiKey: apiKey ? { id: apiKey.id, prefix: apiKey.prefix } : null,
|
||||
};
|
||||
}),
|
||||
@@ -118,60 +114,4 @@ export const userRouter = createTRPCRouter({
|
||||
image: imageUrl,
|
||||
};
|
||||
}),
|
||||
setPassword: protectedProcedure
|
||||
.meta({
|
||||
openapi: {
|
||||
method: "POST",
|
||||
path: "/users/me/password",
|
||||
summary: "Set password",
|
||||
description:
|
||||
"Sets a password for a user who signed up via magic link and has no password yet",
|
||||
tags: ["Users"],
|
||||
protect: true,
|
||||
},
|
||||
})
|
||||
.input(
|
||||
z.object({
|
||||
newPassword: z
|
||||
.string()
|
||||
.min(8, "Password must be at least 8 characters"),
|
||||
}),
|
||||
)
|
||||
.output(z.object({ success: z.boolean() }))
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const userId = ctx.user?.id;
|
||||
|
||||
if (!userId)
|
||||
throw new TRPCError({
|
||||
message: `User not authenticated`,
|
||||
code: "UNAUTHORIZED",
|
||||
});
|
||||
|
||||
const existing = await userRepo.getById(ctx.db, userId);
|
||||
|
||||
if (!existing) {
|
||||
throw new TRPCError({
|
||||
message: `User not found`,
|
||||
code: "NOT_FOUND",
|
||||
});
|
||||
}
|
||||
|
||||
if (existing.hasPassword) {
|
||||
throw new TRPCError({
|
||||
message: `Password already set; use change password instead`,
|
||||
code: "BAD_REQUEST",
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
await ctx.auth.api.setPassword({ newPassword: input.newPassword });
|
||||
} catch {
|
||||
throw new TRPCError({
|
||||
message: "Failed to set password",
|
||||
code: "INTERNAL_SERVER_ERROR",
|
||||
});
|
||||
}
|
||||
|
||||
return { success: true };
|
||||
}),
|
||||
});
|
||||
|
||||
@@ -334,7 +334,6 @@ export const webhookRouter = createTRPCRouter({
|
||||
|
||||
const testPayload = createCardWebhookPayload("card.created", {
|
||||
id: "test-card-id",
|
||||
publicId: "test-card-public-id",
|
||||
title: "Test Card",
|
||||
description: "This is a test webhook payload",
|
||||
dueDate: null,
|
||||
|
||||
@@ -521,7 +521,6 @@ export const workspaceRouter = createTRPCRouter({
|
||||
boardPublicId: z.string(),
|
||||
boardName: z.string(),
|
||||
listName: z.string(),
|
||||
cardNumber: z.number().nullable(),
|
||||
updatedAt: z.date().nullable(),
|
||||
createdAt: z.date(),
|
||||
type: z.literal("card"),
|
||||
|
||||
@@ -63,11 +63,6 @@ const createAuthWithHeaders = (
|
||||
headers,
|
||||
query: { referenceId: input.workspacePublicId },
|
||||
}),
|
||||
setPassword: (input: { newPassword: string }) =>
|
||||
auth.api.setPassword({
|
||||
headers,
|
||||
body: { newPassword: input.newPassword },
|
||||
}),
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -43,7 +43,6 @@ describe("webhook utilities", () => {
|
||||
"card.created",
|
||||
{
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
listId: "list-456",
|
||||
},
|
||||
@@ -56,14 +55,12 @@ describe("webhook utilities", () => {
|
||||
expect(payload.timestamp).toBe("2024-01-15T12:00:00.000Z");
|
||||
expect(payload.data.card).toEqual({
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
description: undefined,
|
||||
dueDate: null,
|
||||
listId: "list-456",
|
||||
boardId: "board-789",
|
||||
});
|
||||
expect(payload.data.card.publicId).toBe("card-pub-123");
|
||||
});
|
||||
|
||||
it("includes optional card fields when provided", () => {
|
||||
@@ -72,7 +69,6 @@ describe("webhook utilities", () => {
|
||||
"card.updated",
|
||||
{
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
description: "A description",
|
||||
dueDate,
|
||||
@@ -92,7 +88,6 @@ describe("webhook utilities", () => {
|
||||
"card.created",
|
||||
{
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
listId: "list-456",
|
||||
},
|
||||
@@ -113,7 +108,6 @@ describe("webhook utilities", () => {
|
||||
"card.created",
|
||||
{
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
listId: "list-456",
|
||||
},
|
||||
@@ -134,7 +128,6 @@ describe("webhook utilities", () => {
|
||||
"card.created",
|
||||
{
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
listId: "list-456",
|
||||
},
|
||||
@@ -158,7 +151,6 @@ describe("webhook utilities", () => {
|
||||
"card.updated",
|
||||
{
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Updated Title",
|
||||
listId: "list-456",
|
||||
},
|
||||
@@ -180,7 +172,6 @@ describe("webhook utilities", () => {
|
||||
"card.moved",
|
||||
{
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Moved Card",
|
||||
listId: "list-public-done",
|
||||
},
|
||||
@@ -221,7 +212,6 @@ describe("webhook utilities", () => {
|
||||
data: {
|
||||
card: {
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
listId: "list-456",
|
||||
boardId: "board-789",
|
||||
@@ -418,7 +408,6 @@ describe("webhook utilities", () => {
|
||||
data: {
|
||||
card: {
|
||||
id: "card-123",
|
||||
publicId: "card-pub-123",
|
||||
title: "Test Card",
|
||||
listId: "list-456",
|
||||
boardId: "board-789",
|
||||
|
||||
@@ -16,7 +16,6 @@ export interface WebhookPayload {
|
||||
data: {
|
||||
card: {
|
||||
id: string;
|
||||
publicId: string;
|
||||
title: string;
|
||||
description?: string | null;
|
||||
dueDate?: string | null; // ISO string after JSON serialization
|
||||
@@ -222,7 +221,6 @@ export function createCardWebhookPayload(
|
||||
event: WebhookEventType,
|
||||
card: {
|
||||
id: string;
|
||||
publicId: string;
|
||||
title: string;
|
||||
description?: string | null;
|
||||
dueDate?: Date | null;
|
||||
@@ -245,7 +243,6 @@ export function createCardWebhookPayload(
|
||||
data: {
|
||||
card: {
|
||||
id: card.id,
|
||||
publicId: card.publicId,
|
||||
title: card.title,
|
||||
description: card.description,
|
||||
dueDate: card.dueDate?.toISOString() ?? null,
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
ALTER TABLE "card" ADD COLUMN "cardNumber" integer;--> statement-breakpoint
|
||||
ALTER TABLE "workspace" ADD COLUMN "cardPrefix" varchar(10) DEFAULT '' NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "workspace" ADD COLUMN "cardCounter" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "card_list_number_idx" ON "card" USING btree ("listId","cardNumber");--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "workspace_card_prefix_idx" ON "workspace" USING btree ("cardPrefix");--> statement-breakpoint
|
||||
|
||||
-- Populate cardPrefix for existing workspaces from their name
|
||||
UPDATE "workspace"
|
||||
SET "cardPrefix" = (
|
||||
SELECT CASE
|
||||
WHEN array_length(words, 1) = 1 THEN UPPER(LEFT(words[1], 3))
|
||||
ELSE UPPER(LEFT(array_to_string(ARRAY(
|
||||
SELECT LEFT(w, 1) FROM unnest(words) AS w WHERE w != ''
|
||||
), ''), 4))
|
||||
END
|
||||
FROM (
|
||||
SELECT regexp_split_to_array(trim("name"), '\s+') AS words
|
||||
) sub
|
||||
)
|
||||
WHERE "cardPrefix" = '';--> statement-breakpoint
|
||||
|
||||
-- Assign sequential cardNumber to existing cards (including soft-deleted),
|
||||
-- ordered by createdAt, scoped to workspace. Deleted cards still receive a
|
||||
-- number so future un-archive/restore flows can keep their ticket ID.
|
||||
WITH numbered AS (
|
||||
SELECT
|
||||
c.id,
|
||||
ROW_NUMBER() OVER (PARTITION BY b."workspaceId" ORDER BY c."createdAt", c.id) AS rn
|
||||
FROM "card" c
|
||||
JOIN "list" l ON c."listId" = l.id
|
||||
JOIN "board" b ON l."boardId" = b.id
|
||||
WHERE c."cardNumber" IS NULL
|
||||
)
|
||||
UPDATE "card" c
|
||||
SET "cardNumber" = n.rn
|
||||
FROM numbered n
|
||||
WHERE c.id = n.id;--> statement-breakpoint
|
||||
|
||||
-- Update cardCounter on each workspace to the max cardNumber assigned
|
||||
UPDATE "workspace" w
|
||||
SET "cardCounter" = COALESCE((
|
||||
SELECT MAX(c."cardNumber")
|
||||
FROM "card" c
|
||||
JOIN "list" l ON c."listId" = l.id
|
||||
JOIN "board" b ON l."boardId" = b.id
|
||||
WHERE b."workspaceId" = w.id AND c."cardNumber" IS NOT NULL
|
||||
), 0);
|
||||
@@ -1,3 +0,0 @@
|
||||
ALTER TABLE "subscription" ADD COLUMN "partnerLicenseKey" varchar(255);--> statement-breakpoint
|
||||
ALTER TABLE "subscription" ADD COLUMN "partnerTier" integer;--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "subscription_partner_license_key_idx" ON "subscription" USING btree ("partnerLicenseKey");
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -225,26 +225,6 @@
|
||||
"when": 1775170588247,
|
||||
"tag": "20260402225628_AddTeamWorkspacePlan",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 32,
|
||||
"version": "7",
|
||||
"when": 1776809379931,
|
||||
"tag": "20260421220939_AddCardNumber",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 33,
|
||||
"version": "7",
|
||||
"when": 1778600989523,
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 34,
|
||||
"version": "7",
|
||||
"when": 1778617946519,
|
||||
"tag": "20260512203226_AddPartnerLicenseToSubscription",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -209,7 +209,6 @@ export const getByPublicId = async (
|
||||
workspace: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
cardPrefix: true,
|
||||
},
|
||||
with: {
|
||||
members: {
|
||||
@@ -256,7 +255,6 @@ export const getByPublicId = async (
|
||||
listId: true,
|
||||
index: true,
|
||||
dueDate: true,
|
||||
cardNumber: true,
|
||||
},
|
||||
with: {
|
||||
labels: {
|
||||
@@ -426,7 +424,6 @@ export const getBySlug = async (
|
||||
publicId: true,
|
||||
name: true,
|
||||
slug: true,
|
||||
cardPrefix: true,
|
||||
},
|
||||
},
|
||||
labels: {
|
||||
@@ -453,7 +450,6 @@ export const getBySlug = async (
|
||||
listId: true,
|
||||
index: true,
|
||||
dueDate: true,
|
||||
cardNumber: true,
|
||||
},
|
||||
with: {
|
||||
labels: {
|
||||
|
||||
@@ -22,7 +22,6 @@ import {
|
||||
labels,
|
||||
lists,
|
||||
workspaceMembers,
|
||||
workspaces,
|
||||
} from "@kan/db/schema";
|
||||
import { generateUID } from "@kan/shared/utils";
|
||||
|
||||
@@ -42,7 +41,6 @@ export const create = async (
|
||||
description: string;
|
||||
createdBy: string;
|
||||
listId: number;
|
||||
workspaceId: number;
|
||||
position: "start" | "end";
|
||||
dueDate?: Date | null;
|
||||
},
|
||||
@@ -84,17 +82,6 @@ export const create = async (
|
||||
`);
|
||||
}
|
||||
|
||||
const [counterResult] = await tx
|
||||
.update(workspaces)
|
||||
.set({ cardCounter: sql`${workspaces.cardCounter} + 1` })
|
||||
.where(eq(workspaces.id, cardInput.workspaceId))
|
||||
.returning({ cardCounter: workspaces.cardCounter });
|
||||
|
||||
if (!counterResult)
|
||||
throw new Error(`Workspace ${cardInput.workspaceId} not found`);
|
||||
|
||||
const cardNumber = counterResult.cardCounter;
|
||||
|
||||
const result = await tx
|
||||
.insert(cards)
|
||||
.values({
|
||||
@@ -104,10 +91,9 @@ export const create = async (
|
||||
createdBy: cardInput.createdBy,
|
||||
listId: cardInput.listId,
|
||||
index: index,
|
||||
cardNumber,
|
||||
dueDate: cardInput.dueDate ?? null,
|
||||
})
|
||||
.returning({ id: cards.id, listId: cards.listId, publicId: cards.publicId, cardNumber: cards.cardNumber });
|
||||
.returning({ id: cards.id, listId: cards.listId, publicId: cards.publicId });
|
||||
|
||||
if (!result[0]) throw new Error("Unable to create card");
|
||||
|
||||
@@ -287,7 +273,6 @@ export const bulkCreate = async (
|
||||
description: string;
|
||||
createdBy: string;
|
||||
listId: number;
|
||||
workspaceId: number;
|
||||
index: number;
|
||||
importId?: number;
|
||||
}[],
|
||||
@@ -303,34 +288,6 @@ export const bulkCreate = async (
|
||||
byList.set(item.listId, arr);
|
||||
}
|
||||
|
||||
// Atomically reserve a contiguous range of cardNumbers per workspace by
|
||||
// bumping cardCounter once per workspace.
|
||||
const countsByWorkspace = new Map<number, number>();
|
||||
for (const item of cardInput) {
|
||||
countsByWorkspace.set(
|
||||
item.workspaceId,
|
||||
(countsByWorkspace.get(item.workspaceId) ?? 0) + 1,
|
||||
);
|
||||
}
|
||||
|
||||
const cardNumberByWorkspaceQueue = new Map<number, number[]>();
|
||||
for (const [workspaceId, count] of countsByWorkspace.entries()) {
|
||||
const [counterResult] = await tx
|
||||
.update(workspaces)
|
||||
.set({ cardCounter: sql`${workspaces.cardCounter} + ${count}` })
|
||||
.where(eq(workspaces.id, workspaceId))
|
||||
.returning({ cardCounter: workspaces.cardCounter });
|
||||
|
||||
if (!counterResult)
|
||||
throw new Error(`Workspace ${workspaceId} not found`);
|
||||
|
||||
const last = counterResult.cardCounter;
|
||||
const start = last - count + 1;
|
||||
const queue: number[] = [];
|
||||
for (let n = start; n <= last; n++) queue.push(n);
|
||||
cardNumberByWorkspaceQueue.set(workspaceId, queue);
|
||||
}
|
||||
|
||||
const allValuesToInsert: {
|
||||
publicId: string;
|
||||
title: string;
|
||||
@@ -338,7 +295,6 @@ export const bulkCreate = async (
|
||||
createdBy: string;
|
||||
listId: number;
|
||||
index: number;
|
||||
cardNumber: number;
|
||||
importId?: number;
|
||||
}[] = [];
|
||||
|
||||
@@ -353,12 +309,6 @@ export const bulkCreate = async (
|
||||
let nextIndex = last ? last.index + 1 : 0;
|
||||
const sorted = [...items].sort((a, b) => a.index - b.index);
|
||||
for (const it of sorted) {
|
||||
const queue = cardNumberByWorkspaceQueue.get(it.workspaceId);
|
||||
const cardNumber = queue?.shift();
|
||||
if (cardNumber === undefined)
|
||||
throw new Error(
|
||||
`Failed to allocate cardNumber for workspace ${it.workspaceId}`,
|
||||
);
|
||||
allValuesToInsert.push({
|
||||
publicId: it.publicId,
|
||||
title: it.title,
|
||||
@@ -366,7 +316,6 @@ export const bulkCreate = async (
|
||||
createdBy: it.createdBy,
|
||||
listId: it.listId,
|
||||
index: nextIndex++,
|
||||
cardNumber,
|
||||
importId: it.importId,
|
||||
});
|
||||
}
|
||||
@@ -485,7 +434,6 @@ export const getWithListAndMembersByPublicId = async (
|
||||
description: true,
|
||||
dueDate: true,
|
||||
createdBy: true,
|
||||
cardNumber: true,
|
||||
},
|
||||
with: {
|
||||
labels: {
|
||||
@@ -562,7 +510,6 @@ export const getWithListAndMembersByPublicId = async (
|
||||
workspace: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
cardPrefix: true,
|
||||
},
|
||||
with: {
|
||||
members: {
|
||||
|
||||
@@ -7,7 +7,6 @@ export const updateById = async (
|
||||
db: dbClient,
|
||||
subscriptionId: number,
|
||||
updates: {
|
||||
plan?: string;
|
||||
unlimitedSeats?: boolean;
|
||||
status?: string;
|
||||
seats?: number | null;
|
||||
@@ -90,47 +89,3 @@ export const create = async (
|
||||
const [result] = await db.insert(subscription).values(data).returning();
|
||||
return result;
|
||||
};
|
||||
|
||||
export const getByPartnerLicenseKey = async (
|
||||
db: dbClient,
|
||||
partnerLicenseKey: string,
|
||||
) => {
|
||||
const result = await db.query.subscription.findFirst({
|
||||
where: eq(subscription.partnerLicenseKey, partnerLicenseKey),
|
||||
});
|
||||
return result;
|
||||
};
|
||||
|
||||
export const upsertByPartnerLicenseKey = async (
|
||||
db: dbClient,
|
||||
partnerLicenseKey: string,
|
||||
data: {
|
||||
plan: string;
|
||||
status: string;
|
||||
partnerTier: number;
|
||||
seats: number | null;
|
||||
unlimitedSeats: boolean;
|
||||
referenceId?: string;
|
||||
},
|
||||
) => {
|
||||
const existing = await getByPartnerLicenseKey(db, partnerLicenseKey);
|
||||
|
||||
if (existing) {
|
||||
const [result] = await db
|
||||
.update(subscription)
|
||||
.set({ ...data, updatedAt: new Date() })
|
||||
.where(eq(subscription.partnerLicenseKey, partnerLicenseKey))
|
||||
.returning();
|
||||
return result;
|
||||
}
|
||||
|
||||
const [result] = await db
|
||||
.insert(subscription)
|
||||
.values({
|
||||
partnerLicenseKey,
|
||||
...data,
|
||||
referenceId: data.referenceId ?? null,
|
||||
})
|
||||
.returning();
|
||||
return result;
|
||||
};
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
import { and, count, desc, eq, isNotNull } from "drizzle-orm";
|
||||
import { count, desc, eq } from "drizzle-orm";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
|
||||
import type { dbClient } from "@kan/db/client";
|
||||
import { account, apikey, users } from "@kan/db/schema";
|
||||
|
||||
const PROVIDER_CREDENTIAL = "credential";
|
||||
const PROVIDER_MAGIC_LINK = "magic-link";
|
||||
import { apikey, users } from "@kan/db/schema";
|
||||
|
||||
export const getCount = async (db: dbClient) => {
|
||||
const result = await db.select({ count: count() }).from(users);
|
||||
@@ -14,58 +11,27 @@ export const getCount = async (db: dbClient) => {
|
||||
};
|
||||
|
||||
export const getById = async (db: dbClient, userId: string) => {
|
||||
const [user, credentialAccount, magicLinkAccount] = await Promise.all([
|
||||
db.query.users.findFirst({
|
||||
columns: {
|
||||
id: true,
|
||||
name: true,
|
||||
email: true,
|
||||
image: true,
|
||||
stripeCustomerId: true,
|
||||
},
|
||||
with: {
|
||||
apiKeys: {
|
||||
columns: {
|
||||
id: true,
|
||||
prefix: true,
|
||||
key: true,
|
||||
},
|
||||
orderBy: desc(apikey.createdAt),
|
||||
limit: 1,
|
||||
return await db.query.users.findFirst({
|
||||
columns: {
|
||||
id: true,
|
||||
name: true,
|
||||
email: true,
|
||||
image: true,
|
||||
stripeCustomerId: true,
|
||||
},
|
||||
with: {
|
||||
apiKeys: {
|
||||
columns: {
|
||||
id: true,
|
||||
prefix: true,
|
||||
key: true,
|
||||
},
|
||||
orderBy: desc(apikey.createdAt),
|
||||
limit: 1,
|
||||
},
|
||||
where: eq(users.id, userId),
|
||||
}),
|
||||
db
|
||||
.select({ id: account.id })
|
||||
.from(account)
|
||||
.where(
|
||||
and(
|
||||
eq(account.userId, userId),
|
||||
eq(account.providerId, PROVIDER_CREDENTIAL),
|
||||
isNotNull(account.password),
|
||||
),
|
||||
)
|
||||
.limit(1),
|
||||
db
|
||||
.select({ id: account.id })
|
||||
.from(account)
|
||||
.where(
|
||||
and(
|
||||
eq(account.userId, userId),
|
||||
eq(account.providerId, PROVIDER_MAGIC_LINK),
|
||||
),
|
||||
)
|
||||
.limit(1),
|
||||
]);
|
||||
|
||||
if (!user) return undefined;
|
||||
|
||||
return {
|
||||
...user,
|
||||
hasPassword: credentialAccount.length > 0,
|
||||
hasMagicLinkAccount: magicLinkAccount.length > 0,
|
||||
};
|
||||
},
|
||||
where: eq(users.id, userId),
|
||||
});
|
||||
};
|
||||
|
||||
export const getByStripeCustomerId = async (
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
import {
|
||||
and,
|
||||
asc,
|
||||
count,
|
||||
desc,
|
||||
eq,
|
||||
ilike,
|
||||
inArray,
|
||||
isNull,
|
||||
asc,
|
||||
or,
|
||||
sql,
|
||||
} from "drizzle-orm";
|
||||
|
||||
import type { dbClient } from "@kan/db/client";
|
||||
import type { Permission, Role } from "@kan/shared";
|
||||
import {
|
||||
boards,
|
||||
cards,
|
||||
@@ -20,11 +19,8 @@ import {
|
||||
workspaceMembers,
|
||||
workspaces,
|
||||
} from "@kan/db/schema";
|
||||
import {
|
||||
generateUID,
|
||||
generateWorkspacePrefix,
|
||||
getDefaultPermissions,
|
||||
} from "@kan/shared";
|
||||
import type { Permission, Role } from "@kan/shared";
|
||||
import { generateUID, getDefaultPermissions } from "@kan/shared";
|
||||
|
||||
import * as permissionRepo from "./permission.repo";
|
||||
|
||||
@@ -34,22 +30,22 @@ const SYSTEM_ROLES: {
|
||||
description: string;
|
||||
hierarchyLevel: number;
|
||||
}[] = [
|
||||
{
|
||||
name: "admin",
|
||||
description: "Full access to all workspace features",
|
||||
hierarchyLevel: 100,
|
||||
},
|
||||
{
|
||||
name: "member",
|
||||
description: "Standard member with create and edit permissions",
|
||||
hierarchyLevel: 50,
|
||||
},
|
||||
{
|
||||
name: "guest",
|
||||
description: "View-only access",
|
||||
hierarchyLevel: 10,
|
||||
},
|
||||
];
|
||||
{
|
||||
name: "admin",
|
||||
description: "Full access to all workspace features",
|
||||
hierarchyLevel: 100,
|
||||
},
|
||||
{
|
||||
name: "member",
|
||||
description: "Standard member with create and edit permissions",
|
||||
hierarchyLevel: 50,
|
||||
},
|
||||
{
|
||||
name: "guest",
|
||||
description: "View-only access",
|
||||
hierarchyLevel: 10,
|
||||
},
|
||||
];
|
||||
|
||||
export const getCount = async (db: dbClient) => {
|
||||
const result = await db
|
||||
@@ -79,12 +75,8 @@ export const create = async (
|
||||
name: workspaceInput.name,
|
||||
slug: workspaceInput.slug,
|
||||
createdBy: workspaceInput.createdBy,
|
||||
...(workspaceInput.description && {
|
||||
description: workspaceInput.description,
|
||||
}),
|
||||
...(workspaceInput.description && { description: workspaceInput.description }),
|
||||
...(workspaceInput.plan && { plan: workspaceInput.plan }),
|
||||
cardPrefix: generateWorkspacePrefix(workspaceInput.name),
|
||||
cardCounter: 0,
|
||||
})
|
||||
.returning({
|
||||
id: workspaces.id,
|
||||
@@ -266,12 +258,8 @@ export const getBySlugWithBoards = (db: dbClient, workspaceSlug: string) => {
|
||||
slug: true,
|
||||
name: true,
|
||||
},
|
||||
where: and(
|
||||
isNull(boards.deletedAt),
|
||||
eq(boards.visibility, "public"),
|
||||
eq(boards.isArchived, false),
|
||||
),
|
||||
orderBy: [asc(boards.name)],
|
||||
where: and(isNull(boards.deletedAt), eq(boards.visibility, "public"), eq(boards.isArchived, false)),
|
||||
orderBy: [asc(boards.name)]
|
||||
},
|
||||
},
|
||||
where: and(
|
||||
@@ -295,7 +283,6 @@ export const getAllByUserId = async (db: dbClient, userId: string) => {
|
||||
slug: true,
|
||||
plan: true,
|
||||
weekStartDay: true,
|
||||
cardPrefix: true,
|
||||
deletedAt: true,
|
||||
},
|
||||
// https://github.com/drizzle-team/drizzle-orm/issues/2903
|
||||
@@ -378,14 +365,6 @@ export const isUserInWorkspace = async (
|
||||
return result?.id !== undefined;
|
||||
};
|
||||
|
||||
const parseTicketId = (
|
||||
query: string,
|
||||
): { prefix: string; number: number } | null => {
|
||||
const match = /^([A-Za-z0-9]{1,10})-(\d+)$/.exec(query);
|
||||
if (!match) return null;
|
||||
return { prefix: match[1]!.toUpperCase(), number: parseInt(match[2]!, 10) };
|
||||
};
|
||||
|
||||
export const searchBoardsAndCards = async (
|
||||
db: dbClient,
|
||||
workspaceId: number,
|
||||
@@ -394,8 +373,6 @@ export const searchBoardsAndCards = async (
|
||||
) => {
|
||||
const searchQuery = `%${query}%`;
|
||||
|
||||
const ticketId = parseTicketId(query.trim());
|
||||
|
||||
// Search for boards
|
||||
const boardResults = await db
|
||||
.select({
|
||||
@@ -423,29 +400,9 @@ export const searchBoardsAndCards = async (
|
||||
sql`similarity(${boards.name}, ${query}) DESC`,
|
||||
desc(boards.updatedAt),
|
||||
)
|
||||
.limit(ticketId ? 0 : Math.ceil(limit * 0.4));
|
||||
|
||||
// Search for cards by ticket ID or by title
|
||||
const cardWhereConditions = ticketId
|
||||
? and(
|
||||
eq(boards.workspaceId, workspaceId),
|
||||
eq(cards.cardNumber, ticketId.number),
|
||||
ilike(workspaces.cardPrefix, ticketId.prefix),
|
||||
isNull(cards.deletedAt),
|
||||
isNull(lists.deletedAt),
|
||||
isNull(boards.deletedAt),
|
||||
)
|
||||
: and(
|
||||
eq(boards.workspaceId, workspaceId),
|
||||
or(
|
||||
ilike(cards.title, searchQuery),
|
||||
sql`similarity(${cards.title}, ${query}) > 0.2`,
|
||||
),
|
||||
isNull(cards.deletedAt),
|
||||
isNull(lists.deletedAt),
|
||||
isNull(boards.deletedAt),
|
||||
);
|
||||
.limit(Math.ceil(limit * 0.4));
|
||||
|
||||
// Search for cards
|
||||
const cardResults = await db
|
||||
.select({
|
||||
publicId: cards.publicId,
|
||||
@@ -454,36 +411,35 @@ export const searchBoardsAndCards = async (
|
||||
boardPublicId: boards.publicId,
|
||||
boardName: boards.name,
|
||||
listName: lists.name,
|
||||
cardNumber: cards.cardNumber,
|
||||
updatedAt: cards.updatedAt,
|
||||
createdAt: cards.createdAt,
|
||||
})
|
||||
.from(cards)
|
||||
.innerJoin(lists, eq(cards.listId, lists.id))
|
||||
.innerJoin(boards, eq(lists.boardId, boards.id))
|
||||
.innerJoin(workspaces, eq(boards.workspaceId, workspaces.id))
|
||||
.where(cardWhereConditions)
|
||||
.orderBy(
|
||||
...(ticketId
|
||||
? [desc(cards.createdAt)]
|
||||
: [
|
||||
sql`CASE WHEN ${cards.title} ILIKE ${searchQuery} THEN 1 ELSE 0 END DESC`,
|
||||
sql`similarity(${cards.title}, ${query}) DESC`,
|
||||
desc(cards.updatedAt),
|
||||
]),
|
||||
.where(
|
||||
and(
|
||||
eq(boards.workspaceId, workspaceId),
|
||||
or(
|
||||
ilike(cards.title, searchQuery),
|
||||
sql`similarity(${cards.title}, ${query}) > 0.2`,
|
||||
),
|
||||
isNull(cards.deletedAt),
|
||||
isNull(lists.deletedAt),
|
||||
isNull(boards.deletedAt),
|
||||
),
|
||||
)
|
||||
.limit(ticketId ? limit : Math.floor(limit * 0.6));
|
||||
.orderBy(
|
||||
sql`CASE WHEN ${cards.title} ILIKE ${searchQuery} THEN 1 ELSE 0 END DESC`,
|
||||
sql`similarity(${cards.title}, ${query}) DESC`,
|
||||
desc(cards.updatedAt),
|
||||
)
|
||||
.limit(Math.floor(limit * 0.6));
|
||||
|
||||
// Combine results
|
||||
const allResults = [
|
||||
...boardResults.map((board) => ({
|
||||
...board,
|
||||
type: "board" as const,
|
||||
})),
|
||||
...cardResults.map((card) => ({
|
||||
...card,
|
||||
type: "card" as const,
|
||||
})),
|
||||
...boardResults.map((board) => ({ ...board, type: "board" as const })),
|
||||
...cardResults.map((card) => ({ ...card, type: "card" as const })),
|
||||
];
|
||||
|
||||
// Ensure we don't exceed the total limit
|
||||
|
||||
@@ -2,7 +2,6 @@ import { relations } from "drizzle-orm";
|
||||
import {
|
||||
bigint,
|
||||
bigserial,
|
||||
index,
|
||||
integer,
|
||||
pgEnum,
|
||||
pgTable,
|
||||
@@ -55,36 +54,27 @@ export type ActivityType = (typeof activityTypes)[number];
|
||||
|
||||
export const activityTypeEnum = pgEnum("card_activity_type", activityTypes);
|
||||
|
||||
export const cards = pgTable(
|
||||
"card",
|
||||
{
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
publicId: varchar("publicId", { length: 12 }).notNull().unique(),
|
||||
title: text("title").notNull(),
|
||||
description: text("description"),
|
||||
index: integer("index").notNull(),
|
||||
cardNumber: integer("cardNumber"),
|
||||
createdBy: uuid("createdBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
updatedAt: timestamp("updatedAt"),
|
||||
deletedAt: timestamp("deletedAt"),
|
||||
deletedBy: uuid("deletedBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
listId: bigint("listId", { mode: "number" })
|
||||
.notNull()
|
||||
.references(() => lists.id, { onDelete: "cascade" }),
|
||||
importId: bigint("importId", { mode: "number" }).references(
|
||||
() => imports.id,
|
||||
),
|
||||
dueDate: timestamp("dueDate"),
|
||||
},
|
||||
(table) => [
|
||||
index("card_list_number_idx").on(table.listId, table.cardNumber),
|
||||
],
|
||||
).enableRLS();
|
||||
export const cards = pgTable("card", {
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
publicId: varchar("publicId", { length: 12 }).notNull().unique(),
|
||||
title: text("title").notNull(),
|
||||
description: text("description"),
|
||||
index: integer("index").notNull(),
|
||||
createdBy: uuid("createdBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
updatedAt: timestamp("updatedAt"),
|
||||
deletedAt: timestamp("deletedAt"),
|
||||
deletedBy: uuid("deletedBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
listId: bigint("listId", { mode: "number" })
|
||||
.notNull()
|
||||
.references(() => lists.id, { onDelete: "cascade" }),
|
||||
importId: bigint("importId", { mode: "number" }).references(() => imports.id),
|
||||
dueDate: timestamp("dueDate"),
|
||||
}).enableRLS();
|
||||
|
||||
export const cardsRelations = relations(cards, ({ one, many }) => ({
|
||||
createdBy: one(users, {
|
||||
|
||||
@@ -5,42 +5,31 @@ import {
|
||||
integer,
|
||||
pgTable,
|
||||
timestamp,
|
||||
uniqueIndex,
|
||||
varchar,
|
||||
} from "drizzle-orm/pg-core";
|
||||
|
||||
import { workspaces } from "./workspaces";
|
||||
|
||||
export const subscription = pgTable(
|
||||
"subscription",
|
||||
{
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
plan: varchar("plan", { length: 255 }).notNull(),
|
||||
referenceId: varchar("referenceId", { length: 12 }).references(
|
||||
() => workspaces.publicId,
|
||||
{ onDelete: "set null" },
|
||||
),
|
||||
stripeCustomerId: varchar("stripeCustomerId", { length: 255 }),
|
||||
stripeSubscriptionId: varchar("stripeSubscriptionId", { length: 255 }),
|
||||
status: varchar("status", { length: 255 }).notNull(),
|
||||
periodStart: timestamp("periodStart"),
|
||||
periodEnd: timestamp("periodEnd"),
|
||||
cancelAtPeriodEnd: boolean("cancelAtPeriodEnd"),
|
||||
seats: integer("seats"),
|
||||
unlimitedSeats: boolean("unlimitedSeats").default(false).notNull(),
|
||||
trialStart: timestamp("trialStart"),
|
||||
trialEnd: timestamp("trialEnd"),
|
||||
partnerLicenseKey: varchar("partnerLicenseKey", { length: 255 }),
|
||||
partnerTier: integer("partnerTier"),
|
||||
createdAt: timestamp("createdAt").notNull().defaultNow(),
|
||||
updatedAt: timestamp("updatedAt").notNull().defaultNow(),
|
||||
},
|
||||
(table) => [
|
||||
uniqueIndex("subscription_partner_license_key_idx").on(
|
||||
table.partnerLicenseKey,
|
||||
),
|
||||
],
|
||||
).enableRLS();
|
||||
export const subscription = pgTable("subscription", {
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
plan: varchar("plan", { length: 255 }).notNull(),
|
||||
referenceId: varchar("referenceId", { length: 12 }).references(
|
||||
() => workspaces.publicId,
|
||||
{ onDelete: "set null" },
|
||||
),
|
||||
stripeCustomerId: varchar("stripeCustomerId", { length: 255 }),
|
||||
stripeSubscriptionId: varchar("stripeSubscriptionId", { length: 255 }),
|
||||
status: varchar("status", { length: 255 }).notNull(),
|
||||
periodStart: timestamp("periodStart"),
|
||||
periodEnd: timestamp("periodEnd"),
|
||||
cancelAtPeriodEnd: boolean("cancelAtPeriodEnd"),
|
||||
seats: integer("seats"),
|
||||
unlimitedSeats: boolean("unlimitedSeats").default(false).notNull(),
|
||||
trialStart: timestamp("trialStart"),
|
||||
trialEnd: timestamp("trialEnd"),
|
||||
createdAt: timestamp("createdAt").notNull().defaultNow(),
|
||||
updatedAt: timestamp("updatedAt").notNull().defaultNow(),
|
||||
}).enableRLS();
|
||||
|
||||
export const subscriptionsRelations = relations(subscription, ({ one }) => ({
|
||||
workspace: one(workspaces, {
|
||||
|
||||
@@ -3,7 +3,6 @@ import {
|
||||
bigint,
|
||||
bigserial,
|
||||
boolean,
|
||||
index,
|
||||
integer,
|
||||
pgEnum,
|
||||
pgTable,
|
||||
@@ -39,31 +38,25 @@ export const workspacePlans = ["free", "team", "pro", "enterprise"] as const;
|
||||
export type WorkspacePlan = (typeof workspacePlans)[number];
|
||||
export const workspacePlanEnum = pgEnum("workspace_plan", workspacePlans);
|
||||
|
||||
export const workspaces = pgTable(
|
||||
"workspace",
|
||||
{
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
publicId: varchar("publicId", { length: 12 }).notNull().unique(),
|
||||
name: varchar("name", { length: 255 }).notNull(),
|
||||
description: text("description"),
|
||||
slug: varchar("slug", { length: 255 }).notNull().unique(),
|
||||
plan: workspacePlanEnum("plan").notNull().default("free"),
|
||||
showEmailsToMembers: boolean("showEmailsToMembers").notNull().default(true),
|
||||
weekStartDay: integer("weekStartDay").notNull().default(1),
|
||||
cardPrefix: varchar("cardPrefix", { length: 10 }).notNull().default(""),
|
||||
cardCounter: integer("cardCounter").notNull().default(0),
|
||||
createdBy: uuid("createdBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
updatedAt: timestamp("updatedAt"),
|
||||
deletedAt: timestamp("deletedAt"),
|
||||
deletedBy: uuid("deletedBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
},
|
||||
(table) => [index("workspace_card_prefix_idx").on(table.cardPrefix)],
|
||||
).enableRLS();
|
||||
export const workspaces = pgTable("workspace", {
|
||||
id: bigserial("id", { mode: "number" }).primaryKey(),
|
||||
publicId: varchar("publicId", { length: 12 }).notNull().unique(),
|
||||
name: varchar("name", { length: 255 }).notNull(),
|
||||
description: text("description"),
|
||||
slug: varchar("slug", { length: 255 }).notNull().unique(),
|
||||
plan: workspacePlanEnum("plan").notNull().default("free"),
|
||||
showEmailsToMembers: boolean("showEmailsToMembers").notNull().default(true),
|
||||
weekStartDay: integer("weekStartDay").notNull().default(1),
|
||||
createdBy: uuid("createdBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
updatedAt: timestamp("updatedAt"),
|
||||
deletedAt: timestamp("deletedAt"),
|
||||
deletedBy: uuid("deletedBy").references(() => users.id, {
|
||||
onDelete: "set null",
|
||||
}),
|
||||
}).enableRLS();
|
||||
|
||||
export const workspaceRelations = relations(workspaces, ({ one, many }) => ({
|
||||
user: one(users, {
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
export const generateWorkspacePrefix = (name: string): string => {
|
||||
const words = name
|
||||
.trim()
|
||||
.split(/\s+/)
|
||||
.filter((w) => w.length > 0);
|
||||
|
||||
if (words.length === 0) return "WS";
|
||||
|
||||
const firstWord = words[0];
|
||||
if (words.length === 1 && firstWord) {
|
||||
const word = firstWord.replace(/[^a-zA-Z0-9]/g, "").toUpperCase();
|
||||
return word.slice(0, 3) || "WS";
|
||||
}
|
||||
|
||||
const initials = words
|
||||
.map((w) => {
|
||||
const cleaned = w.replace(/[^a-zA-Z0-9]/g, "");
|
||||
return cleaned.length > 0 ? cleaned[0]! : "";
|
||||
})
|
||||
.filter((c) => c.length > 0)
|
||||
.join("")
|
||||
.toUpperCase()
|
||||
.slice(0, 4);
|
||||
|
||||
return initials || "WS";
|
||||
};
|
||||
@@ -1,6 +1,5 @@
|
||||
export * from "./generateUID";
|
||||
export * from "./generateSlug";
|
||||
export * from "./generateWorkspacePrefix";
|
||||
export * from "./subscriptions";
|
||||
export * from "./email";
|
||||
export * from "./dueDateFilters";
|
||||
|
||||
Reference in New Issue
Block a user