Compare commits
12 Commits
cloud/pric
...
feat/updat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b540f63c97 | ||
|
|
9dfc2ee9a7 | ||
|
|
a98f221985 | ||
|
|
bb4784fd28 | ||
|
|
4ffc7e3696 | ||
|
|
9438620848 | ||
|
|
5540cdce42 | ||
|
|
e469426809 | ||
|
|
ffba2f5053 | ||
|
|
b2f3849716 | ||
|
|
756d93c067 | ||
|
|
c7288cbea8 |
1
.github/funding.yml
vendored
Normal file
1
.github/funding.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
github: [kanbn]
|
||||
@@ -2,7 +2,7 @@
|
||||
"version": 0,
|
||||
"locale": {
|
||||
"source": "en",
|
||||
"targets": ["fr", "de", "es", "it", "nl", "ru"]
|
||||
"targets": ["fr", "de", "es", "it", "nl", "ru", "pl"]
|
||||
},
|
||||
"buckets": {
|
||||
"po": {
|
||||
|
||||
@@ -84,6 +84,7 @@ 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
|
||||
@@ -206,6 +207,7 @@ checksums:
|
||||
Failed%20to%20copy%20invite%20link/singular: 635884d5ed8d6ee20b85a003939b4ae7
|
||||
Failed%20to%20create%20board/singular: a746e2afe881c3bf0a8e82a931ca3495
|
||||
Failed%20to%20login%20with%20%7B0%7D.%20Please%20try%20again./singular: 669a4b4247a73f53fb9b8b16e42d166f
|
||||
FAQ/singular: 47e0ee2eb40b4e7e732e05e2233fc71c
|
||||
FAQs/singular: dc36d7992372ccd419b39ef51cf5b16c
|
||||
Fast%20%26%20lightweight/singular: 4f2a80c555a5427b94eef5124aa10775
|
||||
Feature/singular: 58f5f3f37862b6312a2f20ec1a1fd0e8
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { LinguiConfig } from "@lingui/conf";
|
||||
|
||||
const config: LinguiConfig = {
|
||||
locales: ["en", "fr", "de", "es", "it", "nl", "ru"],
|
||||
locales: ["en", "fr", "de", "es", "it", "nl", "ru", "pl"],
|
||||
sourceLocale: "en",
|
||||
catalogs: [
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { useRef, useState } from "react";
|
||||
import { useTheme } from "next-themes";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import {
|
||||
TbLayoutSidebarLeftCollapse,
|
||||
TbLayoutSidebarLeftExpand,
|
||||
@@ -10,10 +11,7 @@ import { authClient } from "@kan/auth/client";
|
||||
|
||||
import { useClickOutside } from "~/hooks/useClickOutside";
|
||||
import { useModal } from "~/providers/modal";
|
||||
import { useTheme } from "next-themes";
|
||||
import { WorkspaceProvider } from "~/providers/workspace";
|
||||
import FeedbackModal from "./FeedbackModal";
|
||||
import Modal from "./modal";
|
||||
import { useWorkspace, WorkspaceProvider } from "~/providers/workspace";
|
||||
import SideNavigation from "./SideNavigation";
|
||||
|
||||
interface DashboardProps {
|
||||
@@ -42,7 +40,8 @@ export default function Dashboard({
|
||||
hasRightPanel = false,
|
||||
}: DashboardProps) {
|
||||
const { theme } = useTheme();
|
||||
const { modalContentType } = useModal();
|
||||
const { openModal } = useModal();
|
||||
const { availableWorkspaces, hasLoaded } = useWorkspace();
|
||||
|
||||
const { data: session, isPending: sessionLoading } = authClient.useSession();
|
||||
|
||||
@@ -90,6 +89,12 @@ 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 (
|
||||
|
||||
@@ -8,6 +8,7 @@ interface Props {
|
||||
modalSize?: "sm" | "md" | "lg";
|
||||
positionFromTop?: "sm" | "md" | "lg";
|
||||
isVisible?: boolean;
|
||||
closeOnClickOutside?: boolean;
|
||||
}
|
||||
|
||||
const Modal: React.FC<Props> = ({
|
||||
@@ -15,10 +16,17 @@ const Modal: React.FC<Props> = ({
|
||||
modalSize = "sm",
|
||||
positionFromTop = "md",
|
||||
isVisible,
|
||||
closeOnClickOutside,
|
||||
}) => {
|
||||
const { isOpen, closeModal } = useModal();
|
||||
const {
|
||||
isOpen,
|
||||
closeModal,
|
||||
closeOnClickOutside: modalCloseOnClickOutside,
|
||||
} = useModal();
|
||||
|
||||
const shouldShow = isVisible !== undefined ? isVisible : isOpen;
|
||||
const shouldShow = isVisible ?? isOpen;
|
||||
const shouldCloseOnClickOutside =
|
||||
closeOnClickOutside ?? modalCloseOnClickOutside;
|
||||
|
||||
const modalSizeMap = {
|
||||
sm: "max-w-[400px]",
|
||||
@@ -34,7 +42,11 @@ const Modal: React.FC<Props> = ({
|
||||
|
||||
return (
|
||||
<Transition.Root show={shouldShow} as={Fragment}>
|
||||
<Dialog as="div" className="relative z-50" onClose={closeModal}>
|
||||
<Dialog
|
||||
as="div"
|
||||
className="relative z-50"
|
||||
onClose={shouldCloseOnClickOutside ? closeModal : () => null}
|
||||
>
|
||||
<Transition.Child
|
||||
as={Fragment}
|
||||
enter="ease-out duration-300"
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", oder besuche unsere"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -262,7 +262,7 @@ msgstr "Bist du sicher, dass du dein Konto löschen möchtest?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "hat <0>{0}</0> der Karte zugewiesen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Zugewiesene Personen"
|
||||
|
||||
@@ -301,6 +301,8 @@ 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"
|
||||
|
||||
@@ -317,11 +319,11 @@ 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:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Board nicht gefunden"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Board-Freigabe & Einladungen"
|
||||
|
||||
@@ -333,7 +335,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:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "Board-URL in die Zwischenablage kopiert"
|
||||
|
||||
@@ -381,6 +383,10 @@ 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"
|
||||
@@ -445,7 +451,7 @@ msgstr "Demnächst verfügbar"
|
||||
msgid "Comments"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Kommentare & Erwähnungen"
|
||||
|
||||
@@ -493,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Verbinde dein Trello-Konto, um Boards zu importieren."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
@@ -732,13 +739,14 @@ msgstr "Bietet ihr einen kostenlosen Plan an?"
|
||||
msgid "docs"
|
||||
msgstr "Dokumente"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Dokumente"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentation"
|
||||
|
||||
@@ -915,12 +923,16 @@ msgstr "Board konnte nicht erstellt werden"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Anmeldung mit {0} fehlgeschlagen. Bitte versuche es erneut."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Häufig gestellte Fragen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Schnell & leichtgewichtig"
|
||||
|
||||
@@ -939,7 +951,8 @@ msgstr "Feature-Anfrage"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:58
|
||||
msgid "Features"
|
||||
msgstr "Features"
|
||||
@@ -966,14 +979,12 @@ msgid "For long-term sustainability, we recognise all good open source projects
|
||||
msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-Source-Projekte eine Einnahmequelle benötigen. Unsere stammt aus dem kostenpflichtigen Cloud-Angebot für Workspaces mit mehreren Benutzern (kostenlos während der Beta-Phase) und für benutzerdefinierte Workspace-Slugs. Es besteht keine Verpflichtung, dieses Angebot zu nutzen, und Sie können die Software kostenlos auf Ihrer eigenen Infrastruktur selbst hosten."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Kostenlos"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Kostenloser Plan"
|
||||
|
||||
@@ -992,8 +1003,7 @@ msgstr "Spaß"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:69
|
||||
msgid "Get started"
|
||||
msgstr "Loslegen"
|
||||
@@ -1039,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Zur Startseite"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Zur App"
|
||||
@@ -1094,7 +1103,7 @@ msgstr "Ideen"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Ideen zur Verbesserung dieser Seite..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importieren"
|
||||
|
||||
@@ -1162,7 +1171,7 @@ msgstr "Ungültige E-Mail-Adresse"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Ungültige Einladung"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Einladen"
|
||||
|
||||
@@ -1174,7 +1183,7 @@ msgstr "Einladungslink kopiert"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Einladungslink in die Zwischenablage kopiert"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:139
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Einladungslinks"
|
||||
|
||||
@@ -1248,7 +1257,7 @@ msgstr "Sprache"
|
||||
msgid "Launch offer"
|
||||
msgstr "Einführungsangebot"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Einführungsangebot: Erhalten Sie unbegrenzte Mitglieder mit Pro"
|
||||
|
||||
@@ -1273,7 +1282,7 @@ msgstr "Lizenz"
|
||||
msgid "Light"
|
||||
msgstr "Hell"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link kopiert"
|
||||
|
||||
@@ -1326,12 +1335,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:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Mitglieder"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Mitglieder | {0}"
|
||||
|
||||
@@ -1364,7 +1373,7 @@ msgstr "Name"
|
||||
msgid "Need help?"
|
||||
msgstr "Brauchst du Hilfe?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Neu"
|
||||
@@ -1464,7 +1473,7 @@ msgstr "Sobald Sie Ihr Konto löschen, gibt es kein Zurück mehr. Diese Aktion k
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "Sobald Sie Ihren Arbeitsbereich löschen, gibt es kein Zurück mehr. Diese Aktion kann nicht rückgängig gemacht werden."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open Source"
|
||||
|
||||
@@ -1481,7 +1490,7 @@ msgstr "Organisiere und finde Karten schnell mit leistungsstarken Filterwerkzeug
|
||||
msgid "Own your data"
|
||||
msgstr "Besitze deine Daten"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:104
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Im Besitz von Atlassian"
|
||||
|
||||
@@ -1509,7 +1518,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:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Pausiert"
|
||||
|
||||
@@ -1518,7 +1527,7 @@ msgstr "Pausiert"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Zahlungshäufigkeit"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "Ausstehend"
|
||||
|
||||
@@ -1537,7 +1546,7 @@ msgstr "Persönliches Projekt"
|
||||
msgid "Planning"
|
||||
msgstr "Planung"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:146
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Plattform"
|
||||
|
||||
@@ -1607,12 +1616,13 @@ msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport
|
||||
msgid "Please try again later."
|
||||
msgstr "Bitte versuche es später erneut."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Preis pro Benutzer/Monat"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:33
|
||||
#: src/views/pricing/index.tsx:39
|
||||
@@ -1633,7 +1643,7 @@ msgstr "Datenschutzrichtlinie"
|
||||
msgid "Private"
|
||||
msgstr "Privat"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro-Plan"
|
||||
|
||||
@@ -1681,7 +1691,7 @@ msgstr "Remote"
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Mitglied entfernen"
|
||||
|
||||
@@ -1724,7 +1734,7 @@ msgstr "Lösung"
|
||||
msgid "Resources"
|
||||
msgstr "Ressourcen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
@@ -1734,10 +1744,11 @@ msgstr "Überprüfung"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rolle"
|
||||
|
||||
@@ -1784,7 +1795,7 @@ msgstr "Selbst hosten mit Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "hat sich selbst die Karte zugewiesen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Selbst hostbar"
|
||||
|
||||
@@ -1821,8 +1832,7 @@ msgstr "Einstellungen | Integrationen"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Einstellungen | Arbeitsbereich"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
@@ -1899,11 +1909,11 @@ msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Team-Plan"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:111
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
@@ -1980,7 +1990,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:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Dieses Board ist privat oder existiert nicht"
|
||||
|
||||
@@ -2017,7 +2027,7 @@ msgstr "Dieser Workspace-Benutzername ist bereits vergeben"
|
||||
msgid "To Do"
|
||||
msgstr "Zu erledigen"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Menü umschalten"
|
||||
|
||||
@@ -2250,7 +2260,7 @@ msgstr "URL muss mindestens 3 Zeichen lang sein"
|
||||
msgid "Use template"
|
||||
msgstr "Vorlage verwenden"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
@@ -2275,7 +2285,7 @@ msgstr "Verwalte deine Abrechnung und dein Abonnement."
|
||||
msgid "View docs"
|
||||
msgstr "Dokumentation ansehen"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Nur ansehen"
|
||||
|
||||
@@ -2283,7 +2293,7 @@ msgstr "Nur ansehen"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Sieh dir unsere roadmap an."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Workspace anzeigen"
|
||||
|
||||
@@ -2315,7 +2325,7 @@ msgstr "Was ist der unterschied zwischen Kan und Trello?"
|
||||
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 "Als Trello 2011 auf den markt kam, beeindruckte es alle mit seiner sorgfältig gestalteten einfachheit, aber mit der zeit (und der atlassifizierung) verlor es seinen zauber und entwickelte sich zu etwas, das eher einem \"Jira Lite\" ähnelt. Dieses projekt ist unser versuch, den ursprünglichen zauber von Trellos einfachheit als open source wiederzubeleben."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White Label"
|
||||
|
||||
@@ -2324,6 +2334,11 @@ 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
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", or see our"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -294,7 +294,7 @@ msgstr "assigned <0>{0}</0> to the card"
|
||||
#~ msgid "assigned <0>{memberName}</0> to the card"
|
||||
#~ msgstr "assigned <0>{memberName}</0> to the card"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Assignees"
|
||||
|
||||
@@ -337,6 +337,8 @@ 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"
|
||||
|
||||
@@ -362,11 +364,11 @@ msgstr "Board name cannot exceed 100 characters"
|
||||
msgid "Board name is required"
|
||||
msgstr "Board name is required"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Board not found"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Board sharing & invites"
|
||||
|
||||
@@ -378,7 +380,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:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "Board URL copied to clipboard"
|
||||
|
||||
@@ -434,6 +436,10 @@ 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"
|
||||
@@ -502,7 +508,7 @@ msgstr "Coming soon"
|
||||
msgid "Comments"
|
||||
msgstr "Comments"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Comments & mentions"
|
||||
|
||||
@@ -554,6 +560,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Connect your Trello account to import boards."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
@@ -817,13 +824,14 @@ msgstr "Do you offer a free plan?"
|
||||
msgid "docs"
|
||||
msgstr "docs"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Docs"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentation"
|
||||
|
||||
@@ -1000,12 +1008,16 @@ msgstr "Failed to create board"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Failed to login with {0}. Please try again."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "FAQs"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Fast & lightweight"
|
||||
|
||||
@@ -1024,7 +1036,8 @@ msgstr "Feature Request"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:58
|
||||
msgid "Features"
|
||||
msgstr "Features"
|
||||
@@ -1058,7 +1071,7 @@ msgid "Free"
|
||||
msgstr "Free"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Free Plan"
|
||||
|
||||
@@ -1077,8 +1090,7 @@ msgstr "Fun"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:69
|
||||
msgid "Get started"
|
||||
msgstr "Get started"
|
||||
@@ -1128,8 +1140,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Go Home"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Go to app"
|
||||
@@ -1187,7 +1198,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:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
@@ -1255,7 +1266,7 @@ msgstr "Invalid email address"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invalid invitation"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Invite"
|
||||
|
||||
@@ -1271,7 +1282,7 @@ msgstr "Invite link copied"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Invite link copied to clipboard"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:139
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Invite links"
|
||||
|
||||
@@ -1345,7 +1356,7 @@ msgstr "Language"
|
||||
msgid "Launch offer"
|
||||
msgstr "Launch offer"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Launch offer: Get unlimited members with Pro"
|
||||
|
||||
@@ -1370,7 +1381,7 @@ msgstr "License"
|
||||
msgid "Light"
|
||||
msgstr "Light"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link copied"
|
||||
|
||||
@@ -1423,12 +1434,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:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Members"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Members | {0}"
|
||||
|
||||
@@ -1469,7 +1480,7 @@ msgstr "Name"
|
||||
msgid "Need help?"
|
||||
msgstr "Need help?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "New"
|
||||
@@ -1581,7 +1592,7 @@ msgstr "Once you delete your account, there is no going back. This action cannot
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
@@ -1598,7 +1609,7 @@ msgstr "Organize and find cards quickly with powerful filtering tools."
|
||||
msgid "Own your data"
|
||||
msgstr "Own your data"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:104
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Owned by Atlassian"
|
||||
|
||||
@@ -1626,7 +1637,7 @@ msgstr "Password must be at least 8 characters"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Passwords do not match"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Paused"
|
||||
|
||||
@@ -1635,7 +1646,7 @@ msgstr "Paused"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Payment frequency"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "Pending"
|
||||
|
||||
@@ -1654,7 +1665,7 @@ msgstr "Personal Project"
|
||||
msgid "Planning"
|
||||
msgstr "Planning"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:146
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Platform"
|
||||
|
||||
@@ -1724,12 +1735,13 @@ msgstr "Please try again later, or contact customer support."
|
||||
msgid "Please try again later."
|
||||
msgstr "Please try again later."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Price per user/month"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:33
|
||||
#: src/views/pricing/index.tsx:39
|
||||
@@ -1750,7 +1762,7 @@ msgstr "Privacy policy"
|
||||
msgid "Private"
|
||||
msgstr "Private"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro Plan"
|
||||
|
||||
@@ -1798,7 +1810,7 @@ msgstr "Remote"
|
||||
msgid "Remove"
|
||||
msgstr "Remove"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Remove member"
|
||||
|
||||
@@ -1845,7 +1857,7 @@ msgstr "Resolution"
|
||||
msgid "Resources"
|
||||
msgstr "Resources"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
@@ -1859,10 +1871,11 @@ msgstr "Review"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Role"
|
||||
|
||||
@@ -1909,7 +1922,7 @@ msgstr "Self host with Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "self-assigned the card"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Self-hostable"
|
||||
|
||||
@@ -1958,8 +1971,7 @@ msgstr "Settings | Workspace"
|
||||
#~ msgid "Share invite link"
|
||||
#~ msgstr "Share invite link"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
@@ -2036,11 +2048,11 @@ msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Team Plan"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:111
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
@@ -2117,7 +2129,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:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "This board is private or does not exist"
|
||||
|
||||
@@ -2158,7 +2170,7 @@ msgstr "To Do"
|
||||
#~ msgid "To Do, In Progress, Done"
|
||||
#~ msgstr "To Do, In Progress, Done"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Toggle menu"
|
||||
|
||||
@@ -2399,7 +2411,7 @@ msgstr "URL must be at least 3 characters long"
|
||||
msgid "Use template"
|
||||
msgstr "Use template"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "User"
|
||||
|
||||
@@ -2424,7 +2436,7 @@ msgstr "View and manage your billing and subscription."
|
||||
msgid "View docs"
|
||||
msgstr "View docs"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "View only"
|
||||
|
||||
@@ -2432,7 +2444,7 @@ msgstr "View only"
|
||||
msgid "View our roadmap."
|
||||
msgstr "View our roadmap."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "View workspace"
|
||||
|
||||
@@ -2468,7 +2480,7 @@ msgstr "When Trello launched in 2011, it blew everyone away with its carefully d
|
||||
#~ 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 "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."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
@@ -2477,6 +2489,11 @@ 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
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", o consulta nuestra"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -262,7 +262,7 @@ msgstr "¿Estás seguro de que quieres eliminar tu cuenta?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "asignó <0>{0}</0> a la tarjeta"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Asignados"
|
||||
|
||||
@@ -301,6 +301,8 @@ 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"
|
||||
|
||||
@@ -317,11 +319,11 @@ 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:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Tablero no encontrado"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Compartir tablero e invitaciones"
|
||||
|
||||
@@ -333,7 +335,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:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL del tablero copiada al portapapeles"
|
||||
|
||||
@@ -381,6 +383,10 @@ 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"
|
||||
@@ -445,7 +451,7 @@ msgstr "Próximamente"
|
||||
msgid "Comments"
|
||||
msgstr "Comentarios"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Comentarios y menciones"
|
||||
|
||||
@@ -493,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Conecta tu cuenta de Trello para importar tableros."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contacto"
|
||||
|
||||
@@ -732,13 +739,14 @@ msgstr "¿Ofrecen un plan gratuito?"
|
||||
msgid "docs"
|
||||
msgstr "documentos"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Documentos"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentación"
|
||||
|
||||
@@ -915,12 +923,16 @@ msgstr "Error al crear el tablero"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Error al iniciar sesión con {0}. Por favor, inténtalo de nuevo."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Preguntas frecuentes"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Rápido y ligero"
|
||||
|
||||
@@ -939,7 +951,8 @@ msgstr "Solicitud de función"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:58
|
||||
msgid "Features"
|
||||
msgstr "Características"
|
||||
@@ -966,14 +979,12 @@ msgid "For long-term sustainability, we recognise all good open source projects
|
||||
msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos proyectos de código abierto necesitan una fuente de ingresos. La nuestra proviene de la oferta de pago en la nube para espacios de trabajo con múltiples usuarios (gratuita durante la beta) y para slugs personalizados de espacios de trabajo. No hay obligación de usarla, y puedes autoalojar el software en tu propia infraestructura sin costo alguno."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Plan gratuito"
|
||||
|
||||
@@ -992,8 +1003,7 @@ msgstr "Diversión"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:69
|
||||
msgid "Get started"
|
||||
msgstr "Comenzar"
|
||||
@@ -1039,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Ir a inicio"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Ir a la aplicación"
|
||||
@@ -1094,7 +1103,7 @@ msgstr "Ideas"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Ideas para mejorar esta página..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
@@ -1162,7 +1171,7 @@ msgstr "Dirección de correo electrónico no válida"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invitación inválida"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Invitar"
|
||||
|
||||
@@ -1174,7 +1183,7 @@ msgstr "Enlace de invitación copiado"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Enlace de invitación copiado al portapapeles"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:139
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Enlaces de invitación"
|
||||
|
||||
@@ -1248,7 +1257,7 @@ msgstr "Idioma"
|
||||
msgid "Launch offer"
|
||||
msgstr "Oferta de lanzamiento"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Oferta de lanzamiento: Obtén miembros ilimitados con Pro"
|
||||
|
||||
@@ -1273,7 +1282,7 @@ msgstr "Licencia"
|
||||
msgid "Light"
|
||||
msgstr "Claro"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Enlace copiado"
|
||||
|
||||
@@ -1326,12 +1335,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:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Miembros"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Miembros | {0}"
|
||||
|
||||
@@ -1364,7 +1373,7 @@ msgstr "Nombre"
|
||||
msgid "Need help?"
|
||||
msgstr "¿Necesitas ayuda?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nuevo"
|
||||
@@ -1464,7 +1473,7 @@ msgstr "Una vez que elimines tu cuenta, no hay vuelta atrás. Esta acción no se
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "Una vez que elimines tu espacio de trabajo, no hay vuelta atrás. Esta acción no se puede deshacer."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Código abierto"
|
||||
|
||||
@@ -1481,7 +1490,7 @@ msgstr "Organiza y encuentra tarjetas rápidamente con potentes herramientas de
|
||||
msgid "Own your data"
|
||||
msgstr "Sé dueño de tus datos"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:104
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Propiedad de Atlassian"
|
||||
|
||||
@@ -1509,7 +1518,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:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Pausado"
|
||||
|
||||
@@ -1518,7 +1527,7 @@ msgstr "Pausado"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Frecuencia de pago"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "Pendiente"
|
||||
|
||||
@@ -1537,7 +1546,7 @@ msgstr "Proyecto personal"
|
||||
msgid "Planning"
|
||||
msgstr "Planificación"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:146
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Plataforma"
|
||||
|
||||
@@ -1607,12 +1616,13 @@ msgstr "Por favor, inténtalo de nuevo más tarde o contacta con atención al cl
|
||||
msgid "Please try again later."
|
||||
msgstr "Por favor, inténtalo de nuevo más tarde."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Precio por usuario/mes"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:33
|
||||
#: src/views/pricing/index.tsx:39
|
||||
@@ -1633,7 +1643,7 @@ msgstr "Política de privacidad"
|
||||
msgid "Private"
|
||||
msgstr "Privado"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Plan Pro"
|
||||
|
||||
@@ -1681,7 +1691,7 @@ msgstr "Remoto"
|
||||
msgid "Remove"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Eliminar miembro"
|
||||
|
||||
@@ -1724,7 +1734,7 @@ msgstr "Resolución"
|
||||
msgid "Resources"
|
||||
msgstr "Recursos"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "API REST"
|
||||
|
||||
@@ -1734,10 +1744,11 @@ msgstr "Revisión"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Hoja de ruta"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
@@ -1784,7 +1795,7 @@ msgstr "Autoalojamiento con Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "se autoasignó la tarjeta"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Autoalojable"
|
||||
|
||||
@@ -1821,8 +1832,7 @@ msgstr "Configuración | Integraciones"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Configuración | Espacio de trabajo"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
@@ -1899,11 +1909,11 @@ msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Plan de Equipo"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:111
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
@@ -1980,7 +1990,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:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Este tablero es privado o no existe"
|
||||
|
||||
@@ -2017,7 +2027,7 @@ msgstr "Este nombre de usuario del espacio de trabajo ya ha sido tomado"
|
||||
msgid "To Do"
|
||||
msgstr "Por hacer"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Alternar menú"
|
||||
|
||||
@@ -2250,7 +2260,7 @@ msgstr "La URL debe tener al menos 3 caracteres"
|
||||
msgid "Use template"
|
||||
msgstr "Usar plantilla"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
@@ -2275,7 +2285,7 @@ msgstr "Ver y gestionar tu facturación y suscripción."
|
||||
msgid "View docs"
|
||||
msgstr "Ver documentación"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Solo visualización"
|
||||
|
||||
@@ -2283,7 +2293,7 @@ msgstr "Solo visualización"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Ver nuestra hoja de ruta."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Ver espacio de trabajo"
|
||||
|
||||
@@ -2315,7 +2325,7 @@ msgstr "¿Cuál es la diferencia entre Kan y Trello?"
|
||||
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 "Cuando Trello se lanzó en 2011, impresionó a todos con su simplicidad cuidadosamente diseñada, pero con el tiempo (y la atlassificación) perdió su magia y se convirtió en algo más cercano a \"Jira Lite\". Este proyecto es nuestro intento de recuperar la magia original de la simplicidad de Trello, en código abierto."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "Marca blanca"
|
||||
|
||||
@@ -2324,6 +2334,11 @@ 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
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", ou consultez notre"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -262,7 +262,7 @@ msgstr "Êtes-vous sûr de vouloir supprimer votre compte ?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "a assigné <0>{0}</0> à la carte"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Assignés"
|
||||
|
||||
@@ -301,6 +301,8 @@ 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"
|
||||
|
||||
@@ -317,11 +319,11 @@ 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:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Tableau introuvable"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Partage de tableau & invitations"
|
||||
|
||||
@@ -333,7 +335,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:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL du tableau copiée dans le presse-papiers"
|
||||
|
||||
@@ -381,6 +383,10 @@ 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"
|
||||
@@ -445,7 +451,7 @@ msgstr "Bientôt disponible"
|
||||
msgid "Comments"
|
||||
msgstr "Commentaires"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Commentaires & mentions"
|
||||
|
||||
@@ -493,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Connectez votre compte Trello pour importer des tableaux."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
@@ -732,13 +739,14 @@ msgstr "Proposez-vous un plan gratuit ?"
|
||||
msgid "docs"
|
||||
msgstr "documentation"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Documentation"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentation"
|
||||
|
||||
@@ -915,12 +923,16 @@ msgstr "Échec de la création du tableau"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Échec de connexion avec {0}. Veuillez réessayer."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Rapide & léger"
|
||||
|
||||
@@ -939,7 +951,8 @@ msgstr "Demande de fonctionnalité"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:58
|
||||
msgid "Features"
|
||||
msgstr "Fonctionnalités"
|
||||
@@ -966,14 +979,12 @@ msgid "For long-term sustainability, we recognise all good open source projects
|
||||
msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons projets open source ont besoin d'une source de revenus. La nôtre provient de l'offre cloud payante pour les espaces de travail avec plusieurs utilisateurs (gratuite pendant la bêta) et pour les slugs d'espace de travail personnalisés. Il n'y a aucune obligation de l'utiliser, et vous pouvez auto-héberger le logiciel sur votre propre infrastructure gratuitement."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Forfait gratuit"
|
||||
|
||||
@@ -992,8 +1003,7 @@ msgstr "Amusant"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:69
|
||||
msgid "Get started"
|
||||
msgstr "Commencer"
|
||||
@@ -1039,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Aller à l'accueil"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Accéder à l'application"
|
||||
@@ -1094,7 +1103,7 @@ msgstr "Idées"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Idées pour améliorer cette page..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importer"
|
||||
|
||||
@@ -1162,7 +1171,7 @@ msgstr "Adresse e-mail invalide"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invitation invalide"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Inviter"
|
||||
|
||||
@@ -1174,7 +1183,7 @@ msgstr "Lien d'invitation copié"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Lien d'invitation copié dans le presse-papiers"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:139
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Liens d'invitation"
|
||||
|
||||
@@ -1248,7 +1257,7 @@ msgstr "Langue"
|
||||
msgid "Launch offer"
|
||||
msgstr "Offre de lancement"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Offre de lancement : obtenez des membres illimités avec Pro"
|
||||
|
||||
@@ -1273,7 +1282,7 @@ msgstr "Licence"
|
||||
msgid "Light"
|
||||
msgstr "Clair"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Lien copié"
|
||||
|
||||
@@ -1326,12 +1335,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:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Membres | {0}"
|
||||
|
||||
@@ -1364,7 +1373,7 @@ msgstr "Nom"
|
||||
msgid "Need help?"
|
||||
msgstr "Besoin d'aide ?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nouveau"
|
||||
@@ -1464,7 +1473,7 @@ msgstr "Une fois que vous supprimez votre compte, il n'y a pas de retour possibl
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "Une fois que vous supprimez votre espace de travail, il n'y a pas de retour possible. Cette action ne peut pas être annulée."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
@@ -1481,7 +1490,7 @@ msgstr "Organisez et trouvez rapidement des cartes avec des outils de filtrage p
|
||||
msgid "Own your data"
|
||||
msgstr "Maîtrisez vos données"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:104
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Détenu par Atlassian"
|
||||
|
||||
@@ -1509,7 +1518,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:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "En pause"
|
||||
|
||||
@@ -1518,7 +1527,7 @@ msgstr "En pause"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Fréquence de paiement"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "En attente"
|
||||
|
||||
@@ -1537,7 +1546,7 @@ msgstr "Projet personnel"
|
||||
msgid "Planning"
|
||||
msgstr "Planification"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:146
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Plateforme"
|
||||
|
||||
@@ -1607,12 +1616,13 @@ msgstr "Veuillez réessayer plus tard ou contacter le service client."
|
||||
msgid "Please try again later."
|
||||
msgstr "Veuillez réessayer plus tard."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Prix par utilisateur/mois"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:33
|
||||
#: src/views/pricing/index.tsx:39
|
||||
@@ -1633,7 +1643,7 @@ msgstr "Politique de confidentialité"
|
||||
msgid "Private"
|
||||
msgstr "Privé"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Plan Pro"
|
||||
|
||||
@@ -1681,7 +1691,7 @@ msgstr "À distance"
|
||||
msgid "Remove"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Supprimer le membre"
|
||||
|
||||
@@ -1724,7 +1734,7 @@ msgstr "Résolution"
|
||||
msgid "Resources"
|
||||
msgstr "Ressources"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "API REST"
|
||||
|
||||
@@ -1734,10 +1744,11 @@ msgstr "Révision"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Feuille de route"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
@@ -1784,7 +1795,7 @@ msgstr "Auto-hébergement avec Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "s'est auto-assigné la carte"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Auto-hébergeable"
|
||||
|
||||
@@ -1821,8 +1832,7 @@ msgstr "Paramètres | Intégrations"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Paramètres | Espace de travail"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Se connecter"
|
||||
|
||||
@@ -1899,11 +1909,11 @@ msgid "System"
|
||||
msgstr "Système"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Forfait d'équipe"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:111
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
@@ -1980,7 +1990,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:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Ce tableau est privé ou n'existe pas"
|
||||
|
||||
@@ -2017,7 +2027,7 @@ msgstr "Ce nom d'utilisateur d'espace de travail est déjà pris"
|
||||
msgid "To Do"
|
||||
msgstr "À faire"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Basculer le menu"
|
||||
|
||||
@@ -2250,7 +2260,7 @@ msgstr "L'URL doit comporter au moins 3 caractères"
|
||||
msgid "Use template"
|
||||
msgstr "Utiliser le modèle"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
@@ -2275,7 +2285,7 @@ msgstr "Consultez et gérez votre facturation et votre abonnement."
|
||||
msgid "View docs"
|
||||
msgstr "Voir la documentation"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Affichage uniquement"
|
||||
|
||||
@@ -2283,7 +2293,7 @@ msgstr "Affichage uniquement"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Consultez notre feuille de route."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Voir l'espace de travail"
|
||||
|
||||
@@ -2315,7 +2325,7 @@ msgstr "Quelle est la différence entre Kan et Trello ?"
|
||||
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 "Quand Trello a été lancé en 2011, il a impressionné tout le monde par sa simplicité soigneusement conçue, mais au fil du temps (et de l'\"atlassification\"), il a perdu sa magie et s'est transformé en quelque chose qui ressemble davantage à \"Jira Lite\". Ce projet est notre tentative de retrouver la magie originelle de la simplicité de Trello, en open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "Marque blanche"
|
||||
|
||||
@@ -2324,6 +2334,11 @@ 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
@@ -1,4 +1,13 @@
|
||||
export const locales = ["en", "fr", "de", "es", "it", "nl", "ru"] as const;
|
||||
export const locales = [
|
||||
"en",
|
||||
"fr",
|
||||
"de",
|
||||
"es",
|
||||
"it",
|
||||
"nl",
|
||||
"ru",
|
||||
"pl",
|
||||
] as const;
|
||||
|
||||
export type Locale = (typeof locales)[number];
|
||||
|
||||
@@ -12,4 +21,5 @@ export const localeNames: Record<Locale, string> = {
|
||||
it: "Italiano",
|
||||
nl: "Nederlands",
|
||||
ru: "Русский",
|
||||
pl: "Polski",
|
||||
};
|
||||
|
||||
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", o consulta i nostri"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -262,7 +262,7 @@ msgstr "Sei sicuro di voler eliminare il tuo account?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "ha assegnato <0>{0}</0> alla scheda"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Assegnatari"
|
||||
|
||||
@@ -301,6 +301,8 @@ 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"
|
||||
|
||||
@@ -317,11 +319,11 @@ 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:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Bacheca non trovata"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Condivisione bacheca & inviti"
|
||||
|
||||
@@ -333,7 +335,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:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL della bacheca copiato negli appunti"
|
||||
|
||||
@@ -381,6 +383,10 @@ 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"
|
||||
@@ -445,7 +451,7 @@ msgstr "Prossimamente"
|
||||
msgid "Comments"
|
||||
msgstr "Commenti"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Commenti & menzioni"
|
||||
|
||||
@@ -493,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Connetti il tuo account Trello per importare le bacheche."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contatti"
|
||||
|
||||
@@ -732,13 +739,14 @@ msgstr "Offrite un piano gratuito?"
|
||||
msgid "docs"
|
||||
msgstr "documenti"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Documenti"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentazione"
|
||||
|
||||
@@ -915,12 +923,16 @@ msgstr "Impossibile creare la bacheca"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Accesso con {0} fallito. Riprova."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Veloce & leggero"
|
||||
|
||||
@@ -939,7 +951,8 @@ msgstr "Richiesta funzionalità"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:58
|
||||
msgid "Features"
|
||||
msgstr "Funzionalità"
|
||||
@@ -966,14 +979,12 @@ msgid "For long-term sustainability, we recognise all good open source projects
|
||||
msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni progetti open source necessitano di una fonte di entrate. La nostra proviene dall'offerta cloud a pagamento per workspace con più utenti (gratuita durante la beta) e per slug di workspace personalizzati. Non c'è alcun obbligo di utilizzarla, e puoi ospitare autonomamente il software sulla tua infrastruttura gratuitamente."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratuito"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Piano gratuito"
|
||||
|
||||
@@ -992,8 +1003,7 @@ msgstr "Divertimento"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:69
|
||||
msgid "Get started"
|
||||
msgstr "Inizia ora"
|
||||
@@ -1039,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Vai alla home"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Vai all'app"
|
||||
@@ -1094,7 +1103,7 @@ msgstr "Idee"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Idee per migliorare questa pagina..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importa"
|
||||
|
||||
@@ -1162,7 +1171,7 @@ msgstr "Indirizzo email non valido"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invito non valido"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Invita"
|
||||
|
||||
@@ -1174,7 +1183,7 @@ msgstr "Link di invito copiato"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Link di invito copiato negli appunti"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:139
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Link di invito"
|
||||
|
||||
@@ -1248,7 +1257,7 @@ msgstr "Lingua"
|
||||
msgid "Launch offer"
|
||||
msgstr "Offerta di lancio"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Offerta di lancio: ottieni membri illimitati con Pro"
|
||||
|
||||
@@ -1273,7 +1282,7 @@ msgstr "Licenza"
|
||||
msgid "Light"
|
||||
msgstr "Chiaro"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link copiato"
|
||||
|
||||
@@ -1326,12 +1335,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:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Membri"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Membri | {0}"
|
||||
|
||||
@@ -1364,7 +1373,7 @@ msgstr "Nome"
|
||||
msgid "Need help?"
|
||||
msgstr "Hai bisogno di aiuto?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nuovo"
|
||||
@@ -1464,7 +1473,7 @@ msgstr "Una volta eliminato il tuo account, non si può tornare indietro. Questa
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "Una volta eliminata l'area di lavoro, non si può tornare indietro. Questa azione non può essere annullata."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
@@ -1481,7 +1490,7 @@ msgstr "Organizza e trova le schede rapidamente con potenti strumenti di filtrag
|
||||
msgid "Own your data"
|
||||
msgstr "Possiedi i tuoi dati"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:104
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Di proprietà di Atlassian"
|
||||
|
||||
@@ -1509,7 +1518,7 @@ msgstr "La password deve contenere almeno 8 caratteri"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Le password non corrispondono"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "In pausa"
|
||||
|
||||
@@ -1518,7 +1527,7 @@ msgstr "In pausa"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Frequenza di pagamento"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "In attesa"
|
||||
|
||||
@@ -1537,7 +1546,7 @@ msgstr "Progetto personale"
|
||||
msgid "Planning"
|
||||
msgstr "Pianificazione"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:146
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Piattaforma"
|
||||
|
||||
@@ -1607,12 +1616,13 @@ msgstr "Riprova più tardi o contatta l'assistenza clienti."
|
||||
msgid "Please try again later."
|
||||
msgstr "Riprova più tardi."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Prezzo per utente/mese"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:33
|
||||
#: src/views/pricing/index.tsx:39
|
||||
@@ -1633,7 +1643,7 @@ msgstr "Informativa sulla privacy"
|
||||
msgid "Private"
|
||||
msgstr "Privato"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Piano Pro"
|
||||
|
||||
@@ -1681,7 +1691,7 @@ msgstr "Remoto"
|
||||
msgid "Remove"
|
||||
msgstr "Rimuovi"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Rimuovi membro"
|
||||
|
||||
@@ -1724,7 +1734,7 @@ msgstr "Risoluzione"
|
||||
msgid "Resources"
|
||||
msgstr "Risorse"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
@@ -1734,10 +1744,11 @@ msgstr "Revisione"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Ruolo"
|
||||
|
||||
@@ -1784,7 +1795,7 @@ msgstr "Self host con Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "si è auto-assegnato la scheda"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Self-hostable"
|
||||
|
||||
@@ -1821,8 +1832,7 @@ msgstr "Impostazioni | Integrazioni"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Impostazioni | Area di lavoro"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Accedi"
|
||||
|
||||
@@ -1899,11 +1909,11 @@ msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Piano Team"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:111
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
@@ -1980,7 +1990,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:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Questa bacheca è privata o non esiste"
|
||||
|
||||
@@ -2017,7 +2027,7 @@ msgstr "Questo nome utente dell'area di lavoro è già stato utilizzato"
|
||||
msgid "To Do"
|
||||
msgstr "Da fare"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Attiva/disattiva menu"
|
||||
|
||||
@@ -2250,7 +2260,7 @@ msgstr "L'URL deve contenere almeno 3 caratteri"
|
||||
msgid "Use template"
|
||||
msgstr "Usa template"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Utente"
|
||||
|
||||
@@ -2275,7 +2285,7 @@ msgstr "Visualizza e gestisci la tua fatturazione e abbonamento."
|
||||
msgid "View docs"
|
||||
msgstr "Visualizza documenti"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Solo visualizzazione"
|
||||
|
||||
@@ -2283,7 +2293,7 @@ msgstr "Solo visualizzazione"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Visualizza la nostra roadmap."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Visualizza spazio di lavoro"
|
||||
|
||||
@@ -2315,7 +2325,7 @@ msgstr "Qual è la differenza tra Kan e Trello?"
|
||||
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 "Quando Trello fu lanciato nel 2011, stupì tutti con la sua semplicità attentamente progettata, ma col tempo (e con l'atlassificazione) ha perso la sua magia trasformandosi in qualcosa di più simile a \"Jira Lite\". Questo progetto è il nostro tentativo di recuperare la magia originale della semplicità di Trello, in versione open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
@@ -2324,6 +2334,11 @@ 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
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", of bekijk onze"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -262,7 +262,7 @@ msgstr "Weet je zeker dat je je account wilt verwijderen?"
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "heeft <0>{0}</0> aan de kaart toegewezen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Toegewezen personen"
|
||||
|
||||
@@ -301,6 +301,8 @@ 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"
|
||||
|
||||
@@ -317,11 +319,11 @@ msgstr "Bordnaam mag niet langer zijn dan 100 tekens"
|
||||
msgid "Board name is required"
|
||||
msgstr "Bordnaam is verplicht"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Bord niet gevonden"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Bord delen & uitnodigingen"
|
||||
|
||||
@@ -333,7 +335,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:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "Board URL gekopieerd naar klembord"
|
||||
|
||||
@@ -381,6 +383,10 @@ 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"
|
||||
@@ -445,7 +451,7 @@ msgstr "Binnenkort beschikbaar"
|
||||
msgid "Comments"
|
||||
msgstr "Opmerkingen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Opmerkingen & vermeldingen"
|
||||
|
||||
@@ -493,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Verbind je Trello-account om borden te importeren."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
@@ -732,13 +739,14 @@ msgstr "Bieden jullie een gratis abonnement aan?"
|
||||
msgid "docs"
|
||||
msgstr "docs"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Docs"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Documentatie"
|
||||
|
||||
@@ -915,12 +923,16 @@ msgstr "Bord maken mislukt"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Inloggen met {0} is mislukt. Probeer het opnieuw."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Veelgestelde vragen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Snel & lichtgewicht"
|
||||
|
||||
@@ -939,7 +951,8 @@ msgstr "Functieverzoek"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:58
|
||||
msgid "Features"
|
||||
msgstr "Functies"
|
||||
@@ -966,14 +979,12 @@ msgid "For long-term sustainability, we recognise all good open source projects
|
||||
msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open source projecten een inkomstenbron nodig hebben. De onze komt van de betaalde cloudoplossing voor werkruimtes met meerdere gebruikers (gratis tijdens de bèta) en voor aangepaste werkruimte-slugs. Je bent niet verplicht om hiervan gebruik te maken en je kunt de software gratis op je eigen infrastructuur hosten."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Gratis plan"
|
||||
|
||||
@@ -992,8 +1003,7 @@ msgstr "Leuk"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:69
|
||||
msgid "Get started"
|
||||
msgstr "Aan de slag"
|
||||
@@ -1039,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "Naar startpagina"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Naar de app"
|
||||
@@ -1094,7 +1103,7 @@ msgstr "Ideeën"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Ideeën om deze pagina te verbeteren..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Importeren"
|
||||
|
||||
@@ -1162,7 +1171,7 @@ msgstr "Ongeldig e-mailadres"
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Ongeldige uitnodiging"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Uitnodigen"
|
||||
|
||||
@@ -1174,7 +1183,7 @@ msgstr "Uitnodigingslink gekopieerd"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Uitnodigingslink gekopieerd naar klembord"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:139
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Uitnodigingslinks"
|
||||
|
||||
@@ -1248,7 +1257,7 @@ msgstr "Taal"
|
||||
msgid "Launch offer"
|
||||
msgstr "Introductieaanbieding"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Lanceringsaanbieding: krijg onbeperkt aantal leden met Pro"
|
||||
|
||||
@@ -1273,7 +1282,7 @@ msgstr "Licentie"
|
||||
msgid "Light"
|
||||
msgstr "Licht"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Link gekopieerd"
|
||||
|
||||
@@ -1326,12 +1335,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:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Leden"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Leden | {0}"
|
||||
|
||||
@@ -1364,7 +1373,7 @@ msgstr "Naam"
|
||||
msgid "Need help?"
|
||||
msgstr "Hulp nodig?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Nieuw"
|
||||
@@ -1464,7 +1473,7 @@ msgstr "Zodra je je account verwijdert, is er geen weg terug. Deze actie kan nie
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "Zodra je je werkruimte verwijdert, is er geen weg terug. Deze actie kan niet ongedaan worden gemaakt."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "Open source"
|
||||
|
||||
@@ -1481,7 +1490,7 @@ msgstr "Organiseer en vind kaarten snel met krachtige filtertools."
|
||||
msgid "Own your data"
|
||||
msgstr "Bezit je eigen data"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:104
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Eigendom van Atlassian"
|
||||
|
||||
@@ -1509,7 +1518,7 @@ msgstr "Wachtwoord moet minimaal 8 tekens bevatten"
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Wachtwoorden komen niet overeen"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Gepauzeerd"
|
||||
|
||||
@@ -1518,7 +1527,7 @@ msgstr "Gepauzeerd"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Betalingsfrequentie"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "In behandeling"
|
||||
|
||||
@@ -1537,7 +1546,7 @@ msgstr "Persoonlijk project"
|
||||
msgid "Planning"
|
||||
msgstr "Planning"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:146
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Platform"
|
||||
|
||||
@@ -1607,12 +1616,13 @@ msgstr "Probeer het later opnieuw of neem contact op met de klantenservice."
|
||||
msgid "Please try again later."
|
||||
msgstr "Probeer het later opnieuw."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Prijs per gebruiker/maand"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:33
|
||||
#: src/views/pricing/index.tsx:39
|
||||
@@ -1633,7 +1643,7 @@ msgstr "Privacybeleid"
|
||||
msgid "Private"
|
||||
msgstr "Privé"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro Plan"
|
||||
|
||||
@@ -1681,7 +1691,7 @@ msgstr "Op afstand"
|
||||
msgid "Remove"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Lid verwijderen"
|
||||
|
||||
@@ -1724,7 +1734,7 @@ msgstr "Oplossing"
|
||||
msgid "Resources"
|
||||
msgstr "Bronnen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
@@ -1734,10 +1744,11 @@ msgstr "Beoordeling"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
@@ -1784,7 +1795,7 @@ msgstr "Zelf hosten met Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "heeft de kaart aan zichzelf toegewezen"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Zelf te hosten"
|
||||
|
||||
@@ -1821,8 +1832,7 @@ msgstr "Instellingen | Integraties"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Instellingen | Werkruimte"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Inloggen"
|
||||
|
||||
@@ -1899,11 +1909,11 @@ msgid "System"
|
||||
msgstr "Systeem"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Teamplan"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:111
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
@@ -1980,7 +1990,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:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Dit bord is privé of bestaat niet"
|
||||
|
||||
@@ -2017,7 +2027,7 @@ msgstr "Deze werkruimtegebruikersnaam is al in gebruik"
|
||||
msgid "To Do"
|
||||
msgstr "Te doen"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Menu in-/uitschakelen"
|
||||
|
||||
@@ -2250,7 +2260,7 @@ msgstr "URL moet minimaal 3 tekens lang zijn"
|
||||
msgid "Use template"
|
||||
msgstr "Sjabloon gebruiken"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
@@ -2275,7 +2285,7 @@ msgstr "Bekijk en beheer je facturering en abonnement."
|
||||
msgid "View docs"
|
||||
msgstr "Bekijk documentatie"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Alleen bekijken"
|
||||
|
||||
@@ -2283,7 +2293,7 @@ msgstr "Alleen bekijken"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Bekijk onze roadmap."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Werkruimte bekijken"
|
||||
|
||||
@@ -2315,7 +2325,7 @@ msgstr "Wat is het verschil tussen Kan en Trello?"
|
||||
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 "Toen Trello in 2011 werd gelanceerd, blies het iedereen omver met zijn zorgvuldig ontworpen eenvoud, maar na verloop van tijd (en atlassificatie) verloor het zijn magie en groeide het uit tot iets dat meer leek op \"Jira Lite\". Dit project is onze poging om de oorspronkelijke magie van Trello's eenvoud terug te brengen, in open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
@@ -2324,6 +2334,11 @@ 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
2504
apps/web/src/locales/pl/messages.po
Normal file
2504
apps/web/src/locales/pl/messages.po
Normal file
File diff suppressed because it is too large
Load Diff
1
apps/web/src/locales/pl/messages.ts
Normal file
1
apps/web/src/locales/pl/messages.ts
Normal file
File diff suppressed because one or more lines are too long
@@ -22,15 +22,15 @@ msgid ", or see our"
|
||||
msgstr ", или посмотрите наши"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#: src/views/boards/index.tsx:34
|
||||
#: src/views/boards/index.tsx:27
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#. placeholder {0}: card?.title ?? "Card"
|
||||
#. placeholder {0}: card?.title ?? t`Card`
|
||||
#. placeholder {0}: isTemplate ? "Templates" : "Boards"
|
||||
#. placeholder {1}: board?.name ?? "Board"
|
||||
#. placeholder {1}: workspace.name ?? "Workspace"
|
||||
#: src/views/boards/index.tsx:29
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:22
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
@@ -262,7 +262,7 @@ msgstr "Вы уверены, что хотите удалить свой акк
|
||||
msgid "assigned <0>{0}</0> to the card"
|
||||
msgstr "назначено <0>{0}</0> к карточке"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
msgid "Assignees"
|
||||
msgstr "Исполнители"
|
||||
|
||||
@@ -301,6 +301,8 @@ 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 "Доска"
|
||||
|
||||
@@ -317,11 +319,11 @@ msgstr "Название доски не может превышать 100 си
|
||||
msgid "Board name is required"
|
||||
msgstr "Название доски обязательно"
|
||||
|
||||
#: src/views/public/board/index.tsx:148
|
||||
#: src/views/public/board/index.tsx:151
|
||||
msgid "Board not found"
|
||||
msgstr "Доска не найдена"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:127
|
||||
msgid "Board sharing & invites"
|
||||
msgstr "Общий доступ к доске и приглашения"
|
||||
|
||||
@@ -333,7 +335,7 @@ msgstr "URL доски может содержать только буквы, ц
|
||||
msgid "Board URL cannot exceed 60 characters"
|
||||
msgstr "URL доски не может превышать 60 символов"
|
||||
|
||||
#: src/views/public/board/index.tsx:64
|
||||
#: src/views/public/board/index.tsx:67
|
||||
msgid "Board URL copied to clipboard"
|
||||
msgstr "URL доски скопирован в буфер обмена"
|
||||
|
||||
@@ -381,6 +383,10 @@ msgstr "Отчет об ошибке"
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: src/views/card/index.tsx:216
|
||||
msgid "Card"
|
||||
msgstr "Карточка"
|
||||
|
||||
#: src/views/card/index.tsx:262
|
||||
msgid "Card not found"
|
||||
msgstr "Карточка не найдена"
|
||||
@@ -445,7 +451,7 @@ msgstr "Скоро будет"
|
||||
msgid "Comments"
|
||||
msgstr "Комментарии"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:121
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
msgid "Comments & mentions"
|
||||
msgstr "Комментарии и упоминания"
|
||||
|
||||
@@ -493,6 +499,7 @@ msgid "Connect your Trello account to import boards."
|
||||
msgstr "Подключите ваш аккаунт Trello, чтобы импортировать доски."
|
||||
|
||||
#: src/views/home/components/Footer.tsx:38
|
||||
#: src/views/home/components/Header.tsx:42
|
||||
msgid "Contact"
|
||||
msgstr "Контакт"
|
||||
|
||||
@@ -732,13 +739,14 @@ msgstr "Вы предлагаете бесплатный план?"
|
||||
msgid "docs"
|
||||
msgstr "документы"
|
||||
|
||||
#: src/views/home/components/Header.tsx:16
|
||||
#: src/views/home/components/Header.tsx:20
|
||||
msgid "Docs"
|
||||
msgstr "Документы"
|
||||
|
||||
#: src/components/UserMenu.tsx:191
|
||||
#: src/views/boards/components/TemplateBoards.tsx:24
|
||||
#: src/views/home/components/Footer.tsx:77
|
||||
#: src/views/home/components/Header.tsx:36
|
||||
msgid "Documentation"
|
||||
msgstr "Документация"
|
||||
|
||||
@@ -915,12 +923,16 @@ msgstr "Не удалось создать доску"
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Не удалось войти с {0}. Пожалуйста, попробуйте снова."
|
||||
|
||||
#: src/views/home/components/Header.tsx:41
|
||||
msgid "FAQ"
|
||||
msgstr "FAQ"
|
||||
|
||||
#: src/views/home/components/Faqs.tsx:143
|
||||
#: src/views/home/components/Footer.tsx:51
|
||||
msgid "FAQs"
|
||||
msgstr "Часто задаваемые вопросы"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
msgid "Fast & lightweight"
|
||||
msgstr "Быстрый и легковесный"
|
||||
|
||||
@@ -939,7 +951,8 @@ msgstr "Запрос функции"
|
||||
|
||||
#: src/views/home/components/Features.tsx:132
|
||||
#: src/views/home/components/Footer.tsx:49
|
||||
#: src/views/home/components/Header.tsx:14
|
||||
#: src/views/home/components/Header.tsx:17
|
||||
#: src/views/home/components/Header.tsx:33
|
||||
#: src/views/pricing/index.tsx:58
|
||||
msgid "Features"
|
||||
msgstr "Функции"
|
||||
@@ -966,14 +979,12 @@ msgid "For long-term sustainability, we recognise all good open source projects
|
||||
msgstr "Для долгосрочной устойчивости мы признаем, что всем хорошим проектам с открытым исходным кодом нужен источник дохода. Наш доход поступает от платного облачного предложения для рабочих пространств с несколькими пользователями (бесплатно в период бета-тестирования) и для пользовательских адресов рабочих пространств. Нет обязательства использовать это, и вы можете самостоятельно разместить программное обеспечение на своей инфраструктуре бесплатно."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Бесплатно"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:326
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Бесплатный план"
|
||||
|
||||
@@ -992,8 +1003,7 @@ msgstr "Веселье"
|
||||
|
||||
#: src/views/auth/signup/index.tsx:69
|
||||
#: src/views/home/components/Cta.tsx:61
|
||||
#: src/views/home/components/Header.tsx:102
|
||||
#: src/views/home/components/Header.tsx:141
|
||||
#: src/views/home/components/Header.tsx:106
|
||||
#: src/views/pricing/index.tsx:69
|
||||
msgid "Get started"
|
||||
msgstr "Начать"
|
||||
@@ -1039,8 +1049,7 @@ msgstr "GitHub"
|
||||
msgid "Go Home"
|
||||
msgstr "На главную"
|
||||
|
||||
#: src/views/home/components/Header.tsx:96
|
||||
#: src/views/home/components/Header.tsx:133
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/invite/index.tsx:144
|
||||
msgid "Go to app"
|
||||
msgstr "Перейти в приложение"
|
||||
@@ -1094,7 +1103,7 @@ msgstr "Идеи"
|
||||
msgid "Ideas to improve this page..."
|
||||
msgstr "Идеи для улучшения этой страницы..."
|
||||
|
||||
#: src/views/boards/index.tsx:46
|
||||
#: src/views/boards/index.tsx:39
|
||||
msgid "Import"
|
||||
msgstr "Импорт"
|
||||
|
||||
@@ -1162,7 +1171,7 @@ msgstr "Недействительный адрес электронной по
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Недействительное приглашение"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Пригласить"
|
||||
|
||||
@@ -1174,7 +1183,7 @@ msgstr "Ссылка приглашения скопирована"
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Ссылка приглашения скопирована в буфер обмена"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:139
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:133
|
||||
msgid "Invite links"
|
||||
msgstr "Ссылки-приглашения"
|
||||
|
||||
@@ -1248,7 +1257,7 @@ msgstr "Язык"
|
||||
msgid "Launch offer"
|
||||
msgstr "Стартовое предложение"
|
||||
|
||||
#: src/views/members/index.tsx:192
|
||||
#: src/views/members/index.tsx:191
|
||||
msgid "Launch offer: Get unlimited members with Pro"
|
||||
msgstr "Стартовое предложение: получите неограниченное количество участников с Pro"
|
||||
|
||||
@@ -1273,7 +1282,7 @@ msgstr "Лицензия"
|
||||
msgid "Light"
|
||||
msgstr "Светлый"
|
||||
|
||||
#: src/views/public/board/index.tsx:62
|
||||
#: src/views/public/board/index.tsx:65
|
||||
msgid "Link copied"
|
||||
msgstr "Ссылка скопирована"
|
||||
|
||||
@@ -1326,12 +1335,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:179
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Участники"
|
||||
|
||||
#. placeholder {0}: workspace.name ?? "Workspace"
|
||||
#: src/views/members/index.tsx:174
|
||||
#. placeholder {0}: workspace.name ?? t`Workspace`
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Участники | {0}"
|
||||
|
||||
@@ -1364,7 +1373,7 @@ msgstr "Имя"
|
||||
msgid "Need help?"
|
||||
msgstr "Нужна помощь?"
|
||||
|
||||
#: src/views/boards/index.tsx:57
|
||||
#: src/views/boards/index.tsx:50
|
||||
#: src/views/home/components/Features.tsx:73
|
||||
msgid "New"
|
||||
msgstr "Новый"
|
||||
@@ -1464,7 +1473,7 @@ msgstr "После удаления аккаунта возврат будет
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "После удаления рабочего пространства возврат будет невозможен. Это действие необратимо."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
msgid "Open source"
|
||||
msgstr "С открытым исходным кодом"
|
||||
|
||||
@@ -1481,7 +1490,7 @@ msgstr "Организуйте и находите карточки быстро
|
||||
msgid "Own your data"
|
||||
msgstr "Владейте своими данными"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:104
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
|
||||
msgid "Owned by Atlassian"
|
||||
msgstr "Принадлежит Atlassian"
|
||||
|
||||
@@ -1509,7 +1518,7 @@ msgstr "Пароль должен содержать не менее 8 симв
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Пароли не совпадают"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Приостановлено"
|
||||
|
||||
@@ -1518,7 +1527,7 @@ msgstr "Приостановлено"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Частота платежей"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "В ожидании"
|
||||
|
||||
@@ -1537,7 +1546,7 @@ msgstr "Личный проект"
|
||||
msgid "Planning"
|
||||
msgstr "Планирование"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:146
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:140
|
||||
msgid "Platform"
|
||||
msgstr "Платформа"
|
||||
|
||||
@@ -1607,12 +1616,13 @@ msgstr "Пожалуйста, попробуйте позже или свяжи
|
||||
msgid "Please try again later."
|
||||
msgstr "Пожалуйста, попробуйте позже."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:115
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:109
|
||||
msgid "Price per user/month"
|
||||
msgstr "Цена за пользователя/месяц"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:50
|
||||
#: src/views/home/components/Header.tsx:15
|
||||
#: src/views/home/components/Header.tsx:18
|
||||
#: src/views/home/components/Header.tsx:34
|
||||
#: src/views/pricing/components/Pricing.tsx:85
|
||||
#: src/views/pricing/index.tsx:33
|
||||
#: src/views/pricing/index.tsx:39
|
||||
@@ -1633,7 +1643,7 @@ msgstr "Политика конфиденциальности"
|
||||
msgid "Private"
|
||||
msgstr "Личное"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Профессиональный план"
|
||||
|
||||
@@ -1681,7 +1691,7 @@ msgstr "Удалённый"
|
||||
msgid "Remove"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Удалить участника"
|
||||
|
||||
@@ -1724,7 +1734,7 @@ msgstr "Решение"
|
||||
msgid "Resources"
|
||||
msgstr "Ресурсы"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
|
||||
msgid "REST API"
|
||||
msgstr "REST API"
|
||||
|
||||
@@ -1734,10 +1744,11 @@ msgstr "Обзор"
|
||||
|
||||
#: src/views/home/components/Footer.tsx:36
|
||||
#: src/views/home/components/Header.tsx:13
|
||||
#: src/views/home/components/Header.tsx:28
|
||||
msgid "Roadmap"
|
||||
msgstr "Дорожная карта"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Роль"
|
||||
|
||||
@@ -1784,7 +1795,7 @@ msgstr "Самостоятельный хостинг с Github"
|
||||
msgid "self-assigned the card"
|
||||
msgstr "самостоятельно назначил карточку"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:156
|
||||
msgid "Self-hostable"
|
||||
msgstr "Самостоятельный хостинг"
|
||||
|
||||
@@ -1821,8 +1832,7 @@ msgstr "Настройки | Интеграции"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Настройки | Рабочая область"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
#: src/views/home/components/Header.tsx:104
|
||||
msgid "Sign in"
|
||||
msgstr "Войти"
|
||||
|
||||
@@ -1899,11 +1909,11 @@ msgid "System"
|
||||
msgstr "Система"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Командный план"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:111
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:105
|
||||
#: src/views/pricing/components/Pricing.tsx:46
|
||||
#: src/views/pricing/components/PricingTiers.tsx:43
|
||||
msgid "Teams"
|
||||
@@ -1980,7 +1990,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:151
|
||||
#: src/views/public/board/index.tsx:154
|
||||
msgid "This board is private or does not exist"
|
||||
msgstr "Эта доска является приватной или не существует."
|
||||
|
||||
@@ -2017,7 +2027,7 @@ msgstr "Это имя пользователя рабочего простран
|
||||
msgid "To Do"
|
||||
msgstr "Сделать"
|
||||
|
||||
#: src/views/home/components/Header.tsx:73
|
||||
#: src/views/home/components/Header.tsx:114
|
||||
msgid "Toggle menu"
|
||||
msgstr "Переключить меню"
|
||||
|
||||
@@ -2250,7 +2260,7 @@ msgstr "URL должен содержать не менее 3 символов"
|
||||
msgid "Use template"
|
||||
msgstr "Использовать шаблон"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Пользователь"
|
||||
|
||||
@@ -2275,7 +2285,7 @@ msgstr "Просмотр и управление вашими счетами и
|
||||
msgid "View docs"
|
||||
msgstr "Просмотреть документацию"
|
||||
|
||||
#: src/views/public/board/index.tsx:125
|
||||
#: src/views/public/board/index.tsx:128
|
||||
msgid "View only"
|
||||
msgstr "Только просмотр"
|
||||
|
||||
@@ -2283,7 +2293,7 @@ msgstr "Только просмотр"
|
||||
msgid "View our roadmap."
|
||||
msgstr "Просмотреть нашу дорожную карту."
|
||||
|
||||
#: src/views/public/board/index.tsx:154
|
||||
#: src/views/public/board/index.tsx:157
|
||||
msgid "View workspace"
|
||||
msgstr "Просмотреть рабочее пространство"
|
||||
|
||||
@@ -2315,7 +2325,7 @@ msgstr "В чем разница между Kan и Trello?"
|
||||
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 "Когда Trello запустился в 2011 году, он поразил всех своей тщательно продуманной простотой, но со временем (и под влиянием атлассификации) потерял свою магию и превратился во что-то ближе к \"Jira Lite\". Этот проект — наша попытка вернуть оригинальную магию простоты Trello в формате open source."
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
|
||||
msgid "White label"
|
||||
msgstr "White label"
|
||||
|
||||
@@ -2324,6 +2334,11 @@ 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
@@ -4,6 +4,7 @@ interface ModalState {
|
||||
contentType: string;
|
||||
entityId?: string;
|
||||
entityLabel?: string;
|
||||
closeOnClickOutside?: boolean;
|
||||
}
|
||||
|
||||
interface Props {
|
||||
@@ -16,6 +17,7 @@ interface ModalContextType {
|
||||
contentType: string,
|
||||
entityId?: string,
|
||||
entityLabel?: string,
|
||||
closeOnClickOutside?: boolean,
|
||||
) => void;
|
||||
closeModal: () => void;
|
||||
closeModals: (count: number) => void;
|
||||
@@ -23,6 +25,7 @@ interface ModalContextType {
|
||||
modalContentType: string;
|
||||
entityId: string;
|
||||
entityLabel: string;
|
||||
closeOnClickOutside: boolean;
|
||||
modalStates: Record<string, any>;
|
||||
setModalState: (modalType: string, state: any) => void;
|
||||
getModalState: (modalType: string) => any;
|
||||
@@ -41,10 +44,21 @@ 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) => {
|
||||
const newModal: ModalState = { contentType, entityId, entityLabel };
|
||||
(
|
||||
contentType: string,
|
||||
entityId?: string,
|
||||
entityLabel?: string,
|
||||
closeOnClickOutside?: boolean,
|
||||
) => {
|
||||
const newModal: ModalState = {
|
||||
contentType,
|
||||
entityId,
|
||||
entityLabel,
|
||||
closeOnClickOutside,
|
||||
};
|
||||
setModalStack((prev) => [...prev, newModal]);
|
||||
},
|
||||
[],
|
||||
@@ -107,6 +121,7 @@ export const ModalProvider: React.FC<Props> = ({ children }) => {
|
||||
modalContentType,
|
||||
entityId,
|
||||
entityLabel,
|
||||
closeOnClickOutside,
|
||||
modalStates,
|
||||
setModalState,
|
||||
getModalState,
|
||||
|
||||
@@ -20,6 +20,8 @@ const loadMessages = async (locale: Locale) => {
|
||||
return (await import("~/locales/nl/messages")).messages;
|
||||
case "ru":
|
||||
return (await import("~/locales/ru/messages")).messages;
|
||||
case "pl":
|
||||
return (await import("~/locales/pl/messages")).messages;
|
||||
default:
|
||||
return enMessages;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { HiBars3BottomLeft, HiChatBubbleLeft } from "react-icons/hi2";
|
||||
|
||||
import Avatar from "~/components/Avatar";
|
||||
import Badge from "~/components/Badge";
|
||||
import CircularProgress from "~/components/CircularProgress";
|
||||
@@ -9,6 +11,8 @@ const Card = ({
|
||||
labels,
|
||||
members,
|
||||
checklists,
|
||||
description,
|
||||
comments,
|
||||
}: {
|
||||
title: string;
|
||||
labels: { name: string; colourCode: string | null }[];
|
||||
@@ -27,6 +31,8 @@ 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;
|
||||
@@ -39,10 +45,17 @@ 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 ? (
|
||||
{labels.length ||
|
||||
members.length ||
|
||||
checklists.length > 0 ||
|
||||
hasDescription ||
|
||||
comments.length > 0 ? (
|
||||
<div className="mt-2 flex flex-col justify-end">
|
||||
<div className="space-x-0.5">
|
||||
{labels.map((label) => (
|
||||
@@ -52,37 +65,51 @@ const Card = ({
|
||||
/>
|
||||
))}
|
||||
</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="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;
|
||||
|
||||
return (
|
||||
<Avatar
|
||||
name={user?.name ?? ""}
|
||||
email={user?.email ?? email}
|
||||
imageUrl={avatarUrl}
|
||||
size="sm"
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
return (
|
||||
<Avatar
|
||||
name={user?.name ?? ""}
|
||||
email={user?.email ?? email}
|
||||
imageUrl={avatarUrl}
|
||||
size="sm"
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
@@ -358,7 +358,7 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={`${(boardData?.name ?? isTemplate) ? t`Board` : t`Template`} | ${workspace.name}`}
|
||||
title={`${boardData?.name ?? (isTemplate ? t`Board` : t`Template`)} | ${workspace.name ?? t`Workspace`}`}
|
||||
/>
|
||||
<div className="relative flex h-full flex-col">
|
||||
<PatternedBackground />
|
||||
@@ -546,6 +546,10 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
labels={card.labels}
|
||||
members={card.members}
|
||||
checklists={card.checklists ?? []}
|
||||
description={
|
||||
card.description ?? null
|
||||
}
|
||||
comments={card.comments ?? []}
|
||||
/>
|
||||
</Link>
|
||||
)}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { useEffect } from "react";
|
||||
import { HiArrowDownTray, HiOutlinePlusSmall } from "react-icons/hi2";
|
||||
|
||||
import Button from "~/components/Button";
|
||||
@@ -15,18 +14,12 @@ import { NewBoardForm } from "./components/NewBoardForm";
|
||||
|
||||
export default function BoardsPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
const { openModal, modalContentType, isOpen } = useModal();
|
||||
const { availableWorkspaces, workspace, hasLoaded } = useWorkspace();
|
||||
|
||||
useEffect(() => {
|
||||
if (hasLoaded && availableWorkspaces.length === 0) {
|
||||
openModal("NEW_WORKSPACE");
|
||||
}
|
||||
}, [hasLoaded, availableWorkspaces.length, openModal]);
|
||||
const { workspace } = useWorkspace();
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={t`${isTemplate ? "Templates" : "Boards"} | ${workspace.name ?? "Workspace"}`}
|
||||
title={t`${isTemplate ? "Templates" : "Boards"} | ${workspace.name ?? t`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">
|
||||
|
||||
@@ -213,7 +213,7 @@ export default function CardPage({ isTemplate }: { isTemplate?: boolean }) {
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={t`${card?.title ?? "Card"} | ${board?.name ?? "Board"}`}
|
||||
title={t`${card?.title ?? t`Card`} | ${board?.name ?? t`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">
|
||||
|
||||
@@ -6,55 +6,83 @@ import { twMerge } from "tailwind-merge";
|
||||
import Button from "~/components/Button";
|
||||
|
||||
const Header = ({ isLoggedIn }: { isLoggedIn: boolean }) => {
|
||||
const [isScrolled, setIsScrolled] = useState(false);
|
||||
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
||||
|
||||
const menuItems = [
|
||||
{ label: t`Roadmap`, href: "/kan/roadmap", openInNewTab: true },
|
||||
{ label: t`Features`, href: "#features" },
|
||||
const desktopMenuItems = [
|
||||
{
|
||||
label: t`Roadmap`,
|
||||
href: "/kan/roadmap",
|
||||
openInNewTab: true,
|
||||
},
|
||||
{ label: t`Features`, href: "/#features" },
|
||||
{ label: t`Pricing`, href: "/pricing" },
|
||||
{ label: t`Docs`, href: "https://docs.kan.bn", openInNewTab: true },
|
||||
{
|
||||
label: t`Docs`,
|
||||
href: "https://docs.kan.bn",
|
||||
openInNewTab: true,
|
||||
},
|
||||
];
|
||||
|
||||
useEffect(() => {
|
||||
const handleScroll = () => {
|
||||
setIsScrolled(window.scrollY > 0);
|
||||
};
|
||||
window.addEventListener("scroll", handleScroll);
|
||||
return () => window.removeEventListener("scroll", handleScroll);
|
||||
}, []);
|
||||
const mobileMenuItems = [
|
||||
{
|
||||
label: t`Roadmap`,
|
||||
href: "/kan/roadmap",
|
||||
openInNewTab: true,
|
||||
group: "Product",
|
||||
},
|
||||
{ label: t`Features`, href: "/#features", group: "Product" },
|
||||
{ label: t`Pricing`, href: "/pricing", group: "Product" },
|
||||
{
|
||||
label: t`Documentation`,
|
||||
href: "https://docs.kan.bn",
|
||||
openInNewTab: true,
|
||||
group: "Resources",
|
||||
},
|
||||
{ label: t`FAQ`, href: "/#faq", group: "Resources" },
|
||||
{ label: t`Contact`, href: "mailto:support@kan.bn", group: "Resources" },
|
||||
];
|
||||
|
||||
// Group mobile menu items by their group property
|
||||
const groupedMenuItems = mobileMenuItems.reduce(
|
||||
(acc, item) => {
|
||||
(acc[item.group] ??= []).push(item);
|
||||
return acc;
|
||||
},
|
||||
{} as Record<string, typeof mobileMenuItems>,
|
||||
);
|
||||
|
||||
const toggleMenu = () => {
|
||||
setIsMenuOpen(!isMenuOpen);
|
||||
document.body.style.overflow = !isMenuOpen ? "hidden" : "";
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
document.documentElement.classList.toggle("overflow-hidden", isMenuOpen);
|
||||
document.body.classList.toggle("overflow-hidden", isMenuOpen);
|
||||
return () => {
|
||||
document.documentElement.classList.remove("overflow-hidden");
|
||||
document.body.classList.remove("overflow-hidden");
|
||||
};
|
||||
}, [isMenuOpen]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div
|
||||
className={twMerge(
|
||||
"fixed z-50 m-auto flex w-full transition-all duration-500 lg:max-w-[1100px] lg:px-4 lg:pt-4",
|
||||
"fixed z-50 flex w-full transition-all duration-500",
|
||||
)}
|
||||
>
|
||||
<div
|
||||
className={twMerge(
|
||||
"m-auto flex h-[4rem] min-h-[4rem] w-full px-5 py-2 align-middle transition-all duration-500 lg:rounded-3xl lg:border lg:border-transparent",
|
||||
isScrolled &&
|
||||
"border-b border-light-300 bg-light-50/80 opacity-100 shadow-sm backdrop-blur-[10px] dark:border-dark-300 dark:bg-dark-50/90 lg:rounded-2xl lg:border",
|
||||
!isScrolled && "bg-transparent opacity-90",
|
||||
)}
|
||||
>
|
||||
<div className="flex w-full items-center justify-between lg:px-4">
|
||||
<div className="flex h-[4rem] min-h-[4rem] w-full border-b border-light-300 bg-light-50/80 px-5 py-2 align-middle opacity-100 shadow-sm backdrop-blur-[10px] transition-all duration-500 dark:border-dark-300 dark:bg-dark-50/90">
|
||||
<div className="mx-auto flex w-full max-w-[1100px] items-center justify-between lg:px-4">
|
||||
<div className="my-auto flex items-center justify-between">
|
||||
<Link href="/">
|
||||
<h1 className="w-[200px] text-lg font-bold tracking-tight text-neutral-900 dark:text-dark-1000">
|
||||
<h1 className="text-lg font-bold tracking-tight text-neutral-900 dark:text-dark-1000 lg:w-[200px]">
|
||||
kan.bn
|
||||
</h1>
|
||||
</Link>
|
||||
</div>
|
||||
{/* Desktop Menu */}
|
||||
<div className="hidden justify-center gap-10 dark:text-dark-1000 lg:flex">
|
||||
{menuItems.map((item) => (
|
||||
{desktopMenuItems.map((item) => (
|
||||
<Link
|
||||
key={item.label}
|
||||
href={item.href}
|
||||
@@ -66,42 +94,38 @@ const Header = ({ isLoggedIn }: { isLoggedIn: boolean }) => {
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
{/* Hamburger Menu Button */}
|
||||
<button
|
||||
onClick={toggleMenu}
|
||||
className="z-50 p-2 lg:hidden"
|
||||
aria-label={t`Toggle menu`}
|
||||
>
|
||||
<div
|
||||
className={twMerge(
|
||||
"my-[5px] h-[2px] w-4 bg-current bg-light-1000 transition-all dark:bg-dark-1000",
|
||||
isMenuOpen ? "translate-y-[7px] rotate-45" : "",
|
||||
<div className="flex items-center justify-end gap-4 lg:w-[200px]">
|
||||
<div className="justify-end gap-2">
|
||||
{isLoggedIn ? (
|
||||
<Button href="/boards">{t`Go to app`}</Button>
|
||||
) : (
|
||||
<div className="flex items-center justify-end gap-2">
|
||||
<Button href="/login" variant="ghost">
|
||||
{t`Sign in`}
|
||||
</Button>
|
||||
<Button href="/signup">{t`Get started`}</Button>
|
||||
</div>
|
||||
)}
|
||||
/>
|
||||
<div
|
||||
className={twMerge(
|
||||
"my-[5px] ml-[4px] h-[2px] w-3 bg-current bg-light-1000 transition-all dark:bg-dark-1000",
|
||||
isMenuOpen ? "opacity-0" : "",
|
||||
)}
|
||||
/>
|
||||
<div
|
||||
className={twMerge(
|
||||
"my-[5px] h-[2px] w-4 bg-current bg-light-1000 transition-all dark:bg-dark-1000",
|
||||
isMenuOpen ? "-translate-y-[7px] -rotate-45" : "",
|
||||
)}
|
||||
/>
|
||||
</button>
|
||||
<div className="hidden w-[200px] justify-end gap-2 lg:flex">
|
||||
{isLoggedIn ? (
|
||||
<Button href="/boards">{t`Go to app`}</Button>
|
||||
) : (
|
||||
<>
|
||||
<Button href="/login" variant="ghost">
|
||||
{t`Sign in`}
|
||||
</Button>
|
||||
<Button href="/signup">{t`Get started`}</Button>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
{/* Hamburger Menu Button */}
|
||||
<button
|
||||
onClick={toggleMenu}
|
||||
className="relative z-50 p-2 lg:hidden"
|
||||
aria-label={t`Toggle menu`}
|
||||
>
|
||||
<div
|
||||
className={twMerge(
|
||||
"absolute left-1/2 top-1/2 h-[1px] w-4 -translate-x-1/2 -translate-y-[4px] bg-current bg-light-1000 transition-all duration-300 ease-in-out dark:bg-dark-1000",
|
||||
isMenuOpen ? "translate-y-0 rotate-45" : "",
|
||||
)}
|
||||
/>
|
||||
<div
|
||||
className={twMerge(
|
||||
"absolute left-1/2 top-1/2 h-[1px] w-4 -translate-x-1/2 translate-y-[4px] bg-current bg-light-1000 transition-all duration-300 ease-in-out dark:bg-dark-1000",
|
||||
isMenuOpen ? "translate-y-0 -rotate-45" : "",
|
||||
)}
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -114,35 +138,27 @@ const Header = ({ isLoggedIn }: { isLoggedIn: boolean }) => {
|
||||
: "pointer-events-none translate-x-0 opacity-0"
|
||||
}`}
|
||||
>
|
||||
<div className="absolute inset-0 bg-white dark:bg-dark-100">
|
||||
<div className="flex h-full flex-col items-center justify-center space-y-8">
|
||||
{menuItems.map((item) => (
|
||||
<Link
|
||||
key={item.label}
|
||||
href={item.href}
|
||||
target={item.openInNewTab ? "_blank" : undefined}
|
||||
rel={item.openInNewTab ? "noopener noreferrer" : undefined}
|
||||
className="transform text-xl font-bold text-light-1000 transition-all duration-300 hover:scale-105 dark:text-dark-1000"
|
||||
>
|
||||
{item.label}
|
||||
</Link>
|
||||
<div className="absolute inset-0 bg-light-50/80 bg-white backdrop-blur-[15px] dark:bg-dark-50 dark:bg-dark-50/90">
|
||||
<div className="mt-[6rem] flex h-full flex-col space-y-8 px-5">
|
||||
{Object.entries(groupedMenuItems).map(([group, items]) => (
|
||||
<div key={group} className="flex flex-col space-y-4">
|
||||
<div className="text-sm font-bold text-light-900 dark:text-dark-900">
|
||||
{group}
|
||||
</div>
|
||||
{items.map((item) => (
|
||||
<Link
|
||||
key={item.label}
|
||||
href={item.href}
|
||||
target={item.openInNewTab ? "_blank" : undefined}
|
||||
rel={item.openInNewTab ? "noopener noreferrer" : undefined}
|
||||
className="transform text-lg font-bold text-light-1000 dark:text-dark-1000"
|
||||
onClick={() => setIsMenuOpen(false)}
|
||||
>
|
||||
{item.label}
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
))}
|
||||
<div className="mt-8 flex flex-col gap-4">
|
||||
{isLoggedIn ? (
|
||||
<Button href="/boards" onClick={toggleMenu}>
|
||||
{t`Go to app`}
|
||||
</Button>
|
||||
) : (
|
||||
<>
|
||||
<Button href="/login" variant="ghost" onClick={toggleMenu}>
|
||||
{t`Sign in`}
|
||||
</Button>
|
||||
<Button href="/signup" onClick={toggleMenu}>
|
||||
{t`Get started`}
|
||||
</Button>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -26,8 +26,8 @@ export default function Layout({ children }: { children: React.ReactNode }) {
|
||||
`}</style>
|
||||
<div className="mx-auto flex h-full min-h-screen min-w-[375px] flex-col items-center bg-light-100 dark:bg-dark-50">
|
||||
<PatternedBackground />
|
||||
<Header isLoggedIn={isLoggedIn} />
|
||||
<div className="z-10 mx-auto h-full w-full max-w-[1100px]">
|
||||
<Header isLoggedIn={isLoggedIn} />
|
||||
{children}
|
||||
</div>
|
||||
<Footer />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
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,
|
||||
@@ -171,7 +170,7 @@ export default function MembersPage() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead title={t`Members | ${workspace.name ?? "Workspace"}`} />
|
||||
<PageHead title={t`Members | ${workspace.name ?? t`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">
|
||||
|
||||
@@ -73,13 +73,13 @@ const FeatureComparisonTable = ({
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{ key: "labels", label: t`Labels & filters`, kan: true, trello: false },
|
||||
{ key: "labels", label: t`Labels & filters`, kan: true, trello: true },
|
||||
{ key: "checklists", label: t`Checklists`, kan: true, trello: true },
|
||||
{
|
||||
key: "import",
|
||||
label: t`Import from Trello`,
|
||||
kan: true,
|
||||
trello: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "visibility",
|
||||
@@ -99,12 +99,6 @@ const FeatureComparisonTable = ({
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "this-is-a-joke",
|
||||
label: t`Owned by Atlassian`,
|
||||
kan: false,
|
||||
trello: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -175,6 +169,12 @@ const FeatureComparisonTable = ({
|
||||
kan: true,
|
||||
trello: false,
|
||||
},
|
||||
{
|
||||
key: "this-is-a-joke",
|
||||
label: t`Owned by Atlassian`,
|
||||
kan: false,
|
||||
trello: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -45,7 +45,10 @@ 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 = () => {
|
||||
@@ -94,7 +97,7 @@ export default function PublicBoardView() {
|
||||
return (
|
||||
<>
|
||||
<PageHead
|
||||
title={`${data?.name ?? "Board"} | ${data?.workspace.name ?? "Workspace"}`}
|
||||
title={`${data?.name ?? t`Board`} | ${data?.workspace.name ?? t`Workspace`}`}
|
||||
/>
|
||||
<style jsx global>{`
|
||||
html {
|
||||
@@ -156,7 +159,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"
|
||||
@@ -182,6 +185,8 @@ export default function PublicBoardView() {
|
||||
labels={card.labels}
|
||||
checklists={card.checklists ?? []}
|
||||
members={[]}
|
||||
description={card.description}
|
||||
comments={card.comments ?? []}
|
||||
/>
|
||||
</Link>
|
||||
))}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
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";
|
||||
@@ -62,7 +63,7 @@ export default function PublicBoardsView() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead title={`${"Board"} | ${"Workspace"}`} />
|
||||
<PageHead title={`${data?.name ?? t`Workspace`} | kan.bn`} />
|
||||
<style jsx global>{`
|
||||
html {
|
||||
height: 100vh;
|
||||
|
||||
@@ -240,7 +240,14 @@ export const initAuth = (db: dbClient) => {
|
||||
]
|
||||
: []),
|
||||
// @todo: hasing is disabled due to a bug in the api key plugin
|
||||
apiKey({ disableKeyHashing: true }),
|
||||
apiKey({
|
||||
disableKeyHashing: true,
|
||||
rateLimit: {
|
||||
enabled: true,
|
||||
timeWindow: 1000 * 60, // 1 minute
|
||||
maxRequests: 100, // 100 requests per minute
|
||||
},
|
||||
}),
|
||||
magicLink({
|
||||
expiresIn: 60 * 60 * 24 * 7, // 7 days
|
||||
sendMagicLink: async ({ email, url }) => {
|
||||
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
cardToWorkspaceMembers,
|
||||
checklistItems,
|
||||
checklists,
|
||||
comments,
|
||||
labels,
|
||||
lists,
|
||||
workspaceMembers,
|
||||
@@ -215,6 +216,13 @@ export const getByPublicId = async (
|
||||
},
|
||||
},
|
||||
},
|
||||
comments: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
},
|
||||
where: isNull(comments.deletedAt),
|
||||
limit: 1,
|
||||
},
|
||||
},
|
||||
where: and(
|
||||
cardIds.length > 0 ? inArray(cards.publicId, cardIds) : undefined,
|
||||
@@ -335,6 +343,13 @@ export const getBySlug = async (
|
||||
},
|
||||
},
|
||||
},
|
||||
comments: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
},
|
||||
where: isNull(comments.deletedAt),
|
||||
limit: 1,
|
||||
},
|
||||
checklists: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
|
||||
Reference in New Issue
Block a user