Compare commits

..

1 Commits

Author SHA1 Message Date
Henry
39bca3b39f chore: clean up types 2026-04-20 21:54:23 +01:00
60 changed files with 925 additions and 11670 deletions

View File

@@ -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).

View File

@@ -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

View File

@@ -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

View File

@@ -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">

View File

@@ -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>
</>
);
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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`);
}),
);

View File

@@ -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");
}),
);

View File

@@ -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,
},
};

View File

@@ -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>
</>
);
}

View File

@@ -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]);

View File

@@ -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 ||

View File

@@ -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),
),

View File

@@ -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 ?? []}

View File

@@ -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
? [
{

View File

@@ -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}`}

View File

@@ -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>

View File

@@ -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 */}

View File

@@ -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>

View File

@@ -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,
});

View File

@@ -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,
}));

View File

@@ -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 };
}),
});

View File

@@ -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,

View File

@@ -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"),

View File

@@ -63,11 +63,6 @@ const createAuthWithHeaders = (
headers,
query: { referenceId: input.workspacePublicId },
}),
setPassword: (input: { newPassword: string }) =>
auth.api.setPassword({
headers,
body: { newPassword: input.newPassword },
}),
},
};
};

View File

@@ -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",

View File

@@ -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,

View File

@@ -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);

View File

@@ -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

View File

@@ -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
}
]
}

View File

@@ -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: {

View File

@@ -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: {

View File

@@ -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;
};

View File

@@ -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 (

View File

@@ -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

View File

@@ -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, {

View File

@@ -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, {

View File

@@ -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, {

View File

@@ -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";
};

View File

@@ -1,6 +1,5 @@
export * from "./generateUID";
export * from "./generateSlug";
export * from "./generateWorkspacePrefix";
export * from "./subscriptions";
export * from "./email";
export * from "./dueDateFilters";