Compare commits

..

2 Commits

Author SHA1 Message Date
Henry
91986d5f12 chore: add translations 2025-10-17 08:31:41 +01:00
Henry
ad7e0e89dd feat: enhance header navigation 2025-10-17 08:27:25 +01:00
30 changed files with 309 additions and 487 deletions

1
.github/funding.yml vendored
View File

@@ -1 +0,0 @@
github: [kanbn]

View File

@@ -84,7 +84,6 @@ checksums:
Bug/singular: 4509fffdb5931f8905063c80cf802d71
Bug%20Report/singular: e558d1f100e21230c2f495a8913ac5ec
Cancel/singular: 2e2a849c2223911717de8caa2c71bade
Card/singular: bba0beaced7ea954ceb980f2b022ffee
Card%20not%20found/singular: 91509e2f92b0b3b11330b6983139fdbf
Card%20title/singular: 7c34f59f4005e6cb3a6ff546ea0b96e3
Change%20Password/singular: a552fc5c4189ebc3e2e6018edda7d18f

View File

@@ -1,5 +1,4 @@
import { useTheme } from "next-themes";
import { useEffect, useRef, useState } from "react";
import { useRef, useState } from "react";
import {
TbLayoutSidebarLeftCollapse,
TbLayoutSidebarLeftExpand,
@@ -11,7 +10,10 @@ import { authClient } from "@kan/auth/client";
import { useClickOutside } from "~/hooks/useClickOutside";
import { useModal } from "~/providers/modal";
import { useWorkspace, WorkspaceProvider } from "~/providers/workspace";
import { useTheme } from "next-themes";
import { WorkspaceProvider } from "~/providers/workspace";
import FeedbackModal from "./FeedbackModal";
import Modal from "./modal";
import SideNavigation from "./SideNavigation";
interface DashboardProps {
@@ -40,8 +42,7 @@ export default function Dashboard({
hasRightPanel = false,
}: DashboardProps) {
const { theme } = useTheme();
const { openModal } = useModal();
const { availableWorkspaces, hasLoaded } = useWorkspace();
const { modalContentType } = useModal();
const { data: session, isPending: sessionLoading } = authClient.useSession();
@@ -89,12 +90,6 @@ export default function Dashboard({
}
});
useEffect(() => {
if (hasLoaded && availableWorkspaces.length === 0) {
openModal("NEW_WORKSPACE", undefined, undefined, false);
}
}, [hasLoaded, availableWorkspaces.length, openModal]);
const isDarkMode = theme === "dark";
return (

View File

@@ -8,7 +8,6 @@ interface Props {
modalSize?: "sm" | "md" | "lg";
positionFromTop?: "sm" | "md" | "lg";
isVisible?: boolean;
closeOnClickOutside?: boolean;
}
const Modal: React.FC<Props> = ({
@@ -16,17 +15,10 @@ const Modal: React.FC<Props> = ({
modalSize = "sm",
positionFromTop = "md",
isVisible,
closeOnClickOutside,
}) => {
const {
isOpen,
closeModal,
closeOnClickOutside: modalCloseOnClickOutside,
} = useModal();
const { isOpen, closeModal } = useModal();
const shouldShow = isVisible ?? isOpen;
const shouldCloseOnClickOutside =
closeOnClickOutside ?? modalCloseOnClickOutside;
const shouldShow = isVisible !== undefined ? isVisible : isOpen;
const modalSizeMap = {
sm: "max-w-[400px]",
@@ -42,11 +34,7 @@ const Modal: React.FC<Props> = ({
return (
<Transition.Root show={shouldShow} as={Fragment}>
<Dialog
as="div"
className="relative z-50"
onClose={shouldCloseOnClickOutside ? closeModal : () => null}
>
<Dialog as="div" className="relative z-50" onClose={closeModal}>
<Transition.Child
as={Fragment}
enter="ease-out duration-300"

View File

@@ -22,15 +22,15 @@ msgid ", or see our"
msgstr ", oder besuche unsere"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -301,8 +301,6 @@ msgid "Blog Post"
msgstr "Blogbeitrag"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Board"
@@ -319,7 +317,7 @@ msgstr "Der Name des Boards darf 100 Zeichen nicht überschreiten"
msgid "Board name is required"
msgstr "Boardname ist erforderlich"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Board nicht gefunden"
@@ -335,7 +333,7 @@ msgstr "Board-URL darf nur Buchstaben, Zahlen und Bindestriche enthalten"
msgid "Board URL cannot exceed 60 characters"
msgstr "Board-URL darf 60 Zeichen nicht überschreiten"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "Board-URL in die Zwischenablage kopiert"
@@ -383,10 +381,6 @@ msgstr "Fehlerbericht"
msgid "Cancel"
msgstr "Abbrechen"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Karte"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Karte nicht gefunden"
@@ -984,7 +978,7 @@ msgid "Free"
msgstr "Kostenlos"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Kostenloser Plan"
@@ -1103,7 +1097,7 @@ msgstr "Ideen"
msgid "Ideas to improve this page..."
msgstr "Ideen zur Verbesserung dieser Seite..."
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Importieren"
@@ -1171,7 +1165,7 @@ msgstr "Ungültige E-Mail-Adresse"
msgid "Invalid invitation"
msgstr "Ungültige Einladung"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Einladen"
@@ -1257,7 +1251,7 @@ msgstr "Sprache"
msgid "Launch offer"
msgstr "Einführungsangebot"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Einführungsangebot: Erhalten Sie unbegrenzte Mitglieder mit Pro"
@@ -1282,7 +1276,7 @@ msgstr "Lizenz"
msgid "Light"
msgstr "Hell"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Link kopiert"
@@ -1335,12 +1329,12 @@ msgstr "Mittlere Priorität"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Mitglieder"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Mitglieder | {0}"
@@ -1373,7 +1367,7 @@ msgstr "Name"
msgid "Need help?"
msgstr "Brauchst du Hilfe?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "Neu"
@@ -1518,7 +1512,7 @@ msgstr "Passwort muss mindestens 8 Zeichen lang sein"
msgid "Passwords do not match"
msgstr "Passwörter stimmen nicht überein"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "Pausiert"
@@ -1527,7 +1521,7 @@ msgstr "Pausiert"
msgid "Payment frequency"
msgstr "Zahlungshäufigkeit"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "Ausstehend"
@@ -1643,7 +1637,7 @@ msgstr "Datenschutzrichtlinie"
msgid "Private"
msgstr "Privat"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Pro-Plan"
@@ -1691,7 +1685,7 @@ msgstr "Remote"
msgid "Remove"
msgstr "Entfernen"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Mitglied entfernen"
@@ -1748,7 +1742,7 @@ msgstr "Überprüfung"
msgid "Roadmap"
msgstr "Roadmap"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Rolle"
@@ -1909,7 +1903,7 @@ msgid "System"
msgstr "System"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Team-Plan"
@@ -1990,7 +1984,7 @@ msgstr "Diese Aktion kann nicht rückgängig gemacht werden."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Dieser API-Schlüssel wird nur einmal angezeigt. Bitte speichern Sie ihn an einem sicheren Ort."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "Dieses Board ist privat oder existiert nicht"
@@ -2260,7 +2254,7 @@ msgstr "URL muss mindestens 3 Zeichen lang sein"
msgid "Use template"
msgstr "Vorlage verwenden"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "Benutzer"
@@ -2285,7 +2279,7 @@ msgstr "Verwalte deine Abrechnung und dein Abonnement."
msgid "View docs"
msgstr "Dokumentation ansehen"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "Nur ansehen"
@@ -2293,7 +2287,7 @@ msgstr "Nur ansehen"
msgid "View our roadmap."
msgstr "Sieh dir unsere roadmap an."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "Workspace anzeigen"
@@ -2334,11 +2328,6 @@ msgid "Why make an open source Trello?"
msgstr "Warum ein open source Trello entwickeln?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Arbeitsbereich"

File diff suppressed because one or more lines are too long

View File

@@ -22,15 +22,15 @@ msgid ", or see our"
msgstr ", or see our"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -337,8 +337,6 @@ msgid "Blog Post"
msgstr "Blog Post"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Board"
@@ -364,7 +362,7 @@ msgstr "Board name cannot exceed 100 characters"
msgid "Board name is required"
msgstr "Board name is required"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Board not found"
@@ -380,7 +378,7 @@ msgstr "Board URL can only contain letters, numbers, and hyphens"
msgid "Board URL cannot exceed 60 characters"
msgstr "Board URL cannot exceed 60 characters"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "Board URL copied to clipboard"
@@ -436,10 +434,6 @@ msgstr "Bug Report"
msgid "Cancel"
msgstr "Cancel"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Card"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Card not found"
@@ -1071,7 +1065,7 @@ msgid "Free"
msgstr "Free"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Free Plan"
@@ -1198,7 +1192,7 @@ msgstr "Ideas to improve this page..."
#~ msgid "Ideas, Research, Planning, Execution, Review, Next Steps, Complete"
#~ msgstr "Ideas, Research, Planning, Execution, Review, Next Steps, Complete"
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Import"
@@ -1266,7 +1260,7 @@ msgstr "Invalid email address"
msgid "Invalid invitation"
msgstr "Invalid invitation"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Invite"
@@ -1356,7 +1350,7 @@ msgstr "Language"
msgid "Launch offer"
msgstr "Launch offer"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Launch offer: Get unlimited members with Pro"
@@ -1381,7 +1375,7 @@ msgstr "License"
msgid "Light"
msgstr "Light"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Link copied"
@@ -1434,12 +1428,12 @@ msgstr "Medium Priority"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Members"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Members | {0}"
@@ -1480,7 +1474,7 @@ msgstr "Name"
msgid "Need help?"
msgstr "Need help?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "New"
@@ -1637,7 +1631,7 @@ msgstr "Password must be at least 8 characters"
msgid "Passwords do not match"
msgstr "Passwords do not match"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "Paused"
@@ -1646,7 +1640,7 @@ msgstr "Paused"
msgid "Payment frequency"
msgstr "Payment frequency"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "Pending"
@@ -1762,7 +1756,7 @@ msgstr "Privacy policy"
msgid "Private"
msgstr "Private"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Pro Plan"
@@ -1810,7 +1804,7 @@ msgstr "Remote"
msgid "Remove"
msgstr "Remove"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Remove member"
@@ -1875,7 +1869,7 @@ msgstr "Review"
msgid "Roadmap"
msgstr "Roadmap"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Role"
@@ -2048,7 +2042,7 @@ msgid "System"
msgstr "System"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Team Plan"
@@ -2129,7 +2123,7 @@ msgstr "This action can't be undone."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "This API key will only be shown once. Please save it in a secure location."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "This board is private or does not exist"
@@ -2411,7 +2405,7 @@ msgstr "URL must be at least 3 characters long"
msgid "Use template"
msgstr "Use template"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "User"
@@ -2436,7 +2430,7 @@ msgstr "View and manage your billing and subscription."
msgid "View docs"
msgstr "View docs"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "View only"
@@ -2444,7 +2438,7 @@ msgstr "View only"
msgid "View our roadmap."
msgstr "View our roadmap."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "View workspace"
@@ -2489,11 +2483,6 @@ msgid "Why make an open source Trello?"
msgstr "Why make an open source Trello?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Workspace"

File diff suppressed because one or more lines are too long

View File

@@ -22,15 +22,15 @@ msgid ", or see our"
msgstr ", o consulta nuestra"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -301,8 +301,6 @@ msgid "Blog Post"
msgstr "Entrada de blog"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Tablero"
@@ -319,7 +317,7 @@ msgstr "El nombre del tablero no puede exceder los 100 caracteres"
msgid "Board name is required"
msgstr "El nombre del tablero es obligatorio"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Tablero no encontrado"
@@ -335,7 +333,7 @@ msgstr "La URL del tablero solo puede contener letras, números y guiones"
msgid "Board URL cannot exceed 60 characters"
msgstr "La URL del tablero no puede exceder los 60 caracteres"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "URL del tablero copiada al portapapeles"
@@ -383,10 +381,6 @@ msgstr "Informe de error"
msgid "Cancel"
msgstr "Cancelar"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Tarjeta"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Tarjeta no encontrada"
@@ -984,7 +978,7 @@ msgid "Free"
msgstr "Gratis"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Plan gratuito"
@@ -1103,7 +1097,7 @@ msgstr "Ideas"
msgid "Ideas to improve this page..."
msgstr "Ideas para mejorar esta página..."
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Importar"
@@ -1171,7 +1165,7 @@ msgstr "Dirección de correo electrónico no válida"
msgid "Invalid invitation"
msgstr "Invitación inválida"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Invitar"
@@ -1257,7 +1251,7 @@ msgstr "Idioma"
msgid "Launch offer"
msgstr "Oferta de lanzamiento"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Oferta de lanzamiento: Obtén miembros ilimitados con Pro"
@@ -1282,7 +1276,7 @@ msgstr "Licencia"
msgid "Light"
msgstr "Claro"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Enlace copiado"
@@ -1335,12 +1329,12 @@ msgstr "Prioridad media"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Miembros"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Miembros | {0}"
@@ -1373,7 +1367,7 @@ msgstr "Nombre"
msgid "Need help?"
msgstr "¿Necesitas ayuda?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "Nuevo"
@@ -1518,7 +1512,7 @@ msgstr "La contraseña debe tener al menos 8 caracteres"
msgid "Passwords do not match"
msgstr "Las contraseñas no coinciden"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "Pausado"
@@ -1527,7 +1521,7 @@ msgstr "Pausado"
msgid "Payment frequency"
msgstr "Frecuencia de pago"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "Pendiente"
@@ -1643,7 +1637,7 @@ msgstr "Política de privacidad"
msgid "Private"
msgstr "Privado"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Plan Pro"
@@ -1691,7 +1685,7 @@ msgstr "Remoto"
msgid "Remove"
msgstr "Eliminar"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Eliminar miembro"
@@ -1748,7 +1742,7 @@ msgstr "Revisión"
msgid "Roadmap"
msgstr "Hoja de ruta"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Rol"
@@ -1909,7 +1903,7 @@ msgid "System"
msgstr "Sistema"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Plan de Equipo"
@@ -1990,7 +1984,7 @@ msgstr "Esta acción no se puede deshacer."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Esta clave API solo se mostrará una vez. Por favor, guárdala en un lugar seguro."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "Este tablero es privado o no existe"
@@ -2260,7 +2254,7 @@ msgstr "La URL debe tener al menos 3 caracteres"
msgid "Use template"
msgstr "Usar plantilla"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "Usuario"
@@ -2285,7 +2279,7 @@ msgstr "Ver y gestionar tu facturación y suscripción."
msgid "View docs"
msgstr "Ver documentación"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "Solo visualización"
@@ -2293,7 +2287,7 @@ msgstr "Solo visualización"
msgid "View our roadmap."
msgstr "Ver nuestra hoja de ruta."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "Ver espacio de trabajo"
@@ -2334,11 +2328,6 @@ msgid "Why make an open source Trello?"
msgstr "¿Por qué crear un Trello de código abierto?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Espacio de trabajo"

File diff suppressed because one or more lines are too long

View File

@@ -22,15 +22,15 @@ msgid ", or see our"
msgstr ", ou consultez notre"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -301,8 +301,6 @@ msgid "Blog Post"
msgstr "Article de blog"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Tableau"
@@ -319,7 +317,7 @@ msgstr "Le nom du tableau ne peut pas dépasser 100 caractères"
msgid "Board name is required"
msgstr "Le nom du tableau est requis"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Tableau introuvable"
@@ -335,7 +333,7 @@ msgstr "L'URL du tableau ne peut contenir que des lettres, des chiffres et des t
msgid "Board URL cannot exceed 60 characters"
msgstr "L'URL du tableau ne peut pas dépasser 60 caractères"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "URL du tableau copiée dans le presse-papiers"
@@ -383,10 +381,6 @@ msgstr "Rapport de bug"
msgid "Cancel"
msgstr "Annuler"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Carte"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Carte introuvable"
@@ -984,7 +978,7 @@ msgid "Free"
msgstr "Gratuit"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Forfait gratuit"
@@ -1103,7 +1097,7 @@ msgstr "Idées"
msgid "Ideas to improve this page..."
msgstr "Idées pour améliorer cette page..."
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Importer"
@@ -1171,7 +1165,7 @@ msgstr "Adresse e-mail invalide"
msgid "Invalid invitation"
msgstr "Invitation invalide"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Inviter"
@@ -1257,7 +1251,7 @@ msgstr "Langue"
msgid "Launch offer"
msgstr "Offre de lancement"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Offre de lancement : obtenez des membres illimités avec Pro"
@@ -1282,7 +1276,7 @@ msgstr "Licence"
msgid "Light"
msgstr "Clair"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Lien copié"
@@ -1335,12 +1329,12 @@ msgstr "Priorité moyenne"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Membres"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Membres | {0}"
@@ -1373,7 +1367,7 @@ msgstr "Nom"
msgid "Need help?"
msgstr "Besoin d'aide ?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "Nouveau"
@@ -1518,7 +1512,7 @@ msgstr "Le mot de passe doit comporter au moins 8 caractères"
msgid "Passwords do not match"
msgstr "Les mots de passe ne correspondent pas"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "En pause"
@@ -1527,7 +1521,7 @@ msgstr "En pause"
msgid "Payment frequency"
msgstr "Fréquence de paiement"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "En attente"
@@ -1643,7 +1637,7 @@ msgstr "Politique de confidentialité"
msgid "Private"
msgstr "Privé"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Plan Pro"
@@ -1691,7 +1685,7 @@ msgstr "À distance"
msgid "Remove"
msgstr "Supprimer"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Supprimer le membre"
@@ -1748,7 +1742,7 @@ msgstr "Révision"
msgid "Roadmap"
msgstr "Feuille de route"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Rôle"
@@ -1909,7 +1903,7 @@ msgid "System"
msgstr "Système"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Forfait d'équipe"
@@ -1990,7 +1984,7 @@ msgstr "Cette action ne peut pas être annulée."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Cette clé API ne sera affichée qu'une seule fois. Veuillez la sauvegarder dans un emplacement sécurisé."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "Ce tableau est privé ou n'existe pas"
@@ -2260,7 +2254,7 @@ msgstr "L'URL doit comporter au moins 3 caractères"
msgid "Use template"
msgstr "Utiliser le modèle"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "Utilisateur"
@@ -2285,7 +2279,7 @@ msgstr "Consultez et gérez votre facturation et votre abonnement."
msgid "View docs"
msgstr "Voir la documentation"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "Affichage uniquement"
@@ -2293,7 +2287,7 @@ msgstr "Affichage uniquement"
msgid "View our roadmap."
msgstr "Consultez notre feuille de route."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "Voir l'espace de travail"
@@ -2334,11 +2328,6 @@ msgid "Why make an open source Trello?"
msgstr "Pourquoi créer un Trello open source ?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Espace de travail"

File diff suppressed because one or more lines are too long

View File

@@ -22,15 +22,15 @@ msgid ", or see our"
msgstr ", o consulta i nostri"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -301,8 +301,6 @@ msgid "Blog Post"
msgstr "Post del blog"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Bacheca"
@@ -319,7 +317,7 @@ msgstr "Il nome della bacheca non può superare i 100 caratteri"
msgid "Board name is required"
msgstr "Il nome della bacheca è obbligatorio"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Bacheca non trovata"
@@ -335,7 +333,7 @@ msgstr "L'URL della bacheca può contenere solo lettere, numeri e trattini"
msgid "Board URL cannot exceed 60 characters"
msgstr "L'URL della bacheca non può superare i 60 caratteri"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "URL della bacheca copiato negli appunti"
@@ -383,10 +381,6 @@ msgstr "Segnalazione bug"
msgid "Cancel"
msgstr "Annulla"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Carta"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Carta non trovata"
@@ -984,7 +978,7 @@ msgid "Free"
msgstr "Gratuito"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Piano gratuito"
@@ -1103,7 +1097,7 @@ msgstr "Idee"
msgid "Ideas to improve this page..."
msgstr "Idee per migliorare questa pagina..."
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Importa"
@@ -1171,7 +1165,7 @@ msgstr "Indirizzo email non valido"
msgid "Invalid invitation"
msgstr "Invito non valido"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Invita"
@@ -1257,7 +1251,7 @@ msgstr "Lingua"
msgid "Launch offer"
msgstr "Offerta di lancio"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Offerta di lancio: ottieni membri illimitati con Pro"
@@ -1282,7 +1276,7 @@ msgstr "Licenza"
msgid "Light"
msgstr "Chiaro"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Link copiato"
@@ -1335,12 +1329,12 @@ msgstr "Media priorità"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Membri"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Membri | {0}"
@@ -1373,7 +1367,7 @@ msgstr "Nome"
msgid "Need help?"
msgstr "Hai bisogno di aiuto?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "Nuovo"
@@ -1518,7 +1512,7 @@ msgstr "La password deve contenere almeno 8 caratteri"
msgid "Passwords do not match"
msgstr "Le password non corrispondono"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "In pausa"
@@ -1527,7 +1521,7 @@ msgstr "In pausa"
msgid "Payment frequency"
msgstr "Frequenza di pagamento"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "In attesa"
@@ -1643,7 +1637,7 @@ msgstr "Informativa sulla privacy"
msgid "Private"
msgstr "Privato"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Piano Pro"
@@ -1691,7 +1685,7 @@ msgstr "Remoto"
msgid "Remove"
msgstr "Rimuovi"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Rimuovi membro"
@@ -1748,7 +1742,7 @@ msgstr "Revisione"
msgid "Roadmap"
msgstr "Roadmap"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Ruolo"
@@ -1909,7 +1903,7 @@ msgid "System"
msgstr "Sistema"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Piano Team"
@@ -1990,7 +1984,7 @@ msgstr "Questa azione non può essere annullata."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Questa chiave API verrà mostrata una sola volta. Salvala in un luogo sicuro."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "Questa bacheca è privata o non esiste"
@@ -2260,7 +2254,7 @@ msgstr "L'URL deve contenere almeno 3 caratteri"
msgid "Use template"
msgstr "Usa template"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "Utente"
@@ -2285,7 +2279,7 @@ msgstr "Visualizza e gestisci la tua fatturazione e abbonamento."
msgid "View docs"
msgstr "Visualizza documenti"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "Solo visualizzazione"
@@ -2293,7 +2287,7 @@ msgstr "Solo visualizzazione"
msgid "View our roadmap."
msgstr "Visualizza la nostra roadmap."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "Visualizza spazio di lavoro"
@@ -2334,11 +2328,6 @@ msgid "Why make an open source Trello?"
msgstr "Perché creare un Trello open source?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Spazio di lavoro"

File diff suppressed because one or more lines are too long

View File

@@ -22,15 +22,15 @@ msgid ", or see our"
msgstr ", of bekijk onze"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -301,8 +301,6 @@ msgid "Blog Post"
msgstr "Blogbericht"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Bord"
@@ -319,7 +317,7 @@ msgstr "Bordnaam mag niet langer zijn dan 100 tekens"
msgid "Board name is required"
msgstr "Bordnaam is verplicht"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Bord niet gevonden"
@@ -335,7 +333,7 @@ msgstr "Board URL kan alleen letters, cijfers en koppeltekens bevatten"
msgid "Board URL cannot exceed 60 characters"
msgstr "Board URL mag niet langer zijn dan 60 tekens"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "Board URL gekopieerd naar klembord"
@@ -383,10 +381,6 @@ msgstr "Bugrapport"
msgid "Cancel"
msgstr "Annuleren"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Kaart"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Kaart niet gevonden"
@@ -984,7 +978,7 @@ msgid "Free"
msgstr "Gratis"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Gratis plan"
@@ -1103,7 +1097,7 @@ msgstr "Ideeën"
msgid "Ideas to improve this page..."
msgstr "Ideeën om deze pagina te verbeteren..."
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Importeren"
@@ -1171,7 +1165,7 @@ msgstr "Ongeldig e-mailadres"
msgid "Invalid invitation"
msgstr "Ongeldige uitnodiging"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Uitnodigen"
@@ -1257,7 +1251,7 @@ msgstr "Taal"
msgid "Launch offer"
msgstr "Introductieaanbieding"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Lanceringsaanbieding: krijg onbeperkt aantal leden met Pro"
@@ -1282,7 +1276,7 @@ msgstr "Licentie"
msgid "Light"
msgstr "Licht"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Link gekopieerd"
@@ -1335,12 +1329,12 @@ msgstr "Gemiddelde prioriteit"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Leden"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Leden | {0}"
@@ -1373,7 +1367,7 @@ msgstr "Naam"
msgid "Need help?"
msgstr "Hulp nodig?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "Nieuw"
@@ -1518,7 +1512,7 @@ msgstr "Wachtwoord moet minimaal 8 tekens bevatten"
msgid "Passwords do not match"
msgstr "Wachtwoorden komen niet overeen"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "Gepauzeerd"
@@ -1527,7 +1521,7 @@ msgstr "Gepauzeerd"
msgid "Payment frequency"
msgstr "Betalingsfrequentie"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "In behandeling"
@@ -1643,7 +1637,7 @@ msgstr "Privacybeleid"
msgid "Private"
msgstr "Privé"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Pro Plan"
@@ -1691,7 +1685,7 @@ msgstr "Op afstand"
msgid "Remove"
msgstr "Verwijderen"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Lid verwijderen"
@@ -1748,7 +1742,7 @@ msgstr "Beoordeling"
msgid "Roadmap"
msgstr "Roadmap"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Rol"
@@ -1909,7 +1903,7 @@ msgid "System"
msgstr "Systeem"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Teamplan"
@@ -1990,7 +1984,7 @@ msgstr "Deze actie kan niet ongedaan worden gemaakt."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Deze API-sleutel wordt slechts één keer getoond. Bewaar deze op een veilige plaats."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "Dit bord is privé of bestaat niet"
@@ -2260,7 +2254,7 @@ msgstr "URL moet minimaal 3 tekens lang zijn"
msgid "Use template"
msgstr "Sjabloon gebruiken"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "Gebruiker"
@@ -2285,7 +2279,7 @@ msgstr "Bekijk en beheer je facturering en abonnement."
msgid "View docs"
msgstr "Bekijk documentatie"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "Alleen bekijken"
@@ -2293,7 +2287,7 @@ msgstr "Alleen bekijken"
msgid "View our roadmap."
msgstr "Bekijk onze roadmap."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "Werkruimte bekijken"
@@ -2334,11 +2328,6 @@ msgid "Why make an open source Trello?"
msgstr "Waarom een open source Trello maken?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Werkruimte"

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +1,6 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2025-10-16 20:29+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -27,15 +22,15 @@ msgid ", or see our"
msgstr ", lub zobacz nasze"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -78,7 +73,7 @@ msgstr "Konto"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:27
msgid "Account deleted"
msgstr "Konto zostało usunięte"
msgstr "Konto usunięte"
#: src/views/card/index.tsx:291
#: src/views/public/board/CardModal.tsx:143
@@ -306,8 +301,6 @@ msgid "Blog Post"
msgstr "Post na blogu"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Tablica"
@@ -324,7 +317,7 @@ msgstr "Nazwa tablicy nie może przekraczać 100 znaków"
msgid "Board name is required"
msgstr "Nazwa tablicy jest wymagana"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Tablica nie została znaleziona"
@@ -340,9 +333,9 @@ msgstr "Adres URL tablicy może zawierać tylko litery, cyfry i myślniki"
msgid "Board URL cannot exceed 60 characters"
msgstr "Adres URL tablicy nie może przekraczać 60 znaków"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "Adres URL tablicy został skopiowany do schowka"
msgstr "Adres URL tablicy skopiowany do schowka"
#: src/views/board/components/UpdateBoardSlugForm.tsx:41
msgid "Board URL must be at least 3 characters long"
@@ -355,7 +348,7 @@ msgstr "Widoczność tablicy"
#: src/views/board/components/VisibilityButton.tsx:45
msgid "Board visibility updated"
msgstr "Widoczność tablicy została zaktualizowana"
msgstr "Widoczność tablicy zaktualizowana"
#: src/components/SideNavigation.tsx:70
msgid "Boards"
@@ -388,13 +381,9 @@ msgstr "Zgłoszenie błędu"
msgid "Cancel"
msgstr "Anuluj"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Karta"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Nie można było znaleźć karty"
msgstr "Karta nie znaleziona"
#: src/views/board/components/NewCardForm.tsx:309
msgid "Card title"
@@ -904,7 +893,7 @@ msgstr "Wszystko w darmowym planie, plus:"
#: src/views/pricing/components/Pricing.tsx:33
#: src/views/pricing/components/PricingTiers.tsx:31
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
msgstr "Wszystko, czego potrzebujesz, za darmo na zawsze. Nielimitowane tablice, nieograniczone listy i nieograniczone karty. Możesz ulepszyć w dowolnym momencie."
msgstr "Wszystko, czego potrzebujesz, za darmo na zawsze. Nieograniczone tablice, nieograniczone listy, nieograniczone karty. Możesz zaktualizować w dowolnym momencie."
#: src/views/boards/components/TemplateBoards.tsx:79
msgid "Execution"
@@ -935,7 +924,7 @@ msgstr "FAQ"
#: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs"
msgstr "Pytania i Odpowiedzi"
msgstr "FAQ"
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
msgid "Fast & lightweight"
@@ -981,7 +970,7 @@ msgstr "Znajdź odpowiedzi na często zadawane pytania dotyczące projektu. Nie
#: src/views/home/components/Faqs.tsx:41
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
msgstr "Na rzecz długotrwałego rozwoju i utrzymania projektu uznaliśmy, że wszystkie dobre projekty otwartoźródłowe potrzebują źródła dochodu. Nasze środki pochodzą z płatnej oferty chmurowej dla przestrzeni roboczych z wieloma użytkownikami (bezpłatne podczas wersji beta) oraz dla niestandardowych nazw przestrzeni roboczych. Nie ma obowiązku korzystania z niej, a oprogramowanie można hostować samodzielnie na własnej infrastrukturze bez opłat i bez limitów."
msgstr "Dla długoterminowej trwałości uznajemy, że wszystkie dobre projekty open source potrzebują źródła dochodu. Nasze pochodzi z płatnej oferty chmurowej dla przestrzeni roboczych z wieloma użytkownikami (bezpłatne podczas wersji beta) oraz dla niestandardowych nazw przestrzeni roboczych. Nie ma obowiązku korzystania z niej, a oprogramowanie można hostować samodzielnie na własnej infrastrukturze bez opłat."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
@@ -989,7 +978,7 @@ msgid "Free"
msgstr "Darmowy"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Darmowy plan"
@@ -1108,7 +1097,7 @@ msgstr "Pomysły"
msgid "Ideas to improve this page..."
msgstr "Pomysły na ulepszenie tej strony..."
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Importuj"
@@ -1176,7 +1165,7 @@ msgstr "Nieprawidłowy adres e-mail"
msgid "Invalid invitation"
msgstr "Nieprawidłowe zaproszenie"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Zaproś"
@@ -1194,7 +1183,7 @@ msgstr "Linki zaproszeń"
#: src/views/members/components/InviteMemberForm.tsx:123
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
msgstr "Linki zaproszeń wymagają subskrypcji Team lub Pro. Proszę ulepszyć swoje środowisko pracy."
msgstr "Linki zaproszeń wymagają subskrypcji Team lub Pro. Proszę zaktualizować swoje środowisko pracy."
#: src/views/card/components/MemberSelector.tsx:111
#: src/views/members/components/InviteMemberForm.tsx:365
@@ -1203,7 +1192,7 @@ msgstr "Zaproś członka"
#: src/views/members/components/InviteMemberForm.tsx:329
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "Zapraszanie członków wymaga planu Team. Zostaniesz przekierowany, aby ulepszyć swoje środowisko pracy."
msgstr "Zapraszanie członków wymaga planu Team. Zostaniesz przekierowany, aby zaktualizować swoje środowisko pracy."
#: src/views/invite/index.tsx:79
#: src/views/invite/index.tsx:129
@@ -1232,7 +1221,7 @@ msgstr "Kanban jest lepszy w zespole. Idealny dla małych i rozwijających się
#: src/views/home/components/Features.tsx:136
msgid "Kanban reimagined"
msgstr "Kanban wymyślony na nowo"
msgstr "Kanban na nowo"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
@@ -1262,7 +1251,7 @@ msgstr "Język"
msgid "Launch offer"
msgstr "Oferta startowa"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Oferta startowa: Nieograniczona liczba członków z Pro"
@@ -1287,7 +1276,7 @@ msgstr "Licencja"
msgid "Light"
msgstr "Jasny"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Link skopiowany"
@@ -1340,12 +1329,12 @@ msgstr "Średni priorytet"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Członkowie"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Członkowie | {0}"
@@ -1378,7 +1367,7 @@ msgstr "Nazwa"
msgid "Need help?"
msgstr "Potrzebujesz pomocy?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "Nowy"
@@ -1427,7 +1416,7 @@ msgstr "Nowy szablon"
#: src/views/boards/components/TemplateBoards.tsx:44
msgid "New Ticket"
msgstr "Nowe zgłoszenie"
msgstr "Nowy bilet"
#: src/components/NewWorkspaceForm.tsx:240
msgid "New workspace"
@@ -1480,7 +1469,7 @@ msgstr "Po usunięciu przestrzeni roboczej nie będzie możliwości jej przywró
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
msgid "Open source"
msgstr "Otwartoźródłowe"
msgstr "Open source"
#: src/components/AuthForm.tsx:365
msgid "or"
@@ -1493,7 +1482,7 @@ msgstr "Organizuj i znajduj karty szybko dzięki zaawansowanym narzędziom filtr
#: src/views/pricing/components/Pricing.tsx:73
#: src/views/pricing/components/PricingTiers.tsx:70
msgid "Own your data"
msgstr "Ty posiadasz swoje dane"
msgstr "Zarządzaj swoimi danymi"
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
msgid "Owned by Atlassian"
@@ -1523,7 +1512,7 @@ msgstr "Hasło musi mieć co najmniej 8 znaków"
msgid "Passwords do not match"
msgstr "Hasła nie pasują do siebie"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "Wstrzymane"
@@ -1532,7 +1521,7 @@ msgstr "Wstrzymane"
msgid "Payment frequency"
msgstr "Częstotliwość płatności"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "Oczekujące"
@@ -1648,7 +1637,7 @@ msgstr "Polityka prywatności"
msgid "Private"
msgstr "Prywatne"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Plan Pro"
@@ -1696,7 +1685,7 @@ msgstr "Zdalne"
msgid "Remove"
msgstr "Usuń"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Usuń członka"
@@ -1741,7 +1730,7 @@ msgstr "Zasoby"
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
msgid "REST API"
msgstr "API REST'owe"
msgstr "REST API"
#: src/views/boards/components/TemplateBoards.tsx:80
msgid "Review"
@@ -1751,9 +1740,9 @@ msgstr "Przegląd"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Header.tsx:28
msgid "Roadmap"
msgstr "Plan ulepszeń"
msgstr "Mapa drogowa"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Rola"
@@ -1769,7 +1758,7 @@ msgstr "Zapisz"
#: src/views/home/components/Features.tsx:116
msgid "Save time with reusable board templates."
msgstr "Oszczędzaj czas przy tworzeniu powtarzalnych tablic dzięki szablonom."
msgstr "Oszczędzaj czas dzięki wielokrotnego użytku szablonom tablic."
#: src/views/boards/components/TemplateBoards.tsx:64
msgid "Screening"
@@ -1790,11 +1779,11 @@ msgstr "Wybierz źródło"
#: src/views/pricing/components/Pricing.tsx:64
#: src/views/pricing/components/PricingTiers.tsx:61
msgid "Self Host"
msgstr "Hostuj samodzielnie"
msgstr "Samodzielne hostowanie"
#: src/views/home/index.tsx:79
msgid "Self host with Github"
msgstr "Hostuj samodzielnie z Github"
msgstr "Samodzielne hostowanie z Github"
#: src/views/card/components/ActivityList.tsx:107
msgid "self-assigned the card"
@@ -1914,7 +1903,7 @@ msgid "System"
msgstr "System"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Plan zespołowy"
@@ -1964,11 +1953,11 @@ msgstr "Wprowadzone obecne hasło jest nieprawidłowe."
#: src/views/home/components/Faqs.tsx:33
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "Główna różnica między Kan a Trello polega na tym, że Kan jest oprogramowaniem otwartoźródłowym, co pozwala każdemu przeglądać, modyfikować i współtworzyć nasz kod. Nasza oferta w chmurze nie nakłada również żadnych ograniczeń na funkcje do użytku indywidualnego, podczas gdy Trello blokuje podstawowe funkcje, takie jak liczba tablic, które można utworzyć, za dodatkowymi kosztami."
msgstr "Główna różnica między Kan a Trello polega na tym, że Kan jest oprogramowaniem open source, co pozwala każdemu przeglądać, modyfikować i współtworzyć nasz kod. Nasza oferta w chmurze nie nakłada również żadnych ograniczeń na funkcje do użytku indywidualnego, podczas gdy Trello blokuje podstawowe funkcje, takie jak liczba tablic, które można utworzyć, za paywallem."
#: src/views/home/index.tsx:63
msgid "The open source <0/> alternative to Trello"
msgstr "Otwarta alternatywa <0/> dla Trello"
msgstr "Alternatywa open source <0/> dla Trello"
#. placeholder {0}: isPublic ? "public" : "private"
#: src/views/board/components/VisibilityButton.tsx:46
@@ -1995,7 +1984,7 @@ msgstr "Tej akcji nie można cofnąć."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Ten klucz API zostanie wyświetlony tylko raz. Proszę zapisać go w bezpiecznym miejscu."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "Ta tablica jest prywatna lub nie istnieje"
@@ -2231,11 +2220,11 @@ msgstr "Ulepsz"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/WorkspaceSettings.tsx:89
msgid "Upgrade to Pro"
msgstr "Ulepsz do planu Pro"
msgstr "Ulepsz do Pro"
#: src/components/NewWorkspaceForm.tsx:369
msgid "Upgrade to Pro ($29/month)"
msgstr "Ulepsz do planu Pro (29 USD/miesiąc)"
msgstr "Ulepsz do Pro (29 USD/miesiąc)"
#: src/views/members/components/InviteMemberForm.tsx:357
msgid "Upgrade to Team Plan"
@@ -2249,23 +2238,23 @@ msgstr "Pilne"
#: src/components/NewWorkspaceForm.tsx:35
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:36
msgid "URL can only contain letters, numbers, and hyphens"
msgstr "Adres URL może zawierać tylko litery, cyfry i myślniki"
msgstr "URL może zawierać tylko litery, cyfry i myślniki"
#: src/components/NewWorkspaceForm.tsx:33
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:34
msgid "URL cannot exceed 24 characters"
msgstr "Adres URL nie może przekraczać 24 znaków"
msgstr "URL nie może przekraczać 24 znaków"
#: src/components/NewWorkspaceForm.tsx:31
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:32
msgid "URL must be at least 3 characters long"
msgstr "Adres URL musi mieć co najmniej 3 znaki"
msgstr "URL musi mieć co najmniej 3 znaki"
#: src/views/boards/components/NewBoardForm.tsx:154
msgid "Use template"
msgstr "Użyj szablonu"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "Użytkownik"
@@ -2290,15 +2279,15 @@ msgstr "Zobacz i zarządzaj swoimi płatnościami i subskrypcją."
msgid "View docs"
msgstr "Zobacz dokumentację"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "Tylko podgląd"
#: src/views/home/components/Features.tsx:154
msgid "View our roadmap."
msgstr "Zobacz nasz plan ulepszeń."
msgstr "Zobacz naszą mapę drogową."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "Zobacz obszar roboczy"
@@ -2312,7 +2301,7 @@ msgstr "Używamy licencji <0>AGPL-3.0</0>."
#: src/views/home/components/Features.tsx:152
msgid "We're just getting started. "
msgstr "Dopiero zaczynamy. "
msgstr "Dopiero zaczynamy."
#: src/views/auth/login/index.tsx:43
msgid "Welcome back"
@@ -2320,7 +2309,7 @@ msgstr "Witamy ponownie"
#: src/views/home/components/Faqs.tsx:91
msgid "What license are you using?"
msgstr "Jakiej licencji używacie?"
msgstr "Jakiej licencji używasz?"
#: src/views/home/components/Faqs.tsx:30
msgid "What's the difference between Kan and Trello?"
@@ -2328,7 +2317,7 @@ msgstr "Jaka jest różnica między Kan a Trello?"
#: src/views/home/components/Faqs.tsx:25
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
msgstr "Kiedy Trello zostało uruchomione w 2011 roku, zachwyciło wszystkich swoją starannie zaprojektowaną prostotą, ale z czasem straciło swój urok i stało się czymś bliższym \"Jira Lite\". Ten projekt to nasza próba odzyskania oryginalnej magii prostoty Trello w wersji otwartoźródłowej ."
msgstr "Kiedy Trello zostało uruchomione w 2011 roku, zachwyciło wszystkich swoją starannie zaprojektowaną prostotą, ale z czasem (i atlassyfikacją) straciło swój urok i stało się czymś bliższym \"Jira Lite\". Ten projekt to nasza próba odzyskania oryginalnej magii prostoty Trello w wersji open source."
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
msgid "White label"
@@ -2336,14 +2325,9 @@ msgstr "Biała etykieta"
#: src/views/home/components/Faqs.tsx:22
msgid "Why make an open source Trello?"
msgstr "Dlaczego próbujecie stworzyć Trello w wersji otwartoźródłowej?"
msgstr "Dlaczego stworzyć Trello w wersji open source?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Obszar roboczy"
@@ -2489,7 +2473,7 @@ msgstr "Twoje konto Trello jest połączone."
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:49
msgid "Your workspace description has been updated."
msgstr "Opis twojej przestrzeni roboczej został zaktualizowany."
msgstr "Opis Twojego przestrzeni roboczej został zaktualizowany."
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:27
msgid "Your workspace has been deleted."
@@ -2497,8 +2481,8 @@ msgstr "Twoja przestrzeń robocza została usunięta."
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:44
msgid "Your workspace name has been updated."
msgstr "Nazwa twojej przestrzeni roboczej została zaktualizowana."
msgstr "Nazwa Twojej przestrzeni roboczej została zaktualizowana."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Slug twojej przestrzeni roboczej został zaktualizowany."
msgstr "Slug Twojej przestrzeni roboczej został zaktualizowany."

File diff suppressed because one or more lines are too long

View File

@@ -22,15 +22,15 @@ msgid ", or see our"
msgstr ", или посмотрите наши"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#: src/views/boards/index.tsx:27
#: src/views/boards/index.tsx:34
msgid "{0}"
msgstr "{0}"
#. placeholder {0}: card?.title ?? t`Card`
#. placeholder {0}: card?.title ?? "Card"
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
#. placeholder {1}: board?.name ?? t`Board`
#. placeholder {1}: workspace.name ?? t`Workspace`
#: src/views/boards/index.tsx:22
#. placeholder {1}: board?.name ?? "Board"
#. placeholder {1}: workspace.name ?? "Workspace"
#: src/views/boards/index.tsx:29
#: src/views/card/index.tsx:216
msgid "{0} | {1}"
msgstr "{0} | {1}"
@@ -301,8 +301,6 @@ msgid "Blog Post"
msgstr "Пост в блоге"
#: src/views/board/index.tsx:361
#: src/views/card/index.tsx:216
#: src/views/public/board/index.tsx:100
msgid "Board"
msgstr "Доска"
@@ -319,7 +317,7 @@ msgstr "Название доски не может превышать 100 си
msgid "Board name is required"
msgstr "Название доски обязательно"
#: src/views/public/board/index.tsx:151
#: src/views/public/board/index.tsx:148
msgid "Board not found"
msgstr "Доска не найдена"
@@ -335,7 +333,7 @@ msgstr "URL доски может содержать только буквы, ц
msgid "Board URL cannot exceed 60 characters"
msgstr "URL доски не может превышать 60 символов"
#: src/views/public/board/index.tsx:67
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "URL доски скопирован в буфер обмена"
@@ -383,10 +381,6 @@ msgstr "Отчет об ошибке"
msgid "Cancel"
msgstr "Отмена"
#: src/views/card/index.tsx:216
msgid "Card"
msgstr "Карточка"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Карточка не найдена"
@@ -984,7 +978,7 @@ msgid "Free"
msgstr "Бесплатно"
#: src/views/members/components/InviteMemberForm.tsx:326
#: src/views/members/index.tsx:208
#: src/views/members/index.tsx:209
msgid "Free Plan"
msgstr "Бесплатный план"
@@ -1103,7 +1097,7 @@ msgstr "Идеи"
msgid "Ideas to improve this page..."
msgstr "Идеи для улучшения этой страницы..."
#: src/views/boards/index.tsx:39
#: src/views/boards/index.tsx:46
msgid "Import"
msgstr "Импорт"
@@ -1171,7 +1165,7 @@ msgstr "Недействительный адрес электронной по
msgid "Invalid invitation"
msgstr "Недействительное приглашение"
#: src/views/members/index.tsx:221
#: src/views/members/index.tsx:222
msgid "Invite"
msgstr "Пригласить"
@@ -1257,7 +1251,7 @@ msgstr "Язык"
msgid "Launch offer"
msgstr "Стартовое предложение"
#: src/views/members/index.tsx:191
#: src/views/members/index.tsx:192
msgid "Launch offer: Get unlimited members with Pro"
msgstr "Стартовое предложение: получите неограниченное количество участников с Pro"
@@ -1282,7 +1276,7 @@ msgstr "Лицензия"
msgid "Light"
msgstr "Светлый"
#: src/views/public/board/index.tsx:65
#: src/views/public/board/index.tsx:62
msgid "Link copied"
msgstr "Ссылка скопирована"
@@ -1335,12 +1329,12 @@ msgstr "Средний приоритет"
#: src/views/board/components/Filters.tsx:93
#: src/views/board/components/NewCardForm.tsx:366
#: src/views/card/index.tsx:126
#: src/views/members/index.tsx:178
#: src/views/members/index.tsx:179
msgid "Members"
msgstr "Участники"
#. placeholder {0}: workspace.name ?? t`Workspace`
#: src/views/members/index.tsx:173
#. placeholder {0}: workspace.name ?? "Workspace"
#: src/views/members/index.tsx:174
msgid "Members | {0}"
msgstr "Участники | {0}"
@@ -1373,7 +1367,7 @@ msgstr "Имя"
msgid "Need help?"
msgstr "Нужна помощь?"
#: src/views/boards/index.tsx:50
#: src/views/boards/index.tsx:57
#: src/views/home/components/Features.tsx:73
msgid "New"
msgstr "Новый"
@@ -1518,7 +1512,7 @@ msgstr "Пароль должен содержать не менее 8 симв
msgid "Passwords do not match"
msgstr "Пароли не совпадают"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Paused"
msgstr "Приостановлено"
@@ -1527,7 +1521,7 @@ msgstr "Приостановлено"
msgid "Payment frequency"
msgstr "Частота платежей"
#: src/views/members/index.tsx:134
#: src/views/members/index.tsx:135
msgid "Pending"
msgstr "В ожидании"
@@ -1643,7 +1637,7 @@ msgstr "Политика конфиденциальности"
msgid "Private"
msgstr "Личное"
#: src/views/members/index.tsx:205
#: src/views/members/index.tsx:206
msgid "Pro Plan"
msgstr "Профессиональный план"
@@ -1691,7 +1685,7 @@ msgstr "Удалённый"
msgid "Remove"
msgstr "Удалить"
#: src/views/members/index.tsx:148
#: src/views/members/index.tsx:149
msgid "Remove member"
msgstr "Удалить участника"
@@ -1748,7 +1742,7 @@ msgstr "Обзор"
msgid "Roadmap"
msgstr "Дорожная карта"
#: src/views/members/index.tsx:243
#: src/views/members/index.tsx:244
msgid "Role"
msgstr "Роль"
@@ -1909,7 +1903,7 @@ msgid "System"
msgstr "Система"
#: src/views/members/components/InviteMemberForm.tsx:315
#: src/views/members/index.tsx:207
#: src/views/members/index.tsx:208
msgid "Team Plan"
msgstr "Командный план"
@@ -1990,7 +1984,7 @@ msgstr "Это действие нельзя будет отменить."
msgid "This API key will only be shown once. Please save it in a secure location."
msgstr "Этот API-ключ будет показан только один раз. Пожалуйста, сохраните его в безопасном месте."
#: src/views/public/board/index.tsx:154
#: src/views/public/board/index.tsx:151
msgid "This board is private or does not exist"
msgstr "Эта доска является приватной или не существует."
@@ -2260,7 +2254,7 @@ msgstr "URL должен содержать не менее 3 символов"
msgid "Use template"
msgstr "Использовать шаблон"
#: src/views/members/index.tsx:237
#: src/views/members/index.tsx:238
msgid "User"
msgstr "Пользователь"
@@ -2285,7 +2279,7 @@ msgstr "Просмотр и управление вашими счетами и
msgid "View docs"
msgstr "Просмотреть документацию"
#: src/views/public/board/index.tsx:128
#: src/views/public/board/index.tsx:125
msgid "View only"
msgstr "Только просмотр"
@@ -2293,7 +2287,7 @@ msgstr "Только просмотр"
msgid "View our roadmap."
msgstr "Просмотреть нашу дорожную карту."
#: src/views/public/board/index.tsx:157
#: src/views/public/board/index.tsx:154
msgid "View workspace"
msgstr "Просмотреть рабочее пространство"
@@ -2334,11 +2328,6 @@ msgid "Why make an open source Trello?"
msgstr "Зачем создавать Trello с открытым исходным кодом?"
#: src/components/SettingsLayout.tsx:39
#: src/views/board/index.tsx:361
#: src/views/boards/index.tsx:22
#: src/views/members/index.tsx:173
#: src/views/public/board/index.tsx:100
#: src/views/public/boards/index.tsx:66
msgid "Workspace"
msgstr "Рабочее пространство"

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,6 @@ interface ModalState {
contentType: string;
entityId?: string;
entityLabel?: string;
closeOnClickOutside?: boolean;
}
interface Props {
@@ -17,7 +16,6 @@ interface ModalContextType {
contentType: string,
entityId?: string,
entityLabel?: string,
closeOnClickOutside?: boolean,
) => void;
closeModal: () => void;
closeModals: (count: number) => void;
@@ -25,7 +23,6 @@ interface ModalContextType {
modalContentType: string;
entityId: string;
entityLabel: string;
closeOnClickOutside: boolean;
modalStates: Record<string, any>;
setModalState: (modalType: string, state: any) => void;
getModalState: (modalType: string) => any;
@@ -44,21 +41,10 @@ export const ModalProvider: React.FC<Props> = ({ children }) => {
const modalContentType = currentModal?.contentType || "";
const entityId = currentModal?.entityId || "";
const entityLabel = currentModal?.entityLabel || "";
const closeOnClickOutside = currentModal?.closeOnClickOutside ?? true;
const openModal = useCallback(
(
contentType: string,
entityId?: string,
entityLabel?: string,
closeOnClickOutside?: boolean,
) => {
const newModal: ModalState = {
contentType,
entityId,
entityLabel,
closeOnClickOutside,
};
(contentType: string, entityId?: string, entityLabel?: string) => {
const newModal: ModalState = { contentType, entityId, entityLabel };
setModalStack((prev) => [...prev, newModal]);
},
[],
@@ -121,7 +107,6 @@ export const ModalProvider: React.FC<Props> = ({ children }) => {
modalContentType,
entityId,
entityLabel,
closeOnClickOutside,
modalStates,
setModalState,
getModalState,

View File

@@ -1,5 +1,3 @@
import { HiBars3BottomLeft, HiChatBubbleLeft } from "react-icons/hi2";
import Avatar from "~/components/Avatar";
import Badge from "~/components/Badge";
import CircularProgress from "~/components/CircularProgress";
@@ -11,8 +9,6 @@ const Card = ({
labels,
members,
checklists,
description,
comments,
}: {
title: string;
labels: { name: string; colourCode: string | null }[];
@@ -31,8 +27,6 @@ const Card = ({
index: number;
}[];
}[];
description: string | null;
comments: { publicId: string }[];
}) => {
const completedItems = checklists.reduce((acc, checklist) => {
return acc + checklist.items.filter((item) => item.completed).length;
@@ -45,17 +39,10 @@ const Card = ({
const progress =
totalItems > 0 ? Math.round((completedItems / totalItems) * 100) : 0;
const hasDescription =
description && description.replace(/<[^>]*>/g, "").trim().length > 0;
return (
<div className="flex flex-col rounded-md border border-light-200 bg-light-50 px-3 py-2 text-sm text-neutral-900 dark:border-dark-200 dark:bg-dark-200 dark:text-dark-1000 dark:hover:bg-dark-300">
<span>{title}</span>
{labels.length ||
members.length ||
checklists.length > 0 ||
hasDescription ||
comments.length > 0 ? (
{labels.length || members.length || checklists.length > 0 ? (
<div className="mt-2 flex flex-col justify-end">
<div className="space-x-0.5">
{labels.map((label) => (
@@ -65,51 +52,37 @@ const Card = ({
/>
))}
</div>
<div className="mt-2 flex items-center justify-between gap-1">
<div className="flex items-center gap-2">
{hasDescription && (
<div className="flex items-center gap-1 text-light-700 dark:text-dark-800">
<HiBars3BottomLeft className="h-4 w-4" />
</div>
)}
{comments.length > 0 && (
<div className="flex items-center gap-1 text-light-700 dark:text-dark-800">
<HiChatBubbleLeft className="h-4 w-4" />
</div>
)}
</div>
<div className="flex items-center justify-end gap-1">
{checklists.length > 0 && (
<div className="flex items-center gap-1 rounded-full border-[1px] border-light-300 px-2 py-1 dark:border-dark-600">
<CircularProgress
progress={progress || 2}
size="sm"
className="flex-shrink-0"
/>
<span className="text-[10px] text-light-900 dark:text-dark-950">
{completedItems}/{totalItems}
</span>
</div>
)}
{members.length > 0 && (
<div className="isolate flex justify-end -space-x-1 overflow-hidden">
{members.map(({ user, email }) => {
const avatarUrl = user?.image
? getAvatarUrl(user.image)
: undefined;
<div className="flex items-center justify-end gap-1">
{checklists.length > 0 && (
<div className="flex items-center gap-1 rounded-full border-[1px] border-light-300 px-2 py-1 dark:border-dark-600">
<CircularProgress
progress={progress || 2}
size="sm"
className="flex-shrink-0"
/>
<span className="text-[10px] text-light-900 dark:text-dark-950">
{completedItems}/{totalItems}
</span>
</div>
)}
{members.length > 0 && (
<div className="isolate flex justify-end -space-x-1 overflow-hidden">
{members.map(({ user, email }) => {
const avatarUrl = user?.image
? getAvatarUrl(user.image)
: undefined;
return (
<Avatar
name={user?.name ?? ""}
email={user?.email ?? email}
imageUrl={avatarUrl}
size="sm"
/>
);
})}
</div>
)}
</div>
return (
<Avatar
name={user?.name ?? ""}
email={user?.email ?? email}
imageUrl={avatarUrl}
size="sm"
/>
);
})}
</div>
)}
</div>
</div>
) : null}

View File

@@ -358,7 +358,7 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
return (
<>
<PageHead
title={`${boardData?.name ?? (isTemplate ? t`Board` : t`Template`)} | ${workspace.name ?? t`Workspace`}`}
title={`${(boardData?.name ?? isTemplate) ? t`Board` : t`Template`} | ${workspace.name}`}
/>
<div className="relative flex h-full flex-col">
<PatternedBackground />
@@ -546,10 +546,6 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
labels={card.labels}
members={card.members}
checklists={card.checklists ?? []}
description={
card.description ?? null
}
comments={card.comments ?? []}
/>
</Link>
)}

View File

@@ -1,4 +1,5 @@
import { t } from "@lingui/core/macro";
import { useEffect } from "react";
import { HiArrowDownTray, HiOutlinePlusSmall } from "react-icons/hi2";
import Button from "~/components/Button";
@@ -14,12 +15,18 @@ import { NewBoardForm } from "./components/NewBoardForm";
export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
const { openModal, modalContentType, isOpen } = useModal();
const { workspace } = useWorkspace();
const { availableWorkspaces, workspace, hasLoaded } = useWorkspace();
useEffect(() => {
if (hasLoaded && availableWorkspaces.length === 0) {
openModal("NEW_WORKSPACE");
}
}, [hasLoaded, availableWorkspaces.length, openModal]);
return (
<>
<PageHead
title={t`${isTemplate ? "Templates" : "Boards"} | ${workspace.name ?? t`Workspace`}`}
title={t`${isTemplate ? "Templates" : "Boards"} | ${workspace.name ?? "Workspace"}`}
/>
<div className="m-auto h-full max-w-[1100px] p-6 px-5 md:px-28 md:py-12">
<div className="relative z-10 mb-8 flex w-full items-center justify-between">

View File

@@ -213,7 +213,7 @@ export default function CardPage({ isTemplate }: { isTemplate?: boolean }) {
return (
<>
<PageHead
title={t`${card?.title ?? t`Card`} | ${board?.name ?? t`Board`}`}
title={t`${card?.title ?? "Card"} | ${board?.name ?? "Board"}`}
/>
<div className="flex h-full flex-1 flex-row overflow-hidden">
<div className="scrollbar-thumb-rounded-[4px] scrollbar-track-rounded-[4px] w-full flex-1 overflow-y-auto scrollbar scrollbar-track-light-200 scrollbar-thumb-light-400 hover:scrollbar-thumb-light-400 dark:scrollbar-track-dark-100 dark:scrollbar-thumb-dark-300 dark:hover:scrollbar-thumb-dark-300">

View File

@@ -1,6 +1,7 @@
import Link from "next/link";
import { t } from "@lingui/core/macro";
import { env } from "next-runtime-env";
import { useEffect, useState } from "react";
import {
HiBolt,
HiEllipsisHorizontal,
@@ -170,7 +171,7 @@ export default function MembersPage() {
return (
<>
<PageHead title={t`Members | ${workspace.name ?? t`Workspace`}`} />
<PageHead title={t`Members | ${workspace.name ?? "Workspace"}`} />
<div className="m-auto h-full max-w-[1100px] p-6 px-5 md:px-28 md:py-12">
<div className="mb-8 flex w-full justify-between">
<div className="flex items-center gap-3">

View File

@@ -45,10 +45,7 @@ export default function PublicBoardView() {
members: formatToArray(router.query.members),
labels: formatToArray(router.query.labels),
},
{
enabled: router.isReady && !!boardSlug,
placeholderData: keepPreviousData,
},
{ enabled: router.isReady && !!boardSlug, placeholderData: keepPreviousData },
);
const CopyBoardLink = () => {
@@ -97,7 +94,7 @@ export default function PublicBoardView() {
return (
<>
<PageHead
title={`${data?.name ?? t`Board`} | ${data?.workspace.name ?? t`Workspace`}`}
title={`${data?.name ?? "Board"} | ${data?.workspace.name ?? "Workspace"}`}
/>
<style jsx global>{`
html {
@@ -159,7 +156,7 @@ export default function PublicBoardView() {
) : (
<div className="flex">
<div className="min-w-[2rem]" />
{data?.lists.map((list) => (
{data.lists.map((list) => (
<div
key={list.publicId}
className="dark-text-dark-1000 mr-5 h-fit min-w-[18rem] max-w-[18rem] rounded-md border border-light-400 bg-light-300 py-2 pl-2 pr-1 text-neutral-900 dark:border-dark-300 dark:bg-dark-100"
@@ -185,8 +182,6 @@ export default function PublicBoardView() {
labels={card.labels}
checklists={card.checklists ?? []}
members={[]}
description={card.description}
comments={card.comments ?? []}
/>
</Link>
))}

View File

@@ -1,6 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { t } from "@lingui/core/macro";
import { PageHead } from "~/components/PageHead";
import PatternedBackground from "~/components/PatternedBackground";
@@ -63,7 +62,7 @@ export default function PublicBoardsView() {
return (
<>
<PageHead title={`${data?.name ?? t`Workspace`} | kan.bn`} />
<PageHead title={`${"Board"} | ${"Workspace"}`} />
<style jsx global>{`
html {
height: 100vh;

View File

@@ -240,14 +240,7 @@ export const initAuth = (db: dbClient) => {
]
: []),
// @todo: hasing is disabled due to a bug in the api key plugin
apiKey({
disableKeyHashing: true,
rateLimit: {
enabled: true,
timeWindow: 1000 * 60, // 1 minute
maxRequests: 100, // 100 requests per minute
},
}),
apiKey({ disableKeyHashing: true }),
magicLink({
expiresIn: 60 * 60 * 24 * 7, // 7 days
sendMagicLink: async ({ email, url }) => {

View File

@@ -10,7 +10,6 @@ import {
cardToWorkspaceMembers,
checklistItems,
checklists,
comments,
labels,
lists,
workspaceMembers,
@@ -216,13 +215,6 @@ export const getByPublicId = async (
},
},
},
comments: {
columns: {
publicId: true,
},
where: isNull(comments.deletedAt),
limit: 1,
},
},
where: and(
cardIds.length > 0 ? inArray(cards.publicId, cardIds) : undefined,
@@ -343,13 +335,6 @@ export const getBySlug = async (
},
},
},
comments: {
columns: {
publicId: true,
},
where: isNull(comments.deletedAt),
limit: 1,
},
checklists: {
columns: {
publicId: true,