Compare commits
10 Commits
fix/react-
...
feat/searc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3636676913 | ||
|
|
9d9b5ed7d1 | ||
|
|
e526ad3bda | ||
|
|
962aba8ccf | ||
|
|
c75dcb2f20 | ||
|
|
f8475b77f1 | ||
|
|
bd691017ad | ||
|
|
468bd8afec | ||
|
|
6904bce96b | ||
|
|
e07a462184 |
@@ -235,6 +235,7 @@ checksums:
|
|||||||
Important/singular: 4cf0e8fc8e4e7c5c9b9458059a172a2b
|
Important/singular: 4cf0e8fc8e4e7c5c9b9458059a172a2b
|
||||||
Importing%20from%20Trello/singular: 1e3a46fb9bd8ce8c7d632f9555b5bd7c
|
Importing%20from%20Trello/singular: 1e3a46fb9bd8ce8c7d632f9555b5bd7c
|
||||||
Importing%20your%20Trello%20boards%20into%20Kan%20is%20easy.%20You%20can%20follow%20our%20step-by-step%20guide%20%3C0%3Ehere%3C%2F0%3E./singular: ca88dc22801fef08fee1ecfb1bf6914e
|
Importing%20your%20Trello%20boards%20into%20Kan%20is%20easy.%20You%20can%20follow%20our%20step-by-step%20guide%20%3C0%3Ehere%3C%2F0%3E./singular: ca88dc22801fef08fee1ecfb1bf6914e
|
||||||
|
in/singular: 1f06ad6763244d5e9927853e65cc6274
|
||||||
In%20Progress/singular: 3de9afebcb9d4ce8ac42e14995f79ffd
|
In%20Progress/singular: 3de9afebcb9d4ce8ac42e14995f79ffd
|
||||||
Individuals/singular: 83bfc81f20e60556c44ec80c7d0603ec
|
Individuals/singular: 83bfc81f20e60556c44ec80c7d0603ec
|
||||||
Integrations/singular: 0ccce343287704cd90150c32e2fcad36
|
Integrations/singular: 0ccce343287704cd90150c32e2fcad36
|
||||||
@@ -244,6 +245,7 @@ checksums:
|
|||||||
Invite/singular: 181884cea804cbde665f160811ee7ad0
|
Invite/singular: 181884cea804cbde665f160811ee7ad0
|
||||||
Invite%20link%20copied/singular: 4046f23a78e1cd5166671c3fb8a7ea6e
|
Invite%20link%20copied/singular: 4046f23a78e1cd5166671c3fb8a7ea6e
|
||||||
Invite%20link%20copied%20to%20clipboard/singular: 6fc055a0ea0ed1aa58c5e0c502efe17f
|
Invite%20link%20copied%20to%20clipboard/singular: 6fc055a0ea0ed1aa58c5e0c502efe17f
|
||||||
|
Invite%20links%20require%20a%20Team%20or%20Pro%20subscription.%20Please%20upgrade%20your%20workspace./singular: 18db646fc55f99789572c8df0539ee69
|
||||||
Invite%20member/singular: ade922db1be6b26bc979565ce5de2bc7
|
Invite%20member/singular: ade922db1be6b26bc979565ce5de2bc7
|
||||||
Inviting%20members%20requires%20a%20Team%20Plan.%20You'll%20be%20redirected%20to%20upgrade%20your%20workspace./singular: 03eeed2d715e770259f722ba48a61ab3
|
Inviting%20members%20requires%20a%20Team%20Plan.%20You'll%20be%20redirected%20to%20upgrade%20your%20workspace./singular: 03eeed2d715e770259f722ba48a61ab3
|
||||||
Join%20workspace/singular: f5d035df672b05abd760bd022309c719
|
Join%20workspace/singular: f5d035df672b05abd760bd022309c719
|
||||||
@@ -299,6 +301,7 @@ checksums:
|
|||||||
No%20boards%20found/singular: e044088d2c51b6bdf660fafa86ee1e17
|
No%20boards%20found/singular: e044088d2c51b6bdf660fafa86ee1e17
|
||||||
No%20credit%20card%20required/singular: 2090aa4171dc0b60735069f89b592883
|
No%20credit%20card%20required/singular: 2090aa4171dc0b60735069f89b592883
|
||||||
No%20lists/singular: cedf633d99c77ff4356e089f2d98c0a6
|
No%20lists/singular: cedf633d99c77ff4356e089f2d98c0a6
|
||||||
|
No%20results%20found%20for%20%22%7BdebouncedQuery%7D%22./singular: 5db6294712528cd897b15ae36f4fd834
|
||||||
Offer/singular: 82b4e0c9a3f5b4bd93590847de7c32a1
|
Offer/singular: 82b4e0c9a3f5b4bd93590847de7c32a1
|
||||||
Onboarding/singular: 52b23f9c62ff199d4c09920e7641829e
|
Onboarding/singular: 52b23f9c62ff199d4c09920e7641829e
|
||||||
Once%20you%20delete%20your%20account%2C%20there%20is%20no%20going%20back.%20This%20action%20cannot%20be%20undone./singular: 9cf7aa6ef30890e5124e266c081bae1c
|
Once%20you%20delete%20your%20account%2C%20there%20is%20no%20going%20back.%20This%20action%20cannot%20be%20undone./singular: 9cf7aa6ef30890e5124e266c081bae1c
|
||||||
@@ -358,6 +361,7 @@ checksums:
|
|||||||
Save/singular: f7a2929f33bc420195e59ac5a8bcd454
|
Save/singular: f7a2929f33bc420195e59ac5a8bcd454
|
||||||
Save%20time%20with%20reusable%20board%20templates./singular: d0f2d7d0fd682ceaf4ca12c6353fd75a
|
Save%20time%20with%20reusable%20board%20templates./singular: d0f2d7d0fd682ceaf4ca12c6353fd75a
|
||||||
Screening/singular: 0327bfb25db87bdacf00d4dc297f8b26
|
Screening/singular: 0327bfb25db87bdacf00d4dc297f8b26
|
||||||
|
Search%20boards%20and%20cards.../singular: 137017b2b3e885c4894ca8c899af5bc2
|
||||||
Select%20all/singular: eedc7cdb02de467c15dc418a066a77f2
|
Select%20all/singular: eedc7cdb02de467c15dc418a066a77f2
|
||||||
Select%20source/singular: c7b0ec447415ff62856803a4d7838bd6
|
Select%20source/singular: c7b0ec447415ff62856803a4d7838bd6
|
||||||
Self%20Host/singular: 43fbce2027548b712002e489a20a621a
|
Self%20Host/singular: 43fbce2027548b712002e489a20a621a
|
||||||
@@ -383,6 +387,7 @@ checksums:
|
|||||||
Social%20Media/singular: 2227508afb0d38a027e323207e47d4a2
|
Social%20Media/singular: 2227508afb0d38a027e323207e47d4a2
|
||||||
Software%20Development/singular: 67659097ef6bcb194839858b2c4f3a3c
|
Software%20Development/singular: 67659097ef6bcb194839858b2c4f3a3c
|
||||||
Star%20on%20Github/singular: e5cb0428f1ac6485688f120d78742875
|
Star%20on%20Github/singular: e5cb0428f1ac6485688f120d78742875
|
||||||
|
Subscription%20Required/singular: 05f2b4abfc36def17756a6969983cf86
|
||||||
Success/singular: c43827becada6750f7a25890905f38b9
|
Success/singular: c43827becada6750f7a25890905f38b9
|
||||||
Supercharge%20your%20workspace%20for%20just%20%2429%2Fmonth.%20Here's%20what%20you'll%20get%3A/singular: 21af8119141afcce5f12da489f34db6a
|
Supercharge%20your%20workspace%20for%20just%20%2429%2Fmonth.%20Here's%20what%20you'll%20get%3A/singular: 21af8119141afcce5f12da489f34db6a
|
||||||
Support/singular: 55aab5fd0f31a9cb055a2edeeedfaf63
|
Support/singular: 55aab5fd0f31a9cb055a2edeeedfaf63
|
||||||
|
|||||||
193
apps/web/src/components/CommandPallette.tsx
Normal file
193
apps/web/src/components/CommandPallette.tsx
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
import { useRouter } from "next/router";
|
||||||
|
import {
|
||||||
|
Combobox,
|
||||||
|
ComboboxInput,
|
||||||
|
ComboboxOption,
|
||||||
|
ComboboxOptions,
|
||||||
|
Dialog,
|
||||||
|
DialogBackdrop,
|
||||||
|
DialogPanel,
|
||||||
|
} from "@headlessui/react";
|
||||||
|
import { t } from "@lingui/macro";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { HiDocumentText, HiFolder, HiMagnifyingGlass } from "react-icons/hi2";
|
||||||
|
|
||||||
|
import { useDebounce } from "~/hooks/useDebounce";
|
||||||
|
import { useWorkspace } from "~/providers/workspace";
|
||||||
|
import { api } from "~/utils/api";
|
||||||
|
|
||||||
|
type SearchResult =
|
||||||
|
| {
|
||||||
|
publicId: string;
|
||||||
|
title: string;
|
||||||
|
description: string | null;
|
||||||
|
slug: string;
|
||||||
|
updatedAt: Date | null;
|
||||||
|
createdAt: Date;
|
||||||
|
type: "board";
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
publicId: string;
|
||||||
|
title: string;
|
||||||
|
description: string | null;
|
||||||
|
boardPublicId: string;
|
||||||
|
boardName: string;
|
||||||
|
listName: string;
|
||||||
|
updatedAt: Date | null;
|
||||||
|
createdAt: Date;
|
||||||
|
type: "card";
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function CommandPallette({
|
||||||
|
isOpen,
|
||||||
|
onClose,
|
||||||
|
}: {
|
||||||
|
isOpen: boolean;
|
||||||
|
onClose: () => void;
|
||||||
|
}) {
|
||||||
|
const [query, setQuery] = useState("");
|
||||||
|
const { workspace } = useWorkspace();
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
// Debounce to avoid too many reqs
|
||||||
|
const [debouncedQuery] = useDebounce(query, 300);
|
||||||
|
|
||||||
|
const {
|
||||||
|
data: searchResults,
|
||||||
|
isLoading,
|
||||||
|
isFetched,
|
||||||
|
isPlaceholderData,
|
||||||
|
} = api.workspace.search.useQuery(
|
||||||
|
{
|
||||||
|
workspacePublicId: workspace.publicId,
|
||||||
|
query: debouncedQuery,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enabled: Boolean(workspace.publicId && debouncedQuery.trim().length > 0),
|
||||||
|
placeholderData: (previousData) => previousData,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
// Clear results when query is empty, otherwise show search results
|
||||||
|
const results =
|
||||||
|
debouncedQuery.trim().length === 0
|
||||||
|
? []
|
||||||
|
: ((searchResults ?? []) as SearchResult[]);
|
||||||
|
|
||||||
|
const hasSearched = Boolean(debouncedQuery.trim().length > 0);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Dialog
|
||||||
|
className="relative z-50"
|
||||||
|
open={isOpen}
|
||||||
|
onClose={() => {
|
||||||
|
onClose();
|
||||||
|
setQuery("");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<DialogBackdrop
|
||||||
|
transition
|
||||||
|
className="data-closed:opacity-0 data-enter:duration-300 data-enter:ease-out data-leave:duration-200 data-leave:ease-in fixed inset-0 bg-light-50 bg-opacity-40 transition-opacity dark:bg-dark-50 dark:bg-opacity-40"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div className="fixed inset-0 z-50 w-screen overflow-y-auto">
|
||||||
|
<div className="flex min-h-full items-start justify-center p-4 text-center sm:items-start sm:p-0">
|
||||||
|
<DialogPanel
|
||||||
|
transition
|
||||||
|
className="data-closed:opacity-0 data-closed:translate-y-4 data-closed:sm:translate-y-0 data-closed:sm:scale-95 data-enter:duration-300 data-enter:ease-out data-leave:duration-200 data-leave:ease-in relative mt-[25vh] w-full max-w-[550px] transform divide-y divide-gray-100 overflow-hidden rounded-lg border border-light-600 bg-white/90 shadow-3xl-light backdrop-blur-[6px] transition-all dark:divide-white/10 dark:border-dark-600 dark:bg-dark-100/90 dark:shadow-3xl-dark"
|
||||||
|
>
|
||||||
|
<Combobox>
|
||||||
|
<div className="grid grid-cols-1">
|
||||||
|
<ComboboxInput
|
||||||
|
autoFocus
|
||||||
|
className="col-start-1 row-start-1 h-12 w-full border-0 bg-transparent pl-11 pr-4 text-sm text-light-900 placeholder:text-light-700 focus:outline-none focus:ring-0 dark:text-dark-900 dark:placeholder:text-dark-700"
|
||||||
|
placeholder={t`Search boards and cards...`}
|
||||||
|
value={query}
|
||||||
|
onChange={(event) => setQuery(event.target.value)}
|
||||||
|
onKeyDown={(event) => {
|
||||||
|
if (event.key === "Enter" && results.length > 0) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
// Find the active option or fallback to first option
|
||||||
|
const targetOption =
|
||||||
|
document.querySelector(
|
||||||
|
'[data-headlessui-state*="active"][role="option"]',
|
||||||
|
) ?? document.querySelector('[role="option"]');
|
||||||
|
|
||||||
|
if (targetOption) {
|
||||||
|
(targetOption as HTMLElement).click();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<HiMagnifyingGlass
|
||||||
|
className="pointer-events-none col-start-1 row-start-1 ml-4 size-5 self-center text-light-700 dark:text-dark-700"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{results.length > 0 && (
|
||||||
|
<ComboboxOptions
|
||||||
|
static
|
||||||
|
className={`max-h-72 scroll-py-2 overflow-y-auto py-2 ${
|
||||||
|
isPlaceholderData ? "opacity-75" : ""
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
{results.map((result) => {
|
||||||
|
const url =
|
||||||
|
result.type === "board"
|
||||||
|
? `/boards/${result.publicId}`
|
||||||
|
: `/cards/${result.publicId}`;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ComboboxOption
|
||||||
|
key={`${result.type}-${result.publicId}`}
|
||||||
|
value={result}
|
||||||
|
className="cursor-pointer select-none px-4 py-3 data-[focus]:bg-light-200 hover:bg-light-200 focus:outline-none dark:data-[focus]:bg-dark-200 dark:hover:bg-dark-200"
|
||||||
|
onClick={() => {
|
||||||
|
console.log("clicked", url);
|
||||||
|
void router.push(url);
|
||||||
|
onClose();
|
||||||
|
setQuery("");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div className="flex items-start gap-3">
|
||||||
|
<div className="mt-0.5 flex-shrink-0">
|
||||||
|
{result.type === "board" ? (
|
||||||
|
<HiFolder className="h-4 w-4 text-light-600 dark:text-dark-600" />
|
||||||
|
) : (
|
||||||
|
<HiDocumentText className="h-4 w-4 text-light-600 dark:text-dark-600" />
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
<div className="min-w-0 flex-1 text-left">
|
||||||
|
<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">
|
||||||
|
{`${t`in`} ${result.boardName} → ${result.listName}`}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ComboboxOption>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ComboboxOptions>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{hasSearched &&
|
||||||
|
!isLoading &&
|
||||||
|
searchResults !== undefined &&
|
||||||
|
results.length === 0 && (
|
||||||
|
<div className="p-4 text-sm text-light-950 dark:text-dark-950">
|
||||||
|
{t`No results found for "${debouncedQuery}".`}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</Combobox>
|
||||||
|
</DialogPanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Dialog>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
import { Menu, Transition } from "@headlessui/react";
|
import { Button, Menu, Transition } from "@headlessui/react";
|
||||||
import { t } from "@lingui/core/macro";
|
import { t } from "@lingui/core/macro";
|
||||||
import { Fragment } from "react";
|
import { Fragment, useEffect, useState } from "react";
|
||||||
import { HiCheck } from "react-icons/hi2";
|
import { HiCheck, HiMagnifyingGlass } from "react-icons/hi2";
|
||||||
import { twMerge } from "tailwind-merge";
|
import { twMerge } from "tailwind-merge";
|
||||||
|
|
||||||
import { useModal } from "~/providers/modal";
|
import { useModal } from "~/providers/modal";
|
||||||
import { useWorkspace } from "~/providers/workspace";
|
import { useWorkspace } from "~/providers/workspace";
|
||||||
|
import CommandPallette from "./CommandPallette";
|
||||||
|
|
||||||
export default function WorkspaceMenu({
|
export default function WorkspaceMenu({
|
||||||
isCollapsed = false,
|
isCollapsed = false,
|
||||||
@@ -15,110 +16,143 @@ export default function WorkspaceMenu({
|
|||||||
const { workspace, isLoading, availableWorkspaces, switchWorkspace } =
|
const { workspace, isLoading, availableWorkspaces, switchWorkspace } =
|
||||||
useWorkspace();
|
useWorkspace();
|
||||||
const { openModal } = useModal();
|
const { openModal } = useModal();
|
||||||
|
const [isOpen, setIsOpen] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const handleKeyDown = (event: KeyboardEvent) => {
|
||||||
|
if ((event.metaKey || event.ctrlKey) && event.key === "k") {
|
||||||
|
event.preventDefault();
|
||||||
|
setIsOpen(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
document.addEventListener("keydown", handleKeyDown);
|
||||||
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
||||||
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Menu as="div" className="relative inline-block w-full pb-3 text-left">
|
<>
|
||||||
<div>
|
<CommandPallette isOpen={isOpen} onClose={() => setIsOpen(false)} />
|
||||||
{isLoading ? (
|
<Menu as="div" className="relative inline-block w-full pb-3 text-left">
|
||||||
<div className={twMerge("mb-1 flex", isCollapsed && "md:p-1.5")}>
|
<div>
|
||||||
<div className="h-6 w-6 animate-pulse rounded-md bg-light-200 dark:bg-dark-200" />
|
{isLoading ? (
|
||||||
<div
|
<div className={twMerge("mb-1 flex", isCollapsed && "md:p-1.5")}>
|
||||||
className={twMerge(
|
<div className="h-6 w-6 animate-pulse rounded-md bg-light-200 dark:bg-dark-200" />
|
||||||
"ml-2 h-6 w-[150px] animate-pulse rounded-md bg-light-200 dark:bg-dark-200",
|
<div
|
||||||
isCollapsed && "md:hidden",
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<Menu.Button
|
|
||||||
className={twMerge(
|
|
||||||
"mb-1 flex h-[34px] w-full items-center rounded-md p-1.5 hover:bg-light-200 dark:hover:bg-dark-200",
|
|
||||||
isCollapsed && "md:mb-1.5 md:h-9 md:p-1",
|
|
||||||
)}
|
|
||||||
title={isCollapsed ? workspace.name : undefined}
|
|
||||||
>
|
|
||||||
<span className="inline-flex h-6 w-6 items-center justify-center rounded-md bg-indigo-700">
|
|
||||||
<span className="text-xs font-bold leading-none text-white">
|
|
||||||
{workspace.name.charAt(0).toUpperCase()}
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
<span
|
|
||||||
className={twMerge(
|
|
||||||
"ml-2 truncate text-sm font-bold text-neutral-900 dark:text-dark-1000",
|
|
||||||
isCollapsed && "md:hidden",
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
{workspace.name}
|
|
||||||
</span>
|
|
||||||
{workspace.plan === "pro" && (
|
|
||||||
<span
|
|
||||||
className={twMerge(
|
className={twMerge(
|
||||||
"ml-2 inline-flex items-center rounded-md bg-indigo-100 px-2 py-1 text-[10px] font-medium text-indigo-700",
|
"ml-2 h-6 w-[150px] animate-pulse rounded-md bg-light-200 dark:bg-dark-200",
|
||||||
isCollapsed && "md:hidden",
|
isCollapsed && "md:hidden",
|
||||||
)}
|
)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<div
|
||||||
|
className={twMerge(
|
||||||
|
"flex items-center gap-1",
|
||||||
|
isCollapsed && "md:flex-col-reverse md:items-stretch",
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<Menu.Button
|
||||||
|
className={twMerge(
|
||||||
|
"mb-1 flex h-[34px] flex-1 items-center rounded-md p-1.5 hover:bg-light-200 dark:hover:bg-dark-200",
|
||||||
|
isCollapsed &&
|
||||||
|
"md:mb-1.5 md:h-9 md:w-9 md:flex-none md:justify-center md:p-0",
|
||||||
|
)}
|
||||||
|
title={isCollapsed ? workspace.name : undefined}
|
||||||
>
|
>
|
||||||
Pro
|
<span className="inline-flex h-6 w-6 items-center justify-center rounded-md bg-indigo-700">
|
||||||
</span>
|
<span className="text-xs font-bold leading-none text-white">
|
||||||
)}
|
{workspace.name.charAt(0).toUpperCase()}
|
||||||
</Menu.Button>
|
</span>
|
||||||
)}
|
</span>
|
||||||
</div>
|
<span
|
||||||
|
className={twMerge(
|
||||||
<Transition
|
"ml-2 truncate text-sm font-bold text-neutral-900 dark:text-dark-1000",
|
||||||
as={Fragment}
|
isCollapsed && "md:hidden",
|
||||||
enter="transition ease-out duration-100"
|
)}
|
||||||
enterFrom="transform opacity-0 scale-95"
|
>
|
||||||
enterTo="transform opacity-100 scale-100"
|
{workspace.name}
|
||||||
leave="transition ease-in duration-75"
|
</span>
|
||||||
leaveFrom="transform opacity-100 scale-100"
|
{workspace.plan === "pro" && (
|
||||||
leaveTo="transform opacity-0 scale-95"
|
<span
|
||||||
>
|
className={twMerge(
|
||||||
<Menu.Items
|
"ml-2 inline-flex items-center rounded-md bg-indigo-100 px-2 py-1 text-[10px] font-medium text-indigo-700",
|
||||||
className={twMerge(
|
isCollapsed && "md:hidden",
|
||||||
"absolute left-0 z-10 origin-top-left rounded-md border border-light-600 bg-light-50 shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none dark:border-dark-600 dark:bg-dark-300",
|
|
||||||
isCollapsed ? "w-48" : "w-full",
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
<div className="p-1">
|
|
||||||
{availableWorkspaces.map((availableWorkspace) => (
|
|
||||||
<div key={availableWorkspace.publicId} className="flex">
|
|
||||||
<Menu.Item>
|
|
||||||
<button
|
|
||||||
onClick={() => switchWorkspace(availableWorkspace)}
|
|
||||||
className="flex w-full items-center justify-between rounded-[5px] px-3 py-2 text-left text-sm text-neutral-900 hover:bg-light-200 dark:text-dark-1000 dark:hover:bg-dark-400"
|
|
||||||
>
|
|
||||||
<div className="flex min-w-0 flex-1 items-center">
|
|
||||||
<span className="inline-flex h-5 w-5 flex-shrink-0 items-center justify-center rounded-[5px] bg-indigo-700">
|
|
||||||
<span className="text-xs font-medium leading-none text-white">
|
|
||||||
{availableWorkspace.name.charAt(0).toUpperCase()}
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
<span className="ml-2 truncate text-xs font-medium">
|
|
||||||
{availableWorkspace.name}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
{workspace.publicId === availableWorkspace.publicId && (
|
|
||||||
<span>
|
|
||||||
<HiCheck className="h-4 w-4" aria-hidden="true" />
|
|
||||||
</span>
|
|
||||||
)}
|
)}
|
||||||
</button>
|
>
|
||||||
</Menu.Item>
|
Pro
|
||||||
</div>
|
</span>
|
||||||
))}
|
)}
|
||||||
</div>
|
</Menu.Button>
|
||||||
<div className="border-t-[1px] border-light-600 p-1 dark:border-dark-500">
|
<Button
|
||||||
<Menu.Item>
|
className={twMerge(
|
||||||
<button
|
"mb-1 h-[34px] w-[34px] flex-shrink-0 rounded-lg bg-light-200 p-2 hover:bg-light-300 focus:outline-none dark:bg-dark-200 dark:hover:bg-dark-300",
|
||||||
onClick={() => openModal("NEW_WORKSPACE")}
|
isCollapsed && "md:mb-2 md:h-9 md:w-9 md:self-center",
|
||||||
className="flex w-full items-center justify-between rounded-[5px] px-3 py-2 text-left text-xs text-neutral-900 hover:bg-light-200 dark:text-dark-1000 dark:hover:bg-dark-400"
|
)}
|
||||||
|
onClick={() => setIsOpen(true)}
|
||||||
>
|
>
|
||||||
{t`Create workspace`}
|
<HiMagnifyingGlass className="h-4 w-4" aria-hidden="true" />
|
||||||
</button>
|
</Button>
|
||||||
</Menu.Item>
|
</div>
|
||||||
</div>
|
)}
|
||||||
</Menu.Items>
|
</div>
|
||||||
</Transition>
|
|
||||||
</Menu>
|
<Transition
|
||||||
|
as={Fragment}
|
||||||
|
enter="transition ease-out duration-100"
|
||||||
|
enterFrom="transform opacity-0 scale-95"
|
||||||
|
enterTo="transform opacity-100 scale-100"
|
||||||
|
leave="transition ease-in duration-75"
|
||||||
|
leaveFrom="transform opacity-100 scale-100"
|
||||||
|
leaveTo="transform opacity-0 scale-95"
|
||||||
|
>
|
||||||
|
<Menu.Items
|
||||||
|
className={twMerge(
|
||||||
|
"absolute left-0 z-10 origin-top-left rounded-md border border-light-600 bg-light-50 shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none dark:border-dark-600 dark:bg-dark-300",
|
||||||
|
isCollapsed ? "w-48" : "w-full",
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<div className="p-1">
|
||||||
|
{availableWorkspaces.map((availableWorkspace) => (
|
||||||
|
<div key={availableWorkspace.publicId} className="flex">
|
||||||
|
<Menu.Item>
|
||||||
|
<button
|
||||||
|
onClick={() => switchWorkspace(availableWorkspace)}
|
||||||
|
className="flex w-full items-center justify-between rounded-[5px] px-3 py-2 text-left text-sm text-neutral-900 hover:bg-light-200 dark:text-dark-1000 dark:hover:bg-dark-400"
|
||||||
|
>
|
||||||
|
<div className="flex min-w-0 flex-1 items-center">
|
||||||
|
<span className="inline-flex h-5 w-5 flex-shrink-0 items-center justify-center rounded-[5px] bg-indigo-700">
|
||||||
|
<span className="text-xs font-medium leading-none text-white">
|
||||||
|
{availableWorkspace.name.charAt(0).toUpperCase()}
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
<span className="ml-2 truncate text-xs font-medium">
|
||||||
|
{availableWorkspace.name}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
{workspace.publicId === availableWorkspace.publicId && (
|
||||||
|
<span>
|
||||||
|
<HiCheck className="h-4 w-4" aria-hidden="true" />
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</button>
|
||||||
|
</Menu.Item>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<div className="border-t-[1px] border-light-600 p-1 dark:border-dark-500">
|
||||||
|
<Menu.Item>
|
||||||
|
<button
|
||||||
|
onClick={() => openModal("NEW_WORKSPACE")}
|
||||||
|
className="flex w-full items-center justify-between rounded-[5px] px-3 py-2 text-left text-xs text-neutral-900 hover:bg-light-200 dark:text-dark-1000 dark:hover:bg-dark-400"
|
||||||
|
>
|
||||||
|
{t`Create workspace`}
|
||||||
|
</button>
|
||||||
|
</Menu.Item>
|
||||||
|
</div>
|
||||||
|
</Menu.Items>
|
||||||
|
</Transition>
|
||||||
|
</Menu>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,12 +36,12 @@ msgstr "{0} Labels"
|
|||||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||||
msgstr "{boardCount, plural, one {Board importieren (1)} other {Boards importieren ({boardCount})}}"
|
msgstr "{boardCount, plural, one {Board importieren (1)} other {Boards importieren ({boardCount})}}"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$10/month"
|
msgid "$10/month"
|
||||||
msgstr "$10/Monat"
|
msgstr "$10/Monat"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$8/month"
|
msgid "$8/month"
|
||||||
msgstr "$8/Monat"
|
msgstr "$8/Monat"
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
|||||||
msgstr "Label hinzufügen"
|
msgstr "Label hinzufügen"
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:130
|
#: src/views/card/components/MemberSelector.tsx:130
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
#: src/views/members/components/InviteMemberForm.tsx:250
|
||||||
msgid "Add member"
|
msgid "Add member"
|
||||||
msgstr "Mitglied hinzufügen"
|
msgstr "Mitglied hinzufügen"
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ msgstr "hat Checklistenelement <0>{0}</0> hinzugefügt"
|
|||||||
msgid "added label <0>{0}</0>"
|
msgid "added label <0>{0}</0>"
|
||||||
msgstr "hat Label <0>{0}</0> hinzugefügt"
|
msgstr "hat Label <0>{0}</0> hinzugefügt"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
#: src/views/members/components/InviteMemberForm.tsx:320
|
||||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
msgstr "Das Hinzufügen eines neuen Mitglieds kostet zusätzlich {price} ({billingType}) pro Platz."
|
msgstr "Das Hinzufügen eines neuen Mitglieds kostet zusätzlich {price} ({billingType}) pro Platz."
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ msgstr "Beim Trennen deines Trello-Kontos ist ein Fehler aufgetreten."
|
|||||||
msgid "An unexpected error occurred. Please try again later."
|
msgid "An unexpected error occurred. Please try again later."
|
||||||
msgstr "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
|
msgstr "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
#: src/views/members/components/InviteMemberForm.tsx:304
|
||||||
msgid "Anyone with this link can join your workspace"
|
msgid "Anyone with this link can join your workspace"
|
||||||
msgstr "Jeder mit diesem Link kann deinem Arbeitsbereich beitreten"
|
msgstr "Jeder mit diesem Link kann deinem Arbeitsbereich beitreten"
|
||||||
|
|
||||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
|||||||
msgid "Basic Kanban"
|
msgid "Basic Kanban"
|
||||||
msgstr "Einfaches Kanban"
|
msgstr "Einfaches Kanban"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed annually"
|
msgid "billed annually"
|
||||||
msgstr "jährlich abgerechnet"
|
msgstr "jährlich abgerechnet"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed monthly"
|
msgid "billed monthly"
|
||||||
msgstr "monatlich abgerechnet"
|
msgstr "monatlich abgerechnet"
|
||||||
|
|
||||||
@@ -498,7 +498,7 @@ msgstr "Karte erstellen"
|
|||||||
msgid "Create checklist"
|
msgid "Create checklist"
|
||||||
msgstr "Checkliste erstellen"
|
msgstr "Checkliste erstellen"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
#: src/views/members/components/InviteMemberForm.tsx:342
|
||||||
msgid "Create invite link"
|
msgid "Create invite link"
|
||||||
msgstr "Einladungslink erstellen"
|
msgstr "Einladungslink erstellen"
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ msgid "Create new list"
|
|||||||
msgstr "Neue Liste erstellen"
|
msgstr "Neue Liste erstellen"
|
||||||
|
|
||||||
#: src/components/NewWorkspaceForm.tsx:384
|
#: src/components/NewWorkspaceForm.tsx:384
|
||||||
#: src/components/WorkspaceMenu.tsx:116
|
#: src/components/WorkspaceMenu.tsx:149
|
||||||
msgid "Create workspace"
|
msgid "Create workspace"
|
||||||
msgstr "Arbeitsbereich erstellen"
|
msgstr "Arbeitsbereich erstellen"
|
||||||
|
|
||||||
@@ -569,7 +569,7 @@ msgstr "Kundensupport"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Dunkel"
|
msgstr "Dunkel"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||||
msgid "Deactivate invite link"
|
msgid "Deactivate invite link"
|
||||||
msgstr "Einladungslink deaktivieren"
|
msgstr "Einladungslink deaktivieren"
|
||||||
|
|
||||||
@@ -709,7 +709,7 @@ msgstr "Bearbeitung"
|
|||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr "E-Mail"
|
msgstr "E-Mail"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
#: src/views/members/components/InviteMemberForm.tsx:265
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "E-Mail"
|
msgstr "E-Mail"
|
||||||
|
|
||||||
@@ -741,7 +741,7 @@ msgstr "Geben Sie Ihr neues Passwort ein"
|
|||||||
msgid "Enter your password"
|
msgid "Enter your password"
|
||||||
msgstr "Gib dein Passwort ein"
|
msgstr "Gib dein Passwort ein"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
#: src/views/members/components/InviteMemberForm.tsx:208
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Fehler"
|
msgstr "Fehler"
|
||||||
|
|
||||||
@@ -749,11 +749,11 @@ msgstr "Fehler"
|
|||||||
msgid "Error Changing Password"
|
msgid "Error Changing Password"
|
||||||
msgstr "Fehler beim Ändern des Passworts"
|
msgstr "Fehler beim Ändern des Passworts"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
#: src/views/members/components/InviteMemberForm.tsx:128
|
||||||
msgid "Error creating invite link"
|
msgid "Error creating invite link"
|
||||||
msgstr "Fehler beim Erstellen des Einladungslinks"
|
msgstr "Fehler beim Erstellen des Einladungslinks"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
#: src/views/members/components/InviteMemberForm.tsx:144
|
||||||
msgid "Error deactivating invite link"
|
msgid "Error deactivating invite link"
|
||||||
msgstr "Fehler beim Deaktivieren des Einladungslinks"
|
msgstr "Fehler beim Deaktivieren des Einladungslinks"
|
||||||
|
|
||||||
@@ -798,7 +798,7 @@ msgstr "Fehler beim Aktualisieren des Arbeitsbereichsnamens"
|
|||||||
msgid "Error updating workspace URL"
|
msgid "Error updating workspace URL"
|
||||||
msgstr "Fehler beim Aktualisieren der Workspace-URL"
|
msgstr "Fehler beim Aktualisieren der Workspace-URL"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
#: src/views/members/components/InviteMemberForm.tsx:233
|
||||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||||
msgid "Error upgrading subscription"
|
msgid "Error upgrading subscription"
|
||||||
msgstr "Fehler beim Upgrade des Abonnements"
|
msgstr "Fehler beim Upgrade des Abonnements"
|
||||||
@@ -828,7 +828,7 @@ msgstr "Ausführung"
|
|||||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
msgstr "Einladung konnte nicht angenommen werden. Bitte versuche es später erneut oder kontaktiere den Kundensupport."
|
msgstr "Einladung konnte nicht angenommen werden. Bitte versuche es später erneut oder kontaktiere den Kundensupport."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
#: src/views/members/components/InviteMemberForm.tsx:209
|
||||||
msgid "Failed to copy invite link"
|
msgid "Failed to copy invite link"
|
||||||
msgstr "Einladungslink konnte nicht kopiert werden"
|
msgstr "Einladungslink konnte nicht kopiert werden"
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-S
|
|||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Kostenlos"
|
msgstr "Kostenlos"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||||
#: src/views/members/index.tsx:209
|
#: src/views/members/index.tsx:209
|
||||||
msgid "Free Plan"
|
msgid "Free Plan"
|
||||||
msgstr "Kostenloser Plan"
|
msgstr "Kostenloser Plan"
|
||||||
@@ -1024,6 +1024,10 @@ msgstr "Import von Trello"
|
|||||||
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
msgstr "Der Import Ihrer Trello-Boards in Kan ist einfach. Sie können unserer Schritt-für-Schritt-Anleitung <0>hier</0> folgen."
|
msgstr "Der Import Ihrer Trello-Boards in Kan ist einfach. Sie können unserer Schritt-für-Schritt-Anleitung <0>hier</0> folgen."
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:168
|
||||||
|
msgid "in"
|
||||||
|
msgstr "in"
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:16
|
#: src/views/boards/components/TemplateBoards.tsx:16
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:22
|
#: src/views/boards/components/TemplateBoards.tsx:22
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:45
|
#: src/views/boards/components/TemplateBoards.tsx:45
|
||||||
@@ -1055,20 +1059,24 @@ msgstr "Ungültige Einladung"
|
|||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Einladen"
|
msgstr "Einladen"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
#: src/views/members/components/InviteMemberForm.tsx:202
|
||||||
msgid "Invite link copied"
|
msgid "Invite link copied"
|
||||||
msgstr "Einladungslink kopiert"
|
msgstr "Einladungslink kopiert"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
#: src/views/members/components/InviteMemberForm.tsx:203
|
||||||
msgid "Invite link copied to clipboard"
|
msgid "Invite link copied to clipboard"
|
||||||
msgstr "Einladungslink in die Zwischenablage kopiert"
|
msgstr "Einladungslink in die Zwischenablage kopiert"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||||
|
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
msgstr "Einladungslinks erfordern ein Team- oder Pro-Abonnement. Bitte upgraden Sie Ihren Workspace."
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:111
|
#: src/views/card/components/MemberSelector.tsx:111
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
#: src/views/members/components/InviteMemberForm.tsx:365
|
||||||
msgid "Invite member"
|
msgid "Invite member"
|
||||||
msgstr "Mitglied einladen"
|
msgstr "Mitglied einladen"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
#: src/views/members/components/InviteMemberForm.tsx:329
|
||||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
msgstr "Das Einladen von Mitgliedern erfordert einen Team-Plan. Sie werden weitergeleitet, um Ihren Workspace zu upgraden."
|
msgstr "Das Einladen von Mitgliedern erfordert einen Team-Plan. Sie werden weitergeleitet, um Ihren Workspace zu upgraden."
|
||||||
|
|
||||||
@@ -1203,7 +1211,7 @@ msgstr "Mitglieder | {0}"
|
|||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Monatlich"
|
msgstr "Monatlich"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||||
msgid "monthly billing"
|
msgid "monthly billing"
|
||||||
msgstr "monatliche Abrechnung"
|
msgstr "monatliche Abrechnung"
|
||||||
|
|
||||||
@@ -1299,6 +1307,10 @@ msgstr "Keine Kreditkarte erforderlich"
|
|||||||
msgid "No lists"
|
msgid "No lists"
|
||||||
msgstr "Keine Listen"
|
msgstr "Keine Listen"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:184
|
||||||
|
msgid "No results found for \"{debouncedQuery}\"."
|
||||||
|
msgstr "Keine Ergebnisse gefunden für \"{debouncedQuery}\"."
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||||
msgid "Offer"
|
msgid "Offer"
|
||||||
msgstr "Angebot"
|
msgstr "Angebot"
|
||||||
@@ -1422,7 +1434,7 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
|
|||||||
#: src/views/card/index.tsx:173
|
#: src/views/card/index.tsx:173
|
||||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
#: src/views/members/components/InviteMemberForm.tsx:234
|
||||||
#: src/views/settings/components/Avatar.tsx:78
|
#: src/views/settings/components/Avatar.tsx:78
|
||||||
#: src/views/settings/components/Avatar.tsx:219
|
#: src/views/settings/components/Avatar.tsx:219
|
||||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||||
@@ -1435,8 +1447,8 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
|
|||||||
msgid "Please try again later, or contact customer support."
|
msgid "Please try again later, or contact customer support."
|
||||||
msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport."
|
msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
#: src/views/members/components/InviteMemberForm.tsx:129
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
#: src/views/members/components/InviteMemberForm.tsx:145
|
||||||
msgid "Please try again later."
|
msgid "Please try again later."
|
||||||
msgstr "Bitte versuche es später erneut."
|
msgstr "Bitte versuche es später erneut."
|
||||||
|
|
||||||
@@ -1463,7 +1475,7 @@ msgstr "Privat"
|
|||||||
msgid "Pro Plan"
|
msgid "Pro Plan"
|
||||||
msgstr "Pro-Plan"
|
msgstr "Pro-Plan"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
msgid "Pro Plan ∞"
|
msgid "Pro Plan ∞"
|
||||||
msgstr "Pro-Plan ∞"
|
msgstr "Pro-Plan ∞"
|
||||||
|
|
||||||
@@ -1580,6 +1592,10 @@ msgstr "Spare Zeit mit wiederverwendbaren Board-Vorlagen."
|
|||||||
msgid "Screening"
|
msgid "Screening"
|
||||||
msgstr "Vorauswahl"
|
msgstr "Vorauswahl"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:104
|
||||||
|
msgid "Search boards and cards..."
|
||||||
|
msgstr "Boards und Karten durchsuchen..."
|
||||||
|
|
||||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Alle auswählen"
|
msgstr "Alle auswählen"
|
||||||
@@ -1683,6 +1699,10 @@ msgstr "Softwareentwicklung"
|
|||||||
msgid "Star on Github"
|
msgid "Star on Github"
|
||||||
msgstr "Stern auf Github"
|
msgstr "Stern auf Github"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:122
|
||||||
|
msgid "Subscription Required"
|
||||||
|
msgstr "Abonnement erforderlich"
|
||||||
|
|
||||||
#: src/components/AuthForm.tsx:212
|
#: src/components/AuthForm.tsx:212
|
||||||
#: src/components/AuthForm.tsx:229
|
#: src/components/AuthForm.tsx:229
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
@@ -1704,7 +1724,7 @@ msgstr "Unterstütze die Entwicklung des Projekts"
|
|||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "System"
|
msgstr "System"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
#: src/views/members/index.tsx:208
|
#: src/views/members/index.tsx:208
|
||||||
msgid "Team Plan"
|
msgid "Team Plan"
|
||||||
msgstr "Team-Plan"
|
msgstr "Team-Plan"
|
||||||
@@ -1988,7 +2008,7 @@ msgstr "Upgrade auf Pro"
|
|||||||
msgid "Upgrade to Pro ($29/month)"
|
msgid "Upgrade to Pro ($29/month)"
|
||||||
msgstr "Upgrade auf Pro ($29/Monat)"
|
msgstr "Upgrade auf Pro ($29/Monat)"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
#: src/views/members/components/InviteMemberForm.tsx:357
|
||||||
msgid "Upgrade to Team Plan"
|
msgid "Upgrade to Team Plan"
|
||||||
msgstr "Upgrade auf Team-Plan"
|
msgstr "Upgrade auf Team-Plan"
|
||||||
|
|
||||||
@@ -2187,7 +2207,7 @@ msgstr "Sie haben sich erfolgreich angemeldet."
|
|||||||
msgid "You have been signed up successfully."
|
msgid "You have been signed up successfully."
|
||||||
msgstr "Sie haben sich erfolgreich registriert."
|
msgstr "Sie haben sich erfolgreich registriert."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
msgstr "Sie haben unbegrenzte Plätze mit Ihrem Pro-Plan. Für neue Mitglieder fallen keine zusätzlichen Kosten an!"
|
msgstr "Sie haben unbegrenzte Plätze mit Ihrem Pro-Plan. Für neue Mitglieder fallen keine zusätzlichen Kosten an!"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -40,12 +40,12 @@ msgstr "{boardCount, plural, one {Import board (1)} other {Import boards ({board
|
|||||||
#~ msgid "#1 Hacker News"
|
#~ msgid "#1 Hacker News"
|
||||||
#~ msgstr "#1 Hacker News"
|
#~ msgstr "#1 Hacker News"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$10/month"
|
msgid "$10/month"
|
||||||
msgstr "$10/month"
|
msgstr "$10/month"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$8/month"
|
msgid "$8/month"
|
||||||
msgstr "$8/month"
|
msgstr "$8/month"
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ msgid "Add label"
|
|||||||
msgstr "Add label"
|
msgstr "Add label"
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:130
|
#: src/views/card/components/MemberSelector.tsx:130
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
#: src/views/members/components/InviteMemberForm.tsx:250
|
||||||
msgid "Add member"
|
msgid "Add member"
|
||||||
msgstr "Add member"
|
msgstr "Add member"
|
||||||
|
|
||||||
@@ -156,7 +156,7 @@ msgstr "added label <0>{0}</0>"
|
|||||||
#~ msgid "added label <0>{label}</0>"
|
#~ msgid "added label <0>{label}</0>"
|
||||||
#~ msgstr "added label <0>{label}</0>"
|
#~ msgstr "added label <0>{label}</0>"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
#: src/views/members/components/InviteMemberForm.tsx:320
|
||||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
msgstr "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgstr "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@ msgstr "An error occurred while disconnecting your Trello account."
|
|||||||
msgid "An unexpected error occurred. Please try again later."
|
msgid "An unexpected error occurred. Please try again later."
|
||||||
msgstr "An unexpected error occurred. Please try again later."
|
msgstr "An unexpected error occurred. Please try again later."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
#: src/views/members/components/InviteMemberForm.tsx:304
|
||||||
msgid "Anyone with this link can join your workspace"
|
msgid "Anyone with this link can join your workspace"
|
||||||
msgstr "Anyone with this link can join your workspace"
|
msgstr "Anyone with this link can join your workspace"
|
||||||
|
|
||||||
@@ -286,11 +286,11 @@ msgstr "Backlog"
|
|||||||
msgid "Basic Kanban"
|
msgid "Basic Kanban"
|
||||||
msgstr "Basic Kanban"
|
msgstr "Basic Kanban"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed annually"
|
msgid "billed annually"
|
||||||
msgstr "billed annually"
|
msgstr "billed annually"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed monthly"
|
msgid "billed monthly"
|
||||||
msgstr "billed monthly"
|
msgstr "billed monthly"
|
||||||
|
|
||||||
@@ -559,7 +559,7 @@ msgstr "Create card"
|
|||||||
msgid "Create checklist"
|
msgid "Create checklist"
|
||||||
msgstr "Create checklist"
|
msgstr "Create checklist"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
#: src/views/members/components/InviteMemberForm.tsx:342
|
||||||
msgid "Create invite link"
|
msgid "Create invite link"
|
||||||
msgstr "Create invite link"
|
msgstr "Create invite link"
|
||||||
|
|
||||||
@@ -593,7 +593,7 @@ msgstr "Create new list"
|
|||||||
#~ msgstr "Create Pro workspace"
|
#~ msgstr "Create Pro workspace"
|
||||||
|
|
||||||
#: src/components/NewWorkspaceForm.tsx:384
|
#: src/components/NewWorkspaceForm.tsx:384
|
||||||
#: src/components/WorkspaceMenu.tsx:116
|
#: src/components/WorkspaceMenu.tsx:149
|
||||||
msgid "Create workspace"
|
msgid "Create workspace"
|
||||||
msgstr "Create workspace"
|
msgstr "Create workspace"
|
||||||
|
|
||||||
@@ -642,7 +642,7 @@ msgstr "Customer Support"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Dark"
|
msgstr "Dark"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||||
msgid "Deactivate invite link"
|
msgid "Deactivate invite link"
|
||||||
msgstr "Deactivate invite link"
|
msgstr "Deactivate invite link"
|
||||||
|
|
||||||
@@ -782,7 +782,7 @@ msgstr "Editing"
|
|||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr "email"
|
msgstr "email"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
#: src/views/members/components/InviteMemberForm.tsx:265
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Email"
|
msgstr "Email"
|
||||||
|
|
||||||
@@ -814,7 +814,7 @@ msgstr "Enter your new password"
|
|||||||
msgid "Enter your password"
|
msgid "Enter your password"
|
||||||
msgstr "Enter your password"
|
msgstr "Enter your password"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
#: src/views/members/components/InviteMemberForm.tsx:208
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Error"
|
msgstr "Error"
|
||||||
|
|
||||||
@@ -822,11 +822,11 @@ msgstr "Error"
|
|||||||
msgid "Error Changing Password"
|
msgid "Error Changing Password"
|
||||||
msgstr "Error Changing Password"
|
msgstr "Error Changing Password"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
#: src/views/members/components/InviteMemberForm.tsx:128
|
||||||
msgid "Error creating invite link"
|
msgid "Error creating invite link"
|
||||||
msgstr "Error creating invite link"
|
msgstr "Error creating invite link"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
#: src/views/members/components/InviteMemberForm.tsx:144
|
||||||
msgid "Error deactivating invite link"
|
msgid "Error deactivating invite link"
|
||||||
msgstr "Error deactivating invite link"
|
msgstr "Error deactivating invite link"
|
||||||
|
|
||||||
@@ -871,7 +871,7 @@ msgstr "Error updating workspace name"
|
|||||||
msgid "Error updating workspace URL"
|
msgid "Error updating workspace URL"
|
||||||
msgstr "Error updating workspace URL"
|
msgstr "Error updating workspace URL"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
#: src/views/members/components/InviteMemberForm.tsx:233
|
||||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||||
msgid "Error upgrading subscription"
|
msgid "Error upgrading subscription"
|
||||||
msgstr "Error upgrading subscription"
|
msgstr "Error upgrading subscription"
|
||||||
@@ -901,7 +901,7 @@ msgstr "Execution"
|
|||||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
msgstr "Failed to accept invitation. Please try again later, or contact customer support."
|
msgstr "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
#: src/views/members/components/InviteMemberForm.tsx:209
|
||||||
msgid "Failed to copy invite link"
|
msgid "Failed to copy invite link"
|
||||||
msgstr "Failed to copy invite link"
|
msgstr "Failed to copy invite link"
|
||||||
|
|
||||||
@@ -955,7 +955,7 @@ msgstr "For long-term sustainability, we recognise all good open source projects
|
|||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Free"
|
msgstr "Free"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||||
#: src/views/members/index.tsx:209
|
#: src/views/members/index.tsx:209
|
||||||
msgid "Free Plan"
|
msgid "Free Plan"
|
||||||
msgstr "Free Plan"
|
msgstr "Free Plan"
|
||||||
@@ -1102,6 +1102,10 @@ msgstr "Importing from Trello"
|
|||||||
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
msgstr "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgstr "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:168
|
||||||
|
msgid "in"
|
||||||
|
msgstr "in"
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:16
|
#: src/views/boards/components/TemplateBoards.tsx:16
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:22
|
#: src/views/boards/components/TemplateBoards.tsx:22
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:45
|
#: src/views/boards/components/TemplateBoards.tsx:45
|
||||||
@@ -1137,20 +1141,24 @@ msgstr "Invite"
|
|||||||
#~ msgid "Invite another"
|
#~ msgid "Invite another"
|
||||||
#~ msgstr "Invite another"
|
#~ msgstr "Invite another"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
#: src/views/members/components/InviteMemberForm.tsx:202
|
||||||
msgid "Invite link copied"
|
msgid "Invite link copied"
|
||||||
msgstr "Invite link copied"
|
msgstr "Invite link copied"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
#: src/views/members/components/InviteMemberForm.tsx:203
|
||||||
msgid "Invite link copied to clipboard"
|
msgid "Invite link copied to clipboard"
|
||||||
msgstr "Invite link copied to clipboard"
|
msgstr "Invite link copied to clipboard"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||||
|
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
msgstr "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:111
|
#: src/views/card/components/MemberSelector.tsx:111
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
#: src/views/members/components/InviteMemberForm.tsx:365
|
||||||
msgid "Invite member"
|
msgid "Invite member"
|
||||||
msgstr "Invite member"
|
msgstr "Invite member"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
#: src/views/members/components/InviteMemberForm.tsx:329
|
||||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
msgstr "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgstr "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
|
|
||||||
@@ -1285,7 +1293,7 @@ msgstr "Members | {0}"
|
|||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Monthly"
|
msgstr "Monthly"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||||
msgid "monthly billing"
|
msgid "monthly billing"
|
||||||
msgstr "monthly billing"
|
msgstr "monthly billing"
|
||||||
|
|
||||||
@@ -1393,6 +1401,10 @@ msgstr "No credit card required"
|
|||||||
msgid "No lists"
|
msgid "No lists"
|
||||||
msgstr "No lists"
|
msgstr "No lists"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:184
|
||||||
|
msgid "No results found for \"{debouncedQuery}\"."
|
||||||
|
msgstr "No results found for \"{debouncedQuery}\"."
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||||
msgid "Offer"
|
msgid "Offer"
|
||||||
msgstr "Offer"
|
msgstr "Offer"
|
||||||
@@ -1516,7 +1528,7 @@ msgstr "Please select a file to upload."
|
|||||||
#: src/views/card/index.tsx:173
|
#: src/views/card/index.tsx:173
|
||||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
#: src/views/members/components/InviteMemberForm.tsx:234
|
||||||
#: src/views/settings/components/Avatar.tsx:78
|
#: src/views/settings/components/Avatar.tsx:78
|
||||||
#: src/views/settings/components/Avatar.tsx:219
|
#: src/views/settings/components/Avatar.tsx:219
|
||||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||||
@@ -1529,8 +1541,8 @@ msgstr "Please select a file to upload."
|
|||||||
msgid "Please try again later, or contact customer support."
|
msgid "Please try again later, or contact customer support."
|
||||||
msgstr "Please try again later, or contact customer support."
|
msgstr "Please try again later, or contact customer support."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
#: src/views/members/components/InviteMemberForm.tsx:129
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
#: src/views/members/components/InviteMemberForm.tsx:145
|
||||||
msgid "Please try again later."
|
msgid "Please try again later."
|
||||||
msgstr "Please try again later."
|
msgstr "Please try again later."
|
||||||
|
|
||||||
@@ -1557,7 +1569,7 @@ msgstr "Private"
|
|||||||
msgid "Pro Plan"
|
msgid "Pro Plan"
|
||||||
msgstr "Pro Plan"
|
msgstr "Pro Plan"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
msgid "Pro Plan ∞"
|
msgid "Pro Plan ∞"
|
||||||
msgstr "Pro Plan ∞"
|
msgstr "Pro Plan ∞"
|
||||||
|
|
||||||
@@ -1682,6 +1694,10 @@ msgstr "Save time with reusable board templates."
|
|||||||
msgid "Screening"
|
msgid "Screening"
|
||||||
msgstr "Screening"
|
msgstr "Screening"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:104
|
||||||
|
msgid "Search boards and cards..."
|
||||||
|
msgstr "Search boards and cards..."
|
||||||
|
|
||||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Select all"
|
msgstr "Select all"
|
||||||
@@ -1797,6 +1813,10 @@ msgstr "Software Development"
|
|||||||
msgid "Star on Github"
|
msgid "Star on Github"
|
||||||
msgstr "Star on Github"
|
msgstr "Star on Github"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:122
|
||||||
|
msgid "Subscription Required"
|
||||||
|
msgstr "Subscription Required"
|
||||||
|
|
||||||
#: src/components/AuthForm.tsx:212
|
#: src/components/AuthForm.tsx:212
|
||||||
#: src/components/AuthForm.tsx:229
|
#: src/components/AuthForm.tsx:229
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
@@ -1818,7 +1838,7 @@ msgstr "Support the development of the project"
|
|||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "System"
|
msgstr "System"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
#: src/views/members/index.tsx:208
|
#: src/views/members/index.tsx:208
|
||||||
msgid "Team Plan"
|
msgid "Team Plan"
|
||||||
msgstr "Team Plan"
|
msgstr "Team Plan"
|
||||||
@@ -2114,7 +2134,7 @@ msgstr "Upgrade to Pro"
|
|||||||
msgid "Upgrade to Pro ($29/month)"
|
msgid "Upgrade to Pro ($29/month)"
|
||||||
msgstr "Upgrade to Pro ($29/month)"
|
msgstr "Upgrade to Pro ($29/month)"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
#: src/views/members/components/InviteMemberForm.tsx:357
|
||||||
msgid "Upgrade to Team Plan"
|
msgid "Upgrade to Team Plan"
|
||||||
msgstr "Upgrade to Team Plan"
|
msgstr "Upgrade to Team Plan"
|
||||||
|
|
||||||
@@ -2317,7 +2337,7 @@ msgstr "You have been logged in successfully."
|
|||||||
msgid "You have been signed up successfully."
|
msgid "You have been signed up successfully."
|
||||||
msgstr "You have been signed up successfully."
|
msgstr "You have been signed up successfully."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
msgstr "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgstr "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} etiquetas"
|
|||||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||||
msgstr "{boardCount, plural, one {Importar tablero (1)} other {Importar tableros ({boardCount})}}"
|
msgstr "{boardCount, plural, one {Importar tablero (1)} other {Importar tableros ({boardCount})}}"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$10/month"
|
msgid "$10/month"
|
||||||
msgstr "$10/mes"
|
msgstr "$10/mes"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$8/month"
|
msgid "$8/month"
|
||||||
msgstr "$8/mes"
|
msgstr "$8/mes"
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
|||||||
msgstr "Añadir etiqueta"
|
msgstr "Añadir etiqueta"
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:130
|
#: src/views/card/components/MemberSelector.tsx:130
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
#: src/views/members/components/InviteMemberForm.tsx:250
|
||||||
msgid "Add member"
|
msgid "Add member"
|
||||||
msgstr "Añadir miembro"
|
msgstr "Añadir miembro"
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ msgstr "añadió el elemento <0>{0}</0> a la lista de verificación"
|
|||||||
msgid "added label <0>{0}</0>"
|
msgid "added label <0>{0}</0>"
|
||||||
msgstr "añadió la etiqueta <0>{0}</0>"
|
msgstr "añadió la etiqueta <0>{0}</0>"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
#: src/views/members/components/InviteMemberForm.tsx:320
|
||||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
msgstr "Añadir un nuevo miembro costará {price} adicionales ({billingType}) por asiento."
|
msgstr "Añadir un nuevo miembro costará {price} adicionales ({billingType}) por asiento."
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ msgstr "Ocurrió un error al desconectar tu cuenta de Trello."
|
|||||||
msgid "An unexpected error occurred. Please try again later."
|
msgid "An unexpected error occurred. Please try again later."
|
||||||
msgstr "Ha ocurrido un error inesperado. Por favor, inténtalo de nuevo más tarde."
|
msgstr "Ha ocurrido un error inesperado. Por favor, inténtalo de nuevo más tarde."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
#: src/views/members/components/InviteMemberForm.tsx:304
|
||||||
msgid "Anyone with this link can join your workspace"
|
msgid "Anyone with this link can join your workspace"
|
||||||
msgstr "Cualquier persona con este enlace puede unirse a tu espacio de trabajo"
|
msgstr "Cualquier persona con este enlace puede unirse a tu espacio de trabajo"
|
||||||
|
|
||||||
@@ -250,11 +250,11 @@ msgstr "Pendientes"
|
|||||||
msgid "Basic Kanban"
|
msgid "Basic Kanban"
|
||||||
msgstr "Kanban básico"
|
msgstr "Kanban básico"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed annually"
|
msgid "billed annually"
|
||||||
msgstr "facturado anualmente"
|
msgstr "facturado anualmente"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed monthly"
|
msgid "billed monthly"
|
||||||
msgstr "facturado mensualmente"
|
msgstr "facturado mensualmente"
|
||||||
|
|
||||||
@@ -498,7 +498,7 @@ msgstr "Crear tarjeta"
|
|||||||
msgid "Create checklist"
|
msgid "Create checklist"
|
||||||
msgstr "Crear lista de verificación"
|
msgstr "Crear lista de verificación"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
#: src/views/members/components/InviteMemberForm.tsx:342
|
||||||
msgid "Create invite link"
|
msgid "Create invite link"
|
||||||
msgstr "Crear enlace de invitación"
|
msgstr "Crear enlace de invitación"
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ msgid "Create new list"
|
|||||||
msgstr "Crear nueva lista"
|
msgstr "Crear nueva lista"
|
||||||
|
|
||||||
#: src/components/NewWorkspaceForm.tsx:384
|
#: src/components/NewWorkspaceForm.tsx:384
|
||||||
#: src/components/WorkspaceMenu.tsx:116
|
#: src/components/WorkspaceMenu.tsx:149
|
||||||
msgid "Create workspace"
|
msgid "Create workspace"
|
||||||
msgstr "Crear espacio de trabajo"
|
msgstr "Crear espacio de trabajo"
|
||||||
|
|
||||||
@@ -569,7 +569,7 @@ msgstr "Atención al cliente"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Oscuro"
|
msgstr "Oscuro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||||
msgid "Deactivate invite link"
|
msgid "Deactivate invite link"
|
||||||
msgstr "Desactivar enlace de invitación"
|
msgstr "Desactivar enlace de invitación"
|
||||||
|
|
||||||
@@ -709,7 +709,7 @@ msgstr "Editando"
|
|||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr "correo electrónico"
|
msgstr "correo electrónico"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
#: src/views/members/components/InviteMemberForm.tsx:265
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Correo electrónico"
|
msgstr "Correo electrónico"
|
||||||
|
|
||||||
@@ -741,7 +741,7 @@ msgstr "Introduce tu nueva contraseña"
|
|||||||
msgid "Enter your password"
|
msgid "Enter your password"
|
||||||
msgstr "Introduce tu contraseña"
|
msgstr "Introduce tu contraseña"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
#: src/views/members/components/InviteMemberForm.tsx:208
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Error"
|
msgstr "Error"
|
||||||
|
|
||||||
@@ -749,11 +749,11 @@ msgstr "Error"
|
|||||||
msgid "Error Changing Password"
|
msgid "Error Changing Password"
|
||||||
msgstr "Error al cambiar la contraseña"
|
msgstr "Error al cambiar la contraseña"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
#: src/views/members/components/InviteMemberForm.tsx:128
|
||||||
msgid "Error creating invite link"
|
msgid "Error creating invite link"
|
||||||
msgstr "Error al crear el enlace de invitación"
|
msgstr "Error al crear el enlace de invitación"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
#: src/views/members/components/InviteMemberForm.tsx:144
|
||||||
msgid "Error deactivating invite link"
|
msgid "Error deactivating invite link"
|
||||||
msgstr "Error al desactivar el enlace de invitación"
|
msgstr "Error al desactivar el enlace de invitación"
|
||||||
|
|
||||||
@@ -798,7 +798,7 @@ msgstr "Error al actualizar el nombre del espacio de trabajo"
|
|||||||
msgid "Error updating workspace URL"
|
msgid "Error updating workspace URL"
|
||||||
msgstr "Error al actualizar la URL del espacio de trabajo"
|
msgstr "Error al actualizar la URL del espacio de trabajo"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
#: src/views/members/components/InviteMemberForm.tsx:233
|
||||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||||
msgid "Error upgrading subscription"
|
msgid "Error upgrading subscription"
|
||||||
msgstr "Error al actualizar la suscripción"
|
msgstr "Error al actualizar la suscripción"
|
||||||
@@ -828,7 +828,7 @@ msgstr "Ejecución"
|
|||||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
msgstr "No se pudo aceptar la invitación. Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
|
msgstr "No se pudo aceptar la invitación. Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
#: src/views/members/components/InviteMemberForm.tsx:209
|
||||||
msgid "Failed to copy invite link"
|
msgid "Failed to copy invite link"
|
||||||
msgstr "No se pudo copiar el enlace de invitación"
|
msgstr "No se pudo copiar el enlace de invitación"
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos p
|
|||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Gratis"
|
msgstr "Gratis"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||||
#: src/views/members/index.tsx:209
|
#: src/views/members/index.tsx:209
|
||||||
msgid "Free Plan"
|
msgid "Free Plan"
|
||||||
msgstr "Plan gratuito"
|
msgstr "Plan gratuito"
|
||||||
@@ -1024,6 +1024,10 @@ msgstr "Importando desde Trello"
|
|||||||
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
msgstr "Importar tus tableros de Trello a Kan es fácil. Puedes seguir nuestra guía paso a paso <0>aquí</0>."
|
msgstr "Importar tus tableros de Trello a Kan es fácil. Puedes seguir nuestra guía paso a paso <0>aquí</0>."
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:168
|
||||||
|
msgid "in"
|
||||||
|
msgstr "en"
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:16
|
#: src/views/boards/components/TemplateBoards.tsx:16
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:22
|
#: src/views/boards/components/TemplateBoards.tsx:22
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:45
|
#: src/views/boards/components/TemplateBoards.tsx:45
|
||||||
@@ -1055,20 +1059,24 @@ msgstr "Invitación inválida"
|
|||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Invitar"
|
msgstr "Invitar"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
#: src/views/members/components/InviteMemberForm.tsx:202
|
||||||
msgid "Invite link copied"
|
msgid "Invite link copied"
|
||||||
msgstr "Enlace de invitación copiado"
|
msgstr "Enlace de invitación copiado"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
#: src/views/members/components/InviteMemberForm.tsx:203
|
||||||
msgid "Invite link copied to clipboard"
|
msgid "Invite link copied to clipboard"
|
||||||
msgstr "Enlace de invitación copiado al portapapeles"
|
msgstr "Enlace de invitación copiado al portapapeles"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||||
|
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
msgstr "Los enlaces de invitación requieren una suscripción de Equipo o Pro. Por favor, actualiza tu espacio de trabajo."
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:111
|
#: src/views/card/components/MemberSelector.tsx:111
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
#: src/views/members/components/InviteMemberForm.tsx:365
|
||||||
msgid "Invite member"
|
msgid "Invite member"
|
||||||
msgstr "Invitar miembro"
|
msgstr "Invitar miembro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
#: src/views/members/components/InviteMemberForm.tsx:329
|
||||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
msgstr "Invitar miembros requiere un Plan de Equipo. Serás redirigido para actualizar tu espacio de trabajo."
|
msgstr "Invitar miembros requiere un Plan de Equipo. Serás redirigido para actualizar tu espacio de trabajo."
|
||||||
|
|
||||||
@@ -1203,7 +1211,7 @@ msgstr "Miembros | {0}"
|
|||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Mensual"
|
msgstr "Mensual"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||||
msgid "monthly billing"
|
msgid "monthly billing"
|
||||||
msgstr "facturación mensual"
|
msgstr "facturación mensual"
|
||||||
|
|
||||||
@@ -1299,6 +1307,10 @@ msgstr "No se requiere tarjeta de crédito"
|
|||||||
msgid "No lists"
|
msgid "No lists"
|
||||||
msgstr "Sin listas"
|
msgstr "Sin listas"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:184
|
||||||
|
msgid "No results found for \"{debouncedQuery}\"."
|
||||||
|
msgstr "No se encontraron resultados para \"{debouncedQuery}\"."
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||||
msgid "Offer"
|
msgid "Offer"
|
||||||
msgstr "Oferta"
|
msgstr "Oferta"
|
||||||
@@ -1422,7 +1434,7 @@ msgstr "Por favor selecciona un archivo para subir."
|
|||||||
#: src/views/card/index.tsx:173
|
#: src/views/card/index.tsx:173
|
||||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
#: src/views/members/components/InviteMemberForm.tsx:234
|
||||||
#: src/views/settings/components/Avatar.tsx:78
|
#: src/views/settings/components/Avatar.tsx:78
|
||||||
#: src/views/settings/components/Avatar.tsx:219
|
#: src/views/settings/components/Avatar.tsx:219
|
||||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||||
@@ -1435,8 +1447,8 @@ msgstr "Por favor selecciona un archivo para subir."
|
|||||||
msgid "Please try again later, or contact customer support."
|
msgid "Please try again later, or contact customer support."
|
||||||
msgstr "Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
|
msgstr "Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
#: src/views/members/components/InviteMemberForm.tsx:129
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
#: src/views/members/components/InviteMemberForm.tsx:145
|
||||||
msgid "Please try again later."
|
msgid "Please try again later."
|
||||||
msgstr "Por favor, inténtalo de nuevo más tarde."
|
msgstr "Por favor, inténtalo de nuevo más tarde."
|
||||||
|
|
||||||
@@ -1463,7 +1475,7 @@ msgstr "Privado"
|
|||||||
msgid "Pro Plan"
|
msgid "Pro Plan"
|
||||||
msgstr "Plan Pro"
|
msgstr "Plan Pro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
msgid "Pro Plan ∞"
|
msgid "Pro Plan ∞"
|
||||||
msgstr "Plan Pro ∞"
|
msgstr "Plan Pro ∞"
|
||||||
|
|
||||||
@@ -1580,6 +1592,10 @@ msgstr "Ahorra tiempo con plantillas de tableros reutilizables."
|
|||||||
msgid "Screening"
|
msgid "Screening"
|
||||||
msgstr "Preselección"
|
msgstr "Preselección"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:104
|
||||||
|
msgid "Search boards and cards..."
|
||||||
|
msgstr "Buscar tableros y tarjetas..."
|
||||||
|
|
||||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Seleccionar todo"
|
msgstr "Seleccionar todo"
|
||||||
@@ -1683,6 +1699,10 @@ msgstr "Desarrollo de software"
|
|||||||
msgid "Star on Github"
|
msgid "Star on Github"
|
||||||
msgstr "Estrella en Github"
|
msgstr "Estrella en Github"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:122
|
||||||
|
msgid "Subscription Required"
|
||||||
|
msgstr "Suscripción requerida"
|
||||||
|
|
||||||
#: src/components/AuthForm.tsx:212
|
#: src/components/AuthForm.tsx:212
|
||||||
#: src/components/AuthForm.tsx:229
|
#: src/components/AuthForm.tsx:229
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
@@ -1704,7 +1724,7 @@ msgstr "Apoya el desarrollo del proyecto"
|
|||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "Sistema"
|
msgstr "Sistema"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
#: src/views/members/index.tsx:208
|
#: src/views/members/index.tsx:208
|
||||||
msgid "Team Plan"
|
msgid "Team Plan"
|
||||||
msgstr "Plan de Equipo"
|
msgstr "Plan de Equipo"
|
||||||
@@ -1988,7 +2008,7 @@ msgstr "Actualizar a Pro"
|
|||||||
msgid "Upgrade to Pro ($29/month)"
|
msgid "Upgrade to Pro ($29/month)"
|
||||||
msgstr "Actualizar a Pro ($29/mes)"
|
msgstr "Actualizar a Pro ($29/mes)"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
#: src/views/members/components/InviteMemberForm.tsx:357
|
||||||
msgid "Upgrade to Team Plan"
|
msgid "Upgrade to Team Plan"
|
||||||
msgstr "Actualizar al Plan de Equipo"
|
msgstr "Actualizar al Plan de Equipo"
|
||||||
|
|
||||||
@@ -2187,7 +2207,7 @@ msgstr "Has iniciado sesión correctamente."
|
|||||||
msgid "You have been signed up successfully."
|
msgid "You have been signed up successfully."
|
||||||
msgstr "Te has registrado correctamente."
|
msgstr "Te has registrado correctamente."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
msgstr "Tienes plazas ilimitadas con tu Plan Pro. ¡No hay cargos adicionales por nuevos miembros!"
|
msgstr "Tienes plazas ilimitadas con tu Plan Pro. ¡No hay cargos adicionales por nuevos miembros!"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} étiquettes"
|
|||||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||||
msgstr "{boardCount, plural, one {Importer le tableau (1)} other {Importer les tableaux ({boardCount})}}"
|
msgstr "{boardCount, plural, one {Importer le tableau (1)} other {Importer les tableaux ({boardCount})}}"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$10/month"
|
msgid "$10/month"
|
||||||
msgstr "10 $/mois"
|
msgstr "10 $/mois"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$8/month"
|
msgid "$8/month"
|
||||||
msgstr "8 $/mois"
|
msgstr "8 $/mois"
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
|||||||
msgstr "Ajouter une étiquette"
|
msgstr "Ajouter une étiquette"
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:130
|
#: src/views/card/components/MemberSelector.tsx:130
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
#: src/views/members/components/InviteMemberForm.tsx:250
|
||||||
msgid "Add member"
|
msgid "Add member"
|
||||||
msgstr "Ajouter un membre"
|
msgstr "Ajouter un membre"
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ msgstr "a ajouté l'élément <0>{0}</0> à la checklist"
|
|||||||
msgid "added label <0>{0}</0>"
|
msgid "added label <0>{0}</0>"
|
||||||
msgstr "a ajouté l'étiquette <0>{0}</0>"
|
msgstr "a ajouté l'étiquette <0>{0}</0>"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
#: src/views/members/components/InviteMemberForm.tsx:320
|
||||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
msgstr "L'ajout d'un nouveau membre coûtera {price} supplémentaires ({billingType}) par siège."
|
msgstr "L'ajout d'un nouveau membre coûtera {price} supplémentaires ({billingType}) par siège."
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ msgstr "Une erreur s'est produite lors de la déconnexion de votre compte Trello
|
|||||||
msgid "An unexpected error occurred. Please try again later."
|
msgid "An unexpected error occurred. Please try again later."
|
||||||
msgstr "Une erreur inattendue s'est produite. Veuillez réessayer plus tard."
|
msgstr "Une erreur inattendue s'est produite. Veuillez réessayer plus tard."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
#: src/views/members/components/InviteMemberForm.tsx:304
|
||||||
msgid "Anyone with this link can join your workspace"
|
msgid "Anyone with this link can join your workspace"
|
||||||
msgstr "Toute personne disposant de ce lien peut rejoindre votre espace de travail"
|
msgstr "Toute personne disposant de ce lien peut rejoindre votre espace de travail"
|
||||||
|
|
||||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
|||||||
msgid "Basic Kanban"
|
msgid "Basic Kanban"
|
||||||
msgstr "Kanban basique"
|
msgstr "Kanban basique"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed annually"
|
msgid "billed annually"
|
||||||
msgstr "facturation annuelle"
|
msgstr "facturation annuelle"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed monthly"
|
msgid "billed monthly"
|
||||||
msgstr "facturation mensuelle"
|
msgstr "facturation mensuelle"
|
||||||
|
|
||||||
@@ -498,7 +498,7 @@ msgstr "Créer une carte"
|
|||||||
msgid "Create checklist"
|
msgid "Create checklist"
|
||||||
msgstr "Créer une checklist"
|
msgstr "Créer une checklist"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
#: src/views/members/components/InviteMemberForm.tsx:342
|
||||||
msgid "Create invite link"
|
msgid "Create invite link"
|
||||||
msgstr "Créer un lien d'invitation"
|
msgstr "Créer un lien d'invitation"
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ msgid "Create new list"
|
|||||||
msgstr "Créer une nouvelle liste"
|
msgstr "Créer une nouvelle liste"
|
||||||
|
|
||||||
#: src/components/NewWorkspaceForm.tsx:384
|
#: src/components/NewWorkspaceForm.tsx:384
|
||||||
#: src/components/WorkspaceMenu.tsx:116
|
#: src/components/WorkspaceMenu.tsx:149
|
||||||
msgid "Create workspace"
|
msgid "Create workspace"
|
||||||
msgstr "Créer un espace de travail"
|
msgstr "Créer un espace de travail"
|
||||||
|
|
||||||
@@ -569,7 +569,7 @@ msgstr "Support client"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Sombre"
|
msgstr "Sombre"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||||
msgid "Deactivate invite link"
|
msgid "Deactivate invite link"
|
||||||
msgstr "Désactiver le lien d'invitation"
|
msgstr "Désactiver le lien d'invitation"
|
||||||
|
|
||||||
@@ -709,7 +709,7 @@ msgstr "Édition"
|
|||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr "e-mail"
|
msgstr "e-mail"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
#: src/views/members/components/InviteMemberForm.tsx:265
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "E-mail"
|
msgstr "E-mail"
|
||||||
|
|
||||||
@@ -741,7 +741,7 @@ msgstr "Saisissez votre nouveau mot de passe"
|
|||||||
msgid "Enter your password"
|
msgid "Enter your password"
|
||||||
msgstr "Saisissez votre mot de passe"
|
msgstr "Saisissez votre mot de passe"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
#: src/views/members/components/InviteMemberForm.tsx:208
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Erreur"
|
msgstr "Erreur"
|
||||||
|
|
||||||
@@ -749,11 +749,11 @@ msgstr "Erreur"
|
|||||||
msgid "Error Changing Password"
|
msgid "Error Changing Password"
|
||||||
msgstr "Erreur lors du changement de mot de passe"
|
msgstr "Erreur lors du changement de mot de passe"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
#: src/views/members/components/InviteMemberForm.tsx:128
|
||||||
msgid "Error creating invite link"
|
msgid "Error creating invite link"
|
||||||
msgstr "Erreur lors de la création du lien d'invitation"
|
msgstr "Erreur lors de la création du lien d'invitation"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
#: src/views/members/components/InviteMemberForm.tsx:144
|
||||||
msgid "Error deactivating invite link"
|
msgid "Error deactivating invite link"
|
||||||
msgstr "Erreur lors de la désactivation du lien d'invitation"
|
msgstr "Erreur lors de la désactivation du lien d'invitation"
|
||||||
|
|
||||||
@@ -798,7 +798,7 @@ msgstr "Erreur lors de la mise à jour du nom de l'espace de travail"
|
|||||||
msgid "Error updating workspace URL"
|
msgid "Error updating workspace URL"
|
||||||
msgstr "Erreur lors de la mise à jour de l'URL de l'espace de travail"
|
msgstr "Erreur lors de la mise à jour de l'URL de l'espace de travail"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
#: src/views/members/components/InviteMemberForm.tsx:233
|
||||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||||
msgid "Error upgrading subscription"
|
msgid "Error upgrading subscription"
|
||||||
msgstr "Erreur lors de la mise à niveau de l'abonnement"
|
msgstr "Erreur lors de la mise à niveau de l'abonnement"
|
||||||
@@ -828,7 +828,7 @@ msgstr "Exécution"
|
|||||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
msgstr "Échec de l'acceptation de l'invitation. Veuillez réessayer plus tard ou contacter le service client."
|
msgstr "Échec de l'acceptation de l'invitation. Veuillez réessayer plus tard ou contacter le service client."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
#: src/views/members/components/InviteMemberForm.tsx:209
|
||||||
msgid "Failed to copy invite link"
|
msgid "Failed to copy invite link"
|
||||||
msgstr "Échec de la copie du lien d'invitation"
|
msgstr "Échec de la copie du lien d'invitation"
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons
|
|||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Gratuit"
|
msgstr "Gratuit"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||||
#: src/views/members/index.tsx:209
|
#: src/views/members/index.tsx:209
|
||||||
msgid "Free Plan"
|
msgid "Free Plan"
|
||||||
msgstr "Forfait gratuit"
|
msgstr "Forfait gratuit"
|
||||||
@@ -1024,6 +1024,10 @@ msgstr "Importation depuis Trello"
|
|||||||
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
msgstr "L'importation de vos tableaux Trello dans Kan est simple. Vous pouvez suivre notre guide étape par étape <0>ici</0>."
|
msgstr "L'importation de vos tableaux Trello dans Kan est simple. Vous pouvez suivre notre guide étape par étape <0>ici</0>."
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:168
|
||||||
|
msgid "in"
|
||||||
|
msgstr "dans"
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:16
|
#: src/views/boards/components/TemplateBoards.tsx:16
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:22
|
#: src/views/boards/components/TemplateBoards.tsx:22
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:45
|
#: src/views/boards/components/TemplateBoards.tsx:45
|
||||||
@@ -1055,20 +1059,24 @@ msgstr "Invitation invalide"
|
|||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Inviter"
|
msgstr "Inviter"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
#: src/views/members/components/InviteMemberForm.tsx:202
|
||||||
msgid "Invite link copied"
|
msgid "Invite link copied"
|
||||||
msgstr "Lien d'invitation copié"
|
msgstr "Lien d'invitation copié"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
#: src/views/members/components/InviteMemberForm.tsx:203
|
||||||
msgid "Invite link copied to clipboard"
|
msgid "Invite link copied to clipboard"
|
||||||
msgstr "Lien d'invitation copié dans le presse-papiers"
|
msgstr "Lien d'invitation copié dans le presse-papiers"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||||
|
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
msgstr "Les liens d'invitation nécessitent un abonnement Team ou Pro. Veuillez mettre à niveau votre espace de travail."
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:111
|
#: src/views/card/components/MemberSelector.tsx:111
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
#: src/views/members/components/InviteMemberForm.tsx:365
|
||||||
msgid "Invite member"
|
msgid "Invite member"
|
||||||
msgstr "Inviter un membre"
|
msgstr "Inviter un membre"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
#: src/views/members/components/InviteMemberForm.tsx:329
|
||||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
msgstr "L'invitation de membres nécessite un forfait d'équipe. Vous serez redirigé pour mettre à niveau votre espace de travail."
|
msgstr "L'invitation de membres nécessite un forfait d'équipe. Vous serez redirigé pour mettre à niveau votre espace de travail."
|
||||||
|
|
||||||
@@ -1203,7 +1211,7 @@ msgstr "Membres | {0}"
|
|||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Mensuel"
|
msgstr "Mensuel"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||||
msgid "monthly billing"
|
msgid "monthly billing"
|
||||||
msgstr "facturation mensuelle"
|
msgstr "facturation mensuelle"
|
||||||
|
|
||||||
@@ -1299,6 +1307,10 @@ msgstr "Aucune carte de crédit requise"
|
|||||||
msgid "No lists"
|
msgid "No lists"
|
||||||
msgstr "Aucune liste"
|
msgstr "Aucune liste"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:184
|
||||||
|
msgid "No results found for \"{debouncedQuery}\"."
|
||||||
|
msgstr "Aucun résultat trouvé pour \"{debouncedQuery}\"."
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||||
msgid "Offer"
|
msgid "Offer"
|
||||||
msgstr "Offre"
|
msgstr "Offre"
|
||||||
@@ -1422,7 +1434,7 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
|
|||||||
#: src/views/card/index.tsx:173
|
#: src/views/card/index.tsx:173
|
||||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
#: src/views/members/components/InviteMemberForm.tsx:234
|
||||||
#: src/views/settings/components/Avatar.tsx:78
|
#: src/views/settings/components/Avatar.tsx:78
|
||||||
#: src/views/settings/components/Avatar.tsx:219
|
#: src/views/settings/components/Avatar.tsx:219
|
||||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||||
@@ -1435,8 +1447,8 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
|
|||||||
msgid "Please try again later, or contact customer support."
|
msgid "Please try again later, or contact customer support."
|
||||||
msgstr "Veuillez réessayer plus tard ou contacter le service client."
|
msgstr "Veuillez réessayer plus tard ou contacter le service client."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
#: src/views/members/components/InviteMemberForm.tsx:129
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
#: src/views/members/components/InviteMemberForm.tsx:145
|
||||||
msgid "Please try again later."
|
msgid "Please try again later."
|
||||||
msgstr "Veuillez réessayer plus tard."
|
msgstr "Veuillez réessayer plus tard."
|
||||||
|
|
||||||
@@ -1463,7 +1475,7 @@ msgstr "Privé"
|
|||||||
msgid "Pro Plan"
|
msgid "Pro Plan"
|
||||||
msgstr "Plan Pro"
|
msgstr "Plan Pro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
msgid "Pro Plan ∞"
|
msgid "Pro Plan ∞"
|
||||||
msgstr "Plan Pro ∞"
|
msgstr "Plan Pro ∞"
|
||||||
|
|
||||||
@@ -1580,6 +1592,10 @@ msgstr "Gagnez du temps avec des modèles de tableaux réutilisables."
|
|||||||
msgid "Screening"
|
msgid "Screening"
|
||||||
msgstr "Présélection"
|
msgstr "Présélection"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:104
|
||||||
|
msgid "Search boards and cards..."
|
||||||
|
msgstr "Rechercher des tableaux et des cartes..."
|
||||||
|
|
||||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Sélectionner tout"
|
msgstr "Sélectionner tout"
|
||||||
@@ -1683,6 +1699,10 @@ msgstr "Développement logiciel"
|
|||||||
msgid "Star on Github"
|
msgid "Star on Github"
|
||||||
msgstr "Étoile sur Github"
|
msgstr "Étoile sur Github"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:122
|
||||||
|
msgid "Subscription Required"
|
||||||
|
msgstr "Abonnement requis"
|
||||||
|
|
||||||
#: src/components/AuthForm.tsx:212
|
#: src/components/AuthForm.tsx:212
|
||||||
#: src/components/AuthForm.tsx:229
|
#: src/components/AuthForm.tsx:229
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
@@ -1704,7 +1724,7 @@ msgstr "Soutenir le développement du projet"
|
|||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "Système"
|
msgstr "Système"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
#: src/views/members/index.tsx:208
|
#: src/views/members/index.tsx:208
|
||||||
msgid "Team Plan"
|
msgid "Team Plan"
|
||||||
msgstr "Forfait d'équipe"
|
msgstr "Forfait d'équipe"
|
||||||
@@ -1988,7 +2008,7 @@ msgstr "Passer à Pro"
|
|||||||
msgid "Upgrade to Pro ($29/month)"
|
msgid "Upgrade to Pro ($29/month)"
|
||||||
msgstr "Passer à Pro (29 $/mois)"
|
msgstr "Passer à Pro (29 $/mois)"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
#: src/views/members/components/InviteMemberForm.tsx:357
|
||||||
msgid "Upgrade to Team Plan"
|
msgid "Upgrade to Team Plan"
|
||||||
msgstr "Passer au forfait d'équipe"
|
msgstr "Passer au forfait d'équipe"
|
||||||
|
|
||||||
@@ -2187,7 +2207,7 @@ msgstr "Vous vous êtes connecté avec succès."
|
|||||||
msgid "You have been signed up successfully."
|
msgid "You have been signed up successfully."
|
||||||
msgstr "Vous vous êtes inscrit avec succès."
|
msgstr "Vous vous êtes inscrit avec succès."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
msgstr "Vous disposez de places illimitées avec votre Plan Pro. Il n'y a pas de frais supplémentaires pour les nouveaux membres !"
|
msgstr "Vous disposez de places illimitées avec votre Plan Pro. Il n'y a pas de frais supplémentaires pour les nouveaux membres !"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} etichette"
|
|||||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||||
msgstr "{boardCount, plural, one {Importa bacheca (1)} other {Importa bacheche ({boardCount})}}"
|
msgstr "{boardCount, plural, one {Importa bacheca (1)} other {Importa bacheche ({boardCount})}}"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$10/month"
|
msgid "$10/month"
|
||||||
msgstr "$10/mese"
|
msgstr "$10/mese"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$8/month"
|
msgid "$8/month"
|
||||||
msgstr "$8/mese"
|
msgstr "$8/mese"
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
|||||||
msgstr "Aggiungi etichetta"
|
msgstr "Aggiungi etichetta"
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:130
|
#: src/views/card/components/MemberSelector.tsx:130
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
#: src/views/members/components/InviteMemberForm.tsx:250
|
||||||
msgid "Add member"
|
msgid "Add member"
|
||||||
msgstr "Aggiungi membro"
|
msgstr "Aggiungi membro"
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ msgstr "ha aggiunto l'elemento <0>{0}</0> alla checklist"
|
|||||||
msgid "added label <0>{0}</0>"
|
msgid "added label <0>{0}</0>"
|
||||||
msgstr "ha aggiunto l'etichetta <0>{0}</0>"
|
msgstr "ha aggiunto l'etichetta <0>{0}</0>"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
#: src/views/members/components/InviteMemberForm.tsx:320
|
||||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
msgstr "L'aggiunta di un nuovo membro costerà un supplemento di {price} ({billingType}) per posto."
|
msgstr "L'aggiunta di un nuovo membro costerà un supplemento di {price} ({billingType}) per posto."
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ msgstr "Si è verificato un errore durante la disconnessione del tuo account Tre
|
|||||||
msgid "An unexpected error occurred. Please try again later."
|
msgid "An unexpected error occurred. Please try again later."
|
||||||
msgstr "Si è verificato un errore imprevisto. Riprova più tardi."
|
msgstr "Si è verificato un errore imprevisto. Riprova più tardi."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
#: src/views/members/components/InviteMemberForm.tsx:304
|
||||||
msgid "Anyone with this link can join your workspace"
|
msgid "Anyone with this link can join your workspace"
|
||||||
msgstr "Chiunque abbia questo link può unirsi al tuo spazio di lavoro"
|
msgstr "Chiunque abbia questo link può unirsi al tuo spazio di lavoro"
|
||||||
|
|
||||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
|||||||
msgid "Basic Kanban"
|
msgid "Basic Kanban"
|
||||||
msgstr "Kanban base"
|
msgstr "Kanban base"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed annually"
|
msgid "billed annually"
|
||||||
msgstr "fatturato annualmente"
|
msgstr "fatturato annualmente"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed monthly"
|
msgid "billed monthly"
|
||||||
msgstr "fatturato mensilmente"
|
msgstr "fatturato mensilmente"
|
||||||
|
|
||||||
@@ -498,7 +498,7 @@ msgstr "Crea carta"
|
|||||||
msgid "Create checklist"
|
msgid "Create checklist"
|
||||||
msgstr "Crea checklist"
|
msgstr "Crea checklist"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
#: src/views/members/components/InviteMemberForm.tsx:342
|
||||||
msgid "Create invite link"
|
msgid "Create invite link"
|
||||||
msgstr "Crea link di invito"
|
msgstr "Crea link di invito"
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ msgid "Create new list"
|
|||||||
msgstr "Crea nuova lista"
|
msgstr "Crea nuova lista"
|
||||||
|
|
||||||
#: src/components/NewWorkspaceForm.tsx:384
|
#: src/components/NewWorkspaceForm.tsx:384
|
||||||
#: src/components/WorkspaceMenu.tsx:116
|
#: src/components/WorkspaceMenu.tsx:149
|
||||||
msgid "Create workspace"
|
msgid "Create workspace"
|
||||||
msgstr "Crea spazio di lavoro"
|
msgstr "Crea spazio di lavoro"
|
||||||
|
|
||||||
@@ -569,7 +569,7 @@ msgstr "Assistenza clienti"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Scuro"
|
msgstr "Scuro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||||
msgid "Deactivate invite link"
|
msgid "Deactivate invite link"
|
||||||
msgstr "Disattiva link di invito"
|
msgstr "Disattiva link di invito"
|
||||||
|
|
||||||
@@ -709,7 +709,7 @@ msgstr "Modifica"
|
|||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr "email"
|
msgstr "email"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
#: src/views/members/components/InviteMemberForm.tsx:265
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Email"
|
msgstr "Email"
|
||||||
|
|
||||||
@@ -741,7 +741,7 @@ msgstr "Inserisci la tua nuova password"
|
|||||||
msgid "Enter your password"
|
msgid "Enter your password"
|
||||||
msgstr "Inserisci la tua password"
|
msgstr "Inserisci la tua password"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
#: src/views/members/components/InviteMemberForm.tsx:208
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Errore"
|
msgstr "Errore"
|
||||||
|
|
||||||
@@ -749,11 +749,11 @@ msgstr "Errore"
|
|||||||
msgid "Error Changing Password"
|
msgid "Error Changing Password"
|
||||||
msgstr "Errore durante il cambio della password"
|
msgstr "Errore durante il cambio della password"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
#: src/views/members/components/InviteMemberForm.tsx:128
|
||||||
msgid "Error creating invite link"
|
msgid "Error creating invite link"
|
||||||
msgstr "Errore durante la creazione del link di invito"
|
msgstr "Errore durante la creazione del link di invito"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
#: src/views/members/components/InviteMemberForm.tsx:144
|
||||||
msgid "Error deactivating invite link"
|
msgid "Error deactivating invite link"
|
||||||
msgstr "Errore durante la disattivazione del link di invito"
|
msgstr "Errore durante la disattivazione del link di invito"
|
||||||
|
|
||||||
@@ -798,7 +798,7 @@ msgstr "Errore durante l'aggiornamento del nome dell'area di lavoro"
|
|||||||
msgid "Error updating workspace URL"
|
msgid "Error updating workspace URL"
|
||||||
msgstr "Errore durante l'aggiornamento dell'URL dell'area di lavoro"
|
msgstr "Errore durante l'aggiornamento dell'URL dell'area di lavoro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
#: src/views/members/components/InviteMemberForm.tsx:233
|
||||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||||
msgid "Error upgrading subscription"
|
msgid "Error upgrading subscription"
|
||||||
msgstr "Errore nell'aggiornamento dell'abbonamento"
|
msgstr "Errore nell'aggiornamento dell'abbonamento"
|
||||||
@@ -828,7 +828,7 @@ msgstr "Esecuzione"
|
|||||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
msgstr "Impossibile accettare l'invito. Riprova più tardi o contatta l'assistenza clienti."
|
msgstr "Impossibile accettare l'invito. Riprova più tardi o contatta l'assistenza clienti."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
#: src/views/members/components/InviteMemberForm.tsx:209
|
||||||
msgid "Failed to copy invite link"
|
msgid "Failed to copy invite link"
|
||||||
msgstr "Impossibile copiare il link di invito"
|
msgstr "Impossibile copiare il link di invito"
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni pr
|
|||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Gratuito"
|
msgstr "Gratuito"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||||
#: src/views/members/index.tsx:209
|
#: src/views/members/index.tsx:209
|
||||||
msgid "Free Plan"
|
msgid "Free Plan"
|
||||||
msgstr "Piano gratuito"
|
msgstr "Piano gratuito"
|
||||||
@@ -1024,6 +1024,10 @@ msgstr "Importazione da Trello"
|
|||||||
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
msgstr "Importare le tue bacheche Trello in Kan è facile. Puoi seguire la nostra guida passo-passo <0>qui</0>."
|
msgstr "Importare le tue bacheche Trello in Kan è facile. Puoi seguire la nostra guida passo-passo <0>qui</0>."
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:168
|
||||||
|
msgid "in"
|
||||||
|
msgstr "in"
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:16
|
#: src/views/boards/components/TemplateBoards.tsx:16
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:22
|
#: src/views/boards/components/TemplateBoards.tsx:22
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:45
|
#: src/views/boards/components/TemplateBoards.tsx:45
|
||||||
@@ -1055,20 +1059,24 @@ msgstr "Invito non valido"
|
|||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Invita"
|
msgstr "Invita"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
#: src/views/members/components/InviteMemberForm.tsx:202
|
||||||
msgid "Invite link copied"
|
msgid "Invite link copied"
|
||||||
msgstr "Link di invito copiato"
|
msgstr "Link di invito copiato"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
#: src/views/members/components/InviteMemberForm.tsx:203
|
||||||
msgid "Invite link copied to clipboard"
|
msgid "Invite link copied to clipboard"
|
||||||
msgstr "Link di invito copiato negli appunti"
|
msgstr "Link di invito copiato negli appunti"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||||
|
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
msgstr "I link di invito richiedono un abbonamento Team o Pro. Per favore aggiorna il tuo spazio di lavoro."
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:111
|
#: src/views/card/components/MemberSelector.tsx:111
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
#: src/views/members/components/InviteMemberForm.tsx:365
|
||||||
msgid "Invite member"
|
msgid "Invite member"
|
||||||
msgstr "Invita membro"
|
msgstr "Invita membro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
#: src/views/members/components/InviteMemberForm.tsx:329
|
||||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
msgstr "L'invito di membri richiede un Piano Team. Sarai reindirizzato per aggiornare il tuo spazio di lavoro."
|
msgstr "L'invito di membri richiede un Piano Team. Sarai reindirizzato per aggiornare il tuo spazio di lavoro."
|
||||||
|
|
||||||
@@ -1203,7 +1211,7 @@ msgstr "Membri | {0}"
|
|||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Mensile"
|
msgstr "Mensile"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||||
msgid "monthly billing"
|
msgid "monthly billing"
|
||||||
msgstr "fatturazione mensile"
|
msgstr "fatturazione mensile"
|
||||||
|
|
||||||
@@ -1299,6 +1307,10 @@ msgstr "Nessuna carta di credito richiesta"
|
|||||||
msgid "No lists"
|
msgid "No lists"
|
||||||
msgstr "Nessuna lista"
|
msgstr "Nessuna lista"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:184
|
||||||
|
msgid "No results found for \"{debouncedQuery}\"."
|
||||||
|
msgstr "Nessun risultato trovato per \"{debouncedQuery}\"."
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||||
msgid "Offer"
|
msgid "Offer"
|
||||||
msgstr "Offerta"
|
msgstr "Offerta"
|
||||||
@@ -1422,7 +1434,7 @@ msgstr "Seleziona un file da caricare."
|
|||||||
#: src/views/card/index.tsx:173
|
#: src/views/card/index.tsx:173
|
||||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
#: src/views/members/components/InviteMemberForm.tsx:234
|
||||||
#: src/views/settings/components/Avatar.tsx:78
|
#: src/views/settings/components/Avatar.tsx:78
|
||||||
#: src/views/settings/components/Avatar.tsx:219
|
#: src/views/settings/components/Avatar.tsx:219
|
||||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||||
@@ -1435,8 +1447,8 @@ msgstr "Seleziona un file da caricare."
|
|||||||
msgid "Please try again later, or contact customer support."
|
msgid "Please try again later, or contact customer support."
|
||||||
msgstr "Riprova più tardi o contatta l'assistenza clienti."
|
msgstr "Riprova più tardi o contatta l'assistenza clienti."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
#: src/views/members/components/InviteMemberForm.tsx:129
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
#: src/views/members/components/InviteMemberForm.tsx:145
|
||||||
msgid "Please try again later."
|
msgid "Please try again later."
|
||||||
msgstr "Riprova più tardi."
|
msgstr "Riprova più tardi."
|
||||||
|
|
||||||
@@ -1463,7 +1475,7 @@ msgstr "Privato"
|
|||||||
msgid "Pro Plan"
|
msgid "Pro Plan"
|
||||||
msgstr "Piano Pro"
|
msgstr "Piano Pro"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
msgid "Pro Plan ∞"
|
msgid "Pro Plan ∞"
|
||||||
msgstr "Piano Pro ∞"
|
msgstr "Piano Pro ∞"
|
||||||
|
|
||||||
@@ -1580,6 +1592,10 @@ msgstr "Risparmia tempo con modelli di bacheca riutilizzabili."
|
|||||||
msgid "Screening"
|
msgid "Screening"
|
||||||
msgstr "Selezione"
|
msgstr "Selezione"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:104
|
||||||
|
msgid "Search boards and cards..."
|
||||||
|
msgstr "Cerca bacheche e schede..."
|
||||||
|
|
||||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Seleziona tutto"
|
msgstr "Seleziona tutto"
|
||||||
@@ -1683,6 +1699,10 @@ msgstr "Sviluppo software"
|
|||||||
msgid "Star on Github"
|
msgid "Star on Github"
|
||||||
msgstr "Metti una stella su Github"
|
msgstr "Metti una stella su Github"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:122
|
||||||
|
msgid "Subscription Required"
|
||||||
|
msgstr "Abbonamento richiesto"
|
||||||
|
|
||||||
#: src/components/AuthForm.tsx:212
|
#: src/components/AuthForm.tsx:212
|
||||||
#: src/components/AuthForm.tsx:229
|
#: src/components/AuthForm.tsx:229
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
@@ -1704,7 +1724,7 @@ msgstr "Sostieni lo sviluppo del progetto"
|
|||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "Sistema"
|
msgstr "Sistema"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
#: src/views/members/index.tsx:208
|
#: src/views/members/index.tsx:208
|
||||||
msgid "Team Plan"
|
msgid "Team Plan"
|
||||||
msgstr "Piano Team"
|
msgstr "Piano Team"
|
||||||
@@ -1988,7 +2008,7 @@ msgstr "Passa a Pro"
|
|||||||
msgid "Upgrade to Pro ($29/month)"
|
msgid "Upgrade to Pro ($29/month)"
|
||||||
msgstr "Passa a Pro ($29/mese)"
|
msgstr "Passa a Pro ($29/mese)"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
#: src/views/members/components/InviteMemberForm.tsx:357
|
||||||
msgid "Upgrade to Team Plan"
|
msgid "Upgrade to Team Plan"
|
||||||
msgstr "Passa al Piano Team"
|
msgstr "Passa al Piano Team"
|
||||||
|
|
||||||
@@ -2187,7 +2207,7 @@ msgstr "Hai effettuato l'accesso con successo."
|
|||||||
msgid "You have been signed up successfully."
|
msgid "You have been signed up successfully."
|
||||||
msgstr "Ti sei registrato con successo."
|
msgstr "Ti sei registrato con successo."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
msgstr "Hai posti illimitati con il tuo Piano Pro. Non ci sono costi aggiuntivi per i nuovi membri!"
|
msgstr "Hai posti illimitati con il tuo Piano Pro. Non ci sono costi aggiuntivi per i nuovi membri!"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} labels"
|
|||||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||||
msgstr "{boardCount, plural, one {Bord importeren (1)} other {Borden importeren ({boardCount})}}"
|
msgstr "{boardCount, plural, one {Bord importeren (1)} other {Borden importeren ({boardCount})}}"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$10/month"
|
msgid "$10/month"
|
||||||
msgstr "$10/maand"
|
msgstr "$10/maand"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$8/month"
|
msgid "$8/month"
|
||||||
msgstr "$8/maand"
|
msgstr "$8/maand"
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
|||||||
msgstr "Label toevoegen"
|
msgstr "Label toevoegen"
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:130
|
#: src/views/card/components/MemberSelector.tsx:130
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
#: src/views/members/components/InviteMemberForm.tsx:250
|
||||||
msgid "Add member"
|
msgid "Add member"
|
||||||
msgstr "Lid toevoegen"
|
msgstr "Lid toevoegen"
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ msgstr "heeft checklistitem <0>{0}</0> toegevoegd"
|
|||||||
msgid "added label <0>{0}</0>"
|
msgid "added label <0>{0}</0>"
|
||||||
msgstr "heeft label <0>{0}</0> toegevoegd"
|
msgstr "heeft label <0>{0}</0> toegevoegd"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
#: src/views/members/components/InviteMemberForm.tsx:320
|
||||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
msgstr "Het toevoegen van een nieuw lid kost een extra {price} ({billingType}) per plaats."
|
msgstr "Het toevoegen van een nieuw lid kost een extra {price} ({billingType}) per plaats."
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ msgstr "Er is een fout opgetreden bij het verbreken van de verbinding met je Tre
|
|||||||
msgid "An unexpected error occurred. Please try again later."
|
msgid "An unexpected error occurred. Please try again later."
|
||||||
msgstr "Er is een onverwachte fout opgetreden. Probeer het later opnieuw."
|
msgstr "Er is een onverwachte fout opgetreden. Probeer het later opnieuw."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
#: src/views/members/components/InviteMemberForm.tsx:304
|
||||||
msgid "Anyone with this link can join your workspace"
|
msgid "Anyone with this link can join your workspace"
|
||||||
msgstr "Iedereen met deze link kan deelnemen aan je werkruimte"
|
msgstr "Iedereen met deze link kan deelnemen aan je werkruimte"
|
||||||
|
|
||||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
|||||||
msgid "Basic Kanban"
|
msgid "Basic Kanban"
|
||||||
msgstr "Basis kanban"
|
msgstr "Basis kanban"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed annually"
|
msgid "billed annually"
|
||||||
msgstr "jaarlijks gefactureerd"
|
msgstr "jaarlijks gefactureerd"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed monthly"
|
msgid "billed monthly"
|
||||||
msgstr "maandelijks gefactureerd"
|
msgstr "maandelijks gefactureerd"
|
||||||
|
|
||||||
@@ -498,7 +498,7 @@ msgstr "Maak kaart"
|
|||||||
msgid "Create checklist"
|
msgid "Create checklist"
|
||||||
msgstr "Checklist maken"
|
msgstr "Checklist maken"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
#: src/views/members/components/InviteMemberForm.tsx:342
|
||||||
msgid "Create invite link"
|
msgid "Create invite link"
|
||||||
msgstr "Uitnodigingslink maken"
|
msgstr "Uitnodigingslink maken"
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ msgid "Create new list"
|
|||||||
msgstr "Maak nieuwe lijst"
|
msgstr "Maak nieuwe lijst"
|
||||||
|
|
||||||
#: src/components/NewWorkspaceForm.tsx:384
|
#: src/components/NewWorkspaceForm.tsx:384
|
||||||
#: src/components/WorkspaceMenu.tsx:116
|
#: src/components/WorkspaceMenu.tsx:149
|
||||||
msgid "Create workspace"
|
msgid "Create workspace"
|
||||||
msgstr "Werkruimte maken"
|
msgstr "Werkruimte maken"
|
||||||
|
|
||||||
@@ -569,7 +569,7 @@ msgstr "Klantenservice"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Donker"
|
msgstr "Donker"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||||
msgid "Deactivate invite link"
|
msgid "Deactivate invite link"
|
||||||
msgstr "Uitnodigingslink deactiveren"
|
msgstr "Uitnodigingslink deactiveren"
|
||||||
|
|
||||||
@@ -709,7 +709,7 @@ msgstr "Bewerken"
|
|||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr "e-mail"
|
msgstr "e-mail"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
#: src/views/members/components/InviteMemberForm.tsx:265
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "E-mail"
|
msgstr "E-mail"
|
||||||
|
|
||||||
@@ -741,7 +741,7 @@ msgstr "Voer je nieuwe wachtwoord in"
|
|||||||
msgid "Enter your password"
|
msgid "Enter your password"
|
||||||
msgstr "Voer je wachtwoord in"
|
msgstr "Voer je wachtwoord in"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
#: src/views/members/components/InviteMemberForm.tsx:208
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Fout"
|
msgstr "Fout"
|
||||||
|
|
||||||
@@ -749,11 +749,11 @@ msgstr "Fout"
|
|||||||
msgid "Error Changing Password"
|
msgid "Error Changing Password"
|
||||||
msgstr "Fout bij wijzigen wachtwoord"
|
msgstr "Fout bij wijzigen wachtwoord"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
#: src/views/members/components/InviteMemberForm.tsx:128
|
||||||
msgid "Error creating invite link"
|
msgid "Error creating invite link"
|
||||||
msgstr "Fout bij het maken van uitnodigingslink"
|
msgstr "Fout bij het maken van uitnodigingslink"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
#: src/views/members/components/InviteMemberForm.tsx:144
|
||||||
msgid "Error deactivating invite link"
|
msgid "Error deactivating invite link"
|
||||||
msgstr "Fout bij het deactiveren van uitnodigingslink"
|
msgstr "Fout bij het deactiveren van uitnodigingslink"
|
||||||
|
|
||||||
@@ -798,7 +798,7 @@ msgstr "Fout bij bijwerken naam werkruimte"
|
|||||||
msgid "Error updating workspace URL"
|
msgid "Error updating workspace URL"
|
||||||
msgstr "Fout bij het bijwerken van werkruimte-URL"
|
msgstr "Fout bij het bijwerken van werkruimte-URL"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
#: src/views/members/components/InviteMemberForm.tsx:233
|
||||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||||
msgid "Error upgrading subscription"
|
msgid "Error upgrading subscription"
|
||||||
msgstr "Fout bij het upgraden van abonnement"
|
msgstr "Fout bij het upgraden van abonnement"
|
||||||
@@ -828,7 +828,7 @@ msgstr "Uitvoering"
|
|||||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
msgstr "Uitnodiging accepteren mislukt. Probeer het later opnieuw of neem contact op met de klantenservice."
|
msgstr "Uitnodiging accepteren mislukt. Probeer het later opnieuw of neem contact op met de klantenservice."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
#: src/views/members/components/InviteMemberForm.tsx:209
|
||||||
msgid "Failed to copy invite link"
|
msgid "Failed to copy invite link"
|
||||||
msgstr "Kopiëren van uitnodigingslink mislukt"
|
msgstr "Kopiëren van uitnodigingslink mislukt"
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open sourc
|
|||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Gratis"
|
msgstr "Gratis"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||||
#: src/views/members/index.tsx:209
|
#: src/views/members/index.tsx:209
|
||||||
msgid "Free Plan"
|
msgid "Free Plan"
|
||||||
msgstr "Gratis plan"
|
msgstr "Gratis plan"
|
||||||
@@ -1024,6 +1024,10 @@ msgstr "Importeren vanuit Trello"
|
|||||||
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
msgstr "Het importeren van je Trello-borden naar Kan is eenvoudig. Je kunt onze stap-voor-stap handleiding <0>hier</0> volgen."
|
msgstr "Het importeren van je Trello-borden naar Kan is eenvoudig. Je kunt onze stap-voor-stap handleiding <0>hier</0> volgen."
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:168
|
||||||
|
msgid "in"
|
||||||
|
msgstr "in"
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:16
|
#: src/views/boards/components/TemplateBoards.tsx:16
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:22
|
#: src/views/boards/components/TemplateBoards.tsx:22
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:45
|
#: src/views/boards/components/TemplateBoards.tsx:45
|
||||||
@@ -1055,20 +1059,24 @@ msgstr "Ongeldige uitnodiging"
|
|||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Uitnodigen"
|
msgstr "Uitnodigen"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
#: src/views/members/components/InviteMemberForm.tsx:202
|
||||||
msgid "Invite link copied"
|
msgid "Invite link copied"
|
||||||
msgstr "Uitnodigingslink gekopieerd"
|
msgstr "Uitnodigingslink gekopieerd"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
#: src/views/members/components/InviteMemberForm.tsx:203
|
||||||
msgid "Invite link copied to clipboard"
|
msgid "Invite link copied to clipboard"
|
||||||
msgstr "Uitnodigingslink gekopieerd naar klembord"
|
msgstr "Uitnodigingslink gekopieerd naar klembord"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||||
|
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
msgstr "Uitnodigingslinks vereisen een Team- of Pro-abonnement. Upgrade je werkruimte."
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:111
|
#: src/views/card/components/MemberSelector.tsx:111
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
#: src/views/members/components/InviteMemberForm.tsx:365
|
||||||
msgid "Invite member"
|
msgid "Invite member"
|
||||||
msgstr "Lid uitnodigen"
|
msgstr "Lid uitnodigen"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
#: src/views/members/components/InviteMemberForm.tsx:329
|
||||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
msgstr "Voor het uitnodigen van leden is een teamplan vereist. Je wordt doorgestuurd om je werkruimte te upgraden."
|
msgstr "Voor het uitnodigen van leden is een teamplan vereist. Je wordt doorgestuurd om je werkruimte te upgraden."
|
||||||
|
|
||||||
@@ -1203,7 +1211,7 @@ msgstr "Leden | {0}"
|
|||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Maandelijks"
|
msgstr "Maandelijks"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||||
msgid "monthly billing"
|
msgid "monthly billing"
|
||||||
msgstr "maandelijkse facturering"
|
msgstr "maandelijkse facturering"
|
||||||
|
|
||||||
@@ -1299,6 +1307,10 @@ msgstr "Geen creditcard vereist"
|
|||||||
msgid "No lists"
|
msgid "No lists"
|
||||||
msgstr "Geen lijsten"
|
msgstr "Geen lijsten"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:184
|
||||||
|
msgid "No results found for \"{debouncedQuery}\"."
|
||||||
|
msgstr "Geen resultaten gevonden voor \"{debouncedQuery}\"."
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||||
msgid "Offer"
|
msgid "Offer"
|
||||||
msgstr "Aanbod"
|
msgstr "Aanbod"
|
||||||
@@ -1422,7 +1434,7 @@ msgstr "Selecteer een bestand om te uploaden."
|
|||||||
#: src/views/card/index.tsx:173
|
#: src/views/card/index.tsx:173
|
||||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
#: src/views/members/components/InviteMemberForm.tsx:234
|
||||||
#: src/views/settings/components/Avatar.tsx:78
|
#: src/views/settings/components/Avatar.tsx:78
|
||||||
#: src/views/settings/components/Avatar.tsx:219
|
#: src/views/settings/components/Avatar.tsx:219
|
||||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||||
@@ -1435,8 +1447,8 @@ msgstr "Selecteer een bestand om te uploaden."
|
|||||||
msgid "Please try again later, or contact customer support."
|
msgid "Please try again later, or contact customer support."
|
||||||
msgstr "Probeer het later opnieuw of neem contact op met de klantenservice."
|
msgstr "Probeer het later opnieuw of neem contact op met de klantenservice."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
#: src/views/members/components/InviteMemberForm.tsx:129
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
#: src/views/members/components/InviteMemberForm.tsx:145
|
||||||
msgid "Please try again later."
|
msgid "Please try again later."
|
||||||
msgstr "Probeer het later opnieuw."
|
msgstr "Probeer het later opnieuw."
|
||||||
|
|
||||||
@@ -1463,7 +1475,7 @@ msgstr "Privé"
|
|||||||
msgid "Pro Plan"
|
msgid "Pro Plan"
|
||||||
msgstr "Pro Plan"
|
msgstr "Pro Plan"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
msgid "Pro Plan ∞"
|
msgid "Pro Plan ∞"
|
||||||
msgstr "Pro Plan ∞"
|
msgstr "Pro Plan ∞"
|
||||||
|
|
||||||
@@ -1580,6 +1592,10 @@ msgstr "Bespaar tijd met herbruikbare bordsjablonen."
|
|||||||
msgid "Screening"
|
msgid "Screening"
|
||||||
msgstr "Screening"
|
msgstr "Screening"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:104
|
||||||
|
msgid "Search boards and cards..."
|
||||||
|
msgstr "Zoek in borden en kaarten..."
|
||||||
|
|
||||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Alles selecteren"
|
msgstr "Alles selecteren"
|
||||||
@@ -1683,6 +1699,10 @@ msgstr "Softwareontwikkeling"
|
|||||||
msgid "Star on Github"
|
msgid "Star on Github"
|
||||||
msgstr "Star op Github"
|
msgstr "Star op Github"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:122
|
||||||
|
msgid "Subscription Required"
|
||||||
|
msgstr "Abonnement vereist"
|
||||||
|
|
||||||
#: src/components/AuthForm.tsx:212
|
#: src/components/AuthForm.tsx:212
|
||||||
#: src/components/AuthForm.tsx:229
|
#: src/components/AuthForm.tsx:229
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
@@ -1704,7 +1724,7 @@ msgstr "Ondersteun de ontwikkeling van het project"
|
|||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "Systeem"
|
msgstr "Systeem"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
#: src/views/members/index.tsx:208
|
#: src/views/members/index.tsx:208
|
||||||
msgid "Team Plan"
|
msgid "Team Plan"
|
||||||
msgstr "Teamplan"
|
msgstr "Teamplan"
|
||||||
@@ -1988,7 +2008,7 @@ msgstr "Upgraden naar Pro"
|
|||||||
msgid "Upgrade to Pro ($29/month)"
|
msgid "Upgrade to Pro ($29/month)"
|
||||||
msgstr "Upgrade naar Pro ($29/maand)"
|
msgstr "Upgrade naar Pro ($29/maand)"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
#: src/views/members/components/InviteMemberForm.tsx:357
|
||||||
msgid "Upgrade to Team Plan"
|
msgid "Upgrade to Team Plan"
|
||||||
msgstr "Upgraden naar teamplan"
|
msgstr "Upgraden naar teamplan"
|
||||||
|
|
||||||
@@ -2187,7 +2207,7 @@ msgstr "Je bent succesvol ingelogd."
|
|||||||
msgid "You have been signed up successfully."
|
msgid "You have been signed up successfully."
|
||||||
msgstr "Je bent succesvol geregistreerd."
|
msgstr "Je bent succesvol geregistreerd."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
msgstr "Je hebt onbeperkte plaatsen met je Pro Plan. Er zijn geen extra kosten voor nieuwe leden!"
|
msgstr "Je hebt onbeperkte plaatsen met je Pro Plan. Er zijn geen extra kosten voor nieuwe leden!"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} метки"
|
|||||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||||
msgstr "{boardCount, plural, one {Импортировать доску (1)} other {Импортировать доски ({boardCount})}}"
|
msgstr "{boardCount, plural, one {Импортировать доску (1)} other {Импортировать доски ({boardCount})}}"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$10/month"
|
msgid "$10/month"
|
||||||
msgstr "$10/месяц"
|
msgstr "$10/месяц"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
#: src/views/members/components/InviteMemberForm.tsx:170
|
||||||
msgid "$8/month"
|
msgid "$8/month"
|
||||||
msgstr "$8/месяц"
|
msgstr "$8/месяц"
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
|||||||
msgstr "Добавить метку"
|
msgstr "Добавить метку"
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:130
|
#: src/views/card/components/MemberSelector.tsx:130
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
#: src/views/members/components/InviteMemberForm.tsx:250
|
||||||
msgid "Add member"
|
msgid "Add member"
|
||||||
msgstr "Добавить участника"
|
msgstr "Добавить участника"
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ msgstr "добавлен элемент контрольного списка <0
|
|||||||
msgid "added label <0>{0}</0>"
|
msgid "added label <0>{0}</0>"
|
||||||
msgstr "добавлена метка <0>{0}</0>"
|
msgstr "добавлена метка <0>{0}</0>"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
#: src/views/members/components/InviteMemberForm.tsx:320
|
||||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||||
msgstr "Добавление нового участника будет стоить дополнительно {price} ({billingType}) за место."
|
msgstr "Добавление нового участника будет стоить дополнительно {price} ({billingType}) за место."
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ msgstr "Произошла ошибка при отключении вашего
|
|||||||
msgid "An unexpected error occurred. Please try again later."
|
msgid "An unexpected error occurred. Please try again later."
|
||||||
msgstr "Произошла непредвиденная ошибка. Пожалуйста, попробуйте позже."
|
msgstr "Произошла непредвиденная ошибка. Пожалуйста, попробуйте позже."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
#: src/views/members/components/InviteMemberForm.tsx:304
|
||||||
msgid "Anyone with this link can join your workspace"
|
msgid "Anyone with this link can join your workspace"
|
||||||
msgstr "Любой, у кого есть эта ссылка, может присоединиться к вашему рабочему пространству"
|
msgstr "Любой, у кого есть эта ссылка, может присоединиться к вашему рабочему пространству"
|
||||||
|
|
||||||
@@ -250,11 +250,11 @@ msgstr "Бэклог"
|
|||||||
msgid "Basic Kanban"
|
msgid "Basic Kanban"
|
||||||
msgstr "Базовый Канбан"
|
msgstr "Базовый Канбан"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed annually"
|
msgid "billed annually"
|
||||||
msgstr "выставляется счет ежегодно"
|
msgstr "выставляется счет ежегодно"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
#: src/views/members/components/InviteMemberForm.tsx:171
|
||||||
msgid "billed monthly"
|
msgid "billed monthly"
|
||||||
msgstr "выставляется счет ежемесячно"
|
msgstr "выставляется счет ежемесячно"
|
||||||
|
|
||||||
@@ -498,7 +498,7 @@ msgstr "Создать карточку"
|
|||||||
msgid "Create checklist"
|
msgid "Create checklist"
|
||||||
msgstr "Создать чек-лист"
|
msgstr "Создать чек-лист"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
#: src/views/members/components/InviteMemberForm.tsx:342
|
||||||
msgid "Create invite link"
|
msgid "Create invite link"
|
||||||
msgstr "Создать ссылку-приглашение"
|
msgstr "Создать ссылку-приглашение"
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ msgid "Create new list"
|
|||||||
msgstr "Создать новый список"
|
msgstr "Создать новый список"
|
||||||
|
|
||||||
#: src/components/NewWorkspaceForm.tsx:384
|
#: src/components/NewWorkspaceForm.tsx:384
|
||||||
#: src/components/WorkspaceMenu.tsx:116
|
#: src/components/WorkspaceMenu.tsx:149
|
||||||
msgid "Create workspace"
|
msgid "Create workspace"
|
||||||
msgstr "Создать рабочее пространство"
|
msgstr "Создать рабочее пространство"
|
||||||
|
|
||||||
@@ -569,7 +569,7 @@ msgstr "Служба поддержки"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Тёмный"
|
msgstr "Тёмный"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||||
msgid "Deactivate invite link"
|
msgid "Deactivate invite link"
|
||||||
msgstr "Деактивировать ссылку-приглашение"
|
msgstr "Деактивировать ссылку-приглашение"
|
||||||
|
|
||||||
@@ -709,7 +709,7 @@ msgstr "Редактирование"
|
|||||||
msgid "email"
|
msgid "email"
|
||||||
msgstr "email"
|
msgstr "email"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
#: src/views/members/components/InviteMemberForm.tsx:265
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Email"
|
msgstr "Email"
|
||||||
|
|
||||||
@@ -741,7 +741,7 @@ msgstr "Введите ваш новый пароль"
|
|||||||
msgid "Enter your password"
|
msgid "Enter your password"
|
||||||
msgstr "Введите ваш пароль"
|
msgstr "Введите ваш пароль"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
#: src/views/members/components/InviteMemberForm.tsx:208
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Ошибка"
|
msgstr "Ошибка"
|
||||||
|
|
||||||
@@ -749,11 +749,11 @@ msgstr "Ошибка"
|
|||||||
msgid "Error Changing Password"
|
msgid "Error Changing Password"
|
||||||
msgstr "Ошибка при изменении пароля"
|
msgstr "Ошибка при изменении пароля"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
#: src/views/members/components/InviteMemberForm.tsx:128
|
||||||
msgid "Error creating invite link"
|
msgid "Error creating invite link"
|
||||||
msgstr "Ошибка при создании ссылки приглашения"
|
msgstr "Ошибка при создании ссылки приглашения"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
#: src/views/members/components/InviteMemberForm.tsx:144
|
||||||
msgid "Error deactivating invite link"
|
msgid "Error deactivating invite link"
|
||||||
msgstr "Ошибка при деактивации ссылки приглашения"
|
msgstr "Ошибка при деактивации ссылки приглашения"
|
||||||
|
|
||||||
@@ -798,7 +798,7 @@ msgstr "Ошибка при обновлении имени рабочей об
|
|||||||
msgid "Error updating workspace URL"
|
msgid "Error updating workspace URL"
|
||||||
msgstr "Ошибка при обновлении URL рабочей области"
|
msgstr "Ошибка при обновлении URL рабочей области"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
#: src/views/members/components/InviteMemberForm.tsx:233
|
||||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||||
msgid "Error upgrading subscription"
|
msgid "Error upgrading subscription"
|
||||||
msgstr "Ошибка при обновлении подписки"
|
msgstr "Ошибка при обновлении подписки"
|
||||||
@@ -828,7 +828,7 @@ msgstr "Выполнение"
|
|||||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||||
msgstr "Не удалось принять приглашение. Пожалуйста, попробуйте позже или свяжитесь со службой поддержки."
|
msgstr "Не удалось принять приглашение. Пожалуйста, попробуйте позже или свяжитесь со службой поддержки."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
#: src/views/members/components/InviteMemberForm.tsx:209
|
||||||
msgid "Failed to copy invite link"
|
msgid "Failed to copy invite link"
|
||||||
msgstr "Не удалось скопировать ссылку приглашения"
|
msgstr "Не удалось скопировать ссылку приглашения"
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ msgstr "Для долгосрочной устойчивости мы призн
|
|||||||
msgid "Free"
|
msgid "Free"
|
||||||
msgstr "Бесплатно"
|
msgstr "Бесплатно"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||||
#: src/views/members/index.tsx:209
|
#: src/views/members/index.tsx:209
|
||||||
msgid "Free Plan"
|
msgid "Free Plan"
|
||||||
msgstr "Бесплатный план"
|
msgstr "Бесплатный план"
|
||||||
@@ -1024,6 +1024,10 @@ msgstr "Импорт из Trello"
|
|||||||
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
|
||||||
msgstr "Импортировать ваши доски Trello в Kan легко. Вы можете следовать нашему пошаговому руководству <0>здесь</0>."
|
msgstr "Импортировать ваши доски Trello в Kan легко. Вы можете следовать нашему пошаговому руководству <0>здесь</0>."
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:168
|
||||||
|
msgid "in"
|
||||||
|
msgstr "в"
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:16
|
#: src/views/boards/components/TemplateBoards.tsx:16
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:22
|
#: src/views/boards/components/TemplateBoards.tsx:22
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:45
|
#: src/views/boards/components/TemplateBoards.tsx:45
|
||||||
@@ -1055,20 +1059,24 @@ msgstr "Недействительное приглашение"
|
|||||||
msgid "Invite"
|
msgid "Invite"
|
||||||
msgstr "Пригласить"
|
msgstr "Пригласить"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
#: src/views/members/components/InviteMemberForm.tsx:202
|
||||||
msgid "Invite link copied"
|
msgid "Invite link copied"
|
||||||
msgstr "Ссылка приглашения скопирована"
|
msgstr "Ссылка приглашения скопирована"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
#: src/views/members/components/InviteMemberForm.tsx:203
|
||||||
msgid "Invite link copied to clipboard"
|
msgid "Invite link copied to clipboard"
|
||||||
msgstr "Ссылка приглашения скопирована в буфер обмена"
|
msgstr "Ссылка приглашения скопирована в буфер обмена"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:123
|
||||||
|
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
|
||||||
|
msgstr "Ссылки для приглашений требуют подписки Team или Pro. Пожалуйста, обновите ваше рабочее пространство."
|
||||||
|
|
||||||
#: src/views/card/components/MemberSelector.tsx:111
|
#: src/views/card/components/MemberSelector.tsx:111
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
#: src/views/members/components/InviteMemberForm.tsx:365
|
||||||
msgid "Invite member"
|
msgid "Invite member"
|
||||||
msgstr "Пригласить участника"
|
msgstr "Пригласить участника"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
#: src/views/members/components/InviteMemberForm.tsx:329
|
||||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||||
msgstr "Для приглашения участников необходим командный план. Вы будете перенаправлены для обновления вашего рабочего пространства."
|
msgstr "Для приглашения участников необходим командный план. Вы будете перенаправлены для обновления вашего рабочего пространства."
|
||||||
|
|
||||||
@@ -1203,7 +1211,7 @@ msgstr "Участники | {0}"
|
|||||||
msgid "Monthly"
|
msgid "Monthly"
|
||||||
msgstr "Ежемесячно"
|
msgstr "Ежемесячно"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||||
msgid "monthly billing"
|
msgid "monthly billing"
|
||||||
msgstr "ежемесячная оплата"
|
msgstr "ежемесячная оплата"
|
||||||
|
|
||||||
@@ -1299,6 +1307,10 @@ msgstr "Кредитная карта не требуется"
|
|||||||
msgid "No lists"
|
msgid "No lists"
|
||||||
msgstr "Нет списков"
|
msgstr "Нет списков"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:184
|
||||||
|
msgid "No results found for \"{debouncedQuery}\"."
|
||||||
|
msgstr "Результаты для запроса \"{debouncedQuery}\" не найдены."
|
||||||
|
|
||||||
#: src/views/boards/components/TemplateBoards.tsx:65
|
#: src/views/boards/components/TemplateBoards.tsx:65
|
||||||
msgid "Offer"
|
msgid "Offer"
|
||||||
msgstr "Предложение"
|
msgstr "Предложение"
|
||||||
@@ -1422,7 +1434,7 @@ msgstr "Пожалуйста, выберите файл для загрузки.
|
|||||||
#: src/views/card/index.tsx:173
|
#: src/views/card/index.tsx:173
|
||||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
#: src/views/members/components/InviteMemberForm.tsx:234
|
||||||
#: src/views/settings/components/Avatar.tsx:78
|
#: src/views/settings/components/Avatar.tsx:78
|
||||||
#: src/views/settings/components/Avatar.tsx:219
|
#: src/views/settings/components/Avatar.tsx:219
|
||||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||||
@@ -1435,8 +1447,8 @@ msgstr "Пожалуйста, выберите файл для загрузки.
|
|||||||
msgid "Please try again later, or contact customer support."
|
msgid "Please try again later, or contact customer support."
|
||||||
msgstr "Пожалуйста, попробуйте позже или свяжитесь со службой поддержки."
|
msgstr "Пожалуйста, попробуйте позже или свяжитесь со службой поддержки."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
#: src/views/members/components/InviteMemberForm.tsx:129
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
#: src/views/members/components/InviteMemberForm.tsx:145
|
||||||
msgid "Please try again later."
|
msgid "Please try again later."
|
||||||
msgstr "Пожалуйста, попробуйте позже."
|
msgstr "Пожалуйста, попробуйте позже."
|
||||||
|
|
||||||
@@ -1463,7 +1475,7 @@ msgstr "Личное"
|
|||||||
msgid "Pro Plan"
|
msgid "Pro Plan"
|
||||||
msgstr "Профессиональный план"
|
msgstr "Профессиональный план"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
msgid "Pro Plan ∞"
|
msgid "Pro Plan ∞"
|
||||||
msgstr "Профессиональный план ∞"
|
msgstr "Профессиональный план ∞"
|
||||||
|
|
||||||
@@ -1580,6 +1592,10 @@ msgstr "Экономьте время с помощью шаблонов дос
|
|||||||
msgid "Screening"
|
msgid "Screening"
|
||||||
msgstr "Отбор"
|
msgstr "Отбор"
|
||||||
|
|
||||||
|
#: src/components/CommandPallette.tsx:104
|
||||||
|
msgid "Search boards and cards..."
|
||||||
|
msgstr "Поиск досок и карточек..."
|
||||||
|
|
||||||
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
#: src/views/boards/components/ImportBoardsForm.tsx:274
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Выбрать все"
|
msgstr "Выбрать все"
|
||||||
@@ -1683,6 +1699,10 @@ msgstr "Разработка программного обеспечения"
|
|||||||
msgid "Star on Github"
|
msgid "Star on Github"
|
||||||
msgstr "Поставить звезду на Github"
|
msgstr "Поставить звезду на Github"
|
||||||
|
|
||||||
|
#: src/views/members/components/InviteMemberForm.tsx:122
|
||||||
|
msgid "Subscription Required"
|
||||||
|
msgstr "Требуется подписка"
|
||||||
|
|
||||||
#: src/components/AuthForm.tsx:212
|
#: src/components/AuthForm.tsx:212
|
||||||
#: src/components/AuthForm.tsx:229
|
#: src/components/AuthForm.tsx:229
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
@@ -1704,7 +1724,7 @@ msgstr "Поддержите развитие проекта"
|
|||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "Система"
|
msgstr "Система"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||||
#: src/views/members/index.tsx:208
|
#: src/views/members/index.tsx:208
|
||||||
msgid "Team Plan"
|
msgid "Team Plan"
|
||||||
msgstr "Командный план"
|
msgstr "Командный план"
|
||||||
@@ -1988,7 +2008,7 @@ msgstr "Обновить до Pro"
|
|||||||
msgid "Upgrade to Pro ($29/month)"
|
msgid "Upgrade to Pro ($29/month)"
|
||||||
msgstr "Обновить до Pro ($29/месяц)"
|
msgstr "Обновить до Pro ($29/месяц)"
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
#: src/views/members/components/InviteMemberForm.tsx:357
|
||||||
msgid "Upgrade to Team Plan"
|
msgid "Upgrade to Team Plan"
|
||||||
msgstr "Обновить до командного плана"
|
msgstr "Обновить до командного плана"
|
||||||
|
|
||||||
@@ -2187,7 +2207,7 @@ msgstr "Вы успешно вошли в систему."
|
|||||||
msgid "You have been signed up successfully."
|
msgid "You have been signed up successfully."
|
||||||
msgstr "Вы успешно зарегистрировались."
|
msgstr "Вы успешно зарегистрировались."
|
||||||
|
|
||||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||||
msgstr "В вашем профессиональном плане неограниченное количество мест. За новых участников дополнительная плата не взимается!"
|
msgstr "В вашем профессиональном плане неограниченное количество мест. За новых участников дополнительная плата не взимается!"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -409,4 +409,80 @@ export const workspaceRouter = createTRPCRouter({
|
|||||||
isReserved: workspaceSlug?.type === "reserved",
|
isReserved: workspaceSlug?.type === "reserved",
|
||||||
};
|
};
|
||||||
}),
|
}),
|
||||||
|
search: protectedProcedure
|
||||||
|
.meta({
|
||||||
|
openapi: {
|
||||||
|
summary: "Search boards and cards in a workspace",
|
||||||
|
method: "GET",
|
||||||
|
path: "/workspaces/{workspacePublicId}/search",
|
||||||
|
description:
|
||||||
|
"Searches for boards and cards by title within a workspace",
|
||||||
|
tags: ["Workspaces"],
|
||||||
|
protect: true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.input(
|
||||||
|
z.object({
|
||||||
|
workspacePublicId: z.string().min(12),
|
||||||
|
query: z.string().min(1).max(100),
|
||||||
|
limit: z.number().min(1).max(50).optional().default(20),
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
.output(
|
||||||
|
z.array(
|
||||||
|
z.discriminatedUnion("type", [
|
||||||
|
z.object({
|
||||||
|
publicId: z.string(),
|
||||||
|
title: z.string(),
|
||||||
|
description: z.string().nullable(),
|
||||||
|
slug: z.string(),
|
||||||
|
updatedAt: z.date().nullable(),
|
||||||
|
createdAt: z.date(),
|
||||||
|
type: z.literal("board"),
|
||||||
|
}),
|
||||||
|
z.object({
|
||||||
|
publicId: z.string(),
|
||||||
|
title: z.string(),
|
||||||
|
description: z.string().nullable(),
|
||||||
|
boardPublicId: z.string(),
|
||||||
|
boardName: z.string(),
|
||||||
|
listName: z.string(),
|
||||||
|
updatedAt: z.date().nullable(),
|
||||||
|
createdAt: z.date(),
|
||||||
|
type: z.literal("card"),
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.query(async ({ ctx, input }) => {
|
||||||
|
const userId = ctx.user?.id;
|
||||||
|
|
||||||
|
if (!userId)
|
||||||
|
throw new TRPCError({
|
||||||
|
message: `User not authenticated`,
|
||||||
|
code: "UNAUTHORIZED",
|
||||||
|
});
|
||||||
|
|
||||||
|
const workspace = await workspaceRepo.getByPublicId(
|
||||||
|
ctx.db,
|
||||||
|
input.workspacePublicId,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!workspace)
|
||||||
|
throw new TRPCError({
|
||||||
|
message: `Workspace not found`,
|
||||||
|
code: "NOT_FOUND",
|
||||||
|
});
|
||||||
|
|
||||||
|
await assertUserInWorkspace(ctx.db, userId, workspace.id);
|
||||||
|
|
||||||
|
const result = await workspaceRepo.searchBoardsAndCards(
|
||||||
|
ctx.db,
|
||||||
|
workspace.id,
|
||||||
|
input.query,
|
||||||
|
input.limit,
|
||||||
|
);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
CREATE EXTENSION IF NOT EXISTS pg_trgm; --> statement-breakpoint
|
||||||
|
CREATE INDEX IF NOT EXISTS boards_name_trgm_idx ON board USING gin (name gin_trgm_ops);
|
||||||
|
--> statement-breakpoint
|
||||||
|
CREATE INDEX IF NOT EXISTS cards_title_trgm_idx ON card USING gin (title gin_trgm_ops);
|
||||||
2766
packages/db/migrations/meta/20251001220136_snapshot.json
Normal file
2766
packages/db/migrations/meta/20251001220136_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -113,6 +113,13 @@
|
|||||||
"when": 1758662398166,
|
"when": 1758662398166,
|
||||||
"tag": "20250923211958_AddWorkspaceInviteLinks",
|
"tag": "20250923211958_AddWorkspaceInviteLinks",
|
||||||
"breakpoints": true
|
"breakpoints": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idx": 16,
|
||||||
|
"version": "7",
|
||||||
|
"when": 1759356096392,
|
||||||
|
"tag": "20251001220136_AddFuzzySearchSupport",
|
||||||
|
"breakpoints": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,13 @@
|
|||||||
import { and, eq, inArray, isNull } from "drizzle-orm";
|
import { and, desc, eq, ilike, inArray, isNull, or, sql } from "drizzle-orm";
|
||||||
|
|
||||||
import type { dbClient } from "@kan/db/client";
|
import type { dbClient } from "@kan/db/client";
|
||||||
import { boards, workspaceMembers, workspaces } from "@kan/db/schema";
|
import {
|
||||||
|
boards,
|
||||||
|
cards,
|
||||||
|
lists,
|
||||||
|
workspaceMembers,
|
||||||
|
workspaces,
|
||||||
|
} from "@kan/db/schema";
|
||||||
import { generateUID } from "@kan/shared/utils";
|
import { generateUID } from "@kan/shared/utils";
|
||||||
|
|
||||||
export const create = async (
|
export const create = async (
|
||||||
@@ -274,3 +280,84 @@ export const isUserInWorkspace = async (
|
|||||||
|
|
||||||
return result?.id !== undefined;
|
return result?.id !== undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const searchBoardsAndCards = async (
|
||||||
|
db: dbClient,
|
||||||
|
workspaceId: number,
|
||||||
|
query: string,
|
||||||
|
limit = 20,
|
||||||
|
) => {
|
||||||
|
const searchQuery = `%${query}%`;
|
||||||
|
|
||||||
|
// Search for boards
|
||||||
|
const boardResults = await db
|
||||||
|
.select({
|
||||||
|
publicId: boards.publicId,
|
||||||
|
title: boards.name,
|
||||||
|
description: boards.description,
|
||||||
|
slug: boards.slug,
|
||||||
|
updatedAt: boards.updatedAt,
|
||||||
|
createdAt: boards.createdAt,
|
||||||
|
})
|
||||||
|
.from(boards)
|
||||||
|
.where(
|
||||||
|
and(
|
||||||
|
eq(boards.workspaceId, workspaceId),
|
||||||
|
// Combine exact and fuzzy matching
|
||||||
|
or(
|
||||||
|
ilike(boards.name, `%${query}%`), // Exact substring match
|
||||||
|
sql`similarity(${boards.name}, ${query}) > 0.2`, // Fuzzy match
|
||||||
|
),
|
||||||
|
isNull(boards.deletedAt),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.orderBy(
|
||||||
|
sql`CASE WHEN ${boards.name} ILIKE ${`%${query}%`} THEN 1 ELSE 0 END DESC`,
|
||||||
|
sql`similarity(${boards.name}, ${query}) DESC`,
|
||||||
|
desc(boards.updatedAt),
|
||||||
|
)
|
||||||
|
.limit(Math.ceil(limit * 0.4));
|
||||||
|
|
||||||
|
// Search for cards
|
||||||
|
const cardResults = await db
|
||||||
|
.select({
|
||||||
|
publicId: cards.publicId,
|
||||||
|
title: cards.title,
|
||||||
|
description: cards.description,
|
||||||
|
boardPublicId: boards.publicId,
|
||||||
|
boardName: boards.name,
|
||||||
|
listName: lists.name,
|
||||||
|
updatedAt: cards.updatedAt,
|
||||||
|
createdAt: cards.createdAt,
|
||||||
|
})
|
||||||
|
.from(cards)
|
||||||
|
.innerJoin(lists, eq(cards.listId, lists.id))
|
||||||
|
.innerJoin(boards, eq(lists.boardId, boards.id))
|
||||||
|
.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),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.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 })),
|
||||||
|
];
|
||||||
|
|
||||||
|
// Ensure we don't exceed the total limit
|
||||||
|
return allResults.slice(0, limit);
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user