Compare commits

...

5 Commits

Author SHA1 Message Date
Henry
d04fd62b8d feat: add fetch depth 2026-01-13 11:02:38 +00:00
Henry
cd3f6fc918 feat: display app version 2026-01-12 21:34:50 +00:00
Henry
47b6f06be4 fix: set min height for new card editor (#305) 2026-01-06 09:13:19 +00:00
Eliott Herbert-Byrnes
89c8961176 feat: add YouTube video embed support for TipTap editor (#294)
* feat: add YouTube video embed support for TipTap editor

- Paste YouTube URLs to auto-embed videos with metadata
- Edit video title and URL through dropdown menu
- Convert embed back to plain URL link
- Fetch video titles automatically via YouTube oEmbed API

* fix:
- reverted NewCardForm CSS properties back to max-h-48.
- Added boolean prop to TipTap Edtior for YouTube embed.
- Disabled YouTube embed feature for NewCardForm Editor

* chore: lint

* chore: translations

* chore: update translations

---------

Co-authored-by: Henry <henry_ball@hotmail.co.uk>
2026-01-05 20:15:07 +00:00
Henry
a5432c60b7 fix: recenter collapsed menu buttons (#303) 2026-01-03 20:55:37 +00:00
34 changed files with 1635 additions and 489 deletions

View File

@@ -34,6 +34,8 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
@@ -74,6 +76,42 @@ jobs:
type=semver,pattern={{major}}
type=raw,value=latest,enable={{is_default_branch}}
# Extract version from git tag or ref
# Uses git describe to get latest tag + commit hash in SemVer format: 1.2.3+abc1234
- name: Extract version
id: version
run: |
if [[ "${{ github.ref_type }}" == "tag" ]]; then
VERSION="${{ github.ref_name }}"
# Remove 'v' prefix if present
VERSION="${VERSION#v}"
else
# Use git describe and simplify: v1.2.3-5-gabc1234 -> 1.2.3+abc1234
GIT_DESCRIBE=$(git describe --tags --always --long 2>/dev/null || echo "")
if [[ -n "$GIT_DESCRIBE" ]]; then
# Match pattern: v1.2.3-5-gabc1234 (tag-commits-gcommit)
if [[ "$GIT_DESCRIBE" =~ ^v?([0-9]+\.[0-9]+\.[0-9]+)-[0-9]+-g([a-f0-9]+)$ ]]; then
# Format as tag+commit (SemVer build metadata)
TAG_VERSION="${BASH_REMATCH[1]}"
COMMIT_HASH="${BASH_REMATCH[2]}"
VERSION="${TAG_VERSION}+${COMMIT_HASH:0:7}"
elif [[ "$GIT_DESCRIBE" =~ ^v?([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
# Exactly on a tag
VERSION="${BASH_REMATCH[1]}"
else
# Fallback: just commit hash
COMMIT_SHA="${{ github.sha }}"
VERSION="${COMMIT_SHA:0:7}"
fi
else
# No tags exist, use commit hash
COMMIT_SHA="${{ github.sha }}"
VERSION="${COMMIT_SHA:0:7}"
fi
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Version: $VERSION"
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
@@ -86,6 +124,8 @@ jobs:
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
APP_VERSION=${{ steps.version.outputs.version }}
cache-from: type=gha
cache-to: type=gha,mode=max

View File

@@ -37,9 +37,11 @@ RUN turbo prune --scope=${PROJECT} --scope=@kan/db --docker
# 3. Build the project
FROM base AS builder
ARG PROJECT
ARG APP_VERSION
# Environment to skip .env validation on build
ENV CI=true
ENV NEXT_PUBLIC_APP_VERSION=${APP_VERSION}
WORKDIR /app

View File

@@ -123,6 +123,7 @@ checksums:
Continue%20with%20/singular: 8ed03cf7c5e60a6edf3470a4558ff058
Continue%20with%20%7B0%7D/singular: 2eaf6e1da91e208f7c5fb6bf862fe8a6
Control%20who%20can%20view%20and%20edit%20your%20boards./singular: 2a7e0bec29bac26280de707e2fe8bce5
Convert%20to%20link/singular: 66210d2889031426c07f0b2c6c4c09d7
Core%20features/singular: da95932e7a1465a5d21aa3b855a46dc2
Create%20%7B0%7D/singular: d37c29be6ccc0eb6062237f8508c3178
Create%20another/singular: 2de8a82a416eb78c0462aa36278edc9a
@@ -183,14 +184,17 @@ checksums:
Due%20next%20week/singular: 2f8fac5719df18d25a466ee913dc6487
Due%20today/singular: a14cb9dd0003485894d328bb803c80e5
Due%20tomorrow/singular: 0b6c8ad7aba0873b7e212d5f1949ca97
Edit/singular: eee7f39ff90b18852afc1671f21fbaa9
Edit%20board%20URL/singular: d8276dfc0189f371ec7d80a2047c07aa
Edit%20comment/singular: 7e4b46525fcb6b47b71798e31c46e374
Edit%20label/singular: 0309e0be1512b1e0b0ceb87c69a53d03
Edit%20workspace%20URL/singular: bbae5f2f8a442947d33099979bbbe899
Edit%20YouTube%20Video/singular: 4899d9e990d291eb6e71ee40a8ee314b
Editing/singular: 3449a7988cd69207b7c6929af1f4abf1
email/singular: f31eb214738e037d58e26149797739df
Email/singular: e7f34943a0c2fb849db1839ff6ef5cb5
Enhancement/singular: 785fe23c0eef0a5b60b5b2a88151de31
Enter%20a%20custom%20title/singular: f002074db0bd51d4f28d2736e140370a
Enter%20your%20current%20password/singular: bfceabde4c0b6f2cb439015b76549651
Enter%20your%20current%20password%20and%20choose%20a%20new%20secure%20password./singular: 9bb88155b18e98ea799c0e939d16af64
Enter%20your%20email%20address/singular: 9bc008365ebe3e404e241c8ca876f56e
@@ -220,6 +224,7 @@ checksums:
Failed%20to%20accept%20invitation.%20Please%20try%20again%20later%2C%20or%20contact%20customer%20support./singular: e4505a9df3a81e93a8a8b103c6e3ebc4
Failed%20to%20copy%20invite%20link/singular: 635884d5ed8d6ee20b85a003939b4ae7
Failed%20to%20create%20board/singular: a746e2afe881c3bf0a8e82a931ca3495
Failed%20to%20fetch%20video%20information/singular: 1e3fd610e8ed3e6c4c66e6ce88fc8b7a
Failed%20to%20login%20with%20%7B0%7D.%20Please%20try%20again./singular: 669a4b4247a73f53fb9b8b16e42d166f
Failed%20to%20upload%20attachment.%20Please%20try%20again./singular: f8a50d1c8491404f73d3cf701e11f297
FAQ/singular: 47e0ee2eb40b4e7e732e05e2233fc71c
@@ -391,6 +396,7 @@ checksums:
Please%20enter%20a%20valid%20email%20address/singular: 8de4bc8832b11b380bc4cbcedc16e48b
Please%20enter%20a%20valid%20name/singular: f2d741f1b5cae722e35cb5206786f932
Please%20enter%20a%20valid%20password/singular: 4b32c17e19b79bcbf0bb092c06ba310f
Please%20enter%20a%20valid%20YouTube%20URL/singular: c16c69c3b742b1e19148378d50adf37f
Please%20select%20a%20file%20to%20upload./singular: de315bf594047f8ef9307a7fa9285844
Please%20try%20again%20later%2C%20or%20contact%20customer%20support./singular: 21ffcf0b00e7cd7b64f7454a95762e1d
Please%20try%20again%20later./singular: 325dea6dd0348a27a6818db2c1340c98
@@ -496,6 +502,7 @@ checksums:
This%20workspace%20URL%20has%20already%20been%20taken/singular: b455329e2a71da677acab91d3a00bad6
This%20workspace%20URL%20is%20reserved/singular: 7e47c892b93d4334c1606010c06e875e
This%20workspace%20username%20has%20already%20been%20taken/singular: b7eadb89c615874f416d9658d0428c4c
Title/singular: 344e64395eaff6822a57d18623853e1a
To%20Do/singular: d60813ea824f373462471e092d136eed
Toggle%20menu/singular: 29dea3e0b6238874f8c7a27619df8e36
Track%20all%20card%20changes%20with%20detailed%20activity%20history./singular: 0d3bac559c71ec4b8734f9f212320de5
@@ -617,3 +624,4 @@ checksums:
Your%20workspace%20has%20been%20deleted./singular: e7a3efcfc7dd18cb3e917acb67498292
Your%20workspace%20name%20has%20been%20updated./singular: a87ea3b0d71e6dc5dd525d77114a9322
Your%20workspace%20slug%20has%20been%20updated./singular: c808949b9b2b4a9aba2472f5d1050167
YouTube%20URL/singular: 0b48896061a1124501fdaba026804148

View File

@@ -1,3 +1,4 @@
import type { Range as TiptapRange } from "@tiptap/core";
import type { Editor as TiptapEditor } from "@tiptap/react";
import type {
SuggestionKeyDownProps,
@@ -44,6 +45,7 @@ import { Markdown } from "tiptap-markdown";
import { getAvatarUrl } from "~/utils/helpers";
import Avatar from "./Avatar";
import { YouTubeNode } from "./YouTubeEmbed/YouTubeNode";
declare module "@tiptap/core" {
interface Commands<ReturnType> {
@@ -56,7 +58,7 @@ declare module "@tiptap/core" {
export interface SlashCommandItem {
title: string;
icon?: React.ReactNode;
command?: (props: { editor: TiptapEditor; range: Range }) => void;
command?: (props: { editor: TiptapEditor; range: TiptapRange }) => void;
disabled?: boolean;
}
@@ -431,12 +433,14 @@ export default function Editor({
onBlur,
readOnly = false,
workspaceMembers,
enableYouTubeEmbed = true,
}: {
content: string | null;
onChange?: (value: string) => void;
onBlur?: () => void;
readOnly?: boolean;
workspaceMembers: WorkspaceMember[];
enableYouTubeEmbed?: boolean;
}) {
const containerRef = useRef<HTMLDivElement>(null);
@@ -484,10 +488,17 @@ export default function Editor({
}),
);
const q = query.toLowerCase();
return all.filter((u) => u.label.toLowerCase().includes(q));
return all.filter(
(u) =>
u.label &&
typeof u.label === "string" &&
u.label.toLowerCase().includes(q),
);
},
command: ({ editor, range, props }: any) => {
const mentionHTML = `<span data-type="mention" data-id="${props.id}" data-label="${props.label}">@${props.label}</span>&nbsp;`;
command: ({ editor, range, props }) => {
const id = props.id ?? "";
const label = props.label ?? "";
const mentionHTML = `<span data-type="mention" data-id="${id}" data-label="${label}">@${label}</span>&nbsp;`;
editor
.chain()
@@ -503,6 +514,7 @@ export default function Editor({
return `${options.suggestion.char}${node.attrs.label ?? node.attrs.id}`;
},
}),
...(enableYouTubeEmbed ? [YouTubeNode] : []),
],
content,
onUpdate: ({ editor }) => onChange?.(editor.getHTML()),
@@ -559,6 +571,9 @@ export default function Editor({
text-decoration: none;
font-weight: 500;
}
.tiptap [data-youtube] {
margin: 1rem 0;
}
`}</style>
{!readOnly && editor && <EditorBubbleMenu editor={editor} />}
<EditorContent

View File

@@ -46,7 +46,8 @@ const Button: React.FC<{
onMouseEnter={handleMouseEnter}
onClick={handleClick}
className={twMerge(
"group flex h-[34px] items-center justify-between rounded-md p-1.5 text-sm font-normal leading-6 hover:bg-light-200 hover:text-light-1000 dark:hover:bg-dark-200 dark:hover:text-dark-1000",
"group flex h-[34px] items-center rounded-md p-1.5 text-sm font-normal leading-6 hover:bg-light-200 hover:text-light-1000 dark:hover:bg-dark-200 dark:hover:text-dark-1000",
isCollapsed ? "md:justify-center" : "justify-between",
current
? "bg-light-200 text-light-1000 dark:bg-dark-200 dark:text-dark-1000"
: "text-neutral-600 dark:bg-dark-100 dark:text-dark-900",

View File

@@ -9,6 +9,7 @@ import { twMerge } from "tailwind-merge";
import { authClient } from "@kan/auth/client";
import { env } from "~/env";
import { useIsMobile } from "~/hooks/useMediaQuery";
import { useKeyboardShortcuts } from "~/providers/keyboard-shortcuts";
import { useModal } from "~/providers/modal";
@@ -225,6 +226,25 @@ export default function UserMenu({
</button>
</Menu.Item>
</div>
{env.NEXT_PUBLIC_APP_VERSION && (
<div className="light-border-600 border-t-[1px] p-1 dark:border-dark-600">
<Menu.Item>
<Link
href={
env.NEXT_PUBLIC_APP_VERSION.includes("+")
? `https://github.com/kanbn/kan/commit/${env.NEXT_PUBLIC_APP_VERSION.split("+")[1]}`
: `https://github.com/kanbn/kan/releases/tag/v${env.NEXT_PUBLIC_APP_VERSION}`
}
target="_blank"
rel="noreferrer"
onClick={handleLinkClick}
className="flex w-full items-center justify-center rounded-[5px] px-3 py-2 text-center text-xs text-light-900 hover:bg-light-200 dark:text-dark-900 dark:hover:bg-dark-400"
>
Version: {env.NEXT_PUBLIC_APP_VERSION}
</Link>
</Menu.Item>
</div>
)}
</div>
</Menu.Items>
</Transition>

View File

@@ -0,0 +1,189 @@
import { t } from "@lingui/core/macro";
import { useEffect, useState } from "react";
import { useForm } from "react-hook-form";
import { HiXMark } from "react-icons/hi2";
import Button from "~/components/Button";
import Input from "~/components/Input";
import { useModal } from "~/providers/modal";
import { fetchYouTubeMetadata, isYouTubeUrl } from "./utils";
interface EditYouTubeFormInput {
url: string;
title: string;
}
interface EditYouTubeModalState {
url: string;
title: string;
onSave: (url: string, title: string) => void;
}
export function EditYouTubeModal() {
const { closeModal, getModalState } = useModal();
const [isValidating, setIsValidating] = useState(false);
const [urlError, setUrlError] = useState<string | null>(null);
// Get initial values and callback from modal state
const modalState = getModalState("EDIT_YOUTUBE") as
| EditYouTubeModalState
| undefined;
const initialUrl = modalState?.url ?? "";
const initialTitle = modalState?.title ?? "";
const onSave = modalState?.onSave;
const { register, handleSubmit, watch, reset } =
useForm<EditYouTubeFormInput>({
defaultValues: {
url: initialUrl,
title: initialTitle,
},
});
// Reset form when modal state changes (when modal opens with new values)
useEffect(() => {
if (modalState) {
reset({
url: modalState.url,
title: modalState.title,
});
}
}, [modalState, reset]);
const currentUrl = watch("url");
const onSubmit = async (values: EditYouTubeFormInput) => {
// Validate URL
if (!isYouTubeUrl(values.url)) {
setUrlError(t`Please enter a valid YouTube URL`);
return;
}
setUrlError(null);
setIsValidating(true);
try {
// If title is empty and URL changed, fetch new title
let finalTitle = values.title;
if (!finalTitle.trim() && values.url !== initialUrl) {
const metadata = await fetchYouTubeMetadata(values.url);
finalTitle = metadata?.title ?? "YouTube Video";
} else if (!finalTitle.trim()) {
// Keep existing title if no new title provided and URL unchanged
finalTitle = initialTitle || "YouTube Video";
}
if (onSave) {
onSave(values.url, finalTitle);
}
closeModal();
} catch (error) {
console.error(error);
setUrlError(t`Failed to fetch video information`);
} finally {
setIsValidating(false);
}
};
// Auto-focus on title input (more useful for editing)
useEffect(() => {
const titleElement: HTMLElement | null =
document.querySelector<HTMLElement>("#youtube-title");
if (titleElement) titleElement.focus();
}, []);
// Validate URL on change
useEffect(() => {
if (currentUrl && !isYouTubeUrl(currentUrl)) {
setUrlError(t`Please enter a valid YouTube URL`);
} else {
setUrlError(null);
}
}, [currentUrl]);
return (
<form onSubmit={handleSubmit(onSubmit)}>
<div className="px-5 pt-5">
<div className="flex w-full items-center justify-between pb-4 text-neutral-900 dark:text-dark-1000">
<h2 className="text-sm font-medium">{t`Edit YouTube Video`}</h2>
<button
type="button"
className="rounded p-1 hover:bg-light-300 focus:outline-none dark:hover:bg-dark-300"
onClick={(e) => {
e.preventDefault();
closeModal();
}}
>
<HiXMark size={18} className="text-light-900 dark:text-dark-900" />
</button>
</div>
<div className="space-y-4">
<div>
<label
htmlFor="youtube-title"
className="mb-2 block text-xs font-medium text-light-900 dark:text-dark-900"
>
{t`Title`}
</label>
<Input
id="youtube-title"
placeholder={t`Enter a custom title`}
{...register("title")}
onKeyDown={async (e) => {
if (e.key === "Enter") {
e.preventDefault();
await handleSubmit(onSubmit)();
}
}}
/>
</div>
<div>
<label
htmlFor="youtube-url"
className="mb-2 block text-xs font-medium text-light-900 dark:text-dark-900"
>
{t`YouTube URL`}
</label>
<Input
id="youtube-url"
placeholder={t`https://www.youtube.com/watch?v=...`}
{...register("url", { required: true })}
onKeyDown={async (e) => {
if (e.key === "Enter") {
e.preventDefault();
await handleSubmit(onSubmit)();
}
}}
/>
{urlError && (
<p className="mt-1 text-xs text-red-600 dark:text-red-400">
{urlError}
</p>
)}
</div>
</div>
</div>
<div className="mt-12 flex items-center justify-end border-t border-light-600 px-5 pb-5 pt-5 dark:border-dark-600">
<div className="space-x-2">
<Button
type="button"
variant="secondary"
onClick={() => closeModal()}
>
{t`Cancel`}
</Button>
<Button
type="submit"
isLoading={isValidating}
disabled={!watch("url") || !!urlError}
>
{t`Save`}
</Button>
</div>
</div>
</form>
);
}

View File

@@ -0,0 +1,53 @@
import YouTubeDropdown from "./YouTubeDropdown";
interface YouTubeCardProps {
videoId: string;
url: string;
title: string;
showEmbed?: boolean;
onConvertToLink: () => void;
onDelete: () => void;
onUpdate: (url: string, title: string) => void;
}
const YouTubeCard = ({
videoId,
url,
title,
showEmbed = true,
onConvertToLink,
onDelete,
onUpdate,
}: YouTubeCardProps) => {
return (
<div className="w-full max-w-md rounded-lg border border-light-300 bg-light-50 dark:border-dark-300 dark:bg-dark-50">
<div className="flex items-center justify-between gap-6 p-0 px-6">
<h3 className="truncate text-sm font-medium">{title}</h3>
<div className="mt-3">
<YouTubeDropdown
url={url}
title={title}
onConvertToLink={onConvertToLink}
onDelete={onDelete}
onUpdate={onUpdate}
/>
</div>
</div>
{showEmbed && videoId && (
<div className="p-6 pt-1">
<iframe
src={`https://www.youtube.com/embed/${videoId}?rel=0`}
title={title}
className="aspect-video w-full rounded-lg"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerPolicy="strict-origin-when-cross-origin"
allowFullScreen
/>
</div>
)}
</div>
);
};
export default YouTubeCard;

View File

@@ -0,0 +1,63 @@
import { t } from "@lingui/core/macro";
import {
HiEllipsisHorizontal,
HiLink,
HiPencil,
HiTrash,
} from "react-icons/hi2";
import { useModal } from "~/providers/modal";
import Dropdown from "../Dropdown";
interface YouTubeDropdownProps {
url: string;
title: string;
onConvertToLink: () => void;
onDelete: () => void;
onUpdate: (url: string, title: string) => void;
}
const YouTubeDropdown = ({
url,
title,
onConvertToLink,
onDelete,
onUpdate,
}: YouTubeDropdownProps) => {
const { openModal, setModalState } = useModal();
const handleEdit = () => {
setModalState("EDIT_YOUTUBE", {
url,
title,
onSave: onUpdate,
});
openModal("EDIT_YOUTUBE");
};
return (
<Dropdown
items={[
{
label: t`Edit`,
action: handleEdit,
icon: <HiPencil className="h-4 w-4 text-dark-900" />,
},
{
label: t`Convert to link`,
action: onConvertToLink,
icon: <HiLink className="h-4 w-4 text-dark-900" />,
},
{
label: t`Delete`,
action: onDelete,
icon: <HiTrash className="h-4 w-4 text-dark-900" />,
},
]}
>
<HiEllipsisHorizontal className="h-5 w-5 text-dark-900" />
</Dropdown>
);
};
export default YouTubeDropdown;

View File

@@ -0,0 +1,196 @@
import { mergeAttributes, Node } from "@tiptap/core";
import { Plugin, PluginKey } from "@tiptap/pm/state";
import { ReactNodeViewRenderer } from "@tiptap/react";
import { extractVideoId, fetchYouTubeMetadata, isYouTubeUrl } from "./utils";
import YouTubeNodeView from "./YouTubeNodeView";
export interface YouTubeOptions {
inline: boolean;
HTMLAttributes: Record<string, undefined>;
}
declare module "@tiptap/core" {
interface Commands<ReturnType> {
youTube: {
setYouTubeEmbed: (options: {
videoId: string;
url: string;
title: string;
thumbnailUrl?: string;
showEmbed?: boolean;
}) => ReturnType;
};
}
}
export const YouTubeNode = Node.create<YouTubeOptions>({
name: "youtube",
group: "block",
atom: true,
addOptions() {
return {
inline: false,
HTMLAttributes: {},
};
},
addAttributes() {
return {
videoId: {
default: null,
parseHTML: (element) => element.getAttribute("data-video-id"),
renderHTML: (attributes) => {
if (!attributes.videoId) return {};
return { "data-video-id": attributes.videoId as string };
},
},
url: {
default: null,
parseHTML: (element) => element.getAttribute("data-url"),
renderHTML: (attributes) => {
if (!attributes.url) return {};
return { "data-url": attributes.url as string };
},
},
title: {
default: "YouTube Video",
parseHTML: (element) => element.getAttribute("data-title"),
renderHTML: (attributes) => {
return { "data-title": attributes.title as string };
},
},
thumbnailUrl: {
default: null,
parseHTML: (element) => element.getAttribute("data-thumbnail"),
renderHTML: (attributes) => {
if (!attributes.thumbnailUrl) return {};
return { "data-thumbnail": attributes.thumbnailUrl as string };
},
},
showEmbed: {
default: true,
parseHTML: (element) => element.getAttribute("data-show-embed"),
renderHTML: (attributes) => {
return { "data-show-embed": attributes.showEmbed as string };
},
},
};
},
parseHTML() {
return [
{
tag: "div[data-youtube]",
},
];
},
renderHTML({ HTMLAttributes }) {
return [
"div",
mergeAttributes(
{ "data-youtube": "" },
this.options.HTMLAttributes,
HTMLAttributes,
),
];
},
addNodeView() {
return ReactNodeViewRenderer(YouTubeNodeView);
},
addProseMirrorPlugins() {
const nodeType = this.type;
return [
new Plugin({
key: new PluginKey("youtubePaste"),
props: {
handlePaste: (view, event) => {
const text = event.clipboardData?.getData("text/plain");
if (!text) return false;
// Check if the pasted text is a YouTube URL
const youtubeRegex =
/(https?:\/\/)?(www\.)?(youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/;
const match = youtubeRegex.exec(text);
if (!match || !isYouTubeUrl(text)) return false;
const videoId = extractVideoId(text);
if (!videoId) return false;
const { state, dispatch } = view;
const { tr } = state;
const node = nodeType.create({
videoId,
url: text,
title: "Loading...",
showEmbed: true,
});
tr.replaceSelectionWith(node);
dispatch(tr);
// Fetch metadata asynchronously and update the node
void fetchYouTubeMetadata(text).then((metadata) => {
const { state: newState, dispatch: newDispatch } = view;
const { tr: newTr } = newState;
newState.doc.descendants((n, pos) => {
if (
n.type.name === "youtube" &&
n.attrs.videoId === videoId &&
n.attrs.title === "Loading..."
) {
newTr.setNodeMarkup(pos, undefined, {
...n.attrs,
title: metadata?.title ?? "YouTube Video",
thumbnailUrl: metadata?.thumbnail_url ?? null,
});
return false;
}
return true;
});
if (newTr.docChanged) {
newDispatch(newTr);
}
});
return true;
},
},
}),
];
},
// commands for the YouTube embed node
addCommands() {
return {
setYouTubeEmbed:
(options: {
videoId: string;
url: string;
title?: string;
thumbnailUrl?: string;
showEmbed?: boolean;
}) =>
({ editor }) => {
return editor.commands.insertContent({
type: this.name,
attrs: {
videoId: options.videoId,
url: options.url,
title: options.title ?? "YouTube Video",
thumbnailUrl: options.thumbnailUrl,
showEmbed: options.showEmbed ?? true,
},
});
},
};
},
});

View File

@@ -0,0 +1,82 @@
import type { NodeViewProps } from "@tiptap/react";
import { NodeViewWrapper } from "@tiptap/react";
import { extractVideoId } from "./utils";
import YouTubeCard from "./YouTubeCard";
export default function YouTubeNodeView({
node,
editor,
getPos,
deleteNode,
updateAttributes,
}: NodeViewProps) {
const { videoId, title, url, showEmbed } = node.attrs as {
videoId: string;
title: string;
url: string;
showEmbed: boolean;
};
const handleConvertToLink = () => {
const pos = getPos();
if (typeof pos !== "number") return;
const linkContent = {
type: "paragraph",
content: [
{
type: "text",
text: url,
marks: [
{
type: "link",
attrs: {
href: url,
target: "_blank",
},
},
],
},
],
};
editor
.chain()
.focus()
.deleteRange({ from: pos, to: pos + node.nodeSize })
.insertContentAt(pos, linkContent)
.run();
};
const handleDelete = () => {
deleteNode();
};
const handleUpdate = (newUrl: string, newTitle: string) => {
if (newUrl !== url) {
const newVideoId = extractVideoId(newUrl);
updateAttributes({
url: newUrl,
title: newTitle,
videoId: newVideoId,
});
} else {
updateAttributes({ title: newTitle });
}
};
return (
<NodeViewWrapper>
<YouTubeCard
videoId={videoId}
url={url}
title={title}
showEmbed={showEmbed}
onConvertToLink={handleConvertToLink}
onDelete={handleDelete}
onUpdate={handleUpdate}
/>
</NodeViewWrapper>
);
}

View File

@@ -0,0 +1,61 @@
export function extractVideoId(url: string): string | null {
if (!url) return null;
url = url.trim();
// youtube.com/watch?v=VIDEO_ID
const watchMatch = /(?:youtube\.com\/watch\?v=)([a-zA-Z0-9_-]{11})/.exec(url);
if (watchMatch) return watchMatch[1] ?? null;
// youtu.be/VIDEO_ID
const shortMatch = /(?:youtu\.be\/)([a-zA-Z0-9_-]{11})/.exec(url);
if (shortMatch) return shortMatch[1] ?? null;
// youtube.com/embed/VIDEO_ID
const embedMatch = /(?:youtube\.com\/embed\/)([a-zA-Z0-9_-]{11})/.exec(url);
if (embedMatch) return embedMatch[1] ?? null;
return null;
}
/**
* Check if a URL is a valid YouTube link
*/
export function isYouTubeUrl(url: string): boolean {
if (!url) return false;
const videoId = extractVideoId(url);
return videoId !== null;
}
/**
* Fetch YouTube video metadata using oEmbed API
* Returns title, author, thumbnail URL, etc.
* No API key required
*/
export async function fetchYouTubeMetadata(url: string): Promise<{
title: string;
author_name: string;
thumbnail_url: string;
} | null> {
try {
const oembedUrl = `https://www.youtube.com/oembed?url=${encodeURIComponent(url)}&format=json`;
const response = await fetch(oembedUrl);
if (!response.ok) {
return null;
}
const data = (await response.json()) as {
title: string;
author_name: string;
thumbnail_url: string;
};
return {
title: data.title || "YouTube Video",
author_name: data.author_name || "",
thumbnail_url: data.thumbnail_url || "",
};
} catch (error) {
console.error("Failed to fetch YouTube metadata:", error);
return null;
}
}

View File

@@ -95,6 +95,7 @@ export const env = createEnv({
NEXT_PUBLIC_AVATAR_BUCKET_NAME: z.string().optional(),
NEXT_PUBLIC_ATTACHMENTS_BUCKET_NAME: z.string().optional(),
NEXT_PUBLIC_STORAGE_DOMAIN: z.string().optional(),
NEXT_PUBLIC_APP_VERSION: z.string().optional(),
NEXT_PUBLIC_ALLOW_CREDENTIALS: z
.string()
.transform((s) => (s === "" ? undefined : s))
@@ -132,6 +133,7 @@ export const env = createEnv({
NEXT_PUBLIC_ATTACHMENTS_BUCKET_NAME:
process.env.NEXT_PUBLIC_ATTACHMENTS_BUCKET_NAME,
NEXT_PUBLIC_STORAGE_DOMAIN: process.env.NEXT_PUBLIC_STORAGE_DOMAIN,
NEXT_PUBLIC_APP_VERSION: process.env.NEXT_PUBLIC_APP_VERSION,
NEXT_PUBLIC_ALLOW_CREDENTIALS: process.env.NEXT_PUBLIC_ALLOW_CREDENTIALS,
NEXT_PUBLIC_DISABLE_SIGN_UP: process.env.NEXT_PUBLIC_DISABLE_SIGN_UP,
NEXT_PUBLIC_USE_STANDALONE_OUTPUT:

View File

@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} Labels"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} nicht gefunden"
@@ -83,7 +83,7 @@ msgstr "Konto gelöscht"
msgid "Actions"
msgstr "Aktionen"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Aktivität"
@@ -113,11 +113,11 @@ msgstr "Element hinzufügen..."
msgid "Add checklist"
msgstr "Checkliste hinzufügen"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Beschreibung hinzufügen... (tippe '/' um Befehle zu öffnen oder '@' um jemanden zu erwähnen)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Details hinzufügen..."
@@ -317,8 +317,8 @@ msgstr "Abrechnungsportal"
msgid "Blog Post"
msgstr "Blogbeitrag"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Board"
@@ -386,6 +386,7 @@ msgid "Bug Report"
msgstr "Fehlerbericht"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -400,12 +401,12 @@ msgstr "Fehlerbericht"
msgid "Cancel"
msgstr "Abbrechen"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Karte"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Karte nicht gefunden"
@@ -555,6 +556,10 @@ msgstr "Fortfahren mit {0}"
msgid "Control who can view and edit your boards."
msgstr "Kontrolliere, wer deine Boards ansehen und bearbeiten kann."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "In Link umwandeln"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Kernfunktionen"
@@ -565,7 +570,7 @@ msgid "Create {0}"
msgstr "{0} erstellen"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Weitere erstellen"
@@ -574,7 +579,7 @@ msgstr "Weitere erstellen"
msgid "Create API key"
msgstr "API-Schlüssel erstellen"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Karte erstellen"
@@ -604,13 +609,13 @@ msgstr "Neue(n) {0} erstellen"
msgid "Create new key"
msgstr "Neuen Schlüssel erstellen"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Neues Label erstellen"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Neue Liste erstellen"
@@ -679,6 +684,7 @@ msgstr "Einladungslink deaktivieren"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -803,8 +809,8 @@ msgid "Download failed"
msgstr "Download fehlgeschlagen"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Fälligkeitsdatum"
@@ -824,6 +830,10 @@ msgstr "Heute fällig"
msgid "Due tomorrow"
msgstr "Morgen fällig"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Bearbeiten"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -841,6 +851,10 @@ msgstr "Label bearbeiten"
msgid "Edit workspace URL"
msgstr "Workspace-URL bearbeiten"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "YouTube-Video bearbeiten"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Bearbeitung"
@@ -857,6 +871,10 @@ msgstr "E-Mail"
msgid "Enhancement"
msgstr "Verbesserung"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Benutzerdefinierten Titel eingeben"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Geben Sie Ihr aktuelles Passwort ein"
@@ -981,6 +999,10 @@ msgstr "Einladungslink konnte nicht kopiert werden"
msgid "Failed to create board"
msgstr "Board konnte nicht erstellt werden"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Videoinformationen konnten nicht abgerufen werden"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1047,6 +1069,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-Source-Projekte eine Einnahmequelle benötigen. Unsere stammt aus dem kostenpflichtigen Cloud-Angebot für Workspaces mit mehreren Benutzern und für benutzerdefinierte Workspace-Slugs. Es besteht keine Verpflichtung, es zu nutzen, und Sie können die Software kostenlos auf Ihrer eigenen Infrastruktur selbst hosten."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Kostenlos"
@@ -1092,7 +1116,7 @@ msgstr "Loslegen"
msgid "Get started by creating a new {0}"
msgstr "Beginnen Sie, indem Sie eine(n) neue(n) {0} erstellen"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Beginne mit dem Erstellen einer neuen Liste"
@@ -1175,6 +1199,10 @@ msgstr "Wie kann ich selbst hosten?"
msgid "How is the project funded?"
msgstr "Wie wird das Projekt finanziert?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Ich bestätige, dass alle meine Kontodaten dauerhaft gelöscht werden, und möchte fortfahren."
@@ -1327,8 +1355,8 @@ msgid "Keyboard Shortcuts"
msgstr "Tastaturkürzel"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Labels"
@@ -1382,7 +1410,7 @@ msgstr "Hell"
msgid "Link copied"
msgstr "Link kopiert"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Liste"
@@ -1445,8 +1473,8 @@ msgstr "Mittlere Priorität"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Mitglieder"
@@ -1520,7 +1548,7 @@ msgid "New label"
msgstr "Neues Label"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Neue Liste"
@@ -1581,7 +1609,7 @@ msgstr "Für diesen Anhang ist keine Download-URL verfügbar."
msgid "No keyboard shortcuts registered."
msgstr "Keine Tastaturkürzel registriert."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Keine Listen"
@@ -1719,6 +1747,11 @@ msgstr "Bitte gib einen gültigen Namen ein"
msgid "Please enter a valid password"
msgstr "Bitte gib ein gültiges Passwort ein"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Bitte geben Sie eine gültige YouTube-URL ein"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Bitte wähle eine Datei zum Hochladen aus."
@@ -1732,12 +1765,12 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1751,8 +1784,8 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1924,6 +1957,7 @@ msgstr "Rolle"
msgid "Run on your own infrastructure"
msgstr "Auf eigener Infrastruktur betreiben"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2107,8 +2141,8 @@ msgstr "Team-Plan"
msgid "Teams"
msgstr "Teams"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Vorlage"
@@ -2214,6 +2248,10 @@ msgstr "Diese Workspace-URL ist reserviert"
msgid "This workspace username has already been taken"
msgstr "Dieser Workspace-Benutzername ist bereits vergeben"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Titel"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2256,7 +2294,7 @@ msgstr "Checklistenelement kann nicht hinzugefügt werden"
msgid "Unable to add comment"
msgstr "Kommentar konnte nicht hinzugefügt werden"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "Label konnte nicht hinzugefügt werden"
@@ -2293,7 +2331,7 @@ msgstr "Karte konnte nicht gelöscht werden"
msgid "Unable to delete checklist"
msgstr "Checkliste kann nicht gelöscht werden"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Checklistenelement kann nicht gelöscht werden"
@@ -2321,8 +2359,8 @@ msgstr "Board-URL kann nicht aktualisiert werden"
msgid "Unable to update board visibility"
msgstr "Board-Sichtbarkeit konnte nicht aktualisiert werden"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Karte konnte nicht aktualisiert werden"
@@ -2330,7 +2368,7 @@ msgstr "Karte konnte nicht aktualisiert werden"
msgid "Unable to update checklist"
msgstr "Checkliste kann nicht aktualisiert werden"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Checklistenelement kann nicht aktualisiert werden"
@@ -2346,7 +2384,7 @@ msgstr "Fälligkeitsdatum konnte nicht aktualisiert werden"
msgid "Unable to update labels"
msgstr "Labels konnten nicht aktualisiert werden"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Liste konnte nicht aktualisiert werden"
@@ -2557,7 +2595,7 @@ msgid "Why make an open source Trello?"
msgstr "Warum ein open source Trello entwickeln?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2733,3 +2771,7 @@ msgstr "Der Name deines Arbeitsbereichs wurde aktualisiert."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Dein Workspace-Slug wurde aktualisiert."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "YouTube-URL"

File diff suppressed because one or more lines are too long

View File

@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} labels"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} not found"
@@ -95,7 +95,7 @@ msgstr "Account deleted"
msgid "Actions"
msgstr "Actions"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Activity"
@@ -125,7 +125,7 @@ msgstr "Add an item..."
msgid "Add checklist"
msgstr "Add checklist"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Add description... (type '/' to open commands or '@' to mention)"
@@ -133,7 +133,7 @@ msgstr "Add description... (type '/' to open commands or '@' to mention)"
#~ msgid "Add description... (type '/' to open commands)"
#~ msgstr "Add description... (type '/' to open commands)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Add details..."
@@ -357,8 +357,8 @@ msgstr "Billing portal"
msgid "Blog Post"
msgstr "Blog Post"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Board"
@@ -443,6 +443,7 @@ msgid "Bug Report"
msgstr "Bug Report"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -457,12 +458,12 @@ msgstr "Bug Report"
msgid "Cancel"
msgstr "Cancel"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Card"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Card not found"
@@ -620,6 +621,10 @@ msgstr "Continue with {0}"
msgid "Control who can view and edit your boards."
msgstr "Control who can view and edit your boards."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "Convert to link"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Core features"
@@ -630,7 +635,7 @@ msgid "Create {0}"
msgstr "Create {0}"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Create another"
@@ -647,7 +652,7 @@ msgstr "Create API key"
#~ msgid "Create board"
#~ msgstr "Create board"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Create card"
@@ -681,13 +686,13 @@ msgstr "Create new {0}"
msgid "Create new key"
msgstr "Create new key"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Create new label"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Create new list"
@@ -768,6 +773,7 @@ msgstr "Deactivate invite link"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -892,8 +898,8 @@ msgid "Download failed"
msgstr "Download failed"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Due date"
@@ -913,6 +919,10 @@ msgstr "Due today"
msgid "Due tomorrow"
msgstr "Due tomorrow"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Edit"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -930,6 +940,10 @@ msgstr "Edit label"
msgid "Edit workspace URL"
msgstr "Edit workspace URL"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "Edit YouTube Video"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Editing"
@@ -946,6 +960,10 @@ msgstr "Email"
msgid "Enhancement"
msgstr "Enhancement"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Enter a custom title"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Enter your current password"
@@ -1070,6 +1088,10 @@ msgstr "Failed to copy invite link"
msgid "Failed to create board"
msgstr "Failed to create board"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Failed to fetch video information"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1195,7 +1217,7 @@ msgstr "Get started by creating a new {0}"
#~ msgid "Get started by creating a new board"
#~ msgstr "Get started by creating a new board"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Get started by creating a new list"
@@ -1278,6 +1300,10 @@ msgstr "How do I self-host?"
msgid "How is the project funded?"
msgstr "How is the project funded?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "I acknowledge that all of my account data will be permanently deleted and want to proceed."
@@ -1438,8 +1464,8 @@ msgid "Keyboard Shortcuts"
msgstr "Keyboard Shortcuts"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Labels"
@@ -1493,7 +1519,7 @@ msgstr "Light"
msgid "Link copied"
msgstr "Link copied"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "List"
@@ -1556,8 +1582,8 @@ msgstr "Medium Priority"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Members"
@@ -1643,7 +1669,7 @@ msgid "New label"
msgstr "New label"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "New list"
@@ -1712,7 +1738,7 @@ msgstr "No download URL available for this attachment."
msgid "No keyboard shortcuts registered."
msgstr "No keyboard shortcuts registered."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "No lists"
@@ -1850,6 +1876,11 @@ msgstr "Please enter a valid name"
msgid "Please enter a valid password"
msgstr "Please enter a valid password"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Please enter a valid YouTube URL"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Please select a file to upload."
@@ -1863,12 +1894,12 @@ msgstr "Please select a file to upload."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1882,8 +1913,8 @@ msgstr "Please select a file to upload."
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -2063,6 +2094,7 @@ msgstr "Role"
msgid "Run on your own infrastructure"
msgstr "Run on your own infrastructure"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2258,8 +2290,8 @@ msgstr "Team Plan"
msgid "Teams"
msgstr "Teams"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Template"
@@ -2365,6 +2397,10 @@ msgstr "This workspace URL is reserved"
msgid "This workspace username has already been taken"
msgstr "This workspace username has already been taken"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Title"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2415,7 +2451,7 @@ msgstr "Unable to add checklist item"
msgid "Unable to add comment"
msgstr "Unable to add comment"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "Unable to add label"
@@ -2452,7 +2488,7 @@ msgstr "Unable to delete card"
msgid "Unable to delete checklist"
msgstr "Unable to delete checklist"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Unable to delete checklist item"
@@ -2480,8 +2516,8 @@ msgstr "Unable to update board URL"
msgid "Unable to update board visibility"
msgstr "Unable to update board visibility"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Unable to update card"
@@ -2489,7 +2525,7 @@ msgstr "Unable to update card"
msgid "Unable to update checklist"
msgstr "Unable to update checklist"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Unable to update checklist item"
@@ -2505,7 +2541,7 @@ msgstr "Unable to update due date"
msgid "Unable to update labels"
msgstr "Unable to update labels"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Unable to update list"
@@ -2740,7 +2776,7 @@ msgid "Why make an open source Trello?"
msgstr "Why make an open source Trello?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2920,3 +2956,7 @@ msgstr "Your workspace name has been updated."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Your workspace slug has been updated."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "YouTube URL"

File diff suppressed because one or more lines are too long

View File

@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} etiquetas"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} no encontrado"
@@ -83,7 +83,7 @@ msgstr "Cuenta eliminada"
msgid "Actions"
msgstr "Acciones"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Actividad"
@@ -113,11 +113,11 @@ msgstr "Añadir un elemento..."
msgid "Add checklist"
msgstr "Añadir lista de verificación"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Añadir descripción... (escribe '/' para abrir comandos o '@' para mencionar)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Añadir detalles..."
@@ -317,8 +317,8 @@ msgstr "Portal de facturación"
msgid "Blog Post"
msgstr "Entrada de blog"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Tablero"
@@ -386,6 +386,7 @@ msgid "Bug Report"
msgstr "Informe de error"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -400,12 +401,12 @@ msgstr "Informe de error"
msgid "Cancel"
msgstr "Cancelar"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Tarjeta"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Tarjeta no encontrada"
@@ -555,6 +556,10 @@ msgstr "Continuar con {0}"
msgid "Control who can view and edit your boards."
msgstr "Controla quién puede ver y editar tus tableros."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "Convertir en enlace"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Características principales"
@@ -565,7 +570,7 @@ msgid "Create {0}"
msgstr "Crear {0}"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Crear otro"
@@ -574,7 +579,7 @@ msgstr "Crear otro"
msgid "Create API key"
msgstr "Crear clave API"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Crear tarjeta"
@@ -604,13 +609,13 @@ msgstr "Crear nuevo {0}"
msgid "Create new key"
msgstr "Crear nueva clave"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Crear nueva etiqueta"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Crear nueva lista"
@@ -679,6 +684,7 @@ msgstr "Desactivar enlace de invitación"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -803,8 +809,8 @@ msgid "Download failed"
msgstr "Error en la descarga"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Fecha de vencimiento"
@@ -824,6 +830,10 @@ msgstr "Vence hoy"
msgid "Due tomorrow"
msgstr "Vence mañana"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Editar"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -841,6 +851,10 @@ msgstr "Editar etiqueta"
msgid "Edit workspace URL"
msgstr "Editar URL del espacio de trabajo"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "Editar vídeo de YouTube"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Editando"
@@ -857,6 +871,10 @@ msgstr "Correo electrónico"
msgid "Enhancement"
msgstr "Mejora"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Introduce un título personalizado"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Introduce tu contraseña actual"
@@ -981,6 +999,10 @@ msgstr "No se pudo copiar el enlace de invitación"
msgid "Failed to create board"
msgstr "Error al crear el tablero"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Error al obtener la información del vídeo"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1047,6 +1069,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos proyectos de código abierto necesitan una fuente de ingresos. La nuestra proviene de la oferta de nube de pago para espacios de trabajo con múltiples usuarios y para slugs de espacio de trabajo personalizados. No hay obligación de usarla, y puedes alojar el software en tu propia infraestructura sin costo alguno."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratis"
@@ -1092,7 +1116,7 @@ msgstr "Comenzar"
msgid "Get started by creating a new {0}"
msgstr "Comienza creando un nuevo {0}"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Comienza creando una nueva lista"
@@ -1175,6 +1199,10 @@ msgstr "¿Cómo puedo autoalojar?"
msgid "How is the project funded?"
msgstr "¿Cómo se financia el proyecto?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Reconozco que todos los datos de mi cuenta serán eliminados permanentemente y quiero continuar."
@@ -1327,8 +1355,8 @@ msgid "Keyboard Shortcuts"
msgstr "Atajos de teclado"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Etiquetas"
@@ -1382,7 +1410,7 @@ msgstr "Claro"
msgid "Link copied"
msgstr "Enlace copiado"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Lista"
@@ -1445,8 +1473,8 @@ msgstr "Prioridad media"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Miembros"
@@ -1520,7 +1548,7 @@ msgid "New label"
msgstr "Nueva etiqueta"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Nueva lista"
@@ -1581,7 +1609,7 @@ msgstr "No hay URL de descarga disponible para este archivo adjunto."
msgid "No keyboard shortcuts registered."
msgstr "No hay atajos de teclado registrados."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Sin listas"
@@ -1719,6 +1747,11 @@ msgstr "Por favor, introduce un nombre válido"
msgid "Please enter a valid password"
msgstr "Por favor, introduce una contraseña válida"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Introduce una URL de YouTube válida"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Por favor selecciona un archivo para subir."
@@ -1732,12 +1765,12 @@ msgstr "Por favor selecciona un archivo para subir."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1751,8 +1784,8 @@ msgstr "Por favor selecciona un archivo para subir."
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1924,6 +1957,7 @@ msgstr "Rol"
msgid "Run on your own infrastructure"
msgstr "Ejecuta en tu propia infraestructura"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2107,8 +2141,8 @@ msgstr "Plan de Equipo"
msgid "Teams"
msgstr "Equipos"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Plantilla"
@@ -2214,6 +2248,10 @@ msgstr "Esta URL de espacio de trabajo está reservada"
msgid "This workspace username has already been taken"
msgstr "Este nombre de usuario del espacio de trabajo ya ha sido tomado"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Título"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2256,9 +2294,9 @@ msgstr "No se puede añadir el elemento a la lista de verificación"
msgid "Unable to add comment"
msgstr "No se puede añadir el comentario"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "No se puede añadir etiqueta"
msgstr "No se puede añadir la etiqueta"
#: src/views/board/components/NewCardForm.tsx:181
msgid "Unable to create card"
@@ -2293,7 +2331,7 @@ msgstr "No se puede eliminar la tarjeta"
msgid "Unable to delete checklist"
msgstr "No se puede eliminar la lista de verificación"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "No se puede eliminar el elemento de la lista de verificación"
@@ -2321,8 +2359,8 @@ msgstr "No se puede actualizar la URL del tablero"
msgid "Unable to update board visibility"
msgstr "No se puede actualizar la visibilidad del tablero"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "No se puede actualizar la tarjeta"
@@ -2330,7 +2368,7 @@ msgstr "No se puede actualizar la tarjeta"
msgid "Unable to update checklist"
msgstr "No se puede actualizar la lista de verificación"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "No se puede actualizar el elemento de la lista de verificación"
@@ -2346,7 +2384,7 @@ msgstr "No se puede actualizar la fecha de vencimiento"
msgid "Unable to update labels"
msgstr "No se pueden actualizar las etiquetas"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "No se puede actualizar la lista"
@@ -2557,7 +2595,7 @@ msgid "Why make an open source Trello?"
msgstr "¿Por qué crear un Trello de código abierto?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2733,3 +2771,7 @@ msgstr "El nombre de tu espacio de trabajo ha sido actualizado."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "El slug de tu espacio de trabajo ha sido actualizado."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "URL de YouTube"

File diff suppressed because one or more lines are too long

View File

@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} étiquettes"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} introuvable"
@@ -83,7 +83,7 @@ msgstr "Compte supprimé"
msgid "Actions"
msgstr "Actions"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Activité"
@@ -113,11 +113,11 @@ msgstr "Ajouter un élément..."
msgid "Add checklist"
msgstr "Ajouter une checklist"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Ajouter une description... (tapez '/' pour ouvrir les commandes ou '@' pour mentionner)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Ajouter des détails..."
@@ -317,8 +317,8 @@ msgstr "Portail de facturation"
msgid "Blog Post"
msgstr "Article de blog"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Tableau"
@@ -386,6 +386,7 @@ msgid "Bug Report"
msgstr "Rapport de bug"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -400,12 +401,12 @@ msgstr "Rapport de bug"
msgid "Cancel"
msgstr "Annuler"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Carte"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Carte introuvable"
@@ -555,6 +556,10 @@ msgstr "Continuer avec {0}"
msgid "Control who can view and edit your boards."
msgstr "Contrôlez qui peut voir et modifier vos tableaux."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "Convertir en lien"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Fonctionnalités essentielles"
@@ -565,7 +570,7 @@ msgid "Create {0}"
msgstr "Créer {0}"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Créer un autre"
@@ -574,7 +579,7 @@ msgstr "Créer un autre"
msgid "Create API key"
msgstr "Créer une clé API"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Créer une carte"
@@ -604,13 +609,13 @@ msgstr "Créer un nouveau {0}"
msgid "Create new key"
msgstr "Créer une nouvelle clé"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Créer une nouvelle étiquette"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Créer une nouvelle liste"
@@ -679,6 +684,7 @@ msgstr "Désactiver le lien d'invitation"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -803,8 +809,8 @@ msgid "Download failed"
msgstr "Échec du téléchargement"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Date d'échéance"
@@ -824,6 +830,10 @@ msgstr "Échéance aujourd'hui"
msgid "Due tomorrow"
msgstr "Échéance demain"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Modifier"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -841,6 +851,10 @@ msgstr "Modifier l'étiquette"
msgid "Edit workspace URL"
msgstr "Modifier l'URL de l'espace de travail"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "Modifier la vidéo YouTube"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Édition"
@@ -857,6 +871,10 @@ msgstr "E-mail"
msgid "Enhancement"
msgstr "Amélioration"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Saisir un titre personnalisé"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Saisissez votre mot de passe actuel"
@@ -981,6 +999,10 @@ msgstr "Échec de la copie du lien d'invitation"
msgid "Failed to create board"
msgstr "Échec de la création du tableau"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Échec de la récupération des informations de la vidéo"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1047,6 +1069,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons projets open source ont besoin d'une source de revenus. La nôtre provient de l'offre cloud payante pour les espaces de travail avec plusieurs utilisateurs et pour les slugs d'espace de travail personnalisés. Il n'y a aucune obligation de l'utiliser, et vous pouvez auto-héberger le logiciel sur votre propre infrastructure gratuitement."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratuit"
@@ -1092,7 +1116,7 @@ msgstr "Commencer"
msgid "Get started by creating a new {0}"
msgstr "Commencez par créer un nouveau {0}"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Commencez par créer une nouvelle liste"
@@ -1175,6 +1199,10 @@ msgstr "Comment faire pour auto-héberger ?"
msgid "How is the project funded?"
msgstr "Comment le projet est-il financé ?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Je reconnais que toutes les données de mon compte seront définitivement supprimées et je souhaite continuer."
@@ -1327,8 +1355,8 @@ msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Étiquettes"
@@ -1382,7 +1410,7 @@ msgstr "Clair"
msgid "Link copied"
msgstr "Lien copié"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Liste"
@@ -1445,8 +1473,8 @@ msgstr "Priorité moyenne"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Membres"
@@ -1520,7 +1548,7 @@ msgid "New label"
msgstr "Nouvelle étiquette"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Nouvelle liste"
@@ -1581,7 +1609,7 @@ msgstr "Aucune URL de téléchargement disponible pour cette pièce jointe."
msgid "No keyboard shortcuts registered."
msgstr "Aucun raccourci clavier enregistré."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Aucune liste"
@@ -1719,6 +1747,11 @@ msgstr "Veuillez saisir un nom valide"
msgid "Please enter a valid password"
msgstr "Veuillez saisir un mot de passe valide"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Veuillez saisir une URL YouTube valide"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Veuillez sélectionner un fichier à télécharger."
@@ -1732,12 +1765,12 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1751,8 +1784,8 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1924,6 +1957,7 @@ msgstr "Rôle"
msgid "Run on your own infrastructure"
msgstr "Exécutez sur votre propre infrastructure"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2107,8 +2141,8 @@ msgstr "Forfait d'équipe"
msgid "Teams"
msgstr "Équipes"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Modèle"
@@ -2214,6 +2248,10 @@ msgstr "Cette URL d'espace de travail est réservée"
msgid "This workspace username has already been taken"
msgstr "Ce nom d'utilisateur d'espace de travail est déjà pris"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Titre"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2256,7 +2294,7 @@ msgstr "Impossible d'ajouter l'élément à la liste de contrôle"
msgid "Unable to add comment"
msgstr "Impossible d'ajouter un commentaire"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "Impossible d'ajouter l'étiquette"
@@ -2293,7 +2331,7 @@ msgstr "Impossible de supprimer la carte"
msgid "Unable to delete checklist"
msgstr "Impossible de supprimer la liste de contrôle"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Impossible de supprimer l'élément de la liste de contrôle"
@@ -2321,8 +2359,8 @@ msgstr "Impossible de mettre à jour l'URL du tableau"
msgid "Unable to update board visibility"
msgstr "Impossible de mettre à jour la visibilité du tableau"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Impossible de mettre à jour la carte"
@@ -2330,7 +2368,7 @@ msgstr "Impossible de mettre à jour la carte"
msgid "Unable to update checklist"
msgstr "Impossible de mettre à jour la liste de contrôle"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Impossible de mettre à jour l'élément de la liste de contrôle"
@@ -2346,7 +2384,7 @@ msgstr "Impossible de mettre à jour la date d'échéance"
msgid "Unable to update labels"
msgstr "Impossible de mettre à jour les étiquettes"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Impossible de mettre à jour la liste"
@@ -2557,7 +2595,7 @@ msgid "Why make an open source Trello?"
msgstr "Pourquoi créer un Trello open source ?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2733,3 +2771,7 @@ msgstr "Le nom de votre espace de travail a été mis à jour."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Le slug de votre espace de travail a été mis à jour."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "URL YouTube"

File diff suppressed because one or more lines are too long

View File

@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} etichette"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} non trovato"
@@ -83,7 +83,7 @@ msgstr "Account eliminato"
msgid "Actions"
msgstr "Azioni"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Attività"
@@ -113,11 +113,11 @@ msgstr "Aggiungi un elemento..."
msgid "Add checklist"
msgstr "Aggiungi checklist"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Aggiungi descrizione... (digita '/' per aprire i comandi o '@' per menzionare)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Aggiungi dettagli..."
@@ -317,8 +317,8 @@ msgstr "Portale di fatturazione"
msgid "Blog Post"
msgstr "Post del blog"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Bacheca"
@@ -386,6 +386,7 @@ msgid "Bug Report"
msgstr "Segnalazione bug"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -400,12 +401,12 @@ msgstr "Segnalazione bug"
msgid "Cancel"
msgstr "Annulla"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Carta"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Carta non trovata"
@@ -555,6 +556,10 @@ msgstr "Continua con {0}"
msgid "Control who can view and edit your boards."
msgstr "Controlla chi può visualizzare e modificare le tue bacheche."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "Converti in link"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Funzionalità principali"
@@ -565,7 +570,7 @@ msgid "Create {0}"
msgstr "Crea {0}"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Crea un altro"
@@ -574,7 +579,7 @@ msgstr "Crea un altro"
msgid "Create API key"
msgstr "Crea chiave API"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Crea carta"
@@ -604,13 +609,13 @@ msgstr "Crea nuovo {0}"
msgid "Create new key"
msgstr "Crea nuova chiave"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Crea nuova etichetta"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Crea nuova lista"
@@ -679,6 +684,7 @@ msgstr "Disattiva link di invito"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -803,8 +809,8 @@ msgid "Download failed"
msgstr "Download fallito"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Data di scadenza"
@@ -824,6 +830,10 @@ msgstr "Scade oggi"
msgid "Due tomorrow"
msgstr "Scade domani"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Modifica"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -841,6 +851,10 @@ msgstr "Modifica etichetta"
msgid "Edit workspace URL"
msgstr "Modifica URL dell'area di lavoro"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "Modifica video YouTube"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Modifica"
@@ -857,6 +871,10 @@ msgstr "Email"
msgid "Enhancement"
msgstr "Miglioramento"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Inserisci un titolo personalizzato"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Inserisci la tua password attuale"
@@ -981,6 +999,10 @@ msgstr "Impossibile copiare il link di invito"
msgid "Failed to create board"
msgstr "Impossibile creare la bacheca"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Impossibile recuperare le informazioni del video"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1047,6 +1069,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni progetti open source necessitano di una fonte di entrate. La nostra proviene dall'offerta cloud a pagamento per gli spazi di lavoro con più utenti e per gli slug personalizzati degli spazi di lavoro. Non c'è alcun obbligo di utilizzarla, e puoi ospitare autonomamente il software sulla tua infrastruttura gratuitamente."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratuito"
@@ -1092,7 +1116,7 @@ msgstr "Inizia ora"
msgid "Get started by creating a new {0}"
msgstr "Inizia creando un nuovo {0}"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Inizia creando una nuova lista"
@@ -1175,6 +1199,10 @@ msgstr "Come posso effettuare il self-hosting?"
msgid "How is the project funded?"
msgstr "Come viene finanziato il progetto?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Riconosco che tutti i dati del mio account saranno eliminati permanentemente e voglio procedere."
@@ -1327,8 +1355,8 @@ msgid "Keyboard Shortcuts"
msgstr "Scorciatoie da tastiera"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Etichette"
@@ -1382,7 +1410,7 @@ msgstr "Chiaro"
msgid "Link copied"
msgstr "Link copiato"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Lista"
@@ -1445,8 +1473,8 @@ msgstr "Media priorità"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Membri"
@@ -1520,7 +1548,7 @@ msgid "New label"
msgstr "Nuova etichetta"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Nuova lista"
@@ -1581,7 +1609,7 @@ msgstr "Nessun URL di download disponibile per questo allegato."
msgid "No keyboard shortcuts registered."
msgstr "Nessuna scorciatoia da tastiera registrata."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Nessuna lista"
@@ -1719,6 +1747,11 @@ msgstr "Inserisci un nome valido"
msgid "Please enter a valid password"
msgstr "Inserisci una password valida"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Inserisci un URL YouTube valido"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Seleziona un file da caricare."
@@ -1732,12 +1765,12 @@ msgstr "Seleziona un file da caricare."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1751,8 +1784,8 @@ msgstr "Seleziona un file da caricare."
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1924,6 +1957,7 @@ msgstr "Ruolo"
msgid "Run on your own infrastructure"
msgstr "Esegui sulla tua infrastruttura"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2107,8 +2141,8 @@ msgstr "Piano Team"
msgid "Teams"
msgstr "Team"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Template"
@@ -2214,6 +2248,10 @@ msgstr "Questo URL dello spazio di lavoro è riservato"
msgid "This workspace username has already been taken"
msgstr "Questo nome utente dell'area di lavoro è già stato utilizzato"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Titolo"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2256,9 +2294,9 @@ msgstr "Impossibile aggiungere l'elemento della checklist"
msgid "Unable to add comment"
msgstr "Impossibile aggiungere il commento"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "Impossibile aggiungere etichetta"
msgstr "Impossibile aggiungere l'etichetta"
#: src/views/board/components/NewCardForm.tsx:181
msgid "Unable to create card"
@@ -2293,7 +2331,7 @@ msgstr "Impossibile eliminare la scheda"
msgid "Unable to delete checklist"
msgstr "Impossibile eliminare la checklist"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Impossibile eliminare l'elemento della checklist"
@@ -2321,8 +2359,8 @@ msgstr "Impossibile aggiornare l'URL della bacheca"
msgid "Unable to update board visibility"
msgstr "Impossibile aggiornare la visibilità della bacheca"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Impossibile aggiornare la scheda"
@@ -2330,7 +2368,7 @@ msgstr "Impossibile aggiornare la scheda"
msgid "Unable to update checklist"
msgstr "Impossibile aggiornare la checklist"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Impossibile aggiornare l'elemento della checklist"
@@ -2346,7 +2384,7 @@ msgstr "Impossibile aggiornare la data di scadenza"
msgid "Unable to update labels"
msgstr "Impossibile aggiornare le etichette"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Impossibile aggiornare la lista"
@@ -2557,7 +2595,7 @@ msgid "Why make an open source Trello?"
msgstr "Perché creare un Trello open source?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2733,3 +2771,7 @@ msgstr "Il nome del tuo spazio di lavoro è stato aggiornato."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Lo slug della tua area di lavoro è stato aggiornato."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "URL YouTube"

File diff suppressed because one or more lines are too long

View File

@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} labels"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} niet gevonden"
@@ -83,7 +83,7 @@ msgstr "Account verwijderd"
msgid "Actions"
msgstr "Acties"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Activiteit"
@@ -113,11 +113,11 @@ msgstr "Voeg een item toe..."
msgid "Add checklist"
msgstr "Checklist toevoegen"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Beschrijving toevoegen... (typ '/' om commando's te openen of '@' om te vermelden)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Details toevoegen..."
@@ -317,8 +317,8 @@ msgstr "Factureringsportaal"
msgid "Blog Post"
msgstr "Blogbericht"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Bord"
@@ -386,6 +386,7 @@ msgid "Bug Report"
msgstr "Bugrapport"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -400,12 +401,12 @@ msgstr "Bugrapport"
msgid "Cancel"
msgstr "Annuleren"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Kaart"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Kaart niet gevonden"
@@ -555,6 +556,10 @@ msgstr "Doorgaan met {0}"
msgid "Control who can view and edit your boards."
msgstr "Bepaal wie je borden kan bekijken en bewerken."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "Converteer naar link"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Kernfuncties"
@@ -565,7 +570,7 @@ msgid "Create {0}"
msgstr "{0} maken"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Maak nog een"
@@ -574,7 +579,7 @@ msgstr "Maak nog een"
msgid "Create API key"
msgstr "API-sleutel aanmaken"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Maak kaart"
@@ -604,13 +609,13 @@ msgstr "Nieuwe {0} maken"
msgid "Create new key"
msgstr "Nieuwe sleutel aanmaken"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Maak nieuw label"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Maak nieuwe lijst"
@@ -679,6 +684,7 @@ msgstr "Uitnodigingslink deactiveren"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -803,8 +809,8 @@ msgid "Download failed"
msgstr "Download mislukt"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Vervaldatum"
@@ -824,6 +830,10 @@ msgstr "Vervalt vandaag"
msgid "Due tomorrow"
msgstr "Vervalt morgen"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Bewerken"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -841,6 +851,10 @@ msgstr "Label bewerken"
msgid "Edit workspace URL"
msgstr "Werkruimte-URL bewerken"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "YouTube-video bewerken"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Bewerken"
@@ -857,6 +871,10 @@ msgstr "E-mail"
msgid "Enhancement"
msgstr "Verbetering"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Voer een aangepaste titel in"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Voer je huidige wachtwoord in"
@@ -981,6 +999,10 @@ msgstr "Kopiëren van uitnodigingslink mislukt"
msgid "Failed to create board"
msgstr "Bord maken mislukt"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Kan video-informatie niet ophalen"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1047,6 +1069,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open source projecten een inkomstenbron nodig hebben. De onze komt van de betaalde cloudoplossing voor werkruimtes met meerdere gebruikers en voor aangepaste werkruimte-slugs. Er is geen verplichting om het te gebruiken, en je kunt de software gratis op je eigen infrastructuur hosten."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratis"
@@ -1092,7 +1116,7 @@ msgstr "Aan de slag"
msgid "Get started by creating a new {0}"
msgstr "Begin door een nieuwe {0} te maken"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Begin door een nieuwe lijst te maken"
@@ -1175,6 +1199,10 @@ msgstr "Hoe kan ik zelf hosten?"
msgid "How is the project funded?"
msgstr "Hoe wordt het project gefinancierd?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Ik bevestig dat alle gegevens van mijn account permanent worden verwijderd en wil doorgaan."
@@ -1327,8 +1355,8 @@ msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Labels"
@@ -1382,7 +1410,7 @@ msgstr "Licht"
msgid "Link copied"
msgstr "Link gekopieerd"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Lijst"
@@ -1445,8 +1473,8 @@ msgstr "Gemiddelde prioriteit"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Leden"
@@ -1520,7 +1548,7 @@ msgid "New label"
msgstr "Nieuw label"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Nieuwe lijst"
@@ -1581,7 +1609,7 @@ msgstr "Geen download-URL beschikbaar voor deze bijlage."
msgid "No keyboard shortcuts registered."
msgstr "Geen sneltoetsen geregistreerd."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Geen lijsten"
@@ -1719,6 +1747,11 @@ msgstr "Voer een geldige naam in"
msgid "Please enter a valid password"
msgstr "Voer een geldig wachtwoord in"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Voer een geldige YouTube-URL in"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Selecteer een bestand om te uploaden."
@@ -1732,12 +1765,12 @@ msgstr "Selecteer een bestand om te uploaden."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1751,8 +1784,8 @@ msgstr "Selecteer een bestand om te uploaden."
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1924,6 +1957,7 @@ msgstr "Rol"
msgid "Run on your own infrastructure"
msgstr "Draai op je eigen infrastructuur"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2107,8 +2141,8 @@ msgstr "Teamplan"
msgid "Teams"
msgstr "Teams"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Sjabloon"
@@ -2214,6 +2248,10 @@ msgstr "Deze werkruimte-URL is gereserveerd"
msgid "This workspace username has already been taken"
msgstr "Deze werkruimtegebruikersnaam is al in gebruik"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Titel"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2256,7 +2294,7 @@ msgstr "Kan checklistitem niet toevoegen"
msgid "Unable to add comment"
msgstr "Kan geen reactie toevoegen"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "Kan label niet toevoegen"
@@ -2293,7 +2331,7 @@ msgstr "Kan kaart niet verwijderen"
msgid "Unable to delete checklist"
msgstr "Kan checklist niet verwijderen"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Kan checklistitem niet verwijderen"
@@ -2321,8 +2359,8 @@ msgstr "Kan board URL niet bijwerken"
msgid "Unable to update board visibility"
msgstr "Kan bordzichtbaarheid niet bijwerken"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Kan kaart niet bijwerken"
@@ -2330,7 +2368,7 @@ msgstr "Kan kaart niet bijwerken"
msgid "Unable to update checklist"
msgstr "Kan checklist niet bijwerken"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Kan checklistitem niet bijwerken"
@@ -2346,7 +2384,7 @@ msgstr "Kan vervaldatum niet bijwerken"
msgid "Unable to update labels"
msgstr "Kan labels niet bijwerken"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Kan lijst niet bijwerken"
@@ -2557,7 +2595,7 @@ msgid "Why make an open source Trello?"
msgstr "Waarom een open source Trello maken?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2733,3 +2771,7 @@ msgstr "De naam van je werkruimte is bijgewerkt."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Je werkruimte-slug is bijgewerkt."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "YouTube-URL"

File diff suppressed because one or more lines are too long

View File

@@ -36,17 +36,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} etykiety"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} nie znaleziono"
@@ -88,7 +88,7 @@ msgstr "Konto zostało usunięte"
msgid "Actions"
msgstr "Działania"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Aktywność"
@@ -118,11 +118,11 @@ msgstr "Dodaj element..."
msgid "Add checklist"
msgstr "Dodaj listę kontrolną"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Dodaj opis... (wpisz '/' aby otworzyć polecenia lub '@' aby wspomnieć)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Dodaj szczegóły..."
@@ -322,8 +322,8 @@ msgstr "Portal rozliczeniowy"
msgid "Blog Post"
msgstr "Post na blogu"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Tablica"
@@ -391,6 +391,7 @@ msgid "Bug Report"
msgstr "Zgłoszenie błędu"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -405,12 +406,12 @@ msgstr "Zgłoszenie błędu"
msgid "Cancel"
msgstr "Anuluj"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Karta"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Nie można było znaleźć karty"
@@ -560,6 +561,10 @@ msgstr "Kontynuuj z {0}"
msgid "Control who can view and edit your boards."
msgstr "Kontroluj, kto może przeglądać i edytować twoje tablice."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "Konwertuj na link"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Podstawowe funkcje"
@@ -570,7 +575,7 @@ msgid "Create {0}"
msgstr "Utwórz {0}"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Utwórz kolejny"
@@ -579,7 +584,7 @@ msgstr "Utwórz kolejny"
msgid "Create API key"
msgstr "Utwórz klucz API"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Utwórz kartę"
@@ -609,13 +614,13 @@ msgstr "Utwórz nowy {0}"
msgid "Create new key"
msgstr "Utwórz nowy klucz"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Utwórz nową etykietę"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Utwórz nową listę"
@@ -684,6 +689,7 @@ msgstr "Dezaktywuj link zaproszenia"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -808,8 +814,8 @@ msgid "Download failed"
msgstr "Pobieranie nie powiodło się"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Termin"
@@ -829,6 +835,10 @@ msgstr "Termin na dziś"
msgid "Due tomorrow"
msgstr "Termin na jutro"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Edytuj"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -846,6 +856,10 @@ msgstr "Edytuj etykietę"
msgid "Edit workspace URL"
msgstr "Edytuj URL przestrzeni roboczej"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "Edytuj wideo YouTube"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Edycja"
@@ -862,6 +876,10 @@ msgstr "Email"
msgid "Enhancement"
msgstr "Ulepszenie"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Wprowadź własny tytuł"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Wprowadź swoje obecne hasło"
@@ -986,6 +1004,10 @@ msgstr "Nie udało się skopiować linku zaproszenia"
msgid "Failed to create board"
msgstr "Nie udało się utworzyć tablicy"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Nie udało się pobrać informacji o wideo"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1052,6 +1074,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Dla długoterminowej trwałości uznajemy, że wszystkie dobre projekty open source potrzebują źródła dochodu. Nasze pochodzi z płatnej oferty w chmurze dla przestrzeni roboczych z wieloma użytkownikami oraz dla niestandardowych nazw przestrzeni roboczych. Nie ma obowiązku korzystania z niej, a oprogramowanie można hostować samodzielnie na własnej infrastrukturze bezpłatnie."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Darmowy"
@@ -1097,7 +1121,7 @@ msgstr "Rozpocznij"
msgid "Get started by creating a new {0}"
msgstr "Rozpocznij, tworząc nowy {0}"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Rozpocznij, tworząc nową listę"
@@ -1180,6 +1204,10 @@ msgstr "Jak samodzielnie hostować?"
msgid "How is the project funded?"
msgstr "Jak projekt jest finansowany?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Potwierdzam, że wszystkie dane mojego konta zostaną trwale usunięte i chcę kontynuować."
@@ -1332,8 +1360,8 @@ msgid "Keyboard Shortcuts"
msgstr "Skróty klawiaturowe"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Etykiety"
@@ -1387,7 +1415,7 @@ msgstr "Jasny"
msgid "Link copied"
msgstr "Link skopiowany"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Lista"
@@ -1450,8 +1478,8 @@ msgstr "Średni priorytet"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Członkowie"
@@ -1525,7 +1553,7 @@ msgid "New label"
msgstr "Nowa etykieta"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Nowa lista"
@@ -1586,7 +1614,7 @@ msgstr "Brak dostępnego URL do pobrania tego załącznika."
msgid "No keyboard shortcuts registered."
msgstr "Brak zarejestrowanych skrótów klawiaturowych."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Brak list"
@@ -1724,6 +1752,11 @@ msgstr "Proszę wprowadzić poprawne imię"
msgid "Please enter a valid password"
msgstr "Proszę wprowadzić poprawne hasło"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Wprowadź poprawny adres URL YouTube"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Proszę wybrać plik do przesłania."
@@ -1737,12 +1770,12 @@ msgstr "Proszę wybrać plik do przesłania."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1756,8 +1789,8 @@ msgstr "Proszę wybrać plik do przesłania."
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1929,6 +1962,7 @@ msgstr "Rola"
msgid "Run on your own infrastructure"
msgstr "Uruchom na własnej infrastrukturze"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2112,8 +2146,8 @@ msgstr "Plan zespołowy"
msgid "Teams"
msgstr "Zespoły"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Szablon"
@@ -2219,6 +2253,10 @@ msgstr "Ten adres URL obszaru roboczego jest zarezerwowany"
msgid "This workspace username has already been taken"
msgstr "Ta nazwa użytkownika obszaru roboczego jest już zajęta"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Tytuł"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2261,7 +2299,7 @@ msgstr "Nie można dodać elementu listy kontrolnej"
msgid "Unable to add comment"
msgstr "Nie można dodać komentarza"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "Nie można dodać etykiety"
@@ -2298,7 +2336,7 @@ msgstr "Nie można usunąć karty"
msgid "Unable to delete checklist"
msgstr "Nie można usunąć listy kontrolnej"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Nie można usunąć elementu listy kontrolnej"
@@ -2326,8 +2364,8 @@ msgstr "Nie można zaktualizować adresu URL tablicy"
msgid "Unable to update board visibility"
msgstr "Nie można zaktualizować widoczności tablicy"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Nie można zaktualizować karty"
@@ -2335,7 +2373,7 @@ msgstr "Nie można zaktualizować karty"
msgid "Unable to update checklist"
msgstr "Nie można zaktualizować listy kontrolnej"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Nie można zaktualizować elementu listy kontrolnej"
@@ -2351,7 +2389,7 @@ msgstr "Nie można zaktualizować terminu"
msgid "Unable to update labels"
msgstr "Nie można zaktualizować etykiet"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Nie można zaktualizować listy"
@@ -2562,7 +2600,7 @@ msgid "Why make an open source Trello?"
msgstr "Dlaczego próbujecie stworzyć Trello w wersji otwartoźródłowej?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2738,3 +2776,7 @@ msgstr "Nazwa twojej przestrzeni roboczej została zaktualizowana."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Slug twojej przestrzeni roboczej został zaktualizowany."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "YouTube URL"

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/views/card/components/Comment.tsx:123
#: src/views/card/components/Comment.tsx:124
msgid " (edited)"
msgstr " (editado)"
@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} etiquetas"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:412
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} não encontrado"
@@ -95,7 +95,7 @@ msgstr "A conta foi excluída"
msgid "Actions"
msgstr "Ações"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Atividade"
@@ -112,12 +112,12 @@ msgstr "Registros de atividade"
msgid "Add a card"
msgstr "Adicionar um cartão"
#: src/views/card/components/Comment.tsx:146
#: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:147
#: src/views/card/components/NewCommentForm.tsx:55
msgid "Add a comment..."
msgstr "Adicionar um comentário..."
#: src/views/card/components/NewChecklistItemForm.tsx:140
#: src/views/card/components/NewChecklistItemForm.tsx:141
msgid "Add an item..."
msgstr "Adicionar um item..."
@@ -125,7 +125,7 @@ msgstr "Adicionar um item..."
msgid "Add checklist"
msgstr "Adicionar checklist"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Adicionar descrição... (digite '/' para abrir comandos ou '@' para mencionar)"
@@ -133,48 +133,53 @@ msgstr "Adicionar descrição... (digite '/' para abrir comandos ou '@' para men
#~ msgid "Add description... (type '/' to open commands)"
#~ msgstr "Adicionar descrição... (digite '/' para abrir comandos)"
#: src/views/card/components/ChecklistItemRow.tsx:172
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Adicionar detalhes..."
#: src/views/card/components/LabelSelector.tsx:109
#: src/views/card/components/LabelSelector.tsx:114
#: src/views/card/components/LabelSelector.tsx:110
#: src/views/card/components/LabelSelector.tsx:115
msgid "Add label"
msgstr "Adicionar etiqueta"
#: src/views/card/components/MemberSelector.tsx:130
#: src/views/card/components/MemberSelector.tsx:131
#: src/views/members/components/InviteMemberForm.tsx:257
msgid "Add member"
msgstr "Adicionar membro"
#: src/views/card/components/ActivityList.tsx:66
#. placeholder {0}: mergedLabels.length
#: src/views/card/components/ActivityList.tsx:77
msgid "added {0} labels: <0>{labelList}</0>"
msgstr ""
#: src/views/card/components/ActivityList.tsx:107
msgid "added a checklist"
msgstr "adicionou uma checklist"
#: src/views/card/components/ActivityList.tsx:69
#: src/views/card/components/ActivityList.tsx:110
msgid "added a checklist item"
msgstr "adicionou um item à checklist"
#: src/views/card/components/ActivityList.tsx:62
#: src/views/card/components/ActivityList.tsx:103
msgid "added a label to the card"
msgstr "adicionou uma etiqueta ao cartão"
#: src/views/card/components/ActivityList.tsx:64
#: src/views/card/components/ActivityList.tsx:105
msgid "added a member to the card"
msgstr "adicionou um membro ao cartão"
#. placeholder {0}: truncate(toTitle)
#: src/views/card/components/ActivityList.tsx:146
#: src/views/card/components/ActivityList.tsx:181
msgid "added checklist <0>{0}</0>"
msgstr "adicionou a checklist <0>{0}</0>"
#. placeholder {0}: truncate(toTitle)
#: src/views/card/components/ActivityList.tsx:170
#: src/views/card/components/ActivityList.tsx:205
msgid "added checklist item <0>{0}</0>"
msgstr "adicionou o item <0>{0}</0> à checklist"
#. placeholder {0}: truncate(label)
#: src/views/card/components/ActivityList.tsx:130
#: src/views/card/components/ActivityList.tsx:165
msgid "added label <0>{0}</0>"
msgstr "adicionou a etiqueta <0>{0}</0>"
@@ -277,11 +282,11 @@ msgstr "Tem certeza de que deseja excluir este {0}?"
msgid "Are you sure you want to delete this card?"
msgstr "Tem certeza de que deseja excluir este cartão?"
#: src/views/card/components/DeleteChecklistConfirmation.tsx:55
#: src/views/card/components/DeleteChecklistConfirmation.tsx:56
msgid "Are you sure you want to delete this checklist?"
msgstr "Tem certeza de que deseja excluir esta checklist?"
#: src/views/card/components/DeleteCommentConfirmation.tsx:65
#: src/views/card/components/DeleteCommentConfirmation.tsx:66
msgid "Are you sure you want to delete this comment?"
msgstr "Tem certeza de que deseja excluir este comentário?"
@@ -298,7 +303,7 @@ msgstr "Tem certeza de que deseja excluir sua conta?"
#~ msgstr "around the world"
#. placeholder {0}: truncate(memberName)
#: src/views/card/components/ActivityList.tsx:110
#: src/views/card/components/ActivityList.tsx:145
msgid "assigned <0>{0}</0> to the card"
msgstr "atribuído <0>{0}</0> ao cartão"
@@ -310,7 +315,7 @@ msgstr "atribuído <0>{0}</0> ao cartão"
msgid "Assignees"
msgstr "Responsáveis"
#: src/views/card/components/AttachmentUpload.tsx:25
#: src/views/card/components/AttachmentUpload.tsx:26
msgid "Attachment uploaded"
msgstr "Anexo enviado"
@@ -352,9 +357,9 @@ msgstr "Portal de faturamento"
msgid "Blog Post"
msgstr "Post de blog"
#: src/views/board/index.tsx:386
#: src/views/card/index.tsx:272
#: src/views/public/board/index.tsx:113
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Quadro"
@@ -380,7 +385,7 @@ msgstr "O nome do quadro não pode exceder 100 caracteres"
msgid "Board name is required"
msgstr "O nome do quadro é obrigatório"
#: src/views/public/board/index.tsx:165
#: src/views/public/board/index.tsx:166
msgid "Board not found"
msgstr "Quadro não encontrado"
@@ -396,7 +401,7 @@ msgstr "A URL do quadro só pode conter letras, números e hífens"
msgid "Board URL cannot exceed 60 characters"
msgstr "A URL do quadro não pode exceder 60 caracteres"
#: src/views/public/board/index.tsx:79
#: src/views/public/board/index.tsx:80
msgid "Board URL copied to clipboard"
msgstr "URL do quadro copiada para a área de transferência"
@@ -438,11 +443,12 @@ msgid "Bug Report"
msgstr "Relatório de bug"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:158
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/DeleteChecklistConfirmation.tsx:63
#: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteChecklistConfirmation.tsx:64
#: src/views/card/components/DeleteCommentConfirmation.tsx:77
#: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/settings/components/Avatar.tsx:306
#: src/views/settings/components/ChangePasswordConfirmation.tsx:168
@@ -452,12 +458,12 @@ msgstr "Relatório de bug"
msgid "Cancel"
msgstr "Cancelar"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Cartão"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Cartão não encontrado"
@@ -480,8 +486,8 @@ msgstr "Alterar senha"
msgid "Change your language preferences."
msgstr "Altere suas preferências de idioma."
#: src/views/card/components/ActivityList.tsx:220
#: src/views/card/components/ActivityList.tsx:234
#: src/views/card/components/ActivityList.tsx:255
#: src/views/card/components/ActivityList.tsx:269
msgid "changed the due date to <0>{formattedDate}</0>"
msgstr "alterou a data de vencimento para <0>{formattedDate}</0>"
@@ -494,7 +500,7 @@ msgstr "Confira alguns dos nossos projetos de código aberto favoritos."
msgid "Check your inbox"
msgstr "Verifique sua caixa de entrada"
#: src/views/card/components/NewChecklistForm.tsx:118
#: src/views/card/components/NewChecklistForm.tsx:119
msgid "Checklist name"
msgstr "Nome da checklist"
@@ -555,12 +561,12 @@ msgstr "Concluído"
msgid "Complete control and ownership:"
msgstr "Controle e propriedade completos:"
#: src/views/card/components/ActivityList.tsx:71
#: src/views/card/components/ActivityList.tsx:112
msgid "completed a checklist item"
msgstr "concluiu um item da checklist"
#. placeholder {0}: truncate(toTitle)
#: src/views/card/components/ActivityList.tsx:187
#: src/views/card/components/ActivityList.tsx:222
msgid "completed checklist item <0>{0}</0>"
msgstr "concluiu o item <0>{0}</0> da checklist"
@@ -615,6 +621,10 @@ msgstr "Continuar com {0}"
msgid "Control who can view and edit your boards."
msgstr "Controle quem pode ver e editar seus quadros."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr ""
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Recursos principais"
@@ -625,7 +635,7 @@ msgid "Create {0}"
msgstr "Criar {0}"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Criar outro"
@@ -642,11 +652,11 @@ msgstr "Criar chave de API"
#~ msgid "Create board"
#~ msgstr "Create board"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Criar cartão"
#: src/views/card/components/NewChecklistForm.tsx:134
#: src/views/card/components/NewChecklistForm.tsx:135
msgid "Create checklist"
msgstr "Criar checklist"
@@ -676,13 +686,13 @@ msgstr "Criar novo {0}"
msgid "Create new key"
msgstr "Criar nova chave"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/card/components/LabelSelector.tsx:97
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Criar nova etiqueta"
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:503
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Criar nova lista"
@@ -699,7 +709,7 @@ msgstr "Criar template"
msgid "Create workspace"
msgstr "Criar workspace"
#: src/views/card/components/ActivityList.tsx:58
#: src/views/card/components/ActivityList.tsx:99
msgid "created the card"
msgstr "criou o cartão"
@@ -763,10 +773,11 @@ msgstr "Desativar link de convite"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:66
#: src/views/card/components/DeleteCommentConfirmation.tsx:82
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
#: src/views/card/components/DeleteCommentConfirmation.tsx:83
msgid "Delete"
msgstr "Excluir"
@@ -784,7 +795,7 @@ msgstr "Excluir quadro"
msgid "Delete card"
msgstr "Excluir cartão"
#: src/views/card/components/Comment.tsx:91
#: src/views/card/components/Comment.tsx:92
msgid "Delete comment"
msgstr "Excluir comentário"
@@ -802,21 +813,21 @@ msgstr "Excluir template"
msgid "Delete workspace"
msgstr "Excluir workspace"
#: src/views/card/components/ActivityList.tsx:68
#: src/views/card/components/ActivityList.tsx:109
msgid "deleted a checklist"
msgstr "excluiu uma checklist"
#: src/views/card/components/ActivityList.tsx:73
#: src/views/card/components/ActivityList.tsx:114
msgid "deleted a checklist item"
msgstr "excluiu um item da checklist"
#. placeholder {0}: truncate(fromTitle)
#: src/views/card/components/ActivityList.tsx:162
#: src/views/card/components/ActivityList.tsx:197
msgid "deleted checklist <0>{0}</0>"
msgstr "excluiu a checklist <0>{0}</0>"
#. placeholder {0}: truncate(fromTitle)
#: src/views/card/components/ActivityList.tsx:205
#: src/views/card/components/ActivityList.tsx:240
msgid "deleted checklist item <0>{0}</0>"
msgstr "excluiu o item <0>{0}</0> da checklist"
@@ -882,13 +893,13 @@ msgstr "Não tem uma conta? <0><1>Cadastre-se</1></0>"
msgid "Done"
msgstr "Concluído"
#: src/views/card/components/AttachmentThumbnails.tsx:141
#: src/views/card/components/AttachmentThumbnails.tsx:142
msgid "Download failed"
msgstr "Falha no download"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:138
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Data de vencimento"
@@ -908,12 +919,16 @@ msgstr "Vence hoje"
msgid "Due tomorrow"
msgstr "Vence amanhã"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr ""
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
msgstr "Editar URL do quadro"
#: src/views/card/components/Comment.tsx:82
#: src/views/card/components/Comment.tsx:83
msgid "Edit comment"
msgstr "Editar comentário"
@@ -925,6 +940,10 @@ msgstr "Editar etiqueta"
msgid "Edit workspace URL"
msgstr "Editar URL do workspace"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr ""
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Edição"
@@ -941,6 +960,10 @@ msgstr "E-mail"
msgid "Enhancement"
msgstr "Melhoria"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr ""
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Digite sua senha atual"
@@ -1065,13 +1088,17 @@ msgstr "Falha ao copiar link de convite"
msgid "Failed to create board"
msgstr "Falha ao criar quadro"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr ""
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
msgstr "Falha ao fazer login com {0}. Tente novamente."
#: src/views/card/components/AttachmentUpload.tsx:33
#: src/views/card/components/AttachmentUpload.tsx:79
#: src/views/card/components/AttachmentUpload.tsx:34
#: src/views/card/components/AttachmentUpload.tsx:80
msgid "Failed to upload attachment. Please try again."
msgstr "Falha ao enviar o anexo. Tente novamente."
@@ -1190,7 +1217,7 @@ msgstr "Comece criando um novo {0}"
#~ msgid "Get started by creating a new board"
#~ msgstr "Get started by creating a new board"
#: src/views/board/index.tsx:495
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Comece criando uma nova lista"
@@ -1273,6 +1300,10 @@ msgstr "Como faço auto-hospedagem?"
msgid "How is the project funded?"
msgstr "Como o projeto é financiado?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr ""
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Reconheço que todos os dados da minha conta serão excluídos permanentemente e desejo prosseguir."
@@ -1385,7 +1416,7 @@ msgstr "Links de convite"
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
msgstr "Links de convite exigem uma assinatura Team ou Pro. Faça upgrade do seu workspace."
#: src/views/card/components/MemberSelector.tsx:111
#: src/views/card/components/MemberSelector.tsx:112
#: src/views/members/components/InviteMemberForm.tsx:367
msgid "Invite member"
msgstr "Convidar membro"
@@ -1433,8 +1464,8 @@ msgid "Keyboard Shortcuts"
msgstr "Atalhos de teclado"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:120
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Etiquetas"
@@ -1484,11 +1515,11 @@ msgstr "Licença"
msgid "Light"
msgstr "Claro"
#: src/views/public/board/index.tsx:77
#: src/views/public/board/index.tsx:78
msgid "Link copied"
msgstr "Link copiado"
#: src/views/card/index.tsx:112
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Lista"
@@ -1500,6 +1531,14 @@ msgstr "Nome da lista"
msgid "Lists"
msgstr "Listas"
#: src/views/card/components/ActivityList.tsx:530
msgid "Load more activities"
msgstr ""
#: src/views/card/components/ActivityList.tsx:530
msgid "Loading..."
msgstr ""
#: src/views/auth/login/index.tsx:33
msgid "Login | kan.bn"
msgstr "Login | kan.bn"
@@ -1528,12 +1567,12 @@ msgstr "link mágico"
msgid "Make template"
msgstr "Transformar em template"
#: src/views/card/components/ActivityList.tsx:72
#: src/views/card/components/ActivityList.tsx:113
msgid "marked a checklist item as incomplete"
msgstr "marcou um item da checklist como incompleto"
#. placeholder {0}: truncate(toTitle)
#: src/views/card/components/ActivityList.tsx:196
#: src/views/card/components/ActivityList.tsx:231
msgid "marked checklist item <0>{0}</0> as incomplete"
msgstr "marcou o item <0>{0}</0> da checklist como incompleto"
@@ -1543,8 +1582,8 @@ msgstr "Prioridade média"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:129
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Membros"
@@ -1565,7 +1604,7 @@ msgstr "cobrança mensal"
#. placeholder {0}: truncate(fromList)
#. placeholder {1}: truncate(toList)
#: src/views/card/components/ActivityList.tsx:98
#: src/views/card/components/ActivityList.tsx:133
msgid "moved the card from <0>{0}</0> to<1>{1}</1>"
msgstr "moveu o cartão de <0>{0}</0> para <1>{1}</1>"
@@ -1573,7 +1612,7 @@ msgstr "moveu o cartão de <0>{0}</0> para <1>{1}</1>"
#~ msgid "moved the card from <0>{fromList}</0> to<1>{toList}</1>"
#~ msgstr "moved the card from <0>{fromList}</0> to<1>{toList}</1>"
#: src/views/card/components/ActivityList.tsx:61
#: src/views/card/components/ActivityList.tsx:102
msgid "moved the card to another list"
msgstr "moveu o cartão para outra lista"
@@ -1617,7 +1656,7 @@ msgstr "Nova chave de API"
msgid "New card"
msgstr "Novo cartão"
#: src/views/card/components/NewChecklistForm.tsx:102
#: src/views/card/components/NewChecklistForm.tsx:103
msgid "New checklist"
msgstr "Nova checklist"
@@ -1630,7 +1669,7 @@ msgid "New label"
msgstr "Nova etiqueta"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:466
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Nova lista"
@@ -1691,7 +1730,7 @@ msgstr "Nenhum cartão de crédito é necessário"
msgid "No dates"
msgstr "Sem datas"
#: src/views/card/components/AttachmentThumbnails.tsx:142
#: src/views/card/components/AttachmentThumbnails.tsx:143
msgid "No download URL available for this attachment."
msgstr "Nenhuma URL de download disponível para este anexo."
@@ -1699,7 +1738,7 @@ msgstr "Nenhuma URL de download disponível para este anexo."
msgid "No keyboard shortcuts registered."
msgstr "Nenhum atalho de teclado registrado."
#: src/views/board/index.tsx:492
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Nenhuma lista"
@@ -1837,6 +1876,11 @@ msgstr "Digite um nome válido"
msgid "Please enter a valid password"
msgstr "Digite uma senha válida"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr ""
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Selecione um arquivo para enviar."
@@ -1850,26 +1894,27 @@ msgstr "Selecione um arquivo para enviar."
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:174
#: src/views/board/index.tsx:230
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:73
#: src/views/card/components/ChecklistItemRow.tsx:60
#: src/views/card/components/ChecklistItemRow.tsx:88
#: src/views/card/components/ChecklistNameInput.tsx:46
#: src/views/card/components/Comment.tsx:64
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
#: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DueDateSelector.tsx:59
#: src/views/card/components/LabelSelector.tsx:72
#: src/views/card/components/ListSelector.tsx:52
#: src/views/card/components/MemberSelector.tsx:79
#: src/views/card/components/NewChecklistForm.tsx:70
#: src/views/card/components/NewChecklistItemForm.tsx:89
#: src/views/card/components/NewCommentForm.tsx:31
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/components/DeleteChecklistConfirmation.tsx:38
#: src/views/card/components/DeleteCommentConfirmation.tsx:46
#: src/views/card/components/DueDateSelector.tsx:60
#: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/ListSelector.tsx:53
#: src/views/card/components/MemberSelector.tsx:80
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1969,16 +2014,21 @@ msgstr "Remover"
msgid "Remove member"
msgstr "Remover membro"
#: src/views/card/components/ActivityList.tsx:63
#. placeholder {0}: mergedLabels.length
#: src/views/card/components/ActivityList.tsx:91
msgid "removed {0} labels: <0>{labelList}</0>"
msgstr ""
#: src/views/card/components/ActivityList.tsx:104
msgid "removed a label from the card"
msgstr "removeu uma etiqueta do cartão"
#: src/views/card/components/ActivityList.tsx:65
#: src/views/card/components/ActivityList.tsx:106
msgid "removed a member from the card"
msgstr "removeu um membro do cartão"
#. placeholder {0}: truncate(label)
#: src/views/card/components/ActivityList.tsx:138
#: src/views/card/components/ActivityList.tsx:173
msgid "removed label <0>{0}</0>"
msgstr "removeu a etiqueta <0>{0}</0>"
@@ -1986,22 +2036,22 @@ msgstr "removeu a etiqueta <0>{0}</0>"
#~ msgid "removed label <0>{label}</0>"
#~ msgstr "removed label <0>{label}</0>"
#: src/views/card/components/ActivityList.tsx:76
#: src/views/card/components/ActivityList.tsx:241
#: src/views/card/components/ActivityList.tsx:117
#: src/views/card/components/ActivityList.tsx:276
msgid "removed the due date"
msgstr "removeu a data de vencimento"
#: src/views/card/components/ActivityList.tsx:67
#: src/views/card/components/ActivityList.tsx:108
msgid "renamed a checklist"
msgstr "renomeou uma checklist"
#. placeholder {0}: truncate(toTitle)
#: src/views/card/components/ActivityList.tsx:154
#: src/views/card/components/ActivityList.tsx:189
msgid "renamed checklist <0>{0}</0>"
msgstr "renomeou a checklist <0>{0}</0>"
#. placeholder {0}: truncate(toTitle)
#: src/views/card/components/ActivityList.tsx:178
#: src/views/card/components/ActivityList.tsx:213
msgid "renamed checklist item to <0>{0}</0>"
msgstr "renomeou o item da checklist para <0>{0}</0>"
@@ -2044,7 +2094,8 @@ msgstr "Função"
msgid "Run on your own infrastructure"
msgstr "Execute na sua própria infraestrutura"
#: src/views/card/components/Comment.tsx:165
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
msgstr "Salvar"
@@ -2082,7 +2133,7 @@ msgstr "Auto-hospedar"
msgid "Self host with Github"
msgstr "Auto-hospedar com Github"
#: src/views/card/components/ActivityList.tsx:107
#: src/views/card/components/ActivityList.tsx:142
msgid "self-assigned the card"
msgstr "auto-atribuiu o cartão"
@@ -2102,11 +2153,11 @@ msgstr "Enviar feedback"
msgid "Senior"
msgstr "Sênior"
#: src/views/card/components/DueDateSelector.tsx:116
#: src/views/card/components/DueDateSelector.tsx:117
msgid "Set due date"
msgstr "Definir data de vencimento"
#: src/views/card/components/ActivityList.tsx:74
#: src/views/card/components/ActivityList.tsx:115
msgid "set the due date"
msgstr "definiu a data de vencimento"
@@ -2239,8 +2290,8 @@ msgstr "Plano Team"
msgid "Teams"
msgstr "Equipes"
#: src/views/board/index.tsx:386
#: src/views/board/index.tsx:421
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Template"
@@ -2305,8 +2356,8 @@ msgstr "Eles não poderão acessar este workspace."
#: src/components/DeleteLabelConfirmation.tsx:44
#: src/views/board/components/DeleteBoardConfirmation.tsx:39
#: src/views/card/components/DeleteCardConfirmation.tsx:78
#: src/views/card/components/DeleteChecklistConfirmation.tsx:58
#: src/views/card/components/DeleteCommentConfirmation.tsx:68
#: src/views/card/components/DeleteChecklistConfirmation.tsx:59
#: src/views/card/components/DeleteCommentConfirmation.tsx:69
msgid "This action can't be undone."
msgstr "Essa ação não pode ser desfeita."
@@ -2314,7 +2365,7 @@ msgstr "Essa ação não pode ser desfeita."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Esta chave de API será exibida apenas uma vez. Salve-a em um local seguro."
#: src/views/public/board/index.tsx:168
#: src/views/public/board/index.tsx:169
msgid "This board is private or does not exist"
msgstr "Este quadro é privado ou não existe"
@@ -2346,6 +2397,10 @@ msgstr "Esta URL de workspace está reservada"
msgid "This workspace username has already been taken"
msgstr "Este nome de usuário do workspace já está em uso"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr ""
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2384,19 +2439,19 @@ msgstr "Triagem"
#~ msgid "Trusted by fast-moving teams"
#~ msgstr "Trusted by fast-moving teams"
#: src/views/home/components/Logos.tsx:73
#: src/views/home/components/Logos.tsx:67
msgid "Trusted by fast-moving teams<0/>around the world"
msgstr "Confiado por equipes ágeis<0/>ao redor do mundo"
#: src/views/card/components/NewChecklistItemForm.tsx:88
#: src/views/card/components/NewChecklistItemForm.tsx:89
msgid "Unable to add checklist item"
msgstr "Não foi possível adicionar o item da checklist"
#: src/views/card/components/NewCommentForm.tsx:30
#: src/views/card/components/NewCommentForm.tsx:31
msgid "Unable to add comment"
msgstr "Não foi possível adicionar comentário"
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr ""
@@ -2404,7 +2459,7 @@ msgstr ""
msgid "Unable to create card"
msgstr "Não foi possível criar o cartão"
#: src/views/card/components/NewChecklistForm.tsx:69
#: src/views/card/components/NewChecklistForm.tsx:70
msgid "Unable to create checklist"
msgstr "Não foi possível criar a checklist"
@@ -2421,7 +2476,7 @@ msgstr "Não foi possível criar o template"
msgid "Unable to create workspace"
msgstr "Não foi possível criar o workspace"
#: src/views/card/components/AttachmentThumbnails.tsx:72
#: src/views/card/components/AttachmentThumbnails.tsx:73
msgid "Unable to delete attachment"
msgstr "Não foi possível excluir o anexo"
@@ -2429,15 +2484,15 @@ msgstr "Não foi possível excluir o anexo"
msgid "Unable to delete card"
msgstr "Não foi possível excluir o cartão"
#: src/views/card/components/DeleteChecklistConfirmation.tsx:36
#: src/views/card/components/DeleteChecklistConfirmation.tsx:37
msgid "Unable to delete checklist"
msgstr "Não foi possível excluir a checklist"
#: src/views/card/components/ChecklistItemRow.tsx:87
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Não foi possível excluir o item da checklist"
#: src/views/card/components/DeleteCommentConfirmation.tsx:44
#: src/views/card/components/DeleteCommentConfirmation.tsx:45
msgid "Unable to delete comment"
msgstr "Não foi possível excluir o comentário"
@@ -2445,6 +2500,10 @@ msgstr "Não foi possível excluir o comentário"
msgid "Unable to remove member"
msgstr "Não foi possível remover o membro"
#: src/views/card/components/Checklists.tsx:80
msgid "Unable to reorder checklist item"
msgstr ""
#: src/components/FeedbackModal.tsx:40
msgid "Unable to send feedback"
msgstr "Não foi possível enviar o feedback"
@@ -2457,42 +2516,42 @@ msgstr "Não foi possível atualizar a URL do quadro"
msgid "Unable to update board visibility"
msgstr "Não foi possível atualizar a visibilidade do quadro"
#: src/views/board/index.tsx:229
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Não foi possível atualizar o cartão"
#: src/views/card/components/ChecklistNameInput.tsx:45
#: src/views/card/components/ChecklistNameInput.tsx:46
msgid "Unable to update checklist"
msgstr "Não foi possível atualizar a checklist"
#: src/views/card/components/ChecklistItemRow.tsx:59
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Não foi possível atualizar o item da checklist"
#: src/views/card/components/Comment.tsx:63
#: src/views/card/components/Comment.tsx:64
msgid "Unable to update comment"
msgstr "Não foi possível atualizar o comentário"
#: src/views/card/components/DueDateSelector.tsx:58
#: src/views/card/components/DueDateSelector.tsx:59
msgid "Unable to update due date"
msgstr "Não foi possível atualizar a data de vencimento"
#: src/views/card/components/LabelSelector.tsx:71
#: src/views/card/components/LabelSelector.tsx:72
msgid "Unable to update labels"
msgstr "Não foi possível atualizar as etiquetas"
#: src/views/board/index.tsx:173
#: src/views/card/components/ListSelector.tsx:51
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Não foi possível atualizar a lista"
#: src/views/card/components/MemberSelector.tsx:78
#: src/views/card/components/MemberSelector.tsx:79
msgid "Unable to update members"
msgstr "Não foi possível atualizar os membros"
#. placeholder {0}: truncate(memberName)
#: src/views/card/components/ActivityList.tsx:121
#: src/views/card/components/ActivityList.tsx:156
msgid "unassigned <0>{0}</0> from the card"
msgstr "removeu a atribuição de <0>{0}</0> do cartão"
@@ -2500,7 +2559,7 @@ msgstr "removeu a atribuição de <0>{0}</0> do cartão"
#~ msgid "unassigned <0>{memberName}</0> from the card"
#~ msgstr "unassigned <0>{memberName}</0> from the card"
#: src/views/card/components/ActivityList.tsx:118
#: src/views/card/components/ActivityList.tsx:153
msgid "unassigned themselves from the card"
msgstr "removeu a própria atribuição do cartão"
@@ -2559,24 +2618,24 @@ msgstr "Atualizar"
msgid "Update label"
msgstr "Atualizar etiqueta"
#: src/views/card/components/ActivityList.tsx:70
#: src/views/card/components/ActivityList.tsx:111
msgid "updated a checklist item"
msgstr "atualizou um item da checklist"
#: src/views/card/components/ActivityList.tsx:60
#: src/views/card/components/ActivityList.tsx:101
msgid "updated the description"
msgstr "atualizou a descrição"
#: src/views/card/components/ActivityList.tsx:75
#: src/views/card/components/ActivityList.tsx:116
msgid "updated the due date"
msgstr "atualizou a data de vencimento"
#: src/views/card/components/ActivityList.tsx:59
#: src/views/card/components/ActivityList.tsx:100
msgid "updated the title"
msgstr "atualizou o título"
#. placeholder {0}: truncate(toTitle)
#: src/views/card/components/ActivityList.tsx:90
#: src/views/card/components/ActivityList.tsx:125
msgid "updated the title to <0>{0}</0>"
msgstr "atualizou o título para <0>{0}</0>"
@@ -2602,8 +2661,8 @@ msgstr "Fazer upgrade para Pro (US$29/mês)"
#~ msgid "Upgrade to Team Plan"
#~ msgstr "Upgrade to Team Plan"
#: src/views/card/components/AttachmentUpload.tsx:32
#: src/views/card/components/AttachmentUpload.tsx:78
#: src/views/card/components/AttachmentUpload.tsx:33
#: src/views/card/components/AttachmentUpload.tsx:79
msgid "Upload failed"
msgstr "Falha no upload"
@@ -2656,7 +2715,7 @@ msgstr "Veja e gerencie seu faturamento e assinatura."
msgid "View docs"
msgstr "Ver documentação"
#: src/views/public/board/index.tsx:141
#: src/views/public/board/index.tsx:142
msgid "View only"
msgstr "Somente visualização"
@@ -2664,7 +2723,7 @@ msgstr "Somente visualização"
msgid "View our roadmap."
msgstr "Veja nosso roadmap."
#: src/views/public/board/index.tsx:171
#: src/views/public/board/index.tsx:172
msgid "View workspace"
msgstr "Ver workspace"
@@ -2717,10 +2776,10 @@ msgid "Why make an open source Trello?"
msgstr "Por que criar um Trello open source?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:386
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:113
#: src/views/public/board/index.tsx:114
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Workspace"
@@ -2858,7 +2917,7 @@ msgstr "Seus quadros foram importados."
msgid "Your display name has been updated."
msgstr "Seu nome de exibição foi atualizado."
#: src/views/card/components/AttachmentUpload.tsx:26
#: src/views/card/components/AttachmentUpload.tsx:27
msgid "Your file has been uploaded successfully."
msgstr "Seu arquivo foi enviado com sucesso."
@@ -2897,3 +2956,7 @@ msgstr "O nome do seu workspace foi atualizado."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "O slug do seu workspace foi atualizado."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr ""

File diff suppressed because one or more lines are too long

View File

@@ -31,17 +31,17 @@ msgstr "{0}"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:33
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "{0} | {1}"
msgstr "{0} | {1}"
#. placeholder {0}: labelPublicIds.length
#: src/views/board/components/NewCardForm.tsx:452
#: src/views/board/components/NewCardForm.tsx:453
msgid "{0} labels"
msgstr "{0} метки"
#. placeholder {0}: isTemplate ? "Template" : "Board"
#: src/views/board/index.tsx:408
#: src/views/board/index.tsx:416
msgid "{0} not found"
msgstr "{0} не найден"
@@ -83,7 +83,7 @@ msgstr "Аккаунт удалён"
msgid "Actions"
msgstr "Действия"
#: src/views/card/index.tsx:386
#: src/views/card/index.tsx:387
#: src/views/public/board/CardModal.tsx:158
msgid "Activity"
msgstr "Активность"
@@ -113,11 +113,11 @@ msgstr "Добавить элемент..."
msgid "Add checklist"
msgstr "Добавить чек-лист"
#: src/components/Editor.tsx:451
#: src/components/Editor.tsx:455
msgid "Add description... (type '/' to open commands or '@' to mention)"
msgstr "Добавить описание... (введите '/' для открытия команд или '@' для упоминания)"
#: src/views/card/components/ChecklistItemRow.tsx:195
#: src/views/card/components/ChecklistItemRow.tsx:200
msgid "Add details..."
msgstr "Добавить детали..."
@@ -317,8 +317,8 @@ msgstr "Портал выставления счетов"
msgid "Blog Post"
msgstr "Пост в блоге"
#: src/views/board/index.tsx:382
#: src/views/card/index.tsx:272
#: src/views/board/index.tsx:390
#: src/views/card/index.tsx:273
#: src/views/public/board/index.tsx:114
msgid "Board"
msgstr "Доска"
@@ -386,6 +386,7 @@ msgid "Bug Report"
msgstr "Отчет об ошибке"
#: src/components/DeleteLabelConfirmation.tsx:49
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
#: src/views/card/components/Comment.tsx:159
#: src/views/card/components/DeleteCardConfirmation.tsx:86
@@ -400,12 +401,12 @@ msgstr "Отчет об ошибке"
msgid "Cancel"
msgstr "Отмена"
#: src/views/card/index.tsx:272
#: src/views/card/index.tsx:273
msgid "Card"
msgstr "Карточка"
#: src/views/card/index.tsx:306
#: src/views/card/index.tsx:342
#: src/views/card/index.tsx:307
#: src/views/card/index.tsx:343
msgid "Card not found"
msgstr "Карточка не найдена"
@@ -555,6 +556,10 @@ msgstr "Продолжить с {0}"
msgid "Control who can view and edit your boards."
msgstr "Управляйте тем, кто может просматривать и редактировать ваши доски."
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
msgid "Convert to link"
msgstr "Преобразовать в ссылку"
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
msgid "Core features"
msgstr "Основные функции"
@@ -565,7 +570,7 @@ msgid "Create {0}"
msgstr "Создать {0}"
#: src/components/LabelForm.tsx:213
#: src/views/board/components/NewCardForm.tsx:516
#: src/views/board/components/NewCardForm.tsx:517
#: src/views/board/components/NewListForm.tsx:141
msgid "Create another"
msgstr "Создать ещё одну"
@@ -574,7 +579,7 @@ msgstr "Создать ещё одну"
msgid "Create API key"
msgstr "Создать API-ключ"
#: src/views/board/components/NewCardForm.tsx:526
#: src/views/board/components/NewCardForm.tsx:527
msgid "Create card"
msgstr "Создать карточку"
@@ -604,13 +609,13 @@ msgstr "Создать новый {0}"
msgid "Create new key"
msgstr "Создать новый ключ"
#: src/views/board/components/NewCardForm.tsx:414
#: src/views/board/components/NewCardForm.tsx:415
#: src/views/card/components/LabelSelector.tsx:98
msgid "Create new label"
msgstr "Создать новую метку"
#: src/views/board/index.tsx:64
#: src/views/board/index.tsx:499
#: src/views/board/index.tsx:65
#: src/views/board/index.tsx:507
msgid "Create new list"
msgstr "Создать новый список"
@@ -679,6 +684,7 @@ msgstr "Деактивировать ссылку-приглашение"
#: src/components/DeleteLabelConfirmation.tsx:51
#: src/components/LabelForm.tsx:228
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
#: src/views/card/components/DeleteCardConfirmation.tsx:92
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
@@ -803,8 +809,8 @@ msgid "Download failed"
msgstr "Не удалось загрузить"
#: src/views/board/components/Filters.tsx:171
#: src/views/board/components/NewCardForm.tsx:469
#: src/views/card/index.tsx:139
#: src/views/board/components/NewCardForm.tsx:470
#: src/views/card/index.tsx:140
msgid "Due date"
msgstr "Дата выполнения"
@@ -824,6 +830,10 @@ msgstr "Срок сегодня"
msgid "Due tomorrow"
msgstr "Срок завтра"
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
msgid "Edit"
msgstr "Редактировать"
#: src/views/board/components/BoardDropdown.tsx:41
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
msgid "Edit board URL"
@@ -841,6 +851,10 @@ msgstr "Редактировать метку"
msgid "Edit workspace URL"
msgstr "Редактировать URL рабочей области"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
msgid "Edit YouTube Video"
msgstr "Редактировать видео YouTube"
#: src/views/boards/components/TemplateBoards.tsx:32
msgid "Editing"
msgstr "Редактирование"
@@ -857,6 +871,10 @@ msgstr "Email"
msgid "Enhancement"
msgstr "Улучшение"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
msgid "Enter a custom title"
msgstr "Введите собственный заголовок"
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
msgid "Enter your current password"
msgstr "Введите ваш текущий пароль"
@@ -981,6 +999,10 @@ msgstr "Не удалось скопировать ссылку приглаше
msgid "Failed to create board"
msgstr "Не удалось создать доску"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
msgid "Failed to fetch video information"
msgstr "Не удалось получить информацию о видео"
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
#: src/components/AuthForm.tsx:291
msgid "Failed to login with {0}. Please try again."
@@ -1047,6 +1069,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Для долгосрочной устойчивости мы признаем, что всем хорошим проектам с открытым исходным кодом необходим источник дохода. Наш доход поступает от платного облачного предложения для рабочих пространств с несколькими пользователями и для пользовательских идентификаторов рабочих пространств. Нет обязательства использовать его, и вы можете самостоятельно разместить программное обеспечение на своей инфраструктуре бесплатно."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Бесплатно"
@@ -1092,7 +1116,7 @@ msgstr "Начать"
msgid "Get started by creating a new {0}"
msgstr "Начните с создания нового {0}"
#: src/views/board/index.tsx:491
#: src/views/board/index.tsx:499
msgid "Get started by creating a new list"
msgstr "Начните с создания нового списка"
@@ -1175,6 +1199,10 @@ msgstr "Как разместить самостоятельно?"
msgid "How is the project funded?"
msgstr "Как финансируется проект?"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
msgid "https://www.youtube.com/watch?v=..."
msgstr "https://www.youtube.com/watch?v=..."
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
msgstr "Я подтверждаю, что все данные моего аккаунта будут безвозвратно удалены, и хочу продолжить."
@@ -1327,8 +1355,8 @@ msgid "Keyboard Shortcuts"
msgstr "Горячие клавиши"
#: src/views/board/components/Filters.tsx:155
#: src/views/board/components/NewCardForm.tsx:418
#: src/views/card/index.tsx:121
#: src/views/board/components/NewCardForm.tsx:419
#: src/views/card/index.tsx:122
msgid "Labels"
msgstr "Метки"
@@ -1382,7 +1410,7 @@ msgstr "Светлый"
msgid "Link copied"
msgstr "Ссылка скопирована"
#: src/views/card/index.tsx:113
#: src/views/card/index.tsx:114
msgid "List"
msgstr "Список"
@@ -1445,8 +1473,8 @@ msgstr "Средний приоритет"
#: src/components/SideNavigation.tsx:121
#: src/views/board/components/Filters.tsx:147
#: src/views/board/components/NewCardForm.tsx:376
#: src/views/card/index.tsx:130
#: src/views/board/components/NewCardForm.tsx:377
#: src/views/card/index.tsx:131
#: src/views/members/index.tsx:178
msgid "Members"
msgstr "Участники"
@@ -1520,7 +1548,7 @@ msgid "New label"
msgstr "Новая метка"
#: src/views/board/components/NewListForm.tsx:113
#: src/views/board/index.tsx:462
#: src/views/board/index.tsx:470
msgid "New list"
msgstr "Новый список"
@@ -1581,7 +1609,7 @@ msgstr "URL для загрузки этого вложения недоступ
msgid "No keyboard shortcuts registered."
msgstr "Горячие клавиши не зарегистрированы."
#: src/views/board/index.tsx:488
#: src/views/board/index.tsx:496
msgid "No lists"
msgstr "Нет списков"
@@ -1719,6 +1747,11 @@ msgstr "Пожалуйста, введите действительное имя
msgid "Please enter a valid password"
msgstr "Пожалуйста, введите действительный пароль"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
msgid "Please enter a valid YouTube URL"
msgstr "Пожалуйста, введите корректный URL YouTube"
#: src/views/settings/components/Avatar.tsx:92
msgid "Please select a file to upload."
msgstr "Пожалуйста, выберите файл для загрузки."
@@ -1732,12 +1765,12 @@ msgstr "Пожалуйста, выберите файл для загрузки.
#: src/views/board/components/NewTemplateForm.tsx:77
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
#: src/views/board/components/VisibilityButton.tsx:54
#: src/views/board/index.tsx:170
#: src/views/board/index.tsx:226
#: src/views/board/index.tsx:171
#: src/views/board/index.tsx:227
#: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/card/components/AttachmentThumbnails.tsx:74
#: src/views/card/components/ChecklistItemRow.tsx:67
#: src/views/card/components/ChecklistItemRow.tsx:95
#: src/views/card/components/ChecklistItemRow.tsx:69
#: src/views/card/components/ChecklistItemRow.tsx:97
#: src/views/card/components/ChecklistNameInput.tsx:47
#: src/views/card/components/Checklists.tsx:81
#: src/views/card/components/Comment.tsx:65
@@ -1751,8 +1784,8 @@ msgstr "Пожалуйста, выберите файл для загрузки.
#: src/views/card/components/NewChecklistForm.tsx:71
#: src/views/card/components/NewChecklistItemForm.tsx:90
#: src/views/card/components/NewCommentForm.tsx:32
#: src/views/card/index.tsx:187
#: src/views/card/index.tsx:200
#: src/views/card/index.tsx:188
#: src/views/card/index.tsx:201
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
#: src/views/members/components/InviteMemberForm.tsx:104
#: src/views/members/components/InviteMemberForm.tsx:241
@@ -1924,6 +1957,7 @@ msgstr "Роль"
msgid "Run on your own infrastructure"
msgstr "Запустите на своей инфраструктуре"
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
#: src/views/card/components/Comment.tsx:166
#: src/views/settings/components/Avatar.tsx:309
msgid "Save"
@@ -2107,8 +2141,8 @@ msgstr "Командный план"
msgid "Teams"
msgstr "Команды"
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:417
#: src/views/board/index.tsx:390
#: src/views/board/index.tsx:425
msgid "Template"
msgstr "Шаблон"
@@ -2214,6 +2248,10 @@ msgstr "Этот URL рабочего пространства зарезерв
msgid "This workspace username has already been taken"
msgstr "Это имя пользователя рабочего пространства уже занято."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
msgid "Title"
msgstr "Заголовок"
#: src/views/boards/components/TemplateBoards.tsx:17
#: src/views/boards/components/TemplateBoards.tsx:23
msgid "To Do"
@@ -2256,7 +2294,7 @@ msgstr "Не удалось добавить элемент контрольно
msgid "Unable to add comment"
msgstr "Не удалось добавить комментарий."
#: src/views/card/index.tsx:199
#: src/views/card/index.tsx:200
msgid "Unable to add label"
msgstr "Не удалось добавить метку"
@@ -2293,7 +2331,7 @@ msgstr "Не удалось удалить карточку."
msgid "Unable to delete checklist"
msgstr "Не удалось удалить контрольный список"
#: src/views/card/components/ChecklistItemRow.tsx:94
#: src/views/card/components/ChecklistItemRow.tsx:96
msgid "Unable to delete checklist item"
msgstr "Не удалось удалить элемент контрольного списка"
@@ -2321,8 +2359,8 @@ msgstr "Не удалось обновить URL доски"
msgid "Unable to update board visibility"
msgstr "Не удалось обновить видимость доски"
#: src/views/board/index.tsx:225
#: src/views/card/index.tsx:186
#: src/views/board/index.tsx:226
#: src/views/card/index.tsx:187
msgid "Unable to update card"
msgstr "Не удалось обновить карточку"
@@ -2330,7 +2368,7 @@ msgstr "Не удалось обновить карточку"
msgid "Unable to update checklist"
msgstr "Не удалось обновить контрольный список"
#: src/views/card/components/ChecklistItemRow.tsx:66
#: src/views/card/components/ChecklistItemRow.tsx:68
msgid "Unable to update checklist item"
msgstr "Не удалось обновить элемент контрольного списка"
@@ -2346,7 +2384,7 @@ msgstr "Не удалось обновить дату выполнения"
msgid "Unable to update labels"
msgstr "Не удалось обновить метки"
#: src/views/board/index.tsx:169
#: src/views/board/index.tsx:170
#: src/views/card/components/ListSelector.tsx:52
msgid "Unable to update list"
msgstr "Не удалось обновить список"
@@ -2557,7 +2595,7 @@ msgid "Why make an open source Trello?"
msgstr "Зачем создавать Trello с открытым исходным кодом?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:382
#: src/views/board/index.tsx:390
#: src/views/boards/index.tsx:33
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:114
@@ -2733,3 +2771,7 @@ msgstr "Название вашего рабочего пространства
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Slug вашего рабочего пространства был обновлён."
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
msgid "YouTube URL"
msgstr "YouTube URL"

File diff suppressed because one or more lines are too long

View File

@@ -335,7 +335,7 @@ export function NewCardForm({
saveFormState({ ...formState, description: value });
}}
workspaceMembers={
boardData?.workspace.members?.map(
boardData?.workspace.members.map(
(member): WorkspaceMember => ({
publicId: member.publicId,
email: member.email,
@@ -349,6 +349,7 @@ export function NewCardForm({
}),
) ?? []
}
enableYouTubeEmbed={false}
/>
</div>
</div>

View File

@@ -24,6 +24,7 @@ import { PageHead } from "~/components/PageHead";
import PatternedBackground from "~/components/PatternedBackground";
import { StrictModeDroppable as Droppable } from "~/components/StrictModeDroppable";
import { Tooltip } from "~/components/Tooltip";
import { EditYouTubeModal } from "~/components/YouTubeEmbed/EditYouTubeModal";
import { useKeyboardShortcut } from "~/providers/keyboard-shortcuts";
import { useModal } from "~/providers/modal";
import { usePopup } from "~/providers/popup";
@@ -372,6 +373,13 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
sourceBoardName={boardData?.name ?? ""}
/>
</Modal>
<Modal
modalSize="sm"
isVisible={isOpen && modalContentType === "EDIT_YOUTUBE"}
>
<EditYouTubeModal />
</Modal>
</>
);
};

View File

@@ -13,6 +13,7 @@ import LabelIcon from "~/components/LabelIcon";
import Modal from "~/components/modal";
import { NewWorkspaceForm } from "~/components/NewWorkspaceForm";
import { PageHead } from "~/components/PageHead";
import { EditYouTubeModal } from "~/components/YouTubeEmbed/EditYouTubeModal";
import { useModal } from "~/providers/modal";
import { usePopup } from "~/providers/popup";
import { useWorkspace } from "~/providers/workspace";
@@ -483,6 +484,13 @@ export default function CardPage({ isTemplate }: { isTemplate?: boolean }) {
checklistPublicId={entityId}
/>
</Modal>
<Modal
modalSize="sm"
isVisible={isOpen && modalContentType === "EDIT_YOUTUBE"}
>
<EditYouTubeModal />
</Modal>
</>
</div>
</>