Compare commits
21 Commits
feat/comme
...
8f5bf806e1
| Author | SHA1 | Date | |
|---|---|---|---|
| 8f5bf806e1 | |||
| 0f57279c77 | |||
| ed5b8d1644 | |||
| 994bf5c7e0 | |||
| 61123f708d | |||
| 5a8a478386 | |||
|
|
02b367fcaa | ||
|
|
f9aaebc4b5 | ||
|
|
56af094c50 | ||
|
|
e9ebd06eaa | ||
|
|
b4e9dd3811 | ||
|
|
d6aa82e070 | ||
|
|
4291d7bc8c | ||
|
|
5c72968d44 | ||
|
|
5b586f4871 | ||
|
|
fee82e5e73 | ||
|
|
03a043784a | ||
|
|
395dbfae04 | ||
|
|
9ec4bedd9a | ||
|
|
ca694595c7 | ||
|
|
0500d5171d |
@@ -60,3 +60,7 @@ pnpm-debug.log
|
|||||||
|
|
||||||
# Cloud compose (separate deployment)
|
# Cloud compose (separate deployment)
|
||||||
cloud/
|
cloud/
|
||||||
|
|
||||||
|
# Local temporary caches
|
||||||
|
.pnpm-store
|
||||||
|
v8-compile-cache-0
|
||||||
|
|||||||
8
.gitignore
vendored
8
.gitignore
vendored
@@ -4,6 +4,9 @@
|
|||||||
node_modules
|
node_modules
|
||||||
.pnp
|
.pnp
|
||||||
.pnp.js
|
.pnp.js
|
||||||
|
.pnpm/
|
||||||
|
.pnpm-store/
|
||||||
|
v8-compile-cache-0/
|
||||||
|
|
||||||
# testing
|
# testing
|
||||||
coverage
|
coverage
|
||||||
@@ -55,4 +58,7 @@ i18n.cache
|
|||||||
# pgdata
|
# pgdata
|
||||||
/apps/web/pgdata
|
/apps/web/pgdata
|
||||||
|
|
||||||
.claude
|
# local scripts
|
||||||
|
scripts/
|
||||||
|
|
||||||
|
.claude
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"version": "1.10",
|
"version": "1.10",
|
||||||
"locale": {
|
"locale": {
|
||||||
"source": "en",
|
"source": "en",
|
||||||
"targets": ["fr", "de", "es", "it", "nl", "ru", "pl", "pt-BR"]
|
"targets": ["fr", "de", "es", "it", "nl", "ru", "pl", "pt-BR", "zh-CN"]
|
||||||
},
|
},
|
||||||
"buckets": {
|
"buckets": {
|
||||||
"json": {
|
"json": {
|
||||||
|
|||||||
@@ -2395,6 +2395,9 @@ checksums:
|
|||||||
uAQUqI/message: 4e1fcce15854d824919b4a582c697c90
|
uAQUqI/message: 4e1fcce15854d824919b4a582c697c90
|
||||||
uAQUqI/origin/0/0: dc1a240d2d0cccb102c67ca311d4e457
|
uAQUqI/origin/0/0: dc1a240d2d0cccb102c67ca311d4e457
|
||||||
uAQUqI/translation: 4e1fcce15854d824919b4a582c697c90
|
uAQUqI/translation: 4e1fcce15854d824919b4a582c697c90
|
||||||
|
hQRttt/message: 7c91ef5f747eea9f77a9c4f23e19fb2e
|
||||||
|
hQRttt/origin/0/0: b1f4eb6768222ea825703105f6014486
|
||||||
|
hQRttt/translation: 7c91ef5f747eea9f77a9c4f23e19fb2e
|
||||||
WYDptz/message: 05f2b4abfc36def17756a6969983cf86
|
WYDptz/message: 05f2b4abfc36def17756a6969983cf86
|
||||||
WYDptz/origin/0/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
WYDptz/origin/0/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||||
WYDptz/translation: 05f2b4abfc36def17756a6969983cf86
|
WYDptz/translation: 05f2b4abfc36def17756a6969983cf86
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { formatter } from "@lingui/format-json";
|
|||||||
|
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
locales: ["en", "fr", "de", "es", "it", "nl", "ru", "pl", "pt-BR"],
|
locales: ["en", "fr", "de", "es", "it", "nl", "ru", "pl", "pt-BR", "zh-CN"],
|
||||||
sourceLocale: "en",
|
sourceLocale: "en",
|
||||||
catalogs: [
|
catalogs: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,13 +27,13 @@
|
|||||||
"@kan/api": "workspace:*",
|
"@kan/api": "workspace:*",
|
||||||
"@kan/auth": "workspace:*",
|
"@kan/auth": "workspace:*",
|
||||||
"@kan/db": "workspace:^",
|
"@kan/db": "workspace:^",
|
||||||
|
"@kan/email": "workspace:^",
|
||||||
"@kan/logger": "workspace:^",
|
"@kan/logger": "workspace:^",
|
||||||
"@kan/shared": "workspace:^",
|
"@kan/shared": "workspace:^",
|
||||||
"@lingui/babel-preset-react": "^2.9.2",
|
"@lingui/babel-preset-react": "^2.9.2",
|
||||||
"@lingui/conf": "^5.3.2",
|
"@lingui/conf": "^5.3.2",
|
||||||
"@lingui/macro": "^5.3.2",
|
"@lingui/macro": "^5.3.2",
|
||||||
"@lingui/react": "^5.3.2",
|
"@lingui/react": "^5.3.2",
|
||||||
"@novu/api": "^3.11.0",
|
|
||||||
"@t3-oss/env-nextjs": "^0.11.1",
|
"@t3-oss/env-nextjs": "^0.11.1",
|
||||||
"@tailwindcss/typography": "^0.5.16",
|
"@tailwindcss/typography": "^0.5.16",
|
||||||
"@tanstack/react-query": "catalog:",
|
"@tanstack/react-query": "catalog:",
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import { t } from "@lingui/core/macro";
|
|||||||
import Link from "@tiptap/extension-link";
|
import Link from "@tiptap/extension-link";
|
||||||
import Mention from "@tiptap/extension-mention";
|
import Mention from "@tiptap/extension-mention";
|
||||||
import Placeholder from "@tiptap/extension-placeholder";
|
import Placeholder from "@tiptap/extension-placeholder";
|
||||||
|
import Typography from "@tiptap/extension-typography";
|
||||||
import {
|
import {
|
||||||
BubbleMenu,
|
BubbleMenu,
|
||||||
EditorContent,
|
EditorContent,
|
||||||
@@ -17,7 +18,6 @@ import {
|
|||||||
ReactRenderer,
|
ReactRenderer,
|
||||||
useEditor,
|
useEditor,
|
||||||
} from "@tiptap/react";
|
} from "@tiptap/react";
|
||||||
import Typography from "@tiptap/extension-typography";
|
|
||||||
import StarterKit from "@tiptap/starter-kit";
|
import StarterKit from "@tiptap/starter-kit";
|
||||||
import Suggestion from "@tiptap/suggestion";
|
import Suggestion from "@tiptap/suggestion";
|
||||||
import {
|
import {
|
||||||
@@ -180,13 +180,13 @@ const RenderSuggestions = () => {
|
|||||||
|
|
||||||
if (!props.clientRect) return;
|
if (!props.clientRect) return;
|
||||||
|
|
||||||
popup[0]?.setProps({
|
popup?.[0]?.setProps({
|
||||||
getReferenceClientRect: props.clientRect,
|
getReferenceClientRect: props.clientRect,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onKeyDown(props: SuggestionKeyDownProps): boolean {
|
onKeyDown(props: SuggestionKeyDownProps): boolean {
|
||||||
if (props.event.key === "Escape") {
|
if (props.event.key === "Escape") {
|
||||||
popup[0]?.hide();
|
popup?.[0]?.hide();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,7 +199,7 @@ const RenderSuggestions = () => {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
onExit() {
|
onExit() {
|
||||||
popup[0]?.destroy();
|
popup?.[0]?.destroy();
|
||||||
reactRenderer.destroy();
|
reactRenderer.destroy();
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -308,11 +308,11 @@ const renderMentionSuggestions = () => {
|
|||||||
onUpdate(props: any) {
|
onUpdate(props: any) {
|
||||||
reactRenderer.updateProps(props);
|
reactRenderer.updateProps(props);
|
||||||
if (!props.clientRect) return;
|
if (!props.clientRect) return;
|
||||||
popup[0]?.setProps({ getReferenceClientRect: props.clientRect });
|
popup?.[0]?.setProps({ getReferenceClientRect: props.clientRect });
|
||||||
},
|
},
|
||||||
onKeyDown(props: SuggestionKeyDownProps) {
|
onKeyDown(props: SuggestionKeyDownProps) {
|
||||||
if (props.event.key === "Escape") {
|
if (props.event.key === "Escape") {
|
||||||
popup[0]?.hide();
|
popup?.[0]?.hide();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
@@ -324,7 +324,7 @@ const renderMentionSuggestions = () => {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
onExit() {
|
onExit() {
|
||||||
popup[0]?.destroy();
|
popup?.[0]?.destroy();
|
||||||
reactRenderer.destroy();
|
reactRenderer.destroy();
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -440,6 +440,7 @@ export default function Editor({
|
|||||||
content,
|
content,
|
||||||
onChange,
|
onChange,
|
||||||
onBlur,
|
onBlur,
|
||||||
|
onSubmit,
|
||||||
readOnly = false,
|
readOnly = false,
|
||||||
workspaceMembers,
|
workspaceMembers,
|
||||||
enableYouTubeEmbed = true,
|
enableYouTubeEmbed = true,
|
||||||
@@ -449,6 +450,7 @@ export default function Editor({
|
|||||||
content: string | null;
|
content: string | null;
|
||||||
onChange?: (value: string) => void;
|
onChange?: (value: string) => void;
|
||||||
onBlur?: () => void;
|
onBlur?: () => void;
|
||||||
|
onSubmit?: () => void;
|
||||||
readOnly?: boolean;
|
readOnly?: boolean;
|
||||||
workspaceMembers: WorkspaceMember[];
|
workspaceMembers: WorkspaceMember[];
|
||||||
enableYouTubeEmbed?: boolean;
|
enableYouTubeEmbed?: boolean;
|
||||||
@@ -461,12 +463,16 @@ export default function Editor({
|
|||||||
// in refs to avoid the editor capturing stale closures on re-render.
|
// in refs to avoid the editor capturing stale closures on re-render.
|
||||||
const onChangeRef = useRef(onChange);
|
const onChangeRef = useRef(onChange);
|
||||||
const onBlurRef = useRef(onBlur);
|
const onBlurRef = useRef(onBlur);
|
||||||
|
const onSubmitRef = useRef(onSubmit);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
onChangeRef.current = onChange;
|
onChangeRef.current = onChange;
|
||||||
}, [onChange]);
|
}, [onChange]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
onBlurRef.current = onBlur;
|
onBlurRef.current = onBlur;
|
||||||
}, [onBlur]);
|
}, [onBlur]);
|
||||||
|
useEffect(() => {
|
||||||
|
onSubmitRef.current = onSubmit;
|
||||||
|
}, [onSubmit]);
|
||||||
|
|
||||||
const editor = useEditor(
|
const editor = useEditor(
|
||||||
{
|
{
|
||||||
@@ -489,8 +495,8 @@ export default function Editor({
|
|||||||
Placeholder.configure({
|
Placeholder.configure({
|
||||||
placeholder: readOnly
|
placeholder: readOnly
|
||||||
? ""
|
? ""
|
||||||
: placeholder ??
|
: (placeholder ??
|
||||||
t`Add description... (type '/' to open commands or '@' to mention)`,
|
t`Add description... (type '/' to open commands or '@' to mention)`),
|
||||||
}),
|
}),
|
||||||
SlashCommands.configure({
|
SlashCommands.configure({
|
||||||
commandItems: getCommandItems(disableHeadings),
|
commandItems: getCommandItems(disableHeadings),
|
||||||
@@ -508,24 +514,26 @@ export default function Editor({
|
|||||||
suggestion: {
|
suggestion: {
|
||||||
char: "@",
|
char: "@",
|
||||||
items: ({ query }: { query: string }) => {
|
items: ({ query }: { query: string }) => {
|
||||||
const withEmail = workspaceMembers.filter((member) => member.email);
|
const withEmail = workspaceMembers.filter(
|
||||||
|
(member) => member.email,
|
||||||
|
);
|
||||||
|
|
||||||
const mapped = withEmail.map((member: WorkspaceMember) => ({
|
const mapped = withEmail.map((member: WorkspaceMember) => ({
|
||||||
id: member.publicId,
|
id: member.publicId,
|
||||||
label: member?.user?.name?.trim() || member.email || "",
|
label: member?.user?.name?.trim() || member.email || "",
|
||||||
image: member?.user?.image ?? null,
|
image: member?.user?.image ?? null,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const all: MentionItem[] = mapped.filter(
|
const all: MentionItem[] = mapped.filter(
|
||||||
(item) => item.label && item.label.length > 0,
|
(item) => item.label && item.label.length > 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
const q = query.toLowerCase().trim();
|
const q = query.toLowerCase().trim();
|
||||||
|
|
||||||
if (q === "") {
|
if (q === "") {
|
||||||
return all;
|
return all;
|
||||||
}
|
}
|
||||||
|
|
||||||
const filtered = all.filter((u) =>
|
const filtered = all.filter((u) =>
|
||||||
u.label.toLowerCase().includes(q),
|
u.label.toLowerCase().includes(q),
|
||||||
);
|
);
|
||||||
@@ -551,15 +559,15 @@ export default function Editor({
|
|||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
Typography.configure({
|
Typography.configure({
|
||||||
openDoubleQuote: false,
|
openDoubleQuote: false,
|
||||||
closeDoubleQuote: false,
|
closeDoubleQuote: false,
|
||||||
openSingleQuote: false,
|
openSingleQuote: false,
|
||||||
closeSingleQuote: false,
|
closeSingleQuote: false,
|
||||||
oneHalf: false,
|
oneHalf: false,
|
||||||
oneQuarter: false,
|
oneQuarter: false,
|
||||||
threeQuarters: false,
|
threeQuarters: false,
|
||||||
superscriptTwo: false,
|
superscriptTwo: false,
|
||||||
superscriptThree: false,
|
superscriptThree: false,
|
||||||
}),
|
}),
|
||||||
...(enableYouTubeEmbed ? [YouTubeNode] : []),
|
...(enableYouTubeEmbed ? [YouTubeNode] : []),
|
||||||
],
|
],
|
||||||
@@ -581,6 +589,13 @@ export default function Editor({
|
|||||||
attributes: {
|
attributes: {
|
||||||
class: "outline-none focus:outline-none focus-visible:ring-0",
|
class: "outline-none focus:outline-none focus-visible:ring-0",
|
||||||
},
|
},
|
||||||
|
handleKeyDown: (_view, event) => {
|
||||||
|
if ((event.metaKey || event.ctrlKey) && event.key === "Enter") {
|
||||||
|
onSubmitRef.current?.();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
editable: !readOnly,
|
editable: !readOnly,
|
||||||
injectCSS: false,
|
injectCSS: false,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { Button } from "@headlessui/react";
|
|||||||
import { t } from "@lingui/core/macro";
|
import { t } from "@lingui/core/macro";
|
||||||
import { env } from "next-runtime-env";
|
import { env } from "next-runtime-env";
|
||||||
import { useTheme } from "next-themes";
|
import { useTheme } from "next-themes";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useMemo, useState } from "react";
|
||||||
import { HiBolt } from "react-icons/hi2";
|
import { HiBolt } from "react-icons/hi2";
|
||||||
import {
|
import {
|
||||||
TbLayoutSidebarLeftCollapse,
|
TbLayoutSidebarLeftCollapse,
|
||||||
@@ -28,6 +28,7 @@ import ButtonComponent from "~/components/Button";
|
|||||||
import ReactiveButton from "~/components/ReactiveButton";
|
import ReactiveButton from "~/components/ReactiveButton";
|
||||||
import UserMenu from "~/components/UserMenu";
|
import UserMenu from "~/components/UserMenu";
|
||||||
import WorkspaceMenu from "~/components/WorkspaceMenu";
|
import WorkspaceMenu from "~/components/WorkspaceMenu";
|
||||||
|
import { useLinguiContext } from "~/providers/lingui";
|
||||||
import { useWorkspace } from "~/providers/workspace";
|
import { useWorkspace } from "~/providers/workspace";
|
||||||
import { api } from "~/utils/api";
|
import { api } from "~/utils/api";
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ export default function SideNavigation({
|
|||||||
}: SideNavigationProps) {
|
}: SideNavigationProps) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { workspace } = useWorkspace();
|
const { workspace } = useWorkspace();
|
||||||
|
const { locale } = useLinguiContext();
|
||||||
const [isCollapsed, setIsCollapsed] = useState(false);
|
const [isCollapsed, setIsCollapsed] = useState(false);
|
||||||
const [isInitialised, setIsInitialised] = useState(false);
|
const [isInitialised, setIsInitialised] = useState(false);
|
||||||
|
|
||||||
@@ -92,56 +94,59 @@ export default function SideNavigation({
|
|||||||
href: string;
|
href: string;
|
||||||
icon: object;
|
icon: object;
|
||||||
keyboardShortcut: KeyboardShortcut;
|
keyboardShortcut: KeyboardShortcut;
|
||||||
}[] = [
|
}[] = useMemo(
|
||||||
{
|
() => [
|
||||||
name: t`Boards`,
|
{
|
||||||
href: "/boards",
|
name: t`Boards`,
|
||||||
icon: isDarkMode ? boardsIconDark : boardsIconLight,
|
href: "/boards",
|
||||||
keyboardShortcut: {
|
icon: isDarkMode ? boardsIconDark : boardsIconLight,
|
||||||
type: "SEQUENCE",
|
keyboardShortcut: {
|
||||||
strokes: [{ key: "G" }, { key: "B" }],
|
type: "SEQUENCE",
|
||||||
action: () => router.push("/boards"),
|
strokes: [{ key: "G" }, { key: "B" }],
|
||||||
group: "NAVIGATION",
|
action: () => router.push("/boards"),
|
||||||
description: t`Go to boards`,
|
group: "NAVIGATION",
|
||||||
|
description: t`Go to boards`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
{
|
name: t`Templates`,
|
||||||
name: t`Templates`,
|
href: "/templates",
|
||||||
href: "/templates",
|
icon: isDarkMode ? templatesIconDark : templatesIconLight,
|
||||||
icon: isDarkMode ? templatesIconDark : templatesIconLight,
|
keyboardShortcut: {
|
||||||
keyboardShortcut: {
|
type: "SEQUENCE",
|
||||||
type: "SEQUENCE",
|
strokes: [{ key: "G" }, { key: "T" }],
|
||||||
strokes: [{ key: "G" }, { key: "T" }],
|
action: () => router.push("/templates"),
|
||||||
action: () => router.push("/templates"),
|
group: "NAVIGATION",
|
||||||
group: "NAVIGATION",
|
description: t`Go to templates`,
|
||||||
description: t`Go to templates`,
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
{
|
name: t`Members`,
|
||||||
name: t`Members`,
|
href: "/members",
|
||||||
href: "/members",
|
icon: isDarkMode ? membersIconDark : membersIconLight,
|
||||||
icon: isDarkMode ? membersIconDark : membersIconLight,
|
keyboardShortcut: {
|
||||||
keyboardShortcut: {
|
type: "SEQUENCE",
|
||||||
type: "SEQUENCE",
|
strokes: [{ key: "G" }, { key: "M" }],
|
||||||
strokes: [{ key: "G" }, { key: "M" }],
|
action: () => router.push("/members"),
|
||||||
action: () => router.push("/members"),
|
group: "NAVIGATION",
|
||||||
group: "NAVIGATION",
|
description: t`Go to members`,
|
||||||
description: t`Go to members`,
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
{
|
name: t`Settings`,
|
||||||
name: t`Settings`,
|
href: "/settings",
|
||||||
href: "/settings",
|
icon: isDarkMode ? settingsIconDark : settingsIconLight,
|
||||||
icon: isDarkMode ? settingsIconDark : settingsIconLight,
|
keyboardShortcut: {
|
||||||
keyboardShortcut: {
|
type: "SEQUENCE",
|
||||||
type: "SEQUENCE",
|
strokes: [{ key: "G" }, { key: "S" }],
|
||||||
strokes: [{ key: "G" }, { key: "S" }],
|
action: () => router.push("/settings"),
|
||||||
action: () => router.push("/settings"),
|
group: "NAVIGATION",
|
||||||
group: "NAVIGATION",
|
description: t`Go to settings`,
|
||||||
description: t`Go to settings`,
|
},
|
||||||
},
|
},
|
||||||
},
|
],
|
||||||
];
|
[isDarkMode, locale, router],
|
||||||
|
);
|
||||||
|
|
||||||
const toggleCollapse = () => {
|
const toggleCollapse = () => {
|
||||||
setIsCollapsed(!isCollapsed);
|
setIsCollapsed(!isCollapsed);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { ReactNode } from "react";
|
import type { ReactNode } from "react";
|
||||||
import type { Root } from "react-dom/client";
|
import type { Root } from "react-dom/client";
|
||||||
import type { Placement } from "tippy.js";
|
import type { Placement, Instance as TippyInstance } from "tippy.js";
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
import { createRoot } from "react-dom/client";
|
import { createRoot } from "react-dom/client";
|
||||||
import tippy from "tippy.js";
|
import tippy from "tippy.js";
|
||||||
@@ -20,16 +20,16 @@ export function Tooltip({
|
|||||||
}: TooltipProps) {
|
}: TooltipProps) {
|
||||||
const triggerRef = useRef<HTMLDivElement>(null);
|
const triggerRef = useRef<HTMLDivElement>(null);
|
||||||
const rootRef = useRef<Root | null>(null);
|
const rootRef = useRef<Root | null>(null);
|
||||||
|
const tippyRef = useRef<TippyInstance | null>(null);
|
||||||
|
const contentRef = useRef(content);
|
||||||
|
contentRef.current = content;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!triggerRef.current) return;
|
if (!triggerRef.current) return;
|
||||||
|
|
||||||
if (!content) return;
|
|
||||||
|
|
||||||
const container = document.createElement("div");
|
const container = document.createElement("div");
|
||||||
const root = createRoot(container);
|
const root = createRoot(container);
|
||||||
rootRef.current = root;
|
rootRef.current = root;
|
||||||
root.render(content);
|
|
||||||
|
|
||||||
const instance = tippy(triggerRef.current, {
|
const instance = tippy(triggerRef.current, {
|
||||||
content: container,
|
content: container,
|
||||||
@@ -39,12 +39,33 @@ export function Tooltip({
|
|||||||
theme: "tooltip",
|
theme: "tooltip",
|
||||||
touch: false,
|
touch: false,
|
||||||
});
|
});
|
||||||
|
tippyRef.current = instance;
|
||||||
|
|
||||||
|
if (contentRef.current) {
|
||||||
|
root.render(contentRef.current);
|
||||||
|
} else {
|
||||||
|
instance.disable();
|
||||||
|
}
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
instance.destroy();
|
instance.destroy();
|
||||||
rootRef.current?.unmount();
|
tippyRef.current = null;
|
||||||
|
root.unmount();
|
||||||
|
rootRef.current = null;
|
||||||
};
|
};
|
||||||
}, [content, placement, delay]);
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
}, [placement, delay]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!content) {
|
||||||
|
tippyRef.current?.disable();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (tippyRef.current) {
|
||||||
|
tippyRef.current.enable();
|
||||||
|
rootRef.current?.render(content);
|
||||||
|
}
|
||||||
|
}, [content]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div ref={triggerRef} className="inline-flex">
|
<div ref={triggerRef} className="inline-flex">
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import { useRouter } from "next/navigation";
|
|||||||
import { Button, Menu, Transition } from "@headlessui/react";
|
import { Button, Menu, Transition } from "@headlessui/react";
|
||||||
import { t } from "@lingui/core/macro";
|
import { t } from "@lingui/core/macro";
|
||||||
import { env } from "next-runtime-env";
|
import { env } from "next-runtime-env";
|
||||||
import { Fragment, useState } from "react";
|
import { Fragment, useMemo, useState } from "react";
|
||||||
import { HiCheck, HiMagnifyingGlass } from "react-icons/hi2";
|
import { HiCheck, HiMagnifyingGlass } from "react-icons/hi2";
|
||||||
import { twMerge } from "tailwind-merge";
|
import { twMerge } from "tailwind-merge";
|
||||||
|
|
||||||
import { useKeyboardShortcut } from "~/providers/keyboard-shortcuts";
|
import { useKeyboardShortcut } from "~/providers/keyboard-shortcuts";
|
||||||
|
import { useLinguiContext } from "~/providers/lingui";
|
||||||
import { useModal } from "~/providers/modal";
|
import { useModal } from "~/providers/modal";
|
||||||
import { useWorkspace } from "~/providers/workspace";
|
import { useWorkspace } from "~/providers/workspace";
|
||||||
import { api } from "~/utils/api";
|
import { api } from "~/utils/api";
|
||||||
@@ -20,23 +21,29 @@ export default function WorkspaceMenu({
|
|||||||
}) {
|
}) {
|
||||||
const { workspace, isLoading, availableWorkspaces, switchWorkspace } =
|
const { workspace, isLoading, availableWorkspaces, switchWorkspace } =
|
||||||
useWorkspace();
|
useWorkspace();
|
||||||
|
const { locale } = useLinguiContext();
|
||||||
const { openModal } = useModal();
|
const { openModal } = useModal();
|
||||||
const { data: hasPartnerSlot } =
|
const { data: hasPartnerSlot } =
|
||||||
api.workspace.hasAvailablePartnerSlot.useQuery();
|
api.workspace.hasAvailablePartnerSlot.useQuery();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [isOpen, setIsOpen] = useState(false);
|
const [isOpen, setIsOpen] = useState(false);
|
||||||
|
|
||||||
const { tooltipContent: commandPaletteShortcutTooltipContent } =
|
const commandPaletteShortcut = useMemo(
|
||||||
useKeyboardShortcut({
|
() => ({
|
||||||
type: "PRESS",
|
type: "PRESS" as const,
|
||||||
stroke: {
|
stroke: {
|
||||||
key: "k",
|
key: "k",
|
||||||
modifiers: ["META"],
|
modifiers: ["META"] as ("META" | "CONTROL" | "ALT" | "SHIFT")[],
|
||||||
},
|
},
|
||||||
action: () => setIsOpen(true),
|
action: () => setIsOpen(true),
|
||||||
description: t`Open command menu`,
|
description: t`Open command menu`,
|
||||||
group: "GENERAL",
|
group: "GENERAL" as const,
|
||||||
});
|
}),
|
||||||
|
[locale],
|
||||||
|
);
|
||||||
|
|
||||||
|
const { tooltipContent: commandPaletteShortcutTooltipContent } =
|
||||||
|
useKeyboardShortcut(commandPaletteShortcut);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -52,8 +52,9 @@ export const env = createEnv({
|
|||||||
VK_CLIENT_SECRET: z.string().optional(),
|
VK_CLIENT_SECRET: z.string().optional(),
|
||||||
LINKEDIN_CLIENT_ID: z.string().optional(),
|
LINKEDIN_CLIENT_ID: z.string().optional(),
|
||||||
LINKEDIN_CLIENT_SECRET: z.string().optional(),
|
LINKEDIN_CLIENT_SECRET: z.string().optional(),
|
||||||
NOVU_API_KEY: z.string().optional(),
|
SUBSCRIBER_API_URL: z.string().url().optional(),
|
||||||
EMAIL_UNSUBSCRIBE_SECRET: z.string().optional(),
|
SUBSCRIBER_API_KEY: z.string().optional(),
|
||||||
|
SUBSCRIBER_ENVIRONMENT_ID: z.string().optional(),
|
||||||
// Generic OIDC Provider
|
// Generic OIDC Provider
|
||||||
OIDC_CLIENT_ID: z.string().optional(),
|
OIDC_CLIENT_ID: z.string().optional(),
|
||||||
OIDC_CLIENT_SECRET: z.string().optional(),
|
OIDC_CLIENT_SECRET: z.string().optional(),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { Locale as DateFnsLocale } from "date-fns";
|
import type { Locale as DateFnsLocale } from "date-fns";
|
||||||
import { useLingui } from "@lingui/react";
|
import { useLingui } from "@lingui/react";
|
||||||
import { de, enGB, es, fr, it, nl, pl, ptBR, ru } from "date-fns/locale";
|
import { de, enGB, es, fr, it, nl, pl, ptBR, ru, zhCN } from "date-fns/locale";
|
||||||
|
|
||||||
import type { Locale } from "~/locales";
|
import type { Locale } from "~/locales";
|
||||||
import { useLinguiContext } from "~/providers/lingui";
|
import { useLinguiContext } from "~/providers/lingui";
|
||||||
@@ -20,6 +20,7 @@ export function useLocalisation() {
|
|||||||
ru,
|
ru,
|
||||||
pl,
|
pl,
|
||||||
ptbr: ptBR,
|
ptbr: ptBR,
|
||||||
|
"zh-CN": zhCN,
|
||||||
};
|
};
|
||||||
|
|
||||||
const currentDateLocale = dateLocaleMap[locale] ?? enGB;
|
const currentDateLocale = dateLocaleMap[locale] ?? enGB;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { useEffect } from "react";
|
import { useCallback, useEffect, useRef } from "react";
|
||||||
|
|
||||||
import { useModal } from "~/providers/modal";
|
import { useModal } from "~/providers/modal";
|
||||||
|
|
||||||
interface UseModalFormStateOptions<T> {
|
interface UseModalFormStateOptions<T> {
|
||||||
@@ -12,25 +13,43 @@ export function useModalFormState<T extends Record<string, any>>({
|
|||||||
initialValues,
|
initialValues,
|
||||||
resetOnClose = false,
|
resetOnClose = false,
|
||||||
}: UseModalFormStateOptions<T>) {
|
}: UseModalFormStateOptions<T>) {
|
||||||
const { modalContentType, isOpen, getModalState, setModalState, clearModalState } = useModal();
|
const {
|
||||||
|
modalContentType,
|
||||||
|
isOpen,
|
||||||
|
getModalState,
|
||||||
|
setModalState,
|
||||||
|
clearModalState,
|
||||||
|
} = useModal();
|
||||||
|
|
||||||
const isCurrentModal = modalContentType === modalType;
|
const isCurrentModal = modalContentType === modalType;
|
||||||
const savedState = getModalState(modalType) as T | undefined;
|
const savedState = getModalState(modalType) as T | undefined;
|
||||||
|
|
||||||
// get current form state (using the saved values if available, otherwise the initial values)
|
// get current form state (using the saved values if available, otherwise the initial values)
|
||||||
const formState = savedState || initialValues;
|
const formState = savedState || initialValues;
|
||||||
|
|
||||||
const saveFormState = (state: Partial<T>) => {
|
// Keep refs so the callbacks below stay stable across re-renders.
|
||||||
if (!isCurrentModal) return;
|
const modalTypeRef = useRef(modalType);
|
||||||
|
const initialValuesRef = useRef(initialValues);
|
||||||
const currentState = getModalState(modalType) || initialValues;
|
const getModalStateRef = useRef(getModalState);
|
||||||
const newState = { ...currentState, ...state };
|
modalTypeRef.current = modalType;
|
||||||
setModalState(modalType, newState);
|
initialValuesRef.current = initialValues;
|
||||||
};
|
getModalStateRef.current = getModalState;
|
||||||
|
|
||||||
const clearFormState = () => {
|
const saveFormState = useCallback(
|
||||||
clearModalState(modalType);
|
(state: Partial<T>) => {
|
||||||
};
|
const type = modalTypeRef.current;
|
||||||
|
const currentState =
|
||||||
|
getModalStateRef.current(type) ?? initialValuesRef.current;
|
||||||
|
const newState = { ...currentState, ...state };
|
||||||
|
setModalState(type, newState);
|
||||||
|
},
|
||||||
|
// setModalState is stable (useCallback with [] deps in ModalProvider)
|
||||||
|
[setModalState],
|
||||||
|
);
|
||||||
|
|
||||||
|
const clearFormState = useCallback(() => {
|
||||||
|
clearModalState(modalTypeRef.current);
|
||||||
|
}, [clearModalState]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (resetOnClose && !isOpen && savedState) {
|
if (resetOnClose && !isOpen && savedState) {
|
||||||
@@ -45,4 +64,4 @@ export function useModalFormState<T extends Record<string, any>>({
|
|||||||
isCurrentModal,
|
isCurrentModal,
|
||||||
hasSavedState: !!savedState,
|
hasSavedState: !!savedState,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} nicht gefunden"
|
"translation": "{0} nicht gefunden"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Kommentar hinzufügen... (‚/' für Befehle oder ‚@' zum Erwähnen eingeben)"
|
"translation": "Kommentar hinzufügen... (‚/' für Befehle oder ‚@' zum Erwähnen eingeben)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Beschreibung hinzufügen... (‚/' für Befehle oder ‚@' zum Erwähnen eingeben)"
|
"translation": "Beschreibung hinzufügen... (‚/' für Befehle oder ‚@' zum Erwähnen eingeben)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Jährlich"
|
"translation": "Jährlich"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "Archiviert"
|
"translation": "Archiviert"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Ideal für kleine Teams, die gemeinsam arbeiten und schneller vorankommen möchten."
|
"translation": "Ideal für kleine Teams, die gemeinsam arbeiten und schneller vorankommen möchten."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Boards"
|
"translation": "Boards"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Tarif wählen"
|
"translation": "Tarif wählen"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Bestätigen Sie Ihre E-Mail-Einstellungen:"
|
"translation": "Bestätigen Sie Ihre E-Mail-Einstellungen:",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Weiter"
|
"translation": "Weiter"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Neues {0} erstellen"
|
"translation": "Neues {0} erstellen"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Neue Liste erstellen"
|
"translation": "Neue Liste erstellen"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Workspace erstellen"
|
"translation": "Workspace erstellen"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "Möchten Sie das Abonnement kündigen?"
|
"translation": "Möchten Sie das Abonnement kündigen?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Legen Sie los, indem Sie eine neue Liste erstellen"
|
"translation": "Legen Sie los, indem Sie eine neue Liste erstellen"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Zu den Boards"
|
"translation": "Zu den Boards"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Zu den Mitgliedern"
|
"translation": "Zu den Mitgliedern"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Zu den Einstellungen"
|
"translation": "Zu den Einstellungen"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Zu Vorlagen gehen"
|
"translation": "Zu Vorlagen gehen"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Gut geeignet für Einsteiger, die nur die wichtigsten Funktionen benötigen."
|
"translation": "Gut geeignet für Einsteiger, die nur die wichtigsten Funktionen benötigen."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Importieren"
|
"translation": "Importieren"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Neu"
|
"translation": "Neu"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Neue Liste"
|
"translation": "Neue Liste"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Keine Listen"
|
"translation": "Keine Listen"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Es wurden noch keine Listen erstellt"
|
"translation": "Es wurden noch keine Listen erstellt"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Wählen Sie einen Tarif, um loszulegen. Alle kostenpflichtigen Tarife beinhalten eine 14-tägige kostenlose Testphase."
|
"translation": "Wählen Sie einen Tarif, um loszulegen. Alle kostenpflichtigen Tarife beinhalten eine 14-tägige kostenlose Testphase."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Einstellungen"
|
"translation": "Einstellungen"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Abmelden"
|
"translation": "Abmelden"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Solo"
|
"translation": "Solo"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Kostenlose Testversion starten"
|
"translation": "Kostenlose Testversion starten"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Status"
|
"translation": "Status"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Absenden"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Team"
|
"translation": "Team"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Vorlage"
|
"translation": "Vorlage"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Vorlagen"
|
"translation": "Vorlagen"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "Kommentar konnte nicht hinzugefügt werden"
|
"translation": "Kommentar konnte nicht hinzugefügt werden"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "Karte konnte nicht aktualisiert werden"
|
"translation": "Karte konnte nicht aktualisiert werden"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "Liste konnte nicht aktualisiert werden"
|
"translation": "Liste konnte nicht aktualisiert werden"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Unbegrenzte Mitglieder und ein individueller Workspace-Benutzername für Teams, die wachsen möchten."
|
"translation": "Unbegrenzte Mitglieder und ein individueller Workspace-Benutzername für Teams, die wachsen möchten."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Abmelden"
|
"translation": "Abmelden",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Upgrade"
|
"translation": "Upgrade"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "Wir konnten Ihre Einstellungen nicht aktualisieren. Bitte versuchen Sie es erneut."
|
"translation": "Wir konnten Ihre Einstellungen nicht aktualisieren. Bitte versuchen Sie es erneut.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "Sie haben keine Berechtigung"
|
"translation": "Sie haben keine Berechtigung"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "Sie wurden abgemeldet!"
|
"translation": "Sie wurden abgemeldet!",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Ihr Avatar"
|
"translation": "Ihr Avatar"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "Ihrem Abmelde-Link fehlt ein Token. Bitte öffnen Sie die neueste E-Mail und versuchen Sie es erneut."
|
"translation": "Ihrem Abmelde-Link fehlt ein Token. Bitte öffnen Sie die neueste E-Mail und versuchen Sie es erneut.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} no encontrado"
|
"translation": "{0} no encontrado"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Añadir comentario... (escribe '/' para abrir comandos o '@' para mencionar)"
|
"translation": "Añadir comentario... (escribe '/' para abrir comandos o '@' para mencionar)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Añadir descripción... (escribe '/' para abrir comandos o '@' para mencionar)"
|
"translation": "Añadir descripción... (escribe '/' para abrir comandos o '@' para mencionar)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Anual"
|
"translation": "Anual"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "Archivado"
|
"translation": "Archivado"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Ideal para equipos pequeños que desean colaborar y avanzar más rápido juntos."
|
"translation": "Ideal para equipos pequeños que desean colaborar y avanzar más rápido juntos."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Tableros"
|
"translation": "Tableros"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Elige un plan"
|
"translation": "Elige un plan"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Confirma tus preferencias de correo electrónico:"
|
"translation": "Confirma tus preferencias de correo electrónico:",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Continuar"
|
"translation": "Continuar"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Crear nuevo {0}"
|
"translation": "Crear nuevo {0}"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Crear nueva lista"
|
"translation": "Crear nueva lista"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Crear espacio de trabajo"
|
"translation": "Crear espacio de trabajo"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "¿Quieres cancelar la suscripción?"
|
"translation": "¿Quieres cancelar la suscripción?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Comienza creando una nueva lista"
|
"translation": "Comienza creando una nueva lista"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Ir a tableros"
|
"translation": "Ir a tableros"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Ir a miembros"
|
"translation": "Ir a miembros"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Ir a configuración"
|
"translation": "Ir a configuración"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Ir a plantillas"
|
"translation": "Ir a plantillas"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Ideal para personas que comienzan y solo necesitan lo esencial."
|
"translation": "Ideal para personas que comienzan y solo necesitan lo esencial."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Importar"
|
"translation": "Importar"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Nuevo"
|
"translation": "Nuevo"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Nueva lista"
|
"translation": "Nueva lista"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Sin listas"
|
"translation": "Sin listas"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Aún no se han creado listas"
|
"translation": "Aún no se han creado listas"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Elige un plan para comenzar. Todos los planes de pago incluyen una prueba gratuita de 14 días."
|
"translation": "Elige un plan para comenzar. Todos los planes de pago incluyen una prueba gratuita de 14 días."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Configuración"
|
"translation": "Configuración"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Cerrar sesión"
|
"translation": "Cerrar sesión"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Individual"
|
"translation": "Individual"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Iniciar prueba gratuita"
|
"translation": "Iniciar prueba gratuita"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Estado"
|
"translation": "Estado"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Enviar"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Equipo"
|
"translation": "Equipo"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Plantilla"
|
"translation": "Plantilla"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Plantillas"
|
"translation": "Plantillas"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "No se pudo agregar el comentario"
|
"translation": "No se pudo agregar el comentario"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "No se pudo actualizar la tarjeta"
|
"translation": "No se pudo actualizar la tarjeta"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "No se pudo actualizar la lista"
|
"translation": "No se pudo actualizar la lista"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Miembros ilimitados y un nombre de usuario personalizado para el espacio de trabajo para equipos listos para escalar."
|
"translation": "Miembros ilimitados y un nombre de usuario personalizado para el espacio de trabajo para equipos listos para escalar."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Cancelar suscripción"
|
"translation": "Cancelar suscripción",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Actualizar"
|
"translation": "Actualizar"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "No pudimos actualizar tus preferencias. Por favor, inténtalo de nuevo."
|
"translation": "No pudimos actualizar tus preferencias. Por favor, inténtalo de nuevo.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "No tienes permiso"
|
"translation": "No tienes permiso"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "¡Te has dado de baja!"
|
"translation": "¡Te has dado de baja!",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Tu avatar"
|
"translation": "Tu avatar"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "Tu enlace de cancelación de suscripción no tiene un token. Por favor, abre el último correo electrónico e inténtalo de nuevo."
|
"translation": "Tu enlace de cancelación de suscripción no tiene un token. Por favor, abre el último correo electrónico e inténtalo de nuevo.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} introuvable"
|
"translation": "{0} introuvable"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Ajouter un commentaire... (tapez « / » pour ouvrir les commandes ou « @ » pour mentionner)"
|
"translation": "Ajouter un commentaire... (tapez « / » pour ouvrir les commandes ou « @ » pour mentionner)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Ajouter une description... (tapez « / » pour ouvrir les commandes ou « @ » pour mentionner)"
|
"translation": "Ajouter une description... (tapez « / » pour ouvrir les commandes ou « @ » pour mentionner)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Annuel"
|
"translation": "Annuel"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "Archivé"
|
"translation": "Archivé"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Idéal pour les petites équipes qui souhaitent collaborer et avancer plus rapidement ensemble."
|
"translation": "Idéal pour les petites équipes qui souhaitent collaborer et avancer plus rapidement ensemble."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Tableaux"
|
"translation": "Tableaux"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Choisir un forfait"
|
"translation": "Choisir un forfait"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Confirmez vos préférences d'e-mail :"
|
"translation": "Confirmez vos préférences d'e-mail :",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Continuer"
|
"translation": "Continuer"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Créer un nouveau {0}"
|
"translation": "Créer un nouveau {0}"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Créer une nouvelle liste"
|
"translation": "Créer une nouvelle liste"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Créer un espace de travail"
|
"translation": "Créer un espace de travail"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "Voulez-vous vous désabonner ?"
|
"translation": "Voulez-vous vous désabonner ?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Commencez en créant une nouvelle liste"
|
"translation": "Commencez en créant une nouvelle liste"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Aller aux tableaux"
|
"translation": "Aller aux tableaux"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Aller aux membres"
|
"translation": "Aller aux membres"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Aller aux paramètres"
|
"translation": "Aller aux paramètres"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Aller aux modèles"
|
"translation": "Aller aux modèles"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Idéal pour les particuliers qui débutent et qui ont simplement besoin de l'essentiel."
|
"translation": "Idéal pour les particuliers qui débutent et qui ont simplement besoin de l'essentiel."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Importer"
|
"translation": "Importer"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Nouveau"
|
"translation": "Nouveau"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Nouvelle liste"
|
"translation": "Nouvelle liste"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Aucune liste"
|
"translation": "Aucune liste"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Aucune liste n'a encore été créée"
|
"translation": "Aucune liste n'a encore été créée"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Choisissez un forfait pour commencer. Tous les forfaits payants incluent un essai gratuit de 14 jours."
|
"translation": "Choisissez un forfait pour commencer. Tous les forfaits payants incluent un essai gratuit de 14 jours."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Paramètres"
|
"translation": "Paramètres"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Se déconnecter"
|
"translation": "Se déconnecter"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Solo"
|
"translation": "Solo"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Commencer l'essai gratuit"
|
"translation": "Commencer l'essai gratuit"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Statut"
|
"translation": "Statut"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Soumettre"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Équipe"
|
"translation": "Équipe"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Modèle"
|
"translation": "Modèle"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Modèles"
|
"translation": "Modèles"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "Impossible d'ajouter le commentaire"
|
"translation": "Impossible d'ajouter le commentaire"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "Impossible de mettre à jour la carte"
|
"translation": "Impossible de mettre à jour la carte"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "Impossible de mettre à jour la liste"
|
"translation": "Impossible de mettre à jour la liste"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Membres illimités et un nom d'utilisateur d'espace de travail personnalisé pour les équipes prêtes à évoluer."
|
"translation": "Membres illimités et un nom d'utilisateur d'espace de travail personnalisé pour les équipes prêtes à évoluer."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Se désabonner"
|
"translation": "Se désabonner",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Mettre à niveau"
|
"translation": "Mettre à niveau"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "Nous n'avons pas pu mettre à jour vos préférences. Veuillez réessayer."
|
"translation": "Nous n'avons pas pu mettre à jour vos préférences. Veuillez réessayer.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "Vous n'avez pas la permission"
|
"translation": "Vous n'avez pas la permission"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "Vous avez été désabonné !"
|
"translation": "Vous avez été désabonné !",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Votre avatar"
|
"translation": "Votre avatar"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "Votre lien de désinscription ne contient pas de jeton. Veuillez ouvrir le dernier e-mail et réessayer."
|
"translation": "Votre lien de désinscription ne contient pas de jeton. Veuillez ouvrir le dernier e-mail et réessayer.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -7,12 +7,14 @@ export const locales = [
|
|||||||
"nl",
|
"nl",
|
||||||
"ru",
|
"ru",
|
||||||
"pl",
|
"pl",
|
||||||
"ptbr"
|
"ptbr",
|
||||||
|
"zh-CN",
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
export type Locale = (typeof locales)[number];
|
export type Locale = (typeof locales)[number];
|
||||||
|
|
||||||
export const defaultLocale: Locale = "en";
|
// 自托管实例默认使用简体中文,用户仍可在设置中切换其他语言。
|
||||||
|
export const defaultLocale: Locale = "zh-CN";
|
||||||
|
|
||||||
export const localeNames: Record<Locale, string> = {
|
export const localeNames: Record<Locale, string> = {
|
||||||
en: "English",
|
en: "English",
|
||||||
@@ -24,4 +26,5 @@ export const localeNames: Record<Locale, string> = {
|
|||||||
ru: "Русский",
|
ru: "Русский",
|
||||||
pl: "Polski",
|
pl: "Polski",
|
||||||
ptbr: "Português",
|
ptbr: "Português",
|
||||||
|
"zh-CN": "简体中文",
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} non trovato"
|
"translation": "{0} non trovato"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Aggiungi commento... (digita '/' per aprire i comandi o '@' per menzionare)"
|
"translation": "Aggiungi commento... (digita '/' per aprire i comandi o '@' per menzionare)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Aggiungi descrizione... (digita '/' per aprire i comandi o '@' per menzionare)"
|
"translation": "Aggiungi descrizione... (digita '/' per aprire i comandi o '@' per menzionare)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Annuale"
|
"translation": "Annuale"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "Archiviato"
|
"translation": "Archiviato"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Ideale per piccoli team che vogliono collaborare e muoversi più velocemente insieme."
|
"translation": "Ideale per piccoli team che vogliono collaborare e muoversi più velocemente insieme."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Board"
|
"translation": "Board"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Scegli un piano"
|
"translation": "Scegli un piano"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Conferma le tue preferenze email:"
|
"translation": "Conferma le tue preferenze email:",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Continua"
|
"translation": "Continua"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Crea nuovo {0}"
|
"translation": "Crea nuovo {0}"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Crea nuova lista"
|
"translation": "Crea nuova lista"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Crea workspace"
|
"translation": "Crea workspace"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "Vuoi annullare l'iscrizione?"
|
"translation": "Vuoi annullare l'iscrizione?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Inizia creando una nuova lista"
|
"translation": "Inizia creando una nuova lista"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Vai alle bacheche"
|
"translation": "Vai alle bacheche"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Vai ai membri"
|
"translation": "Vai ai membri"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Vai alle impostazioni"
|
"translation": "Vai alle impostazioni"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Vai ai modelli"
|
"translation": "Vai ai modelli"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Perfetto per chi inizia e ha bisogno solo delle funzionalità essenziali."
|
"translation": "Perfetto per chi inizia e ha bisogno solo delle funzionalità essenziali."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Importa"
|
"translation": "Importa"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Nuovo"
|
"translation": "Nuovo"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Nuova lista"
|
"translation": "Nuova lista"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Nessuna lista"
|
"translation": "Nessuna lista"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Nessuna lista è stata ancora creata"
|
"translation": "Nessuna lista è stata ancora creata"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Scegli un piano per iniziare. Tutti i piani a pagamento includono una prova gratuita di 14 giorni."
|
"translation": "Scegli un piano per iniziare. Tutti i piani a pagamento includono una prova gratuita di 14 giorni."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Impostazioni"
|
"translation": "Impostazioni"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Esci"
|
"translation": "Esci"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Solo"
|
"translation": "Solo"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Inizia prova gratuita"
|
"translation": "Inizia prova gratuita"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Stato"
|
"translation": "Stato"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Invia"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Team"
|
"translation": "Team"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Template"
|
"translation": "Template"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Template"
|
"translation": "Template"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "Impossibile aggiungere il commento"
|
"translation": "Impossibile aggiungere il commento"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "Impossibile aggiornare la card"
|
"translation": "Impossibile aggiornare la card"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "Impossibile aggiornare la lista"
|
"translation": "Impossibile aggiornare la lista"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Membri illimitati e un nome utente workspace personalizzato per i team pronti a crescere."
|
"translation": "Membri illimitati e un nome utente workspace personalizzato per i team pronti a crescere."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Annulla iscrizione"
|
"translation": "Annulla iscrizione",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Aggiorna"
|
"translation": "Aggiorna"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "Non è stato possibile aggiornare le tue preferenze. Riprova."
|
"translation": "Non è stato possibile aggiornare le tue preferenze. Riprova.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "Non hai i permessi necessari"
|
"translation": "Non hai i permessi necessari"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "Hai annullato l'iscrizione!"
|
"translation": "Hai annullato l'iscrizione!",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Il tuo avatar"
|
"translation": "Il tuo avatar"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "Il tuo link di disiscrizione non contiene un token. Apri l'ultima email e riprova."
|
"translation": "Il tuo link di disiscrizione non contiene un token. Apri l'ultima email e riprova.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} niet gevonden"
|
"translation": "{0} niet gevonden"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Voeg opmerking toe... (typ '/' om commando's te openen of '@' om te vermelden)"
|
"translation": "Voeg opmerking toe... (typ '/' om commando's te openen of '@' om te vermelden)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Voeg beschrijving toe... (typ '/' om commando's te openen of '@' om te vermelden)"
|
"translation": "Voeg beschrijving toe... (typ '/' om commando's te openen of '@' om te vermelden)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Jaarlijks"
|
"translation": "Jaarlijks"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "Gearchiveerd"
|
"translation": "Gearchiveerd"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Het beste voor kleine teams die willen samenwerken en sneller vooruit willen komen."
|
"translation": "Het beste voor kleine teams die willen samenwerken en sneller vooruit willen komen."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Boards"
|
"translation": "Boards"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Kies een abonnement"
|
"translation": "Kies een abonnement"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Bevestig je e-mailvoorkeuren:"
|
"translation": "Bevestig je e-mailvoorkeuren:",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Doorgaan"
|
"translation": "Doorgaan"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Maak nieuwe {0}"
|
"translation": "Maak nieuwe {0}"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Maak nieuwe lijst"
|
"translation": "Maak nieuwe lijst"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Maak werkruimte"
|
"translation": "Maak werkruimte"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "Wil je je uitschrijven?"
|
"translation": "Wil je je uitschrijven?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Ga aan de slag door een nieuwe lijst te maken"
|
"translation": "Ga aan de slag door een nieuwe lijst te maken"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Ga naar borden"
|
"translation": "Ga naar borden"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Ga naar leden"
|
"translation": "Ga naar leden"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Ga naar instellingen"
|
"translation": "Ga naar instellingen"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Ga naar sjablonen"
|
"translation": "Ga naar sjablonen"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Geschikt voor individuen die net beginnen en alleen de basisbehoeften hebben."
|
"translation": "Geschikt voor individuen die net beginnen en alleen de basisbehoeften hebben."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Importeren"
|
"translation": "Importeren"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Nieuw"
|
"translation": "Nieuw"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Nieuwe lijst"
|
"translation": "Nieuwe lijst"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Geen lijsten"
|
"translation": "Geen lijsten"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Er zijn nog geen lijsten aangemaakt"
|
"translation": "Er zijn nog geen lijsten aangemaakt"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Kies een abonnement om te beginnen. Alle betaalde abonnementen hebben een gratis proefperiode van 14 dagen."
|
"translation": "Kies een abonnement om te beginnen. Alle betaalde abonnementen hebben een gratis proefperiode van 14 dagen."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Instellingen"
|
"translation": "Instellingen"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Uitloggen"
|
"translation": "Uitloggen"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Solo"
|
"translation": "Solo"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Start gratis proefperiode"
|
"translation": "Start gratis proefperiode"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Status"
|
"translation": "Status"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Verzenden"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Team"
|
"translation": "Team"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Sjabloon"
|
"translation": "Sjabloon"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Sjablonen"
|
"translation": "Sjablonen"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "Kan opmerking niet toevoegen"
|
"translation": "Kan opmerking niet toevoegen"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "Kan kaart niet bijwerken"
|
"translation": "Kan kaart niet bijwerken"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "Kan lijst niet bijwerken"
|
"translation": "Kan lijst niet bijwerken"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Onbeperkt aantal leden en een aangepaste werkruimte-URL voor teams die klaar zijn om te groeien."
|
"translation": "Onbeperkt aantal leden en een aangepaste werkruimte-URL voor teams die klaar zijn om te groeien."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Uitschrijven"
|
"translation": "Uitschrijven",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Upgraden"
|
"translation": "Upgraden"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "We konden je voorkeuren niet bijwerken. Probeer het opnieuw."
|
"translation": "We konden je voorkeuren niet bijwerken. Probeer het opnieuw.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "Je hebt geen toestemming"
|
"translation": "Je hebt geen toestemming"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "Je bent uitgeschreven!"
|
"translation": "Je bent uitgeschreven!",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Jouw avatar"
|
"translation": "Jouw avatar"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "Je afmeldlink mist een token. Open de nieuwste e-mail en probeer het opnieuw."
|
"translation": "Je afmeldlink mist een token. Open de nieuwste e-mail en probeer het opnieuw.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} nie znaleziono"
|
"translation": "{0} nie znaleziono"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Dodaj komentarz... (wpisz '/' aby otworzyć polecenia lub '@', aby wspomnieć)"
|
"translation": "Dodaj komentarz... (wpisz '/' aby otworzyć polecenia lub '@', aby wspomnieć)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Dodaj opis... (wpisz '/' aby otworzyć polecenia lub '@', aby wspomnieć)"
|
"translation": "Dodaj opis... (wpisz '/' aby otworzyć polecenia lub '@', aby wspomnieć)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Rocznie"
|
"translation": "Rocznie"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "Zarchiwizowana"
|
"translation": "Zarchiwizowana"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Najlepszy dla małych zespołów, które chcą współpracować i działać szybciej razem."
|
"translation": "Najlepszy dla małych zespołów, które chcą współpracować i działać szybciej razem."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Tablice"
|
"translation": "Tablice"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Wybierz plan"
|
"translation": "Wybierz plan"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Potwierdź swoje preferencje dotyczące e-maili:"
|
"translation": "Potwierdź swoje preferencje dotyczące e-maili:",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Kontynuuj"
|
"translation": "Kontynuuj"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Utwórz nową {0}"
|
"translation": "Utwórz nową {0}"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Utwórz nową listę"
|
"translation": "Utwórz nową listę"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Utwórz workspace"
|
"translation": "Utwórz workspace"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "Czy chcesz zrezygnować z subskrypcji?"
|
"translation": "Czy chcesz zrezygnować z subskrypcji?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Rozpocznij, tworząc nową listę"
|
"translation": "Rozpocznij, tworząc nową listę"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Przejdź do tablic"
|
"translation": "Przejdź do tablic"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Przejdź do członków"
|
"translation": "Przejdź do członków"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Przejdź do ustawień"
|
"translation": "Przejdź do ustawień"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Przejdź do szablonów"
|
"translation": "Przejdź do szablonów"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Dobry dla osób zaczynających, które potrzebują tylko podstaw."
|
"translation": "Dobry dla osób zaczynających, które potrzebują tylko podstaw."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Importuj"
|
"translation": "Importuj"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Nowy"
|
"translation": "Nowy"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Nowa lista"
|
"translation": "Nowa lista"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Brak list"
|
"translation": "Brak list"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Nie utworzono jeszcze żadnych list"
|
"translation": "Nie utworzono jeszcze żadnych list"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Wybierz plan, aby rozpocząć. Wszystkie płatne plany zawierają 14-dniowy bezpłatny okres próbny."
|
"translation": "Wybierz plan, aby rozpocząć. Wszystkie płatne plany zawierają 14-dniowy bezpłatny okres próbny."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Ustawienia"
|
"translation": "Ustawienia"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Wyloguj się"
|
"translation": "Wyloguj się"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Solo"
|
"translation": "Solo"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Rozpocznij bezpłatny okres próbny"
|
"translation": "Rozpocznij bezpłatny okres próbny"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Status"
|
"translation": "Status"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Prześlij"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Zespół"
|
"translation": "Zespół"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Szablon"
|
"translation": "Szablon"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Szablony"
|
"translation": "Szablony"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "Nie można dodać komentarza"
|
"translation": "Nie można dodać komentarza"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "Nie można zaktualizować karty"
|
"translation": "Nie można zaktualizować karty"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "Nie można zaktualizować listy"
|
"translation": "Nie można zaktualizować listy"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Nieograniczona liczba członków i niestandardowa nazwa użytkownika przestrzeni roboczej dla zespołów gotowych do rozwoju."
|
"translation": "Nieograniczona liczba członków i niestandardowa nazwa użytkownika przestrzeni roboczej dla zespołów gotowych do rozwoju."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Anuluj subskrypcję"
|
"translation": "Anuluj subskrypcję",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Uaktualnij"
|
"translation": "Uaktualnij"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "Nie udało się zaktualizować Twoich preferencji. Spróbuj ponownie."
|
"translation": "Nie udało się zaktualizować Twoich preferencji. Spróbuj ponownie.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "Nie masz uprawnień"
|
"translation": "Nie masz uprawnień"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "Zostałeś wypisany z subskrypcji!"
|
"translation": "Zostałeś wypisany z subskrypcji!",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Twój awatar"
|
"translation": "Twój awatar"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "Twój link do wypisania się nie zawiera tokena. Otwórz najnowszy e-mail i spróbuj ponownie."
|
"translation": "Twój link do wypisania się nie zawiera tokena. Otwórz najnowszy e-mail i spróbuj ponownie.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} não encontrado"
|
"translation": "{0} não encontrado"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Adicionar comentário... (digite '/' para abrir comandos ou '@' para mencionar)"
|
"translation": "Adicionar comentário... (digite '/' para abrir comandos ou '@' para mencionar)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Adicionar descrição... (digite '/' para abrir comandos ou '@' para mencionar)"
|
"translation": "Adicionar descrição... (digite '/' para abrir comandos ou '@' para mencionar)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Anual"
|
"translation": "Anual"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "Arquivado"
|
"translation": "Arquivado"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Ideal para pequenas equipes que desejam colaborar e avançar mais rápido juntas."
|
"translation": "Ideal para pequenas equipes que desejam colaborar e avançar mais rápido juntas."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Quadros"
|
"translation": "Quadros"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Escolha um plano"
|
"translation": "Escolha um plano"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Confirme suas preferências de e-mail:"
|
"translation": "Confirme suas preferências de e-mail:",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Continuar"
|
"translation": "Continuar"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Criar novo {0}"
|
"translation": "Criar novo {0}"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Criar nova lista"
|
"translation": "Criar nova lista"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Criar workspace"
|
"translation": "Criar workspace"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "Você deseja cancelar a assinatura?"
|
"translation": "Você deseja cancelar a assinatura?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Comece criando uma nova lista"
|
"translation": "Comece criando uma nova lista"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Ir para quadros"
|
"translation": "Ir para quadros"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Ir para membros"
|
"translation": "Ir para membros"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Ir para configurações"
|
"translation": "Ir para configurações"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Ir para modelos"
|
"translation": "Ir para modelos"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Bom para indivíduos começando que precisam apenas do essencial."
|
"translation": "Bom para indivíduos começando que precisam apenas do essencial."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Importar"
|
"translation": "Importar"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Novo"
|
"translation": "Novo"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Nova lista"
|
"translation": "Nova lista"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Nenhuma lista"
|
"translation": "Nenhuma lista"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Nenhuma lista foi criada ainda"
|
"translation": "Nenhuma lista foi criada ainda"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Escolha um plano para começar. Todos os planos pagos incluem 14 dias de teste grátis."
|
"translation": "Escolha um plano para começar. Todos os planos pagos incluem 14 dias de teste grátis."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Configurações"
|
"translation": "Configurações"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Sair"
|
"translation": "Sair"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Solo"
|
"translation": "Solo"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Iniciar teste gratuito"
|
"translation": "Iniciar teste gratuito"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Status"
|
"translation": "Status"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Enviar"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Equipe"
|
"translation": "Equipe"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Modelo"
|
"translation": "Modelo"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Templates"
|
"translation": "Templates"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "Não foi possível adicionar comentário"
|
"translation": "Não foi possível adicionar comentário"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "Não foi possível atualizar o cartão"
|
"translation": "Não foi possível atualizar o cartão"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "Não foi possível atualizar a lista"
|
"translation": "Não foi possível atualizar a lista"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Membros ilimitados e um nome de usuário personalizado para equipes prontas para crescer."
|
"translation": "Membros ilimitados e um nome de usuário personalizado para equipes prontas para crescer."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Cancelar inscrição"
|
"translation": "Cancelar inscrição",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Atualizar"
|
"translation": "Atualizar"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "Não foi possível atualizar suas preferências. Tente novamente."
|
"translation": "Não foi possível atualizar suas preferências. Tente novamente.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "Você não tem permissão"
|
"translation": "Você não tem permissão"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "Você cancelou a inscrição!"
|
"translation": "Você cancelou a inscrição!",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Seu avatar"
|
"translation": "Seu avatar"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "Seu link de cancelamento de inscrição está sem um token. Por favor, abra o e-mail mais recente e tente novamente."
|
"translation": "Seu link de cancelamento de inscrição está sem um token. Por favor, abra o e-mail mais recente e tente novamente.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@
|
|||||||
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
"0": ["isTemplate ? \"Templates\" : \"Boards\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 53]],
|
"origin": [["src/views/boards/index.tsx", 62]],
|
||||||
"translation": "{0}"
|
"translation": "{0}"
|
||||||
},
|
},
|
||||||
"JArWcF": {
|
"JArWcF": {
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/card/index.tsx", 321]
|
["src/views/card/index.tsx", 321]
|
||||||
],
|
],
|
||||||
"translation": "{0} | {1}"
|
"translation": "{0} | {1}"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
"0": ["isTemplate ? \"Template\" : \"Board\""]
|
||||||
},
|
},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 565]],
|
"origin": [["src/views/board/index.tsx", 570]],
|
||||||
"translation": "{0} не найдено"
|
"translation": "{0} не найдено"
|
||||||
},
|
},
|
||||||
"0xWkkH": {
|
"0xWkkH": {
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 26],
|
["src/views/boards/index.tsx", 30],
|
||||||
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
["src/views/settings/components/NewWebhookModal.tsx", 321],
|
||||||
["src/views/settings/components/WebhookList.tsx", 106]
|
["src/views/settings/components/WebhookList.tsx", 106]
|
||||||
],
|
],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/card/components/Comment.tsx", 185],
|
["src/views/card/components/Comment.tsx", 185],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 68]
|
["src/views/card/components/NewCommentForm.tsx", 85]
|
||||||
],
|
],
|
||||||
"translation": "Добавить комментарий... (введите '/' для открытия команд или '@' для упоминания)"
|
"translation": "Добавить комментарий... (введите '/' для открытия команд или '@' для упоминания)"
|
||||||
},
|
},
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
"message": "Add description... (type '/' to open commands or '@' to mention)",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/Editor.tsx", 493]],
|
"origin": [["src/components/Editor.tsx", 499]],
|
||||||
"translation": "Добавить описание... (введите '/' для открытия команд или '@' для упоминания)"
|
"translation": "Добавить описание... (введите '/' для открытия команд или '@' для упоминания)"
|
||||||
},
|
},
|
||||||
"abUZlY": {
|
"abUZlY": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"message": "Annual",
|
"message": "Annual",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 64]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 68]],
|
||||||
"translation": "Ежегодно"
|
"translation": "Ежегодно"
|
||||||
},
|
},
|
||||||
"3bqt9U": {
|
"3bqt9U": {
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
"message": "Archived",
|
"message": "Archived",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 27]],
|
"origin": [["src/views/boards/index.tsx", 31]],
|
||||||
"translation": "В архиве"
|
"translation": "В архиве"
|
||||||
},
|
},
|
||||||
"lo8xBK": {
|
"lo8xBK": {
|
||||||
@@ -833,7 +833,7 @@
|
|||||||
"message": "Best for small teams who want to collaborate and move faster together.",
|
"message": "Best for small teams who want to collaborate and move faster together.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 87]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 91]],
|
||||||
"translation": "Идеально для небольших команд, которые хотят сотрудничать и работать быстрее вместе."
|
"translation": "Идеально для небольших команд, которые хотят сотрудничать и работать быстрее вместе."
|
||||||
},
|
},
|
||||||
"qaS+1/": {
|
"qaS+1/": {
|
||||||
@@ -887,7 +887,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/card/index.tsx", 321],
|
["src/views/card/index.tsx", 321],
|
||||||
["src/views/public/board/index.tsx", 125]
|
["src/views/public/board/index.tsx", 125]
|
||||||
],
|
],
|
||||||
@@ -1006,7 +1006,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 97],
|
["src/components/SideNavigation.tsx", 98],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Доски"
|
"translation": "Доски"
|
||||||
@@ -1294,7 +1294,7 @@
|
|||||||
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
["src/views/card/components/DeleteChecklistConfirmation.tsx", 64],
|
||||||
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
["src/views/card/components/DeleteCommentConfirmation.tsx", 77],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 55],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 236],
|
["src/views/onboarding/select-plan/index.tsx", 240],
|
||||||
["src/views/settings/components/Avatar.tsx", 287],
|
["src/views/settings/components/Avatar.tsx", 287],
|
||||||
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
["src/views/settings/components/ChangePasswordConfirmation.tsx", 206],
|
||||||
[
|
[
|
||||||
@@ -1361,7 +1361,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 309],
|
["src/views/board/index.tsx", 314],
|
||||||
["src/views/card/components/Dropdown.tsx", 74],
|
["src/views/card/components/Dropdown.tsx", 74],
|
||||||
["src/views/public/board/CardModal.tsx", 38]
|
["src/views/public/board/CardModal.tsx", 38]
|
||||||
],
|
],
|
||||||
@@ -1444,7 +1444,7 @@
|
|||||||
"message": "Choose a plan",
|
"message": "Choose a plan",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 149]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 153]],
|
||||||
"translation": "Выберите тариф"
|
"translation": "Выберите тариф"
|
||||||
},
|
},
|
||||||
"5EMoSo": {
|
"5EMoSo": {
|
||||||
@@ -1626,7 +1626,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 81]],
|
||||||
"translation": "Подтвердите ваши настройки электронной почты:"
|
"translation": "Подтвердите ваши настройки электронной почты:",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"479pdJ": {
|
"479pdJ": {
|
||||||
"message": "Confirm your new password",
|
"message": "Confirm your new password",
|
||||||
@@ -1719,7 +1720,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 242],
|
["src/views/onboarding/select-plan/index.tsx", 246],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 315]
|
["src/views/onboarding/workspace-details/index.tsx", 315]
|
||||||
],
|
],
|
||||||
"translation": "Продолжить"
|
"translation": "Продолжить"
|
||||||
@@ -1888,7 +1889,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/components/BoardsList.tsx", 80],
|
["src/views/boards/components/BoardsList.tsx", 80],
|
||||||
["src/views/boards/index.tsx", 41]
|
["src/views/boards/index.tsx", 45]
|
||||||
],
|
],
|
||||||
"translation": "Создать новый {0}"
|
"translation": "Создать новый {0}"
|
||||||
},
|
},
|
||||||
@@ -1914,8 +1915,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 93],
|
["src/views/board/index.tsx", 99],
|
||||||
["src/views/board/index.tsx", 679]
|
["src/views/board/index.tsx", 684]
|
||||||
],
|
],
|
||||||
"translation": "Создать новый список"
|
"translation": "Создать новый список"
|
||||||
},
|
},
|
||||||
@@ -1939,7 +1940,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/NewWorkspaceForm.tsx", 227],
|
["src/components/NewWorkspaceForm.tsx", 227],
|
||||||
["src/components/WorkspaceMenu.tsx", 171]
|
["src/components/WorkspaceMenu.tsx", 176]
|
||||||
],
|
],
|
||||||
"translation": "Создать рабочее пространство"
|
"translation": "Создать рабочее пространство"
|
||||||
},
|
},
|
||||||
@@ -2294,7 +2295,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 78]],
|
||||||
"translation": "Вы хотите отписаться?"
|
"translation": "Вы хотите отписаться?",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"JyXBgS": {
|
"JyXBgS": {
|
||||||
"message": "docs",
|
"message": "docs",
|
||||||
@@ -3016,8 +3018,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 78],
|
["src/views/onboarding/select-plan/index.tsx", 82],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 79],
|
["src/views/onboarding/select-plan/index.tsx", 83],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 331],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
["src/views/pricing/components/Pricing.tsx", 32],
|
["src/views/pricing/components/Pricing.tsx", 32],
|
||||||
@@ -3125,7 +3127,7 @@
|
|||||||
"message": "Get started by creating a new list",
|
"message": "Get started by creating a new list",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 664]],
|
"origin": [["src/views/board/index.tsx", 669]],
|
||||||
"translation": "Начните с создания нового списка"
|
"translation": "Начните с создания нового списка"
|
||||||
},
|
},
|
||||||
"oW13KZ": {
|
"oW13KZ": {
|
||||||
@@ -3202,7 +3204,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 105],
|
["src/components/SideNavigation.tsx", 106],
|
||||||
["src/pages/404.tsx", 44]
|
["src/pages/404.tsx", 44]
|
||||||
],
|
],
|
||||||
"translation": "Перейти к доскам"
|
"translation": "Перейти к доскам"
|
||||||
@@ -3218,28 +3220,28 @@
|
|||||||
"message": "Go to members",
|
"message": "Go to members",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 129]],
|
"origin": [["src/components/SideNavigation.tsx", 130]],
|
||||||
"translation": "Перейти к участникам"
|
"translation": "Перейти к участникам"
|
||||||
},
|
},
|
||||||
"1WuwiM": {
|
"1WuwiM": {
|
||||||
"message": "Go to settings",
|
"message": "Go to settings",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 141]],
|
"origin": [["src/components/SideNavigation.tsx", 142]],
|
||||||
"translation": "Перейти к настройкам"
|
"translation": "Перейти к настройкам"
|
||||||
},
|
},
|
||||||
"csFbe+": {
|
"csFbe+": {
|
||||||
"message": "Go to templates",
|
"message": "Go to templates",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/components/SideNavigation.tsx", 117]],
|
"origin": [["src/components/SideNavigation.tsx", 118]],
|
||||||
"translation": "Перейти к шаблонам"
|
"translation": "Перейти к шаблонам"
|
||||||
},
|
},
|
||||||
"SUvm1Y": {
|
"SUvm1Y": {
|
||||||
"message": "Good for individuals starting out who just need the essentials.",
|
"message": "Good for individuals starting out who just need the essentials.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 80]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
||||||
"translation": "Подходит для начинающих пользователей, которым нужны только базовые функции."
|
"translation": "Подходит для начинающих пользователей, которым нужны только базовые функции."
|
||||||
},
|
},
|
||||||
"cdyS7J": {
|
"cdyS7J": {
|
||||||
@@ -3382,7 +3384,7 @@
|
|||||||
"message": "Import",
|
"message": "Import",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/boards/index.tsx", 73]],
|
"origin": [["src/views/boards/index.tsx", 82]],
|
||||||
"translation": "Импорт"
|
"translation": "Импорт"
|
||||||
},
|
},
|
||||||
"2MPcep": {
|
"2MPcep": {
|
||||||
@@ -3765,7 +3767,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 80],
|
||||||
["src/views/board/index.tsx", 307],
|
["src/views/board/index.tsx", 312],
|
||||||
["src/views/card/components/Dropdown.tsx", 72],
|
["src/views/card/components/Dropdown.tsx", 72],
|
||||||
["src/views/public/board/CardModal.tsx", 36],
|
["src/views/public/board/CardModal.tsx", 36],
|
||||||
["src/views/public/board/index.tsx", 77]
|
["src/views/public/board/index.tsx", 77]
|
||||||
@@ -3945,7 +3947,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 121],
|
["src/components/SideNavigation.tsx", 122],
|
||||||
["src/views/board/components/Filters.tsx", 147],
|
["src/views/board/components/Filters.tsx", 147],
|
||||||
["src/views/board/components/NewCardForm.tsx", 386],
|
["src/views/board/components/NewCardForm.tsx", 386],
|
||||||
["src/views/card/index.tsx", 143],
|
["src/views/card/index.tsx", 143],
|
||||||
@@ -3986,7 +3988,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 63],
|
["src/views/onboarding/select-plan/index.tsx", 67],
|
||||||
["src/views/pricing/components/Pricing.tsx", 14],
|
["src/views/pricing/components/Pricing.tsx", 14],
|
||||||
["src/views/pricing/index.tsx", 20]
|
["src/views/pricing/index.tsx", 20]
|
||||||
],
|
],
|
||||||
@@ -4090,7 +4092,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/boards/index.tsx", 95],
|
["src/views/boards/index.tsx", 104],
|
||||||
["src/views/home/components/Features.tsx", 73]
|
["src/views/home/components/Features.tsx", 73]
|
||||||
],
|
],
|
||||||
"translation": "Новый"
|
"translation": "Новый"
|
||||||
@@ -4145,7 +4147,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/NewListForm.tsx", 113],
|
["src/views/board/components/NewListForm.tsx", 113],
|
||||||
["src/views/board/index.tsx", 628]
|
["src/views/board/index.tsx", 633]
|
||||||
],
|
],
|
||||||
"translation": "Новый список"
|
"translation": "Новый список"
|
||||||
},
|
},
|
||||||
@@ -4278,14 +4280,14 @@
|
|||||||
"message": "No lists",
|
"message": "No lists",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 660]],
|
"origin": [["src/views/board/index.tsx", 665]],
|
||||||
"translation": "Нет списков"
|
"translation": "Нет списков"
|
||||||
},
|
},
|
||||||
"fvLNDy": {
|
"fvLNDy": {
|
||||||
"message": "No lists have been created yet",
|
"message": "No lists have been created yet",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/board/index.tsx", 665]],
|
"origin": [["src/views/board/index.tsx", 670]],
|
||||||
"translation": "Списки ещё не созданы"
|
"translation": "Списки ещё не созданы"
|
||||||
},
|
},
|
||||||
"i30J2U": {
|
"i30J2U": {
|
||||||
@@ -4602,7 +4604,7 @@
|
|||||||
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
"message": "Pick a plan to get started. All paid plans include a 14-day free trial.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 152]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 156]],
|
||||||
"translation": "Выберите тариф, чтобы начать. Все платные тарифы включают 14-дневный бесплатный пробный период."
|
"translation": "Выберите тариф, чтобы начать. Все платные тарифы включают 14-дневный бесплатный пробный период."
|
||||||
},
|
},
|
||||||
"GdgCoi": {
|
"GdgCoi": {
|
||||||
@@ -4707,8 +4709,8 @@
|
|||||||
["src/views/board/components/NewTemplateForm.tsx", 77],
|
["src/views/board/components/NewTemplateForm.tsx", 77],
|
||||||
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
["src/views/board/components/UpdateBoardSlugForm.tsx", 73],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||||
["src/views/board/index.tsx", 219],
|
["src/views/board/index.tsx", 224],
|
||||||
["src/views/board/index.tsx", 275],
|
["src/views/board/index.tsx", 280],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||||
@@ -4726,7 +4728,7 @@
|
|||||||
["src/views/card/components/MemberSelector.tsx", 82],
|
["src/views/card/components/MemberSelector.tsx", 82],
|
||||||
["src/views/card/components/NewChecklistForm.tsx", 71],
|
["src/views/card/components/NewChecklistForm.tsx", 71],
|
||||||
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
["src/views/card/components/NewChecklistItemForm.tsx", 90],
|
||||||
["src/views/card/components/NewCommentForm.tsx", 37],
|
["src/views/card/components/NewCommentForm.tsx", 38],
|
||||||
["src/views/card/index.tsx", 236],
|
["src/views/card/index.tsx", 236],
|
||||||
["src/views/card/index.tsx", 249],
|
["src/views/card/index.tsx", 249],
|
||||||
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
["src/views/members/components/DeleteMemberConfirmation.tsx", 28],
|
||||||
@@ -4766,7 +4768,7 @@
|
|||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
["src/views/board/components/CardContextDuplicateModal.tsx", 76],
|
||||||
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
["src/views/board/components/CardContextMoveListModal.tsx", 42],
|
||||||
["src/views/board/index.tsx", 316],
|
["src/views/board/index.tsx", 321],
|
||||||
["src/views/card/components/Dropdown.tsx", 55],
|
["src/views/card/components/Dropdown.tsx", 55],
|
||||||
["src/views/card/components/Dropdown.tsx", 81],
|
["src/views/card/components/Dropdown.tsx", 81],
|
||||||
["src/views/card/components/Dropdown.tsx", 100],
|
["src/views/card/components/Dropdown.tsx", 100],
|
||||||
@@ -4829,7 +4831,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 92],
|
["src/views/onboarding/select-plan/index.tsx", 96],
|
||||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
["src/views/pricing/components/FeatureComparisonTable.tsx", 333],
|
||||||
["src/views/pricing/components/PricingTiers.tsx", 70]
|
["src/views/pricing/components/PricingTiers.tsx", 70]
|
||||||
],
|
],
|
||||||
@@ -5359,7 +5361,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 102],
|
["src/components/SettingsLayout.tsx", 102],
|
||||||
["src/components/SideNavigation.tsx", 133]
|
["src/components/SideNavigation.tsx", 134]
|
||||||
],
|
],
|
||||||
"translation": "Настройки"
|
"translation": "Настройки"
|
||||||
},
|
},
|
||||||
@@ -5454,7 +5456,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/onboarding/select-plan/index.tsx", 315],
|
["src/views/onboarding/select-plan/index.tsx", 319],
|
||||||
["src/views/onboarding/workspace-details/index.tsx", 386]
|
["src/views/onboarding/workspace-details/index.tsx", 386]
|
||||||
],
|
],
|
||||||
"translation": "Выйти"
|
"translation": "Выйти"
|
||||||
@@ -5548,7 +5550,7 @@
|
|||||||
"message": "Solo",
|
"message": "Solo",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 77]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 81]],
|
||||||
"translation": "Индивидуальный"
|
"translation": "Индивидуальный"
|
||||||
},
|
},
|
||||||
"J9+zIR": {
|
"J9+zIR": {
|
||||||
@@ -5595,9 +5597,9 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 225],
|
["src/components/SideNavigation.tsx", 228],
|
||||||
["src/components/SideNavigation.tsx", 226],
|
["src/components/SideNavigation.tsx", 229],
|
||||||
["src/components/SideNavigation.tsx", 236]
|
["src/components/SideNavigation.tsx", 239]
|
||||||
],
|
],
|
||||||
"translation": "Начать бесплатный пробный период"
|
"translation": "Начать бесплатный пробный период"
|
||||||
},
|
},
|
||||||
@@ -5615,6 +5617,13 @@
|
|||||||
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
"origin": [["src/views/settings/components/WebhookList.tsx", 232]],
|
||||||
"translation": "Статус"
|
"translation": "Статус"
|
||||||
},
|
},
|
||||||
|
"hQRttt": {
|
||||||
|
"message": "Submit",
|
||||||
|
"placeholders": {},
|
||||||
|
"comments": [],
|
||||||
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 60]],
|
||||||
|
"translation": "Отправить"
|
||||||
|
},
|
||||||
"WYDptz": {
|
"WYDptz": {
|
||||||
"message": "Subscription Required",
|
"message": "Subscription Required",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
@@ -5678,7 +5687,7 @@
|
|||||||
"message": "Team",
|
"message": "Team",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 84]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 88]],
|
||||||
"translation": "Команда"
|
"translation": "Команда"
|
||||||
},
|
},
|
||||||
"bff61F": {
|
"bff61F": {
|
||||||
@@ -5708,8 +5717,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/board/index.tsx", 574]
|
["src/views/board/index.tsx", 579]
|
||||||
],
|
],
|
||||||
"translation": "Шаблон"
|
"translation": "Шаблон"
|
||||||
},
|
},
|
||||||
@@ -5746,7 +5755,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SideNavigation.tsx", 109],
|
["src/components/SideNavigation.tsx", 110],
|
||||||
["src/views/home/components/Features.tsx", 115]
|
["src/views/home/components/Features.tsx", 115]
|
||||||
],
|
],
|
||||||
"translation": "Шаблоны"
|
"translation": "Шаблоны"
|
||||||
@@ -6147,7 +6156,7 @@
|
|||||||
"message": "Unable to add comment",
|
"message": "Unable to add comment",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/card/components/NewCommentForm.tsx", 36]],
|
"origin": [["src/views/card/components/NewCommentForm.tsx", 37]],
|
||||||
"translation": "Не удалось добавить комментарий"
|
"translation": "Не удалось добавить комментарий"
|
||||||
},
|
},
|
||||||
"2Q871c": {
|
"2Q871c": {
|
||||||
@@ -6176,7 +6185,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 314],
|
["src/views/board/index.tsx", 319],
|
||||||
["src/views/card/components/Dropdown.tsx", 79],
|
["src/views/card/components/Dropdown.tsx", 79],
|
||||||
["src/views/public/board/CardModal.tsx", 43],
|
["src/views/public/board/CardModal.tsx", 43],
|
||||||
["src/views/public/board/index.tsx", 84]
|
["src/views/public/board/index.tsx", 84]
|
||||||
@@ -6376,7 +6385,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 274],
|
["src/views/board/index.tsx", 279],
|
||||||
["src/views/card/index.tsx", 235]
|
["src/views/card/index.tsx", 235]
|
||||||
],
|
],
|
||||||
"translation": "Не удалось обновить карточку"
|
"translation": "Не удалось обновить карточку"
|
||||||
@@ -6421,7 +6430,7 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/board/index.tsx", 218],
|
["src/views/board/index.tsx", 223],
|
||||||
["src/views/card/components/ListSelector.tsx", 54]
|
["src/views/card/components/ListSelector.tsx", 54]
|
||||||
],
|
],
|
||||||
"translation": "Не удалось обновить список"
|
"translation": "Не удалось обновить список"
|
||||||
@@ -6574,7 +6583,7 @@
|
|||||||
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
"message": "Unlimited members and a custom workspace username for teams ready to scale.",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 95]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 99]],
|
||||||
"translation": "Неограниченное количество участников и персональное имя рабочего пространства для команд, готовых к масштабированию."
|
"translation": "Неограниченное количество участников и персональное имя рабочего пространства для команд, готовых к масштабированию."
|
||||||
},
|
},
|
||||||
"i5yNAO": {
|
"i5yNAO": {
|
||||||
@@ -6599,7 +6608,8 @@
|
|||||||
["src/pages/unsubscribe/index.tsx", 68],
|
["src/pages/unsubscribe/index.tsx", 68],
|
||||||
["src/pages/unsubscribe/index.tsx", 93]
|
["src/pages/unsubscribe/index.tsx", 93]
|
||||||
],
|
],
|
||||||
"translation": "Отписаться"
|
"translation": "Отписаться",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"EkH9pt": {
|
"EkH9pt": {
|
||||||
"message": "Update",
|
"message": "Update",
|
||||||
@@ -6664,7 +6674,7 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/views/members/index.tsx", 295],
|
["src/views/members/index.tsx", 295],
|
||||||
["src/views/onboarding/select-plan/index.tsx", 241]
|
["src/views/onboarding/select-plan/index.tsx", 245]
|
||||||
],
|
],
|
||||||
"translation": "Обновить"
|
"translation": "Обновить"
|
||||||
},
|
},
|
||||||
@@ -6844,7 +6854,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 63]],
|
||||||
"translation": "Не удалось обновить ваши настройки. Пожалуйста, попробуйте ещё раз."
|
"translation": "Не удалось обновить ваши настройки. Пожалуйста, попробуйте ещё раз.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"7sdSkl": {
|
"7sdSkl": {
|
||||||
"message": "We sent a link to {magicLinkRecipient}",
|
"message": "We sent a link to {magicLinkRecipient}",
|
||||||
@@ -6997,8 +7008,8 @@
|
|||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [
|
"origin": [
|
||||||
["src/components/SettingsLayout.tsx", 47],
|
["src/components/SettingsLayout.tsx", 47],
|
||||||
["src/views/board/index.tsx", 538],
|
["src/views/board/index.tsx", 543],
|
||||||
["src/views/boards/index.tsx", 48],
|
["src/views/boards/index.tsx", 57],
|
||||||
["src/views/members/index.tsx", 278],
|
["src/views/members/index.tsx", 278],
|
||||||
["src/views/public/board/index.tsx", 125],
|
["src/views/public/board/index.tsx", 125],
|
||||||
["src/views/public/boards/index.tsx", 75]
|
["src/views/public/boards/index.tsx", 75]
|
||||||
@@ -7227,11 +7238,11 @@
|
|||||||
["src/views/board/components/List.tsx", 117],
|
["src/views/board/components/List.tsx", 117],
|
||||||
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
["src/views/board/components/UpdateBoardSlugButton.tsx", 58],
|
||||||
["src/views/board/components/VisibilityButton.tsx", 72],
|
["src/views/board/components/VisibilityButton.tsx", 72],
|
||||||
["src/views/board/index.tsx", 612],
|
["src/views/board/index.tsx", 617],
|
||||||
["src/views/board/index.tsx", 670],
|
["src/views/board/index.tsx", 675],
|
||||||
["src/views/boards/components/BoardsList.tsx", 71],
|
["src/views/boards/components/BoardsList.tsx", 71],
|
||||||
["src/views/boards/index.tsx", 59],
|
["src/views/boards/index.tsx", 68],
|
||||||
["src/views/boards/index.tsx", 80]
|
["src/views/boards/index.tsx", 89]
|
||||||
],
|
],
|
||||||
"translation": "У вас нет прав доступа"
|
"translation": "У вас нет прав доступа"
|
||||||
},
|
},
|
||||||
@@ -7254,7 +7265,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 98]],
|
||||||
"translation": "Вы отписались!"
|
"translation": "Вы отписались!",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"R275Pz": {
|
"R275Pz": {
|
||||||
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
"message": "You have unlimited seats with your Pro Plan. There is no additional charge for new members!",
|
||||||
@@ -7323,7 +7335,7 @@
|
|||||||
"message": "Your avatar",
|
"message": "Your avatar",
|
||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/views/onboarding/select-plan/index.tsx", 260]],
|
"origin": [["src/views/onboarding/select-plan/index.tsx", 264]],
|
||||||
"translation": "Ваш аватар"
|
"translation": "Ваш аватар"
|
||||||
},
|
},
|
||||||
"evg7+A": {
|
"evg7+A": {
|
||||||
@@ -7433,7 +7445,8 @@
|
|||||||
"placeholders": {},
|
"placeholders": {},
|
||||||
"comments": [],
|
"comments": [],
|
||||||
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
"origin": [["src/pages/unsubscribe/index.tsx", 33]],
|
||||||
"translation": "В вашей ссылке для отписки отсутствует токен. Пожалуйста, откройте последнее письмо и попробуйте снова."
|
"translation": "В вашей ссылке для отписки отсутствует токен. Пожалуйста, откройте последнее письмо и попробуйте снова.",
|
||||||
|
"obsolete": true
|
||||||
},
|
},
|
||||||
"GRAGsB": {
|
"GRAGsB": {
|
||||||
"message": "Your workspace",
|
"message": "Your workspace",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
13005
apps/web/src/locales/zh-CN/messages.json
Normal file
13005
apps/web/src/locales/zh-CN/messages.json
Normal file
File diff suppressed because it is too large
Load Diff
1
apps/web/src/locales/zh-CN/messages.ts
Normal file
1
apps/web/src/locales/zh-CN/messages.ts
Normal file
File diff suppressed because one or more lines are too long
@@ -82,8 +82,8 @@ const MyApp: AppType = ({ Component, pageProps }: AppPropsWithLayout) => {
|
|||||||
)}
|
)}
|
||||||
<script src="/__ENV.js" />
|
<script src="/__ENV.js" />
|
||||||
<main className="font-sans">
|
<main className="font-sans">
|
||||||
<KeyboardShortcutProvider>
|
<LinguiProviderWrapper>
|
||||||
<LinguiProviderWrapper>
|
<KeyboardShortcutProvider>
|
||||||
<FontSizeProvider>
|
<FontSizeProvider>
|
||||||
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
||||||
<ModalProvider>
|
<ModalProvider>
|
||||||
@@ -99,8 +99,8 @@ const MyApp: AppType = ({ Component, pageProps }: AppPropsWithLayout) => {
|
|||||||
</ModalProvider>
|
</ModalProvider>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
</FontSizeProvider>
|
</FontSizeProvider>
|
||||||
</LinguiProviderWrapper>
|
</KeyboardShortcutProvider>
|
||||||
</KeyboardShortcutProvider>
|
</LinguiProviderWrapper>
|
||||||
</main>
|
</main>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,108 +0,0 @@
|
|||||||
import type { NextApiRequest, NextApiResponse } from "next";
|
|
||||||
import { Novu } from "@novu/api";
|
|
||||||
import { jwtVerify } from "jose";
|
|
||||||
import { z } from "zod";
|
|
||||||
|
|
||||||
import { withApiLogging } from "@kan/api/utils/apiLogging";
|
|
||||||
import { withRateLimit } from "@kan/api/utils/rateLimit";
|
|
||||||
|
|
||||||
import { env } from "~/env";
|
|
||||||
|
|
||||||
const requestSchema = z.object({
|
|
||||||
token: z.string().min(1),
|
|
||||||
});
|
|
||||||
|
|
||||||
const tokenPayloadSchema = z.object({
|
|
||||||
subscriberId: z.string(),
|
|
||||||
});
|
|
||||||
|
|
||||||
type ResponseData =
|
|
||||||
| { success: true }
|
|
||||||
| { success: false; error: string; code?: string };
|
|
||||||
|
|
||||||
const textEncoder = new TextEncoder();
|
|
||||||
|
|
||||||
export default withRateLimit(
|
|
||||||
{ points: 100, duration: 60 },
|
|
||||||
withApiLogging(
|
|
||||||
async (req: NextApiRequest, res: NextApiResponse<ResponseData>) => {
|
|
||||||
if (process.env.NEXT_PUBLIC_KAN_ENV !== "cloud") {
|
|
||||||
return res.status(404).json({
|
|
||||||
success: false,
|
|
||||||
error: "Unsubscribe endpoint is not available.",
|
|
||||||
code: "UNAVAILABLE",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (req.method !== "POST") {
|
|
||||||
res.setHeader("Allow", "POST");
|
|
||||||
return res.status(405).json({
|
|
||||||
success: false,
|
|
||||||
error: "Method not allowed.",
|
|
||||||
code: "METHOD_NOT_ALLOWED",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const parsedBody = requestSchema.safeParse(req.body);
|
|
||||||
|
|
||||||
if (!parsedBody.success) {
|
|
||||||
return res.status(400).json({
|
|
||||||
success: false,
|
|
||||||
error: "Invalid request payload.",
|
|
||||||
code: "BAD_REQUEST",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!env.EMAIL_UNSUBSCRIBE_SECRET || !env.NOVU_API_KEY) {
|
|
||||||
return res.status(500).json({
|
|
||||||
success: false,
|
|
||||||
error: "Unsubscribe service is not configured.",
|
|
||||||
code: "NOT_CONFIGURED",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
let payload: z.infer<typeof tokenPayloadSchema>;
|
|
||||||
|
|
||||||
try {
|
|
||||||
const verified = await jwtVerify(
|
|
||||||
parsedBody.data.token,
|
|
||||||
textEncoder.encode(env.EMAIL_UNSUBSCRIBE_SECRET),
|
|
||||||
{
|
|
||||||
// We intentionally do not use exp/iat claims –
|
|
||||||
// tokens are long-lived and validated only by signature + payload.
|
|
||||||
clockTolerance: "0s",
|
|
||||||
},
|
|
||||||
);
|
|
||||||
payload = tokenPayloadSchema.parse(verified.payload);
|
|
||||||
} catch {
|
|
||||||
return res.status(401).json({
|
|
||||||
success: false,
|
|
||||||
error: "Your unsubscribe link is invalid or has expired.",
|
|
||||||
code: "INVALID_TOKEN",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const novu = new Novu({ secretKey: env.NOVU_API_KEY });
|
|
||||||
|
|
||||||
try {
|
|
||||||
await novu.subscribers.preferences.update(
|
|
||||||
{
|
|
||||||
channels: {
|
|
||||||
email: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
payload.subscriberId,
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
return res.status(502).json({
|
|
||||||
success: false,
|
|
||||||
error:
|
|
||||||
"We could not update your email preferences right now. Please try again later.",
|
|
||||||
code: "NOVU_ERROR",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return res.status(200).json({ success: true });
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
import { useRouter } from "next/router";
|
|
||||||
import { t } from "@lingui/core/macro";
|
|
||||||
import { useEffect, useState } from "react";
|
|
||||||
|
|
||||||
import Button from "~/components/Button";
|
|
||||||
import { PageHead } from "~/components/PageHead";
|
|
||||||
import PatternedBackground from "~/components/PatternedBackground";
|
|
||||||
|
|
||||||
type UnsubscribeStatus = "idle" | "processing" | "success" | "error";
|
|
||||||
|
|
||||||
export default function UnsubscribePage() {
|
|
||||||
const router = useRouter();
|
|
||||||
const [token, setToken] = useState("");
|
|
||||||
const [status, setStatus] = useState<UnsubscribeStatus>("idle");
|
|
||||||
const [errorMessage, setErrorMessage] = useState<string | null>(null);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (!router.isReady) return;
|
|
||||||
const value = router.query.token;
|
|
||||||
if (typeof value === "string") {
|
|
||||||
setToken(value);
|
|
||||||
} else if (Array.isArray(value)) {
|
|
||||||
setToken(value[0] ?? "");
|
|
||||||
} else {
|
|
||||||
setToken("");
|
|
||||||
}
|
|
||||||
}, [router.isReady, router.query.token]);
|
|
||||||
|
|
||||||
const handleUnsubscribe = async () => {
|
|
||||||
if (!token) {
|
|
||||||
setStatus("error");
|
|
||||||
setErrorMessage(
|
|
||||||
t`Your unsubscribe link is missing a token. Please open the latest email and try again.`,
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
setStatus("processing");
|
|
||||||
setErrorMessage(null);
|
|
||||||
|
|
||||||
try {
|
|
||||||
const response = await fetch("/api/unsubscribe", {
|
|
||||||
method: "POST",
|
|
||||||
headers: { "Content-Type": "application/json" },
|
|
||||||
body: JSON.stringify({ token }),
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!response.ok) {
|
|
||||||
const payload = (await response.json().catch(() => null)) as {
|
|
||||||
error?: string;
|
|
||||||
} | null;
|
|
||||||
|
|
||||||
throw new Error(
|
|
||||||
payload?.error ??
|
|
||||||
"We couldn't update your preferences. Please try again.",
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
setStatus("success");
|
|
||||||
} catch (error) {
|
|
||||||
setStatus("error");
|
|
||||||
setErrorMessage(
|
|
||||||
t`We couldn't update your preferences. Please try again.`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const title = t`Unsubscribe`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<PageHead title={`${title} | kan.bn`} />
|
|
||||||
<div className="relative flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8">
|
|
||||||
<PatternedBackground />
|
|
||||||
<div className="z-10 w-full max-w-md space-y-6">
|
|
||||||
<div>
|
|
||||||
<h1 className="mt-6 text-center text-3xl font-bold tracking-tight text-light-1000 dark:text-dark-1000">
|
|
||||||
{t`Do you want to unsubscribe?`}
|
|
||||||
</h1>
|
|
||||||
<p className="mt-4 text-center text-sm text-light-900 dark:text-dark-800">
|
|
||||||
{t`Confirm your email preferences:`}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="flex justify-center">
|
|
||||||
<Button
|
|
||||||
onClick={handleUnsubscribe}
|
|
||||||
disabled={status === "success"}
|
|
||||||
isLoading={status === "processing"}
|
|
||||||
variant="primary"
|
|
||||||
size="md"
|
|
||||||
>
|
|
||||||
{t`Unsubscribe`}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
{status === "success" && (
|
|
||||||
<p className="text-center text-sm text-light-900 dark:text-dark-800">
|
|
||||||
{t`You have been unsubscribed!`}
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
{status === "error" && (
|
|
||||||
<p className="mx-auto max-w-[300px] text-center text-sm font-medium text-red-600 dark:text-red-400">
|
|
||||||
{errorMessage}
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -20,6 +20,7 @@ import { HiXMark } from "react-icons/hi2";
|
|||||||
|
|
||||||
import { env } from "~/env";
|
import { env } from "~/env";
|
||||||
import { useEventListener } from "~/hooks/useEventListener";
|
import { useEventListener } from "~/hooks/useEventListener";
|
||||||
|
import { useLinguiContext } from "~/providers/lingui";
|
||||||
|
|
||||||
const ModifierKey = {
|
const ModifierKey = {
|
||||||
CONTROL: "CONTROL",
|
CONTROL: "CONTROL",
|
||||||
@@ -160,6 +161,7 @@ export function KeyboardShortcutProvider({
|
|||||||
const sequenceTimeoutRef = useRef<NodeJS.Timeout | null>(null);
|
const sequenceTimeoutRef = useRef<NodeJS.Timeout | null>(null);
|
||||||
|
|
||||||
const [isLegendOpen, setIsLegendOpen] = useState(false);
|
const [isLegendOpen, setIsLegendOpen] = useState(false);
|
||||||
|
const { locale } = useLinguiContext();
|
||||||
|
|
||||||
const openLegendShortcut: KeyboardShortcut = useMemo(
|
const openLegendShortcut: KeyboardShortcut = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
@@ -172,7 +174,7 @@ export function KeyboardShortcutProvider({
|
|||||||
description: t`Open keyboard shortcuts`,
|
description: t`Open keyboard shortcuts`,
|
||||||
group: ShortcutGroup.GENERAL,
|
group: ShortcutGroup.GENERAL,
|
||||||
}),
|
}),
|
||||||
[setIsLegendOpen],
|
[locale],
|
||||||
);
|
);
|
||||||
|
|
||||||
const handleKeyDown = useCallback((event: KeyboardEvent) => {
|
const handleKeyDown = useCallback((event: KeyboardEvent) => {
|
||||||
|
|||||||
@@ -35,10 +35,31 @@ function detectBrowserLocale(availableLocales: readonly string[]): Locale {
|
|||||||
const browserLanguages = navigator.languages || [navigator.language];
|
const browserLanguages = navigator.languages || [navigator.language];
|
||||||
|
|
||||||
for (const browserLang of browserLanguages) {
|
for (const browserLang of browserLanguages) {
|
||||||
const langCode = browserLang.split("-")[0];
|
const normalizedLocale = browserLang.toLowerCase();
|
||||||
|
const exactLocale = availableLocales.find(
|
||||||
|
(availableLocale) => availableLocale.toLowerCase() === normalizedLocale,
|
||||||
|
);
|
||||||
|
|
||||||
if (langCode && availableLocales.includes(langCode.toLowerCase())) {
|
if (exactLocale) {
|
||||||
return langCode.toLowerCase() as Locale;
|
return exactLocale as Locale;
|
||||||
|
}
|
||||||
|
|
||||||
|
const languageCode = normalizedLocale.split("-")[0];
|
||||||
|
|
||||||
|
if (languageCode === "zh" && availableLocales.includes("zh-CN")) {
|
||||||
|
return "zh-CN";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (languageCode === "pt" && availableLocales.includes("ptbr")) {
|
||||||
|
return "ptbr";
|
||||||
|
}
|
||||||
|
|
||||||
|
const baseLocale = availableLocales.find(
|
||||||
|
(availableLocale) => availableLocale.toLowerCase() === languageCode,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (baseLocale) {
|
||||||
|
return baseLocale as Locale;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +70,7 @@ export function LinguiProviderWrapper({
|
|||||||
children,
|
children,
|
||||||
initialLocale = defaultLocale,
|
initialLocale = defaultLocale,
|
||||||
}: LinguiProviderProps) {
|
}: LinguiProviderProps) {
|
||||||
const [locale, setLocale] = useState<Locale>(defaultLocale);
|
const [locale, setLocale] = useState<Locale>(initialLocale);
|
||||||
const [isHydrated, setIsHydrated] = useState(false);
|
const [isHydrated, setIsHydrated] = useState(false);
|
||||||
|
|
||||||
initializeI18n();
|
initializeI18n();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { createContext, useContext, useState } from "react";
|
import { createContext, useCallback, useContext, useState } from "react";
|
||||||
|
|
||||||
interface PopupContextType {
|
interface PopupContextType {
|
||||||
isOpen: boolean;
|
isOpen: boolean;
|
||||||
@@ -25,24 +25,27 @@ export const PopupProvider: React.FC<Props> = ({ children }) => {
|
|||||||
const [popupMessage, setPopupMessage] = useState("");
|
const [popupMessage, setPopupMessage] = useState("");
|
||||||
const [popupIcon, setPopupIcon] = useState("");
|
const [popupIcon, setPopupIcon] = useState("");
|
||||||
|
|
||||||
const showPopup = ({
|
const showPopup = useCallback(
|
||||||
header,
|
({
|
||||||
message,
|
header,
|
||||||
icon,
|
message,
|
||||||
}: {
|
icon,
|
||||||
header: string;
|
}: {
|
||||||
message: string;
|
header: string;
|
||||||
icon: string;
|
message: string;
|
||||||
}) => {
|
icon: string;
|
||||||
setIsOpen(true);
|
}) => {
|
||||||
setPopupHeader(header);
|
setIsOpen(true);
|
||||||
setPopupMessage(message);
|
setPopupHeader(header);
|
||||||
setPopupIcon(icon);
|
setPopupMessage(message);
|
||||||
};
|
setPopupIcon(icon);
|
||||||
|
},
|
||||||
|
[],
|
||||||
|
);
|
||||||
|
|
||||||
const hidePopup = () => {
|
const hidePopup = useCallback(() => {
|
||||||
setIsOpen(false);
|
setIsOpen(false);
|
||||||
};
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PopupContext.Provider
|
<PopupContext.Provider
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { i18n } from "@lingui/core";
|
|||||||
import type { Locale } from "~/locales";
|
import type { Locale } from "~/locales";
|
||||||
import { defaultLocale } from "~/locales";
|
import { defaultLocale } from "~/locales";
|
||||||
import { messages as enMessages } from "~/locales/en/messages";
|
import { messages as enMessages } from "~/locales/en/messages";
|
||||||
|
import { messages as zhCNMessages } from "~/locales/zh-CN/messages";
|
||||||
|
|
||||||
const loadMessages = async (locale: Locale) => {
|
const loadMessages = async (locale: Locale) => {
|
||||||
switch (locale) {
|
switch (locale) {
|
||||||
@@ -24,6 +25,8 @@ const loadMessages = async (locale: Locale) => {
|
|||||||
return (await import("~/locales/pl/messages")).messages;
|
return (await import("~/locales/pl/messages")).messages;
|
||||||
case "ptbr":
|
case "ptbr":
|
||||||
return (await import("~/locales/ptbr/messages")).messages;
|
return (await import("~/locales/ptbr/messages")).messages;
|
||||||
|
case "zh-CN":
|
||||||
|
return (await import("~/locales/zh-CN/messages")).messages;
|
||||||
default:
|
default:
|
||||||
return enMessages;
|
return enMessages;
|
||||||
}
|
}
|
||||||
@@ -32,11 +35,15 @@ const loadMessages = async (locale: Locale) => {
|
|||||||
let isInitialized = false;
|
let isInitialized = false;
|
||||||
const loadedLocales = new Set<string>();
|
const loadedLocales = new Set<string>();
|
||||||
|
|
||||||
export function initializeI18n(locale: Locale = defaultLocale) {
|
export function initializeI18n() {
|
||||||
if (!isInitialized) {
|
if (!isInitialized) {
|
||||||
i18n.load(defaultLocale, enMessages);
|
// 首屏同步加载中英文,避免默认语言激活前出现中英混排。
|
||||||
|
i18n.load("en", enMessages);
|
||||||
|
i18n.load("zh-CN", zhCNMessages);
|
||||||
i18n.activate(defaultLocale);
|
i18n.activate(defaultLocale);
|
||||||
loadedLocales.add(defaultLocale);
|
loadedLocales.add(defaultLocale);
|
||||||
|
loadedLocales.add("en");
|
||||||
|
loadedLocales.add("zh-CN");
|
||||||
isInitialized = true;
|
isInitialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
import { t } from "@lingui/core/macro";
|
import { t } from "@lingui/core/macro";
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef, useState } from "react";
|
||||||
import {
|
import {
|
||||||
HiLink,
|
HiLink,
|
||||||
|
HiOutlineArrowRightCircle,
|
||||||
HiOutlineCalendar,
|
HiOutlineCalendar,
|
||||||
HiOutlineDocumentDuplicate,
|
HiOutlineDocumentDuplicate,
|
||||||
HiOutlineTag,
|
HiOutlineTag,
|
||||||
HiOutlineTrash,
|
HiOutlineTrash,
|
||||||
HiOutlineUserGroup,
|
HiOutlineUserGroup,
|
||||||
HiOutlineArrowRightCircle,
|
|
||||||
} from "react-icons/hi2";
|
} from "react-icons/hi2";
|
||||||
|
|
||||||
|
import { useIsomorphicLayoutEffect } from "~/hooks/useIsomorphicLayoutEffect";
|
||||||
|
|
||||||
export type CardContextMenuAction =
|
export type CardContextMenuAction =
|
||||||
| "members"
|
| "members"
|
||||||
| "move"
|
| "move"
|
||||||
@@ -85,6 +87,55 @@ export function CardContextMenu({
|
|||||||
canEdit,
|
canEdit,
|
||||||
}: CardContextMenuProps) {
|
}: CardContextMenuProps) {
|
||||||
const menuRef = useRef<HTMLDivElement>(null);
|
const menuRef = useRef<HTMLDivElement>(null);
|
||||||
|
const [position, setPosition] = useState({ x, y });
|
||||||
|
|
||||||
|
const items = MENU_ITEMS.filter((item) => !item.requiresEdit || canEdit);
|
||||||
|
|
||||||
|
useIsomorphicLayoutEffect(() => {
|
||||||
|
const menu = menuRef.current;
|
||||||
|
if (!menu) return;
|
||||||
|
|
||||||
|
const gutter = 8;
|
||||||
|
const updatePosition = () => {
|
||||||
|
const { width, height } = menu.getBoundingClientRect();
|
||||||
|
const viewportWidth = window.visualViewport?.width ?? window.innerWidth;
|
||||||
|
const viewportHeight =
|
||||||
|
window.visualViewport?.height ?? window.innerHeight;
|
||||||
|
const maxX = Math.max(gutter, viewportWidth - width - gutter);
|
||||||
|
const maxY = Math.max(gutter, viewportHeight - height - gutter);
|
||||||
|
const nextPosition = {
|
||||||
|
x: Math.min(Math.max(x, gutter), maxX),
|
||||||
|
y: Math.min(Math.max(y, gutter), maxY),
|
||||||
|
};
|
||||||
|
|
||||||
|
setPosition((currentPosition) =>
|
||||||
|
currentPosition.x === nextPosition.x &&
|
||||||
|
currentPosition.y === nextPosition.y
|
||||||
|
? currentPosition
|
||||||
|
: nextPosition,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
updatePosition();
|
||||||
|
|
||||||
|
const resizeObserver =
|
||||||
|
typeof ResizeObserver !== "undefined"
|
||||||
|
? new ResizeObserver(updatePosition)
|
||||||
|
: null;
|
||||||
|
resizeObserver?.observe(menu);
|
||||||
|
window.addEventListener("resize", updatePosition);
|
||||||
|
window.addEventListener("scroll", updatePosition, true);
|
||||||
|
window.visualViewport?.addEventListener("resize", updatePosition);
|
||||||
|
window.visualViewport?.addEventListener("scroll", updatePosition);
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
resizeObserver?.disconnect();
|
||||||
|
window.removeEventListener("resize", updatePosition);
|
||||||
|
window.removeEventListener("scroll", updatePosition, true);
|
||||||
|
window.visualViewport?.removeEventListener("resize", updatePosition);
|
||||||
|
window.visualViewport?.removeEventListener("scroll", updatePosition);
|
||||||
|
};
|
||||||
|
}, [x, y, canEdit, items.length]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleClickOutside = (e: MouseEvent) => {
|
const handleClickOutside = (e: MouseEvent) => {
|
||||||
@@ -103,13 +154,11 @@ export function CardContextMenu({
|
|||||||
};
|
};
|
||||||
}, [onClose]);
|
}, [onClose]);
|
||||||
|
|
||||||
const items = MENU_ITEMS.filter((item) => !item.requiresEdit || canEdit);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
ref={menuRef}
|
ref={menuRef}
|
||||||
className="fixed z-[200] min-w-[200px] rounded-md border border-light-200 bg-white py-1 shadow-lg dark:border-dark-400 dark:bg-dark-200"
|
className="fixed z-[200] max-h-[calc(100dvh-1rem)] min-w-[min(200px,calc(100vw-1rem))] max-w-[calc(100vw-1rem)] overflow-y-auto overflow-x-hidden rounded-md border border-light-200 bg-white py-1 shadow-lg dark:border-dark-400 dark:bg-dark-200"
|
||||||
style={{ left: x, top: y }}
|
style={{ left: position.x, top: position.y }}
|
||||||
>
|
>
|
||||||
{items.map(({ action, label, icon }) => (
|
{items.map(({ action, label, icon }) => (
|
||||||
<button
|
<button
|
||||||
@@ -119,7 +168,7 @@ export function CardContextMenu({
|
|||||||
onAction(action);
|
onAction(action);
|
||||||
onClose();
|
onClose();
|
||||||
}}
|
}}
|
||||||
className="flex w-full items-center gap-2 px-3 py-2 text-left text-sm text-neutral-900 hover:bg-light-200 dark:text-dark-1000 dark:hover:bg-dark-400"
|
className="flex w-full items-center gap-2 break-words px-3 py-2 text-left text-sm text-neutral-900 hover:bg-light-200 dark:text-dark-1000 dark:hover:bg-dark-400"
|
||||||
>
|
>
|
||||||
{icon}
|
{icon}
|
||||||
{label}
|
{label}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ export function DeleteBoardConfirmation({
|
|||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { closeModal } = useModal();
|
const { closeModal } = useModal();
|
||||||
|
const boardTypeLabel = isTemplate ? t`template` : t`board`;
|
||||||
|
|
||||||
const deleteBoard = api.board.delete.useMutation({
|
const deleteBoard = api.board.delete.useMutation({
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
@@ -33,7 +34,7 @@ export function DeleteBoardConfirmation({
|
|||||||
<div className="p-5">
|
<div className="p-5">
|
||||||
<div className="flex w-full flex-col justify-between pb-4">
|
<div className="flex w-full flex-col justify-between pb-4">
|
||||||
<h2 className="text-md pb-4 font-medium text-neutral-900 dark:text-dark-1000">
|
<h2 className="text-md pb-4 font-medium text-neutral-900 dark:text-dark-1000">
|
||||||
{t`Are you sure you want to delete this ${isTemplate ? "template" : "board"}?`}
|
{t`Are you sure you want to delete this ${boardTypeLabel}?`}
|
||||||
</h2>
|
</h2>
|
||||||
<p className="text-sm font-medium text-light-900 dark:text-dark-900">
|
<p className="text-sm font-medium text-light-900 dark:text-dark-900">
|
||||||
{t`This action can't be undone.`}
|
{t`This action can't be undone.`}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export function MoveBoardForm({
|
|||||||
closeModal();
|
closeModal();
|
||||||
showPopup({
|
showPopup({
|
||||||
header: t`Board moved`,
|
header: t`Board moved`,
|
||||||
message: t`The board has been moved to ${targetWorkspace?.name ?? "the workspace"}.`,
|
message: t`The board has been moved to ${targetWorkspace?.name ?? t`the workspace`}.`,
|
||||||
icon: "success",
|
icon: "success",
|
||||||
});
|
});
|
||||||
if (targetWorkspace) {
|
if (targetWorkspace) {
|
||||||
|
|||||||
@@ -42,12 +42,13 @@ const VisibilityButton = ({
|
|||||||
}, [visibility]);
|
}, [visibility]);
|
||||||
|
|
||||||
const isPublic = stateVisibility === "public";
|
const isPublic = stateVisibility === "public";
|
||||||
|
const visibilityLabel = isPublic ? t`public` : t`private`;
|
||||||
|
|
||||||
const updateBoardVisibility = api.board.update.useMutation({
|
const updateBoardVisibility = api.board.update.useMutation({
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
showPopup({
|
showPopup({
|
||||||
header: t`Board visibility updated`,
|
header: t`Board visibility updated`,
|
||||||
message: t`The visibility of your board has been set to ${isPublic ? "public" : "private"}.`,
|
message: t`The visibility of your board has been set to ${visibilityLabel}.`,
|
||||||
icon: "success",
|
icon: "success",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { useRouter } from "next/router";
|
|||||||
import { t } from "@lingui/core/macro";
|
import { t } from "@lingui/core/macro";
|
||||||
import { keepPreviousData } from "@tanstack/react-query";
|
import { keepPreviousData } from "@tanstack/react-query";
|
||||||
import { env } from "next-runtime-env";
|
import { env } from "next-runtime-env";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useMemo, useState } from "react";
|
||||||
import { DragDropContext, Draggable } from "react-beautiful-dnd";
|
import { DragDropContext, Draggable } from "react-beautiful-dnd";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import {
|
import {
|
||||||
@@ -46,10 +46,10 @@ import { CardContextMembersModal } from "./components/CardContextMembersModal";
|
|||||||
import { CardContextMenu } from "./components/CardContextMenu";
|
import { CardContextMenu } from "./components/CardContextMenu";
|
||||||
import { CardContextMoveListModal } from "./components/CardContextMoveListModal";
|
import { CardContextMoveListModal } from "./components/CardContextMoveListModal";
|
||||||
import { DeleteBoardConfirmation } from "./components/DeleteBoardConfirmation";
|
import { DeleteBoardConfirmation } from "./components/DeleteBoardConfirmation";
|
||||||
import { MoveBoardForm } from "./components/MoveBoardForm";
|
|
||||||
import { DeleteListConfirmation } from "./components/DeleteListConfirmation";
|
import { DeleteListConfirmation } from "./components/DeleteListConfirmation";
|
||||||
import Filters from "./components/Filters";
|
import Filters from "./components/Filters";
|
||||||
import List from "./components/List";
|
import List from "./components/List";
|
||||||
|
import { MoveBoardForm } from "./components/MoveBoardForm";
|
||||||
import { NewCardForm } from "./components/NewCardForm";
|
import { NewCardForm } from "./components/NewCardForm";
|
||||||
import { NewListForm } from "./components/NewListForm";
|
import { NewListForm } from "./components/NewListForm";
|
||||||
import { NewTemplateForm } from "./components/NewTemplateForm";
|
import { NewTemplateForm } from "./components/NewTemplateForm";
|
||||||
@@ -85,21 +85,26 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
const { canCreateList, canEditList, canEditCard, canEditBoard } =
|
const { canCreateList, canEditList, canEditCard, canEditBoard } =
|
||||||
usePermissions();
|
usePermissions();
|
||||||
|
|
||||||
const { tooltipContent: createListShortcutTooltipContent } =
|
|
||||||
useKeyboardShortcut({
|
|
||||||
type: "PRESS",
|
|
||||||
stroke: { key: "C" },
|
|
||||||
action: () => boardId && canCreateList && openNewListForm(boardId),
|
|
||||||
description: t`Create new list`,
|
|
||||||
group: "ACTIONS",
|
|
||||||
});
|
|
||||||
|
|
||||||
const boardId = params?.boardId
|
const boardId = params?.boardId
|
||||||
? Array.isArray(params.boardId)
|
? Array.isArray(params.boardId)
|
||||||
? params.boardId[0]
|
? params.boardId[0]
|
||||||
: params.boardId
|
: params.boardId
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
|
const createListShortcut = useMemo(
|
||||||
|
() => ({
|
||||||
|
type: "PRESS" as const,
|
||||||
|
stroke: { key: "C" },
|
||||||
|
action: () => boardId && canCreateList && openNewListForm(boardId),
|
||||||
|
description: t`Create new list`,
|
||||||
|
group: "ACTIONS" as const,
|
||||||
|
}),
|
||||||
|
[boardId, canCreateList],
|
||||||
|
);
|
||||||
|
|
||||||
|
const { tooltipContent: createListShortcutTooltipContent } =
|
||||||
|
useKeyboardShortcut(createListShortcut);
|
||||||
|
|
||||||
const updateBoard = api.board.update.useMutation();
|
const updateBoard = api.board.update.useMutation();
|
||||||
|
|
||||||
const { register, handleSubmit, setValue } = useForm<UpdateBoardInput>({
|
const { register, handleSubmit, setValue } = useForm<UpdateBoardInput>({
|
||||||
@@ -535,7 +540,7 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PageHead
|
<PageHead
|
||||||
title={`${boardData?.name ?? (isTemplate ? t`Board` : t`Template`)} | ${workspace.name ?? t`Workspace`}`}
|
title={`${boardData?.name ?? (isTemplate ? t`Template` : t`Board`)} | ${workspace.name ?? t`Workspace`}`}
|
||||||
/>
|
/>
|
||||||
<div className="relative flex h-full flex-col">
|
<div className="relative flex h-full flex-col">
|
||||||
<PatternedBackground />
|
<PatternedBackground />
|
||||||
@@ -562,7 +567,7 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
)}
|
)}
|
||||||
{!boardData && !isLoading && (
|
{!boardData && !isLoading && (
|
||||||
<p className="order-2 block p-0 py-0 font-bold leading-[2.3rem] tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem] md:order-1">
|
<p className="order-2 block p-0 py-0 font-bold leading-[2.3rem] tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem] md:order-1">
|
||||||
{t`${isTemplate ? "Template" : "Board"} not found`}
|
{isTemplate ? t`Template not found` : t`Board not found`}
|
||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
<div className="order-1 mb-4 flex items-center justify-end space-x-2 md:order-2 md:mb-0">
|
<div className="order-1 mb-4 flex items-center justify-end space-x-2 md:order-2 md:mb-0">
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ export function BoardsList({ isTemplate, archived = false }: { isTemplate?: bool
|
|||||||
const { workspace } = useWorkspace();
|
const { workspace } = useWorkspace();
|
||||||
const { openModal } = useModal();
|
const { openModal } = useModal();
|
||||||
const { canCreateBoard } = usePermissions();
|
const { canCreateBoard } = usePermissions();
|
||||||
|
const boardTypeLabel = isTemplate ? t`template` : t`board`;
|
||||||
|
const boardLabel = isTemplate ? t`templates` : t`boards`;
|
||||||
|
|
||||||
const utils = api.useUtils();
|
const utils = api.useUtils();
|
||||||
const updateBoard = api.board.update.useMutation({
|
const updateBoard = api.board.update.useMutation({
|
||||||
@@ -60,10 +62,10 @@ export function BoardsList({ isTemplate, archived = false }: { isTemplate?: bool
|
|||||||
<div className="flex flex-col items-center">
|
<div className="flex flex-col items-center">
|
||||||
<HiOutlineRectangleStack className="h-10 w-10 text-light-800 dark:text-dark-800" />
|
<HiOutlineRectangleStack className="h-10 w-10 text-light-800 dark:text-dark-800" />
|
||||||
<p className="mb-2 mt-4 text-[14px] font-bold text-light-1000 dark:text-dark-950">
|
<p className="mb-2 mt-4 text-[14px] font-bold text-light-1000 dark:text-dark-950">
|
||||||
{archived ? t`No archived boards` : t`No ${isTemplate ? "templates" : "boards"}`}
|
{archived ? t`No archived boards` : t`No ${boardLabel}`}
|
||||||
</p>
|
</p>
|
||||||
<p className="text-[14px] text-light-900 dark:text-dark-900">
|
<p className="text-[14px] text-light-900 dark:text-dark-900">
|
||||||
{archived ? t`Boards you archive will appear here.` : t`Get started by creating a new ${isTemplate ? "template" : "board"}`}
|
{archived ? t`Boards you archive will appear here.` : t`Get started by creating a new ${boardTypeLabel}`}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
@@ -77,7 +79,7 @@ export function BoardsList({ isTemplate, archived = false }: { isTemplate?: bool
|
|||||||
}}
|
}}
|
||||||
disabled={!canCreateBoard}
|
disabled={!canCreateBoard}
|
||||||
>
|
>
|
||||||
{t`Create new ${isTemplate ? "template" : "board"}`}
|
{t`Create new ${boardTypeLabel}`}
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ interface NewBoardInputWithTemplate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function NewBoardForm({ isTemplate }: { isTemplate?: boolean }) {
|
export function NewBoardForm({ isTemplate }: { isTemplate?: boolean }) {
|
||||||
|
const boardTypeLabel = isTemplate ? t`template` : t`board`;
|
||||||
const utils = api.useUtils();
|
const utils = api.useUtils();
|
||||||
const { closeModal } = useModal();
|
const { closeModal } = useModal();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -117,7 +118,7 @@ export function NewBoardForm({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
<form onSubmit={handleSubmit(onSubmit)}>
|
<form onSubmit={handleSubmit(onSubmit)}>
|
||||||
<div className="px-5 pt-5">
|
<div className="px-5 pt-5">
|
||||||
<div className="text-neutral-9000 flex w-full items-center justify-between pb-4 dark:text-dark-1000">
|
<div className="text-neutral-9000 flex w-full items-center justify-between pb-4 dark:text-dark-1000">
|
||||||
<h2 className="text-sm font-bold">{t`New ${isTemplate ? "template" : "board"}`}</h2>
|
<h2 className="text-sm font-bold">{t`New ${boardTypeLabel}`}</h2>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="hover:bg-li ght-300 rounded p-1 focus:outline-none dark:hover:bg-dark-300"
|
className="hover:bg-li ght-300 rounded p-1 focus:outline-none dark:hover:bg-dark-300"
|
||||||
@@ -163,7 +164,7 @@ export function NewBoardForm({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
)}
|
)}
|
||||||
<div>
|
<div>
|
||||||
<Button type="submit" isLoading={createBoard.isPending}>
|
<Button type="submit" isLoading={createBoard.isPending}>
|
||||||
{t`Create ${isTemplate ? "template" : "board"}`}
|
{t`Create ${boardTypeLabel}`}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,8 +5,12 @@ import {
|
|||||||
ListboxOptions,
|
ListboxOptions,
|
||||||
} from "@headlessui/react";
|
} from "@headlessui/react";
|
||||||
import { t } from "@lingui/core/macro";
|
import { t } from "@lingui/core/macro";
|
||||||
import { HiArrowDownTray, HiChevronDown, HiOutlinePlusSmall } from "react-icons/hi2";
|
import { useMemo, useState } from "react";
|
||||||
import { useState } from "react";
|
import {
|
||||||
|
HiArrowDownTray,
|
||||||
|
HiChevronDown,
|
||||||
|
HiOutlinePlusSmall,
|
||||||
|
} from "react-icons/hi2";
|
||||||
|
|
||||||
import Button from "~/components/Button";
|
import Button from "~/components/Button";
|
||||||
import FeedbackModal from "~/components/FeedbackModal";
|
import FeedbackModal from "~/components/FeedbackModal";
|
||||||
@@ -22,35 +26,41 @@ import { BoardsList } from "./components/BoardsList";
|
|||||||
import { ImportBoardsForm } from "./components/ImportBoardsForm";
|
import { ImportBoardsForm } from "./components/ImportBoardsForm";
|
||||||
import { NewBoardForm } from "./components/NewBoardForm";
|
import { NewBoardForm } from "./components/NewBoardForm";
|
||||||
|
|
||||||
const boardsTabs = [
|
|
||||||
{ key: "boards" as const, label: t`Active` },
|
|
||||||
{ key: "archived" as const, label: t`Archived` },
|
|
||||||
];
|
|
||||||
|
|
||||||
export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
|
export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||||
const { openModal, modalContentType, isOpen } = useModal();
|
const { openModal, modalContentType, isOpen } = useModal();
|
||||||
const { workspace } = useWorkspace();
|
const { workspace } = useWorkspace();
|
||||||
const [activeTab, setActiveTab] = useState<"boards" | "archived">("boards");
|
const [activeTab, setActiveTab] = useState<"boards" | "archived">("boards");
|
||||||
const { canCreateBoard } = usePermissions();
|
const { canCreateBoard } = usePermissions();
|
||||||
|
const boardLabel = isTemplate ? t`Templates` : t`Boards`;
|
||||||
|
const boardTypeLabel = isTemplate ? t`template` : t`board`;
|
||||||
|
const boardsTabs = [
|
||||||
|
{ key: "boards" as const, label: t`Active` },
|
||||||
|
{ key: "archived" as const, label: t`Archived` },
|
||||||
|
];
|
||||||
|
|
||||||
const { tooltipContent: createModalShortcutTooltipContent } =
|
const createBoardShortcut = useMemo(
|
||||||
useKeyboardShortcut({
|
() => ({
|
||||||
type: "PRESS",
|
type: "PRESS" as const,
|
||||||
stroke: { key: "C" },
|
stroke: { key: "C" },
|
||||||
action: () => canCreateBoard && openModal("NEW_BOARD"),
|
action: () => canCreateBoard && openModal("NEW_BOARD"),
|
||||||
description: t`Create new ${isTemplate ? "template" : "board"}`,
|
description: t`Create new ${boardTypeLabel}`,
|
||||||
group: "ACTIONS",
|
group: "ACTIONS" as const,
|
||||||
});
|
}),
|
||||||
|
[boardTypeLabel, canCreateBoard, isTemplate, openModal],
|
||||||
|
);
|
||||||
|
|
||||||
|
const { tooltipContent: createModalShortcutTooltipContent } =
|
||||||
|
useKeyboardShortcut(createBoardShortcut);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PageHead
|
<PageHead
|
||||||
title={t`${isTemplate ? "Templates" : "Boards"} | ${workspace.name ?? t`Workspace`}`}
|
title={t`${boardLabel} | ${workspace.name ?? t`Workspace`}`}
|
||||||
/>
|
/>
|
||||||
<div className="m-auto h-full max-w-[1100px] p-8 px-5 md:px-28 md:py-12">
|
<div className="m-auto h-full max-w-[1100px] p-8 px-5 md:px-28 md:py-12">
|
||||||
<div className="relative z-10 mb-8 flex w-full items-center justify-between">
|
<div className="relative z-10 mb-8 flex w-full items-center justify-between">
|
||||||
<h1 className="font-bold tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
|
<h1 className="font-bold tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
|
||||||
{t`${isTemplate ? "Templates" : "Boards"}`}
|
{boardLabel}
|
||||||
</h1>
|
</h1>
|
||||||
<div className="flex gap-2">
|
<div className="flex gap-2">
|
||||||
{!isTemplate && (
|
{!isTemplate && (
|
||||||
@@ -137,7 +147,7 @@ export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
onChange={(tab) => setActiveTab(tab)}
|
onChange={(tab) => setActiveTab(tab)}
|
||||||
>
|
>
|
||||||
<div className="relative mb-4">
|
<div className="relative mb-4">
|
||||||
<ListboxButton className="w-full appearance-none rounded-md border-0 bg-light-50 py-3 pl-3 pr-10 text-left text-sm font-semibold text-light-1000 shadow-sm ring-1 ring-inset ring-light-300 dark:bg-dark-50 dark:text-dark-1000 dark:ring-dark-300 dark:focus:ring-dark-500">
|
<ListboxButton className="w-full appearance-none rounded-md border-0 bg-light-50 py-3 pl-3 pr-10 text-left text-sm font-semibold text-light-1000 shadow-sm ring-1 ring-inset ring-light-300 dark:bg-dark-50 dark:text-dark-1000 dark:ring-dark-300 dark:focus:ring-dark-500">
|
||||||
{boardsTabs.find((tab) => tab.key === activeTab)?.label ??
|
{boardsTabs.find((tab) => tab.key === activeTab)?.label ??
|
||||||
"Select a tab"}
|
"Select a tab"}
|
||||||
<HiChevronDown
|
<HiChevronDown
|
||||||
@@ -151,9 +161,10 @@ export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
key={tab.key}
|
key={tab.key}
|
||||||
value={tab.key}
|
value={tab.key}
|
||||||
className={({ selected }) =>
|
className={({ selected }) =>
|
||||||
`relative cursor-pointer select-none py-2 pl-3 pr-9 ${selected
|
`relative cursor-pointer select-none py-2 pl-3 pr-9 ${
|
||||||
? "font-bold text-light-1000 dark:text-dark-1000"
|
selected
|
||||||
: "font-normal text-light-1000 dark:text-dark-1000"
|
? "font-bold text-light-1000 dark:text-dark-1000"
|
||||||
|
: "font-normal text-light-1000 dark:text-dark-1000"
|
||||||
}`
|
}`
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
@@ -175,10 +186,11 @@ export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
|
|||||||
key={tab.key}
|
key={tab.key}
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => setActiveTab(tab.key)}
|
onClick={() => setActiveTab(tab.key)}
|
||||||
className={`whitespace-nowrap px-1 py-0 mt-2 mb-8 text-sm font-semibold transition-colors focus:outline-none ${activeTab === tab.key
|
className={`mb-8 mt-2 whitespace-nowrap px-1 py-0 text-sm font-semibold transition-colors focus:outline-none ${
|
||||||
? "border-light-1000 text-light-1000 dark:border-dark-1000 dark:text-dark-1000"
|
activeTab === tab.key
|
||||||
: "border-transparent text-light-900 hover:border-light-950 hover:text-light-950 dark:text-dark-900 dark:hover:border-white/20 dark:hover:text-dark-950"
|
? "border-light-1000 text-light-1000 dark:border-dark-1000 dark:text-dark-1000"
|
||||||
}`}
|
: "border-transparent text-light-900 hover:border-light-950 hover:text-light-950 dark:text-dark-900 dark:hover:border-white/20 dark:hover:text-dark-950"
|
||||||
|
}`}
|
||||||
>
|
>
|
||||||
{tab.label}
|
{tab.label}
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -2,9 +2,10 @@ import { t } from "@lingui/core/macro";
|
|||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { HiOutlineArrowUp } from "react-icons/hi2";
|
import { HiOutlineArrowUp } from "react-icons/hi2";
|
||||||
|
|
||||||
import Editor from "~/components/Editor";
|
|
||||||
import type { WorkspaceMember } from "~/components/Editor";
|
import type { WorkspaceMember } from "~/components/Editor";
|
||||||
|
import Editor from "~/components/Editor";
|
||||||
import LoadingSpinner from "~/components/LoadingSpinner";
|
import LoadingSpinner from "~/components/LoadingSpinner";
|
||||||
|
import { Tooltip } from "~/components/Tooltip";
|
||||||
import { usePermissions } from "~/hooks/usePermissions";
|
import { usePermissions } from "~/hooks/usePermissions";
|
||||||
import { usePopup } from "~/providers/popup";
|
import { usePopup } from "~/providers/popup";
|
||||||
import { api } from "~/utils/api";
|
import { api } from "~/utils/api";
|
||||||
@@ -51,6 +52,21 @@ const NewCommentForm = ({
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const isMac =
|
||||||
|
typeof navigator !== "undefined" && navigator.userAgent.includes("Mac");
|
||||||
|
|
||||||
|
const submitTooltip = (
|
||||||
|
<div className="flex flex-row items-center gap-2 text-[11px]">
|
||||||
|
{t`Submit`}
|
||||||
|
<span className="inline-flex items-center justify-center rounded border border-light-400 bg-light-200 px-1.5 py-0.5 font-mono text-[8px] font-semibold text-neutral-900 dark:border-dark-400 dark:bg-dark-200 dark:text-dark-950">
|
||||||
|
{isMac ? "⌘" : "Ctrl"}
|
||||||
|
</span>
|
||||||
|
<span className="inline-flex items-center justify-center rounded border border-light-400 bg-light-200 px-1.5 py-0.5 font-mono text-[8px] font-semibold text-neutral-900 dark:border-dark-400 dark:bg-dark-200 dark:text-dark-950">
|
||||||
|
Enter
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
if (!canCreateComment) {
|
if (!canCreateComment) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -63,23 +79,26 @@ const NewCommentForm = ({
|
|||||||
<Editor
|
<Editor
|
||||||
content={watch("comment")}
|
content={watch("comment")}
|
||||||
onChange={(value) => setValue("comment", value)}
|
onChange={(value) => setValue("comment", value)}
|
||||||
|
onSubmit={handleSubmit(onSubmit)}
|
||||||
workspaceMembers={workspaceMembers}
|
workspaceMembers={workspaceMembers}
|
||||||
enableYouTubeEmbed={false}
|
enableYouTubeEmbed={false}
|
||||||
placeholder={t`Add comment... (type '/' to open commands or '@' to mention)`}
|
placeholder={t`Add comment... (type '/' to open commands or '@' to mention)`}
|
||||||
disableHeadings={true}
|
disableHeadings={true}
|
||||||
/>
|
/>
|
||||||
<div className="flex justify-end">
|
<div className="flex justify-end">
|
||||||
<button
|
<Tooltip content={submitTooltip} placement="top">
|
||||||
type="submit"
|
<button
|
||||||
disabled={addCommentMutation.isPending}
|
type="submit"
|
||||||
className="flex h-8 w-8 items-center justify-center rounded-full border border-light-600 bg-light-300 hover:bg-light-400 disabled:opacity-50 dark:border-dark-400 dark:bg-dark-200 dark:hover:bg-dark-400"
|
disabled={addCommentMutation.isPending}
|
||||||
>
|
className="flex h-8 w-8 items-center justify-center rounded-full border border-light-600 bg-light-300 hover:bg-light-400 disabled:opacity-50 dark:border-dark-400 dark:bg-dark-200 dark:hover:bg-dark-400"
|
||||||
{addCommentMutation.isPending ? (
|
>
|
||||||
<LoadingSpinner size="sm" />
|
{addCommentMutation.isPending ? (
|
||||||
) : (
|
<LoadingSpinner size="sm" />
|
||||||
<HiOutlineArrowUp />
|
) : (
|
||||||
)}
|
<HiOutlineArrowUp />
|
||||||
</button>
|
)}
|
||||||
|
</button>
|
||||||
|
</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -48,7 +48,11 @@ export default function SelectPlanView() {
|
|||||||
(searchParams.get("billing") as Billing | null) ?? "annual",
|
(searchParams.get("billing") as Billing | null) ?? "annual",
|
||||||
);
|
);
|
||||||
const returnUrl = searchParams.get("returnUrl") ?? "/boards";
|
const returnUrl = searchParams.get("returnUrl") ?? "/boards";
|
||||||
const workspacePublicId = searchParams.get("workspacePublicId");
|
const workspacePublicId =
|
||||||
|
searchParams.get("workspacePublicId") ??
|
||||||
|
(typeof window !== "undefined"
|
||||||
|
? localStorage.getItem("workspacePublicId")
|
||||||
|
: null);
|
||||||
const { data: workspaces } = api.workspace.all.useQuery();
|
const { data: workspaces } = api.workspace.all.useQuery();
|
||||||
const { data: session } = authClient.useSession();
|
const { data: session } = authClient.useSession();
|
||||||
const { data: user } = api.user.getUser.useQuery(undefined, {
|
const { data: user } = api.user.getUser.useQuery(undefined, {
|
||||||
|
|||||||
@@ -61,9 +61,9 @@ services:
|
|||||||
- SMTP_REJECT_UNAUTHORIZED=${SMTP_REJECT_UNAUTHORIZED}
|
- SMTP_REJECT_UNAUTHORIZED=${SMTP_REJECT_UNAUTHORIZED}
|
||||||
|
|
||||||
# Notifications
|
# Notifications
|
||||||
- NOVU_API_KEY=${NOVU_API_KEY}
|
- SUBSCRIBER_API_URL=${SUBSCRIBER_API_URL}
|
||||||
- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}
|
- SUBSCRIBER_API_KEY=${SUBSCRIBER_API_KEY}
|
||||||
- EMAIL_UNSUBSCRIBE_SECRET=${EMAIL_UNSUBSCRIBE_SECRET}
|
- SUBSCRIBER_ENVIRONMENT_ID=${SUBSCRIBER_ENVIRONMENT_ID}
|
||||||
|
|
||||||
# S3 storage
|
# S3 storage
|
||||||
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
|
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
import { describe, it, expect, vi, beforeEach } from "vitest";
|
import { env } from "next-runtime-env";
|
||||||
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||||
|
|
||||||
|
import * as memberRepo from "@kan/db/repository/member.repo";
|
||||||
|
|
||||||
|
import { createDatabaseHooks } from "./hooks";
|
||||||
|
|
||||||
vi.mock("next-runtime-env", () => ({
|
vi.mock("next-runtime-env", () => ({
|
||||||
env: vi.fn(),
|
env: vi.fn(),
|
||||||
@@ -15,11 +20,11 @@ vi.mock("@kan/db/repository/user.repo", () => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
vi.mock("@kan/email", () => ({
|
vi.mock("@kan/email", () => ({
|
||||||
notificationClient: null,
|
createSubscriber: vi.fn(),
|
||||||
|
triggerSubscriberWorkflow: vi.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
vi.mock("@kan/shared", () => ({
|
vi.mock("@kan/shared", () => ({
|
||||||
createEmailUnsubscribeLink: vi.fn(),
|
|
||||||
createS3Client: vi.fn(),
|
createS3Client: vi.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@@ -27,17 +32,10 @@ vi.mock("@aws-sdk/client-s3", () => ({
|
|||||||
PutObjectCommand: vi.fn(),
|
PutObjectCommand: vi.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
vi.mock("@novu/api/models/components", () => ({
|
|
||||||
ChatOrPushProviderEnum: { Discord: "discord" },
|
|
||||||
}));
|
|
||||||
|
|
||||||
import { env } from "next-runtime-env";
|
|
||||||
import * as memberRepo from "@kan/db/repository/member.repo";
|
|
||||||
import { createDatabaseHooks } from "./hooks";
|
|
||||||
|
|
||||||
const mockEnv = env as ReturnType<typeof vi.fn>;
|
const mockEnv = env as ReturnType<typeof vi.fn>;
|
||||||
const mockGetByEmailAndStatus =
|
const mockGetByEmailAndStatus = memberRepo.getByEmailAndStatus as ReturnType<
|
||||||
memberRepo.getByEmailAndStatus as ReturnType<typeof vi.fn>;
|
typeof vi.fn
|
||||||
|
>;
|
||||||
|
|
||||||
const db = {} as Parameters<typeof createDatabaseHooks>[0];
|
const db = {} as Parameters<typeof createDatabaseHooks>[0];
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
import { PutObjectCommand } from "@aws-sdk/client-s3";
|
import { PutObjectCommand } from "@aws-sdk/client-s3";
|
||||||
import { ChatOrPushProviderEnum } from "@novu/api/models/components";
|
|
||||||
import { createAuthMiddleware } from "better-auth/api";
|
import { createAuthMiddleware } from "better-auth/api";
|
||||||
import { env } from "next-runtime-env";
|
import { env } from "next-runtime-env";
|
||||||
|
|
||||||
import type { dbClient } from "@kan/db/client";
|
import type { dbClient } from "@kan/db/client";
|
||||||
import * as memberRepo from "@kan/db/repository/member.repo";
|
import * as memberRepo from "@kan/db/repository/member.repo";
|
||||||
import * as userRepo from "@kan/db/repository/user.repo";
|
import * as userRepo from "@kan/db/repository/user.repo";
|
||||||
import { notificationClient } from "@kan/email";
|
import { createSubscriber, triggerSubscriberWorkflow } from "@kan/email";
|
||||||
import { createLogger } from "@kan/logger";
|
import { createLogger } from "@kan/logger";
|
||||||
import { createEmailUnsubscribeLink, createS3Client } from "@kan/shared";
|
import { createS3Client } from "@kan/shared";
|
||||||
|
|
||||||
const log = createLogger("auth");
|
|
||||||
|
|
||||||
import { downloadImage } from "./utils";
|
import { downloadImage } from "./utils";
|
||||||
|
|
||||||
|
const log = createLogger("auth");
|
||||||
|
|
||||||
type BetterAuthUser = {
|
type BetterAuthUser = {
|
||||||
id: string;
|
id: string;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
@@ -94,53 +93,49 @@ export function createDatabaseHooks(db: dbClient) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notificationClient) {
|
const [firstName, ...rest] = (user.name || "")
|
||||||
try {
|
.split(" ")
|
||||||
const [firstName, ...rest] = (user.name || "")
|
.filter(Boolean);
|
||||||
.split(" ")
|
const lastName = rest.length ? rest.join(" ") : undefined;
|
||||||
.filter(Boolean);
|
|
||||||
const lastName = rest.length ? rest.join(" ") : undefined;
|
|
||||||
const avatarUrl = avatarKey
|
|
||||||
? `${env("NEXT_PUBLIC_STORAGE_URL")}/${env("NEXT_PUBLIC_AVATAR_BUCKET_NAME")}/${avatarKey}`
|
|
||||||
: undefined;
|
|
||||||
|
|
||||||
const unsubscribeUrl = await createEmailUnsubscribeLink(user.id);
|
try {
|
||||||
|
const avatarUrl = avatarKey
|
||||||
|
? `${env("NEXT_PUBLIC_STORAGE_URL")}/${env("NEXT_PUBLIC_AVATAR_BUCKET_NAME")}/${avatarKey}`
|
||||||
|
: undefined;
|
||||||
|
|
||||||
log.info({ workflowId: "user-signup", userId: user.id, email: user.email }, "Triggering Novu workflow");
|
await createSubscriber({
|
||||||
await notificationClient.trigger({
|
publicId: user.id,
|
||||||
to: {
|
email: user.email,
|
||||||
subscriberId: user.id,
|
externalId: user.id,
|
||||||
firstName: firstName,
|
firstName,
|
||||||
lastName: lastName,
|
lastName,
|
||||||
email: user.email,
|
name: user.name,
|
||||||
avatar: avatarUrl,
|
attributes: {
|
||||||
data: {
|
avatarUrl,
|
||||||
emailVerified: user.emailVerified,
|
emailVerified: user.emailVerified,
|
||||||
stripeCustomerId: user.stripeCustomerId,
|
stripeCustomerId: user.stripeCustomerId,
|
||||||
createdAt: user.createdAt,
|
createdAt: user.createdAt,
|
||||||
updatedAt: user.updatedAt,
|
updatedAt: user.updatedAt,
|
||||||
},
|
},
|
||||||
},
|
});
|
||||||
payload: {
|
} catch (error) {
|
||||||
emailUnsubscribeUrl: unsubscribeUrl,
|
log.error({ err: error }, "Error creating subscriber");
|
||||||
},
|
}
|
||||||
workflowId: "user-signup",
|
|
||||||
});
|
|
||||||
log.info({ workflowId: "user-signup", userId: user.id }, "Novu workflow triggered");
|
|
||||||
|
|
||||||
await notificationClient.subscribers.credentials.update(
|
try {
|
||||||
{
|
log.info(
|
||||||
providerId: ChatOrPushProviderEnum.Discord,
|
{ workflowId: "user-signup", userId: user.id, email: user.email },
|
||||||
credentials: {
|
"Triggering user-signup workflow",
|
||||||
webhookUrl: env("DISCORD_WEBHOOK_URL"),
|
);
|
||||||
},
|
await triggerSubscriberWorkflow("user-signup", {
|
||||||
integrationIdentifier: "discord",
|
publicId: user.id,
|
||||||
},
|
});
|
||||||
user.id,
|
log.info(
|
||||||
);
|
{ workflowId: "user-signup", userId: user.id },
|
||||||
} catch (error) {
|
"user-signup workflow triggered",
|
||||||
log.error({ err: error }, "Error adding user to notification client");
|
);
|
||||||
}
|
} catch (error) {
|
||||||
|
log.error({ err: error }, "Error triggering user-signup workflow");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ import type Stripe from "stripe";
|
|||||||
|
|
||||||
import type { dbClient } from "@kan/db/client";
|
import type { dbClient } from "@kan/db/client";
|
||||||
import * as userRepo from "@kan/db/repository/user.repo";
|
import * as userRepo from "@kan/db/repository/user.repo";
|
||||||
import { notificationClient } from "@kan/email";
|
import { triggerSubscriberWorkflow } from "@kan/email";
|
||||||
import { createLogger } from "@kan/logger";
|
import { createLogger } from "@kan/logger";
|
||||||
import { createEmailUnsubscribeLink } from "@kan/shared";
|
|
||||||
|
|
||||||
const log = createLogger("auth");
|
const log = createLogger("auth");
|
||||||
|
|
||||||
@@ -24,30 +23,22 @@ export async function triggerWorkflow(
|
|||||||
cancellationDetails?: Stripe.Subscription.CancellationDetails | null,
|
cancellationDetails?: Stripe.Subscription.CancellationDetails | null,
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
if (!subscription.stripeCustomerId || !notificationClient) return;
|
if (!subscription.stripeCustomerId) return;
|
||||||
|
|
||||||
const user = await userRepo.getByStripeCustomerId(
|
const user = await userRepo.getByStripeCustomerId(
|
||||||
db,
|
db,
|
||||||
subscription.stripeCustomerId,
|
subscription.stripeCustomerId,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!user || !notificationClient) return;
|
if (!user) return;
|
||||||
|
|
||||||
const unsubscribeUrl = await createEmailUnsubscribeLink(user.id);
|
log.info({ workflowId, userId: user.id }, "Triggering workflow");
|
||||||
|
await triggerSubscriberWorkflow(
|
||||||
log.info({ workflowId, userId: user.id }, "Triggering Novu workflow");
|
|
||||||
await notificationClient.trigger({
|
|
||||||
to: {
|
|
||||||
subscriberId: user.id,
|
|
||||||
},
|
|
||||||
payload: {
|
|
||||||
...subscription,
|
|
||||||
cancellationDetails,
|
|
||||||
emailUnsubscribeUrl: unsubscribeUrl,
|
|
||||||
},
|
|
||||||
workflowId,
|
workflowId,
|
||||||
});
|
{ publicId: user.id },
|
||||||
log.info({ workflowId, userId: user.id }, "Novu workflow triggered");
|
{ ...subscription, cancellationDetails },
|
||||||
|
);
|
||||||
|
log.info({ workflowId, userId: user.id }, "Workflow triggered");
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ err: error, workflowId }, "Error triggering workflow");
|
log.error({ err: error, workflowId }, "Error triggering workflow");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@kan/logger": "workspace:^",
|
"@kan/logger": "workspace:^",
|
||||||
"@novu/api": "^3.11.0",
|
|
||||||
"@react-email/components": "^1.0.1",
|
"@react-email/components": "^1.0.1",
|
||||||
"nodemailer": "^7.0.3",
|
"nodemailer": "^7.0.3",
|
||||||
"react-email": "^5.0.6"
|
"react-email": "^5.0.6"
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
export const name = "email";
|
export const name = "email";
|
||||||
|
|
||||||
export { sendEmail } from "./sendEmail";
|
export { sendEmail } from "./sendEmail";
|
||||||
export { notificationClient } from "./notificationClient";
|
export {
|
||||||
|
createSubscriber,
|
||||||
|
updateSubscriberPreferences,
|
||||||
|
triggerSubscriberWorkflow,
|
||||||
|
} from "./subscriberClient";
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
import { Novu } from "@novu/api";
|
|
||||||
|
|
||||||
export const notificationClient =
|
|
||||||
process.env.NEXT_PUBLIC_KAN_ENV === "cloud" && process.env.NOVU_API_KEY
|
|
||||||
? new Novu({ secretKey: process.env.NOVU_API_KEY })
|
|
||||||
: null;
|
|
||||||
115
packages/email/src/subscriberClient.ts
Normal file
115
packages/email/src/subscriberClient.ts
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
import { createLogger } from "@kan/logger";
|
||||||
|
|
||||||
|
const log = createLogger("subscriberClient");
|
||||||
|
|
||||||
|
export const subscriberClient =
|
||||||
|
process.env.NEXT_PUBLIC_KAN_ENV === "cloud" &&
|
||||||
|
process.env.SUBSCRIBER_API_URL &&
|
||||||
|
process.env.SUBSCRIBER_API_KEY &&
|
||||||
|
process.env.SUBSCRIBER_ENVIRONMENT_ID
|
||||||
|
? {
|
||||||
|
apiUrl: process.env.SUBSCRIBER_API_URL,
|
||||||
|
apiKey: process.env.SUBSCRIBER_API_KEY,
|
||||||
|
environmentId: process.env.SUBSCRIBER_ENVIRONMENT_ID,
|
||||||
|
}
|
||||||
|
: null;
|
||||||
|
|
||||||
|
async function subscriberRequest(
|
||||||
|
method: string,
|
||||||
|
path: string,
|
||||||
|
body: unknown,
|
||||||
|
errorMessage: string,
|
||||||
|
) {
|
||||||
|
if (!subscriberClient) return;
|
||||||
|
|
||||||
|
const url = `${subscriberClient.apiUrl}${path}`;
|
||||||
|
|
||||||
|
log.debug({ method, url, body }, "subscriber.dev request");
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await fetch(url, {
|
||||||
|
method,
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-Key": subscriberClient.apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(body),
|
||||||
|
});
|
||||||
|
|
||||||
|
const responseBody = await response.text().catch(() => undefined);
|
||||||
|
|
||||||
|
log.debug(
|
||||||
|
{ method, url, status: response.status, body: responseBody },
|
||||||
|
"subscriber.dev response",
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
log.error(
|
||||||
|
{ status: response.status, body: responseBody },
|
||||||
|
errorMessage,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
log.error({ err: error }, errorMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface CreateSubscriberInput {
|
||||||
|
publicId: string;
|
||||||
|
email: string;
|
||||||
|
externalId: string;
|
||||||
|
firstName?: string;
|
||||||
|
lastName?: string;
|
||||||
|
name?: string;
|
||||||
|
attributes?: Record<string, unknown>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function createSubscriber(input: CreateSubscriberInput) {
|
||||||
|
if (!subscriberClient) return;
|
||||||
|
|
||||||
|
await subscriberRequest(
|
||||||
|
"POST",
|
||||||
|
`/environments/${subscriberClient.environmentId}/subscribers`,
|
||||||
|
input,
|
||||||
|
"Failed to create subscriber.dev subscriber",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
interface UpdateSubscriberPreferencesInput {
|
||||||
|
email: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function updateSubscriberPreferences(
|
||||||
|
subscriberId: string,
|
||||||
|
input: UpdateSubscriberPreferencesInput,
|
||||||
|
) {
|
||||||
|
if (!subscriberClient) return;
|
||||||
|
|
||||||
|
await subscriberRequest(
|
||||||
|
"PATCH",
|
||||||
|
`/environments/${subscriberClient.environmentId}/subscribers/${subscriberId}/preferences`,
|
||||||
|
input,
|
||||||
|
"Failed to update subscriber preferences",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TriggerWorkflowSubscriberInput {
|
||||||
|
publicId?: string;
|
||||||
|
externalId?: string;
|
||||||
|
email?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function triggerSubscriberWorkflow(
|
||||||
|
key: string,
|
||||||
|
subscriber: TriggerWorkflowSubscriberInput,
|
||||||
|
payload?: Record<string, unknown>,
|
||||||
|
) {
|
||||||
|
if (!subscriberClient) return;
|
||||||
|
|
||||||
|
await subscriberRequest(
|
||||||
|
"POST",
|
||||||
|
`/environments/${subscriberClient.environmentId}/workflows/trigger`,
|
||||||
|
{ key, subscriber, payload },
|
||||||
|
"Failed to trigger subscriber.dev workflow",
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -91,21 +91,35 @@ export function registerBoardTools(server: McpServer): void {
|
|||||||
|
|
||||||
server.tool(
|
server.tool(
|
||||||
"create_board",
|
"create_board",
|
||||||
"Create a new board in a workspace",
|
"Create a new board in a workspace, optionally with initial lists and labels",
|
||||||
{
|
{
|
||||||
workspacePublicId: z.string().describe("The workspace's public ID"),
|
workspacePublicId: z.string().describe("The workspace's public ID"),
|
||||||
name: z.string().describe("Board name"),
|
name: z.string().describe("Board name"),
|
||||||
slug: z.string().optional().describe("URL-friendly slug (auto-generated if omitted)"),
|
lists: z
|
||||||
visibility: z
|
.array(z.string().min(1))
|
||||||
.enum(["public", "private"])
|
.default([])
|
||||||
|
.describe("Initial list names, for example [\"Backlog\", \"In Progress\", \"Done\"]"),
|
||||||
|
labels: z
|
||||||
|
.array(z.string().min(1))
|
||||||
|
.default([])
|
||||||
|
.describe("Initial label names, for example [\"Bug\", \"Feature\"]"),
|
||||||
|
type: z
|
||||||
|
.enum(["regular", "template"])
|
||||||
.optional()
|
.optional()
|
||||||
.describe("Board visibility (default: private)"),
|
.describe("Board type (defaults to regular)"),
|
||||||
|
sourceBoardPublicId: z
|
||||||
|
.string()
|
||||||
|
.min(12)
|
||||||
|
.optional()
|
||||||
|
.describe("Source board public ID when cloning an existing board"),
|
||||||
},
|
},
|
||||||
async ({ workspacePublicId, name, slug, visibility }) => {
|
async ({ workspacePublicId, name, lists, labels, type, sourceBoardPublicId }) => {
|
||||||
const data = await kanRequest("POST", `/workspaces/${workspacePublicId}/boards`, {
|
const data = await kanRequest("POST", `/workspaces/${workspacePublicId}/boards`, {
|
||||||
name,
|
name,
|
||||||
slug,
|
lists,
|
||||||
visibility,
|
labels,
|
||||||
|
type,
|
||||||
|
sourceBoardPublicId,
|
||||||
});
|
});
|
||||||
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ export function registerCardTools(server: McpServer): void {
|
|||||||
content: z.string().describe("Comment text"),
|
content: z.string().describe("Comment text"),
|
||||||
},
|
},
|
||||||
async ({ cardPublicId, content }) => {
|
async ({ cardPublicId, content }) => {
|
||||||
const data = await kanRequest("POST", `/cards/${cardPublicId}/comments`, { content });
|
const data = await kanRequest("POST", `/cards/${cardPublicId}/comments`, { comment: content });
|
||||||
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@@ -136,7 +136,7 @@ export function registerCardTools(server: McpServer): void {
|
|||||||
const data = await kanRequest(
|
const data = await kanRequest(
|
||||||
"PUT",
|
"PUT",
|
||||||
`/cards/${cardPublicId}/comments/${commentPublicId}`,
|
`/cards/${cardPublicId}/comments/${commentPublicId}`,
|
||||||
{ content },
|
{ comment: content },
|
||||||
);
|
);
|
||||||
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
import { SignJWT } from "jose";
|
|
||||||
import { env } from "next-runtime-env";
|
|
||||||
|
|
||||||
const encoder = new TextEncoder();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a long‑lived unsubscribe link for a given user/subscriber.
|
|
||||||
*
|
|
||||||
* `${NEXT_PUBLIC_BASE_URL}/unsubscribe?token=<jwt>`
|
|
||||||
*
|
|
||||||
* The JWT payload only contains the subscriberId. There is no expiry
|
|
||||||
* on purpose – unsubscribe links should remain valid indefinitely.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
export async function createEmailUnsubscribeLink(
|
|
||||||
userId: string,
|
|
||||||
): Promise<string | null> {
|
|
||||||
const baseUrl = env("NEXT_PUBLIC_BASE_URL");
|
|
||||||
const secret = process.env.EMAIL_UNSUBSCRIBE_SECRET;
|
|
||||||
|
|
||||||
if (!baseUrl || !secret) {
|
|
||||||
// Environment not configured for unsubscribe links.
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const token = await new SignJWT({ subscriberId: userId })
|
|
||||||
.setProtectedHeader({ alg: "HS256" })
|
|
||||||
// No expiration on purpose; unsubscribe links are long‑lived.
|
|
||||||
.sign(encoder.encode(secret));
|
|
||||||
|
|
||||||
return `${baseUrl}/unsubscribe?token=${encodeURIComponent(token)}`;
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,6 @@ export * from "./generateUID";
|
|||||||
export * from "./generateSlug";
|
export * from "./generateSlug";
|
||||||
export * from "./generateWorkspacePrefix";
|
export * from "./generateWorkspacePrefix";
|
||||||
export * from "./subscriptions";
|
export * from "./subscriptions";
|
||||||
export * from "./email";
|
|
||||||
export * from "./dueDateFilters";
|
export * from "./dueDateFilters";
|
||||||
export * from "./s3";
|
export * from "./s3";
|
||||||
export * from "./mentions";
|
export * from "./mentions";
|
||||||
|
|||||||
43
pnpm-lock.yaml
generated
43
pnpm-lock.yaml
generated
@@ -103,6 +103,9 @@ importers:
|
|||||||
'@kan/db':
|
'@kan/db':
|
||||||
specifier: workspace:^
|
specifier: workspace:^
|
||||||
version: link:../../packages/db
|
version: link:../../packages/db
|
||||||
|
'@kan/email':
|
||||||
|
specifier: workspace:^
|
||||||
|
version: link:../../packages/email
|
||||||
'@kan/logger':
|
'@kan/logger':
|
||||||
specifier: workspace:^
|
specifier: workspace:^
|
||||||
version: link:../../packages/logger
|
version: link:../../packages/logger
|
||||||
@@ -121,9 +124,6 @@ importers:
|
|||||||
'@lingui/react':
|
'@lingui/react':
|
||||||
specifier: ^5.3.2
|
specifier: ^5.3.2
|
||||||
version: 5.4.1(@lingui/babel-plugin-lingui-macro@5.4.1(typescript@5.9.2))(react@18.3.1)
|
version: 5.4.1(@lingui/babel-plugin-lingui-macro@5.4.1(typescript@5.9.2))(react@18.3.1)
|
||||||
'@novu/api':
|
|
||||||
specifier: ^3.11.0
|
|
||||||
version: 3.11.0
|
|
||||||
'@t3-oss/env-nextjs':
|
'@t3-oss/env-nextjs':
|
||||||
specifier: ^0.11.1
|
specifier: ^0.11.1
|
||||||
version: 0.11.1(typescript@5.9.2)(zod@3.25.76)
|
version: 0.11.1(typescript@5.9.2)(zod@3.25.76)
|
||||||
@@ -467,9 +467,6 @@ importers:
|
|||||||
'@kan/logger':
|
'@kan/logger':
|
||||||
specifier: workspace:^
|
specifier: workspace:^
|
||||||
version: link:../logger
|
version: link:../logger
|
||||||
'@novu/api':
|
|
||||||
specifier: ^3.11.0
|
|
||||||
version: 3.11.0
|
|
||||||
'@react-email/components':
|
'@react-email/components':
|
||||||
specifier: ^1.0.1
|
specifier: ^1.0.1
|
||||||
version: 1.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 1.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
@@ -1541,11 +1538,11 @@ packages:
|
|||||||
|
|
||||||
'@esbuild-kit/core-utils@3.3.2':
|
'@esbuild-kit/core-utils@3.3.2':
|
||||||
resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
|
resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
|
||||||
deprecated: 'Merged into tsx: https://tsx.is'
|
deprecated: 'Merged into tsx: https://tsx.hirok.io'
|
||||||
|
|
||||||
'@esbuild-kit/esm-loader@2.6.5':
|
'@esbuild-kit/esm-loader@2.6.5':
|
||||||
resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
|
resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
|
||||||
deprecated: 'Merged into tsx: https://tsx.is'
|
deprecated: 'Merged into tsx: https://tsx.hirok.io'
|
||||||
|
|
||||||
'@esbuild/aix-ppc64@0.19.12':
|
'@esbuild/aix-ppc64@0.19.12':
|
||||||
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
|
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
|
||||||
@@ -2998,9 +2995,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
|
||||||
'@novu/api@3.11.0':
|
|
||||||
resolution: {integrity: sha512-8u0mB5VThL7MhdxoN0UoA4CS9eu2k3Xa6iulauMhCHENuJNxUNuirJWq5t8jDoH4bFTQTfMN0VRkC0qodKR2qA==}
|
|
||||||
|
|
||||||
'@octokit/auth-token@3.0.4':
|
'@octokit/auth-token@3.0.4':
|
||||||
resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==}
|
resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
@@ -3097,95 +3091,111 @@ packages:
|
|||||||
|
|
||||||
'@react-email/body@0.2.0':
|
'@react-email/body@0.2.0':
|
||||||
resolution: {integrity: sha512-9GCWmVmKUAoRfloboCd+RKm6X17xn7eGL7HnpAZUnjBXBilWCxsKnLMTC/ixSHDKS/A/057M1Tx6ZUXd89sVBw==}
|
resolution: {integrity: sha512-9GCWmVmKUAoRfloboCd+RKm6X17xn7eGL7HnpAZUnjBXBilWCxsKnLMTC/ixSHDKS/A/057M1Tx6ZUXd89sVBw==}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/button@0.2.0':
|
'@react-email/button@0.2.0':
|
||||||
resolution: {integrity: sha512-8i+v6cMxr2emz4ihCrRiYJPp2/sdYsNNsBzXStlcA+/B9Umpm5Jj3WJKYpgTPM+aeyiqlG/MMI1AucnBm4f1oQ==}
|
resolution: {integrity: sha512-8i+v6cMxr2emz4ihCrRiYJPp2/sdYsNNsBzXStlcA+/B9Umpm5Jj3WJKYpgTPM+aeyiqlG/MMI1AucnBm4f1oQ==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/code-block@0.2.0':
|
'@react-email/code-block@0.2.0':
|
||||||
resolution: {integrity: sha512-eIrPW9PIFgDopQU0e/OPpwCW2QWQDtNZDSsiN4sJO8KdMnWWnXJicnRfzrit5rHwFo+Y98i+w/Y5ScnBAFr1dQ==}
|
resolution: {integrity: sha512-eIrPW9PIFgDopQU0e/OPpwCW2QWQDtNZDSsiN4sJO8KdMnWWnXJicnRfzrit5rHwFo+Y98i+w/Y5ScnBAFr1dQ==}
|
||||||
engines: {node: '>=22.0.0'}
|
engines: {node: '>=22.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/code-inline@0.0.5':
|
'@react-email/code-inline@0.0.5':
|
||||||
resolution: {integrity: sha512-MmAsOzdJpzsnY2cZoPHFPk6uDO/Ncpb4Kh1hAt9UZc1xOW3fIzpe1Pi9y9p6wwUmpaeeDalJxAxH6/fnTquinA==}
|
resolution: {integrity: sha512-MmAsOzdJpzsnY2cZoPHFPk6uDO/Ncpb4Kh1hAt9UZc1xOW3fIzpe1Pi9y9p6wwUmpaeeDalJxAxH6/fnTquinA==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/column@0.0.13':
|
'@react-email/column@0.0.13':
|
||||||
resolution: {integrity: sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ==}
|
resolution: {integrity: sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/components@1.0.1':
|
'@react-email/components@1.0.1':
|
||||||
resolution: {integrity: sha512-HnL0Y/up61sOBQT2cQg9N/kCoW0bP727gDs2MkFWQYELg6+iIHidMDvENXFC0f1ZE6hTB+4t7sszptvTcJWsDA==}
|
resolution: {integrity: sha512-HnL0Y/up61sOBQT2cQg9N/kCoW0bP727gDs2MkFWQYELg6+iIHidMDvENXFC0f1ZE6hTB+4t7sszptvTcJWsDA==}
|
||||||
engines: {node: '>=22.0.0'}
|
engines: {node: '>=22.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/container@0.0.15':
|
'@react-email/container@0.0.15':
|
||||||
resolution: {integrity: sha512-Qo2IQo0ru2kZq47REmHW3iXjAQaKu4tpeq/M8m1zHIVwKduL2vYOBQWbC2oDnMtWPmkBjej6XxgtZByxM6cCFg==}
|
resolution: {integrity: sha512-Qo2IQo0ru2kZq47REmHW3iXjAQaKu4tpeq/M8m1zHIVwKduL2vYOBQWbC2oDnMtWPmkBjej6XxgtZByxM6cCFg==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/font@0.0.9':
|
'@react-email/font@0.0.9':
|
||||||
resolution: {integrity: sha512-4zjq23oT9APXkerqeslPH3OZWuh5X4crHK6nx82mVHV2SrLba8+8dPEnWbaACWTNjOCbcLIzaC9unk7Wq2MIXw==}
|
resolution: {integrity: sha512-4zjq23oT9APXkerqeslPH3OZWuh5X4crHK6nx82mVHV2SrLba8+8dPEnWbaACWTNjOCbcLIzaC9unk7Wq2MIXw==}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/head@0.0.12':
|
'@react-email/head@0.0.12':
|
||||||
resolution: {integrity: sha512-X2Ii6dDFMF+D4niNwMAHbTkeCjlYYnMsd7edXOsi0JByxt9wNyZ9EnhFiBoQdqkE+SMDcu8TlNNttMrf5sJeMA==}
|
resolution: {integrity: sha512-X2Ii6dDFMF+D4niNwMAHbTkeCjlYYnMsd7edXOsi0JByxt9wNyZ9EnhFiBoQdqkE+SMDcu8TlNNttMrf5sJeMA==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/heading@0.0.15':
|
'@react-email/heading@0.0.15':
|
||||||
resolution: {integrity: sha512-xF2GqsvBrp/HbRHWEfOgSfRFX+Q8I5KBEIG5+Lv3Vb2R/NYr0s8A5JhHHGf2pWBMJdbP4B2WHgj/VUrhy8dkIg==}
|
resolution: {integrity: sha512-xF2GqsvBrp/HbRHWEfOgSfRFX+Q8I5KBEIG5+Lv3Vb2R/NYr0s8A5JhHHGf2pWBMJdbP4B2WHgj/VUrhy8dkIg==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/hr@0.0.11':
|
'@react-email/hr@0.0.11':
|
||||||
resolution: {integrity: sha512-S1gZHVhwOsd1Iad5IFhpfICwNPMGPJidG/Uysy1AwmspyoAP5a4Iw3OWEpINFdgh9MHladbxcLKO2AJO+cA9Lw==}
|
resolution: {integrity: sha512-S1gZHVhwOsd1Iad5IFhpfICwNPMGPJidG/Uysy1AwmspyoAP5a4Iw3OWEpINFdgh9MHladbxcLKO2AJO+cA9Lw==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/html@0.0.11':
|
'@react-email/html@0.0.11':
|
||||||
resolution: {integrity: sha512-qJhbOQy5VW5qzU74AimjAR9FRFQfrMa7dn4gkEXKMB/S9xZN8e1yC1uA9C15jkXI/PzmJ0muDIWmFwatm5/+VA==}
|
resolution: {integrity: sha512-qJhbOQy5VW5qzU74AimjAR9FRFQfrMa7dn4gkEXKMB/S9xZN8e1yC1uA9C15jkXI/PzmJ0muDIWmFwatm5/+VA==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/img@0.0.11':
|
'@react-email/img@0.0.11':
|
||||||
resolution: {integrity: sha512-aGc8Y6U5C3igoMaqAJKsCpkbm1XjguQ09Acd+YcTKwjnC2+0w3yGUJkjWB2vTx4tN8dCqQCXO8FmdJpMfOA9EQ==}
|
resolution: {integrity: sha512-aGc8Y6U5C3igoMaqAJKsCpkbm1XjguQ09Acd+YcTKwjnC2+0w3yGUJkjWB2vTx4tN8dCqQCXO8FmdJpMfOA9EQ==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/link@0.0.12':
|
'@react-email/link@0.0.12':
|
||||||
resolution: {integrity: sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ==}
|
resolution: {integrity: sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/markdown@0.0.17':
|
'@react-email/markdown@0.0.17':
|
||||||
resolution: {integrity: sha512-6op3AfsBC9BJKkhG+eoMFRFWlr0/f3FYbtQrK+VhGzJocEAY0WINIFN+W8xzXr//3IL0K/aKtnH3FtpIuescQQ==}
|
resolution: {integrity: sha512-6op3AfsBC9BJKkhG+eoMFRFWlr0/f3FYbtQrK+VhGzJocEAY0WINIFN+W8xzXr//3IL0K/aKtnH3FtpIuescQQ==}
|
||||||
engines: {node: '>=22.0.0'}
|
engines: {node: '>=22.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/preview@0.0.13':
|
'@react-email/preview@0.0.13':
|
||||||
resolution: {integrity: sha512-F7j9FJ0JN/A4d7yr+aw28p4uX7VLWs7hTHtLo7WRyw4G+Lit6Zucq4UWKRxJC8lpsUdzVmG7aBJnKOT+urqs/w==}
|
resolution: {integrity: sha512-F7j9FJ0JN/A4d7yr+aw28p4uX7VLWs7hTHtLo7WRyw4G+Lit6Zucq4UWKRxJC8lpsUdzVmG7aBJnKOT+urqs/w==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
@@ -3199,18 +3209,21 @@ packages:
|
|||||||
'@react-email/row@0.0.12':
|
'@react-email/row@0.0.12':
|
||||||
resolution: {integrity: sha512-HkCdnEjvK3o+n0y0tZKXYhIXUNPDx+2vq1dJTmqappVHXS5tXS6W5JOPZr5j+eoZ8gY3PShI2LWj5rWF7ZEtIQ==}
|
resolution: {integrity: sha512-HkCdnEjvK3o+n0y0tZKXYhIXUNPDx+2vq1dJTmqappVHXS5tXS6W5JOPZr5j+eoZ8gY3PShI2LWj5rWF7ZEtIQ==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/section@0.0.16':
|
'@react-email/section@0.0.16':
|
||||||
resolution: {integrity: sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w==}
|
resolution: {integrity: sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
'@react-email/tailwind@2.0.1':
|
'@react-email/tailwind@2.0.1':
|
||||||
resolution: {integrity: sha512-/xq0IDYVY7863xPY7cdI45Xoz7M6CnIQBJcQvbqN7MNVpopfH9f+mhjayV1JGfKaxlGWuxfLKhgi9T2shsnEFg==}
|
resolution: {integrity: sha512-/xq0IDYVY7863xPY7cdI45Xoz7M6CnIQBJcQvbqN7MNVpopfH9f+mhjayV1JGfKaxlGWuxfLKhgi9T2shsnEFg==}
|
||||||
engines: {node: '>=22.0.0'}
|
engines: {node: '>=22.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@react-email/body': 0.2.0
|
'@react-email/body': 0.2.0
|
||||||
'@react-email/button': 0.2.0
|
'@react-email/button': 0.2.0
|
||||||
@@ -3249,6 +3262,7 @@ packages:
|
|||||||
'@react-email/text@0.1.5':
|
'@react-email/text@0.1.5':
|
||||||
resolution: {integrity: sha512-o5PNHFSE085VMXayxH+SJ1LSOtGsTv+RpNKnTiJDrJUwoBu77G3PlKOsZZQHCNyD28WsQpl9v2WcJLbQudqwPg==}
|
resolution: {integrity: sha512-o5PNHFSE085VMXayxH+SJ1LSOtGsTv+RpNKnTiJDrJUwoBu77G3PlKOsZZQHCNyD28WsQpl9v2WcJLbQudqwPg==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
react: ^18.0 || ^19.0 || ^19.0.0-rc
|
||||||
|
|
||||||
@@ -4296,6 +4310,7 @@ packages:
|
|||||||
|
|
||||||
'@ungap/structured-clone@1.3.0':
|
'@ungap/structured-clone@1.3.0':
|
||||||
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
|
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
|
||||||
|
deprecated: Potential CWE-502 - Update to 1.3.1 or higher
|
||||||
|
|
||||||
'@vitest/expect@3.2.4':
|
'@vitest/expect@3.2.4':
|
||||||
resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
|
resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
|
||||||
@@ -4618,6 +4633,7 @@ packages:
|
|||||||
basic-ftp@5.0.5:
|
basic-ftp@5.0.5:
|
||||||
resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
|
resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
|
deprecated: Security vulnerability fixed in 5.2.1, please upgrade
|
||||||
|
|
||||||
before-after-hook@2.2.3:
|
before-after-hook@2.2.3:
|
||||||
resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
|
resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
|
||||||
@@ -8734,6 +8750,7 @@ packages:
|
|||||||
|
|
||||||
uuid@9.0.1:
|
uuid@9.0.1:
|
||||||
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
|
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
|
||||||
|
deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
uvu@0.5.6:
|
uvu@0.5.6:
|
||||||
@@ -11479,10 +11496,6 @@ snapshots:
|
|||||||
'@nodelib/fs.scandir': 2.1.5
|
'@nodelib/fs.scandir': 2.1.5
|
||||||
fastq: 1.19.1
|
fastq: 1.19.1
|
||||||
|
|
||||||
'@novu/api@3.11.0':
|
|
||||||
dependencies:
|
|
||||||
zod: 3.25.76
|
|
||||||
|
|
||||||
'@octokit/auth-token@3.0.4': {}
|
'@octokit/auth-token@3.0.4': {}
|
||||||
|
|
||||||
'@octokit/core@4.2.4':
|
'@octokit/core@4.2.4':
|
||||||
|
|||||||
@@ -123,7 +123,6 @@
|
|||||||
"NEXT_PUBLIC_KAN_ENV",
|
"NEXT_PUBLIC_KAN_ENV",
|
||||||
"NEXT_PUBLIC_WHITE_LABEL_HIDE_POWERED_BY",
|
"NEXT_PUBLIC_WHITE_LABEL_HIDE_POWERED_BY",
|
||||||
"STRIPE_SECRET_KEY",
|
"STRIPE_SECRET_KEY",
|
||||||
"DISCORD_WEBHOOK_URL",
|
|
||||||
"STRIPE_WEBHOOK_SECRET",
|
"STRIPE_WEBHOOK_SECRET",
|
||||||
"STRIPE_WEBHOOK_SECRET_LEGACY",
|
"STRIPE_WEBHOOK_SECRET_LEGACY",
|
||||||
"STRIPE_PRO_PLAN_MONTHLY_PRICE_ID",
|
"STRIPE_PRO_PLAN_MONTHLY_PRICE_ID",
|
||||||
@@ -148,8 +147,6 @@
|
|||||||
"PORT",
|
"PORT",
|
||||||
"BETTER_AUTH_SECRET",
|
"BETTER_AUTH_SECRET",
|
||||||
"BETTER_AUTH_TRUSTED_ORIGINS",
|
"BETTER_AUTH_TRUSTED_ORIGINS",
|
||||||
"NOVU_API_KEY",
|
|
||||||
"EMAIL_UNSUBSCRIBE_SECRET",
|
|
||||||
"REDIS_URL",
|
"REDIS_URL",
|
||||||
"LOG_LEVEL",
|
"LOG_LEVEL",
|
||||||
"AXIOM_TOKEN",
|
"AXIOM_TOKEN",
|
||||||
|
|||||||
Reference in New Issue
Block a user