Compare commits
5 Commits
fix/menu-b
...
feat/displ
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d04fd62b8d | ||
|
|
cd3f6fc918 | ||
|
|
47b6f06be4 | ||
|
|
89c8961176 | ||
|
|
a5432c60b7 |
40
.github/workflows/docker-publish.yml
vendored
40
.github/workflows/docker-publish.yml
vendored
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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> `;
|
||||
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> `;
|
||||
|
||||
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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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>
|
||||
|
||||
189
apps/web/src/components/YouTubeEmbed/EditYouTubeModal.tsx
Normal file
189
apps/web/src/components/YouTubeEmbed/EditYouTubeModal.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
53
apps/web/src/components/YouTubeEmbed/YouTubeCard.tsx
Normal file
53
apps/web/src/components/YouTubeEmbed/YouTubeCard.tsx
Normal 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;
|
||||
63
apps/web/src/components/YouTubeEmbed/YouTubeDropdown.tsx
Normal file
63
apps/web/src/components/YouTubeEmbed/YouTubeDropdown.tsx
Normal 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;
|
||||
196
apps/web/src/components/YouTubeEmbed/YouTubeNode.tsx
Normal file
196
apps/web/src/components/YouTubeEmbed/YouTubeNode.tsx
Normal 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,
|
||||
},
|
||||
});
|
||||
},
|
||||
};
|
||||
},
|
||||
});
|
||||
82
apps/web/src/components/YouTubeEmbed/YouTubeNodeView.tsx
Normal file
82
apps/web/src/components/YouTubeEmbed/YouTubeNodeView.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
61
apps/web/src/components/YouTubeEmbed/utils.ts
Normal file
61
apps/web/src/components/YouTubeEmbed/utils.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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>
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user