Compare commits
10 Commits
v0.4.4
...
feat/invit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b00c47952c | ||
|
|
aa931ddcbe | ||
|
|
73b9ac7cb5 | ||
|
|
01e0140e6a | ||
|
|
f22a0332ab | ||
|
|
bd97362d90 | ||
|
|
3b3b4f89ba | ||
|
|
17f876160d | ||
|
|
dd1bd9b7cc | ||
|
|
7d9746be20 |
@@ -1,6 +1,6 @@
|
||||
# https://github.com/kanbn/kan?tab=readme-ov-file#environment-variables-)
|
||||
|
||||
# Required environment variables
|
||||
# Required environment variables
|
||||
NEXT_PUBLIC_BASE_URL= # e.g. https://kan.bn
|
||||
BETTER_AUTH_SECRET= # Random 32+ char string (can gen with: openssl rand -base64 24 | tr -dc 'a-zA-Z0-9' | head -c 32)
|
||||
|
||||
@@ -18,9 +18,6 @@ SMTP_PASSWORD=
|
||||
EMAIL_FROM= # e.g. "Kan <hello@mail.kan.bn>"
|
||||
SMTP_SECURE= # set to "false" to use port 587
|
||||
|
||||
# Switch email features off entirely (optional)
|
||||
NEXT_PUBLIC_DISABLE_EMAIL=
|
||||
|
||||
# S3 storage (optional)
|
||||
S3_REGION=
|
||||
S3_ENDPOINT=
|
||||
|
||||
@@ -147,7 +147,6 @@ pnpm dev
|
||||
| `SMTP_USER` | SMTP username/email | No | `resend` |
|
||||
| `SMTP_PASSWORD` | SMTP password/token | No | `re_xxxx` |
|
||||
| `SMTP_SECURE` | Use secure SMTP connection (defaults to true if not set) | For Email | `true` |
|
||||
| `NEXT_PUBLIC_DISABLE_EMAIL` | To disable all email features | For Email | `true` |
|
||||
| `NEXT_PUBLIC_BASE_URL` | Base URL of your installation | Yes | `http://localhost:3000` |
|
||||
| `BETTER_AUTH_SECRET` | Auth encryption secret | Yes | Random 32+ char string |
|
||||
| `BETTER_AUTH_TRUSTED_ORIGINS` | Allowed callback origins | No | `http://localhost:3000,http://localhost:3001` |
|
||||
|
||||
@@ -112,7 +112,6 @@ checksums:
|
||||
Create%20board/singular: 155b62818bfab0e34f0089e1b34a32f3
|
||||
Create%20card/singular: 32792935dd5837a9433909b04021c22b
|
||||
Create%20checklist/singular: 5cbca15a7004558c4e6d381f83a34da2
|
||||
Create%20invite%20link/singular: bef23fe786978f7abf78dece49a35a26
|
||||
Create%20label/singular: c64e8180fa956f005edc1fd9b8e65abb
|
||||
Create%20list/singular: 858c3d514aa95765ec82114393199144
|
||||
Create%20new%20board/singular: cbb87b1f4cc46b336ad9510c9f19407c
|
||||
@@ -129,7 +128,6 @@ checksums:
|
||||
Custom%20workspace%20URL/singular: 7ba841d0946eb04fa3d17d74365be37b
|
||||
Customer%20Support/singular: 50e3c77e22e41061ca85ea2f02625a2e
|
||||
Dark/singular: 73e6e208ba628b26e90fcf6dce15e1b2
|
||||
Deactivate%20invite%20link/singular: 8cf4bf82e153e4dc82d026448cb4dd10
|
||||
Delete/singular: 8bcf303dd10a645b5baacb02b47d72c9
|
||||
Delete%20account/singular: a9d11113f1a1d7e20582bdcc9633bcef
|
||||
Delete%20board/singular: e915cd160651ad4b61a67e8da0737c23
|
||||
@@ -308,8 +306,6 @@ checksums:
|
||||
Own%20your%20data/singular: cc2178dac4bdf6b07f030cfc2a7510e6
|
||||
Part-time/singular: 213d63da450f35dabb3ab0e35e29feed
|
||||
Password%20Changed/singular: 1fcebe9ddb46f722a57f195efddc695d
|
||||
Password%20is%20required%20to%20login./singular: a09c76294ca7b27b38658b34618a7119
|
||||
Password%20is%20required%20to%20sign%20up./singular: 3fa1abbf2e6ac8ac4d18c215191bdbcc
|
||||
Password%20must%20be%20at%20least%208%20characters/singular: 4c30501d085eaccea47af34212bb26a7
|
||||
Passwords%20do%20not%20match/singular: 37ca1f4e0afc9a0b8e9617f767103c92
|
||||
Paused/singular: edb1f7b7219e1c9b7aa67159090d6991
|
||||
@@ -371,6 +367,7 @@ checksums:
|
||||
Settings%20%7C%20Billing/singular: e44cba741d5414035a0b499c5766c203
|
||||
Settings%20%7C%20Integrations/singular: d04992e28016452f6d3d7dcc0b592415
|
||||
Settings%20%7C%20Workspace/singular: 5d0bacf7ff696da940f232df45edfd39
|
||||
Share%20invite%20link/singular: ec5081a1f4e49fd9d782e770438f703b
|
||||
Sign%20in/singular: cb8757c7450e17de1e226e82fb0fa4a2
|
||||
Sign%20In/singular: ec7b8f314fe9bc6591006707484ede61
|
||||
Sign%20Up/singular: 0dd2ae69be4618c1f9e615774a4509ca
|
||||
|
||||
@@ -5,7 +5,7 @@ import { t } from "@lingui/core/macro";
|
||||
import { Trans } from "@lingui/react/macro";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import { env } from "next-runtime-env";
|
||||
import { useEffect, useMemo, useRef, useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import {
|
||||
FaApple,
|
||||
@@ -156,12 +156,10 @@ export function Auth({ setIsMagicLinkSent, isSignUp }: AuthProps) {
|
||||
const [isLoginWithProviderPending, setIsLoginWithProviderPending] =
|
||||
useState<null | AuthProvider>(null);
|
||||
const [isCredentialsEnabled, setIsCredentialsEnabled] = useState(false);
|
||||
const [isEmailSendingEnabled, setIsEmailSendingEnabled] = useState(false);
|
||||
const [isLoginWithEmailPending, setIsLoginWithEmailPending] = useState(false);
|
||||
const [loginError, setLoginError] = useState<string | null>(null);
|
||||
const { showPopup } = usePopup();
|
||||
const oidcProviderName = "OIDC";
|
||||
const passwordRef = useRef<HTMLInputElement | null>(null);
|
||||
|
||||
const redirect = useSearchParams().get("next");
|
||||
const callbackURL = redirect ?? "/boards";
|
||||
@@ -170,9 +168,6 @@ export function Auth({ setIsMagicLinkSent, isSignUp }: AuthProps) {
|
||||
useEffect(() => {
|
||||
const credentialsAllowed =
|
||||
env("NEXT_PUBLIC_ALLOW_CREDENTIALS")?.toLowerCase() === "true";
|
||||
const emailSendingEnabled =
|
||||
env("NEXT_PUBLIC_DISABLE_EMAIL")?.toLowerCase() !== "true";
|
||||
setIsEmailSendingEnabled(emailSendingEnabled);
|
||||
setIsCredentialsEnabled(credentialsAllowed);
|
||||
}, []);
|
||||
|
||||
@@ -192,7 +187,7 @@ export function Auth({ setIsMagicLinkSent, isSignUp }: AuthProps) {
|
||||
|
||||
const handleLoginWithEmail = async (
|
||||
email: string,
|
||||
password?: string | null,
|
||||
password?: string,
|
||||
name?: string,
|
||||
) => {
|
||||
setIsLoginWithEmailPending(true);
|
||||
@@ -235,26 +230,16 @@ export function Auth({ setIsMagicLinkSent, isSignUp }: AuthProps) {
|
||||
);
|
||||
}
|
||||
} else {
|
||||
// Only allow magic link if email sending is enabled and not in sign up mode
|
||||
if (isEmailSendingEnabled && !isSignUp) {
|
||||
await authClient.signIn.magicLink(
|
||||
{
|
||||
email,
|
||||
callbackURL,
|
||||
},
|
||||
{
|
||||
onSuccess: () => setIsMagicLinkSent(true, email),
|
||||
onError: ({ error }) => setLoginError(error.message),
|
||||
},
|
||||
);
|
||||
} else {
|
||||
// Provide a clear error feedback when password omitted but magic link unavailable
|
||||
setLoginError(
|
||||
isSignUp
|
||||
? t`Password is required to sign up.`
|
||||
: t`Password is required to login.`,
|
||||
);
|
||||
}
|
||||
await authClient.signIn.magicLink(
|
||||
{
|
||||
email,
|
||||
callbackURL,
|
||||
},
|
||||
{
|
||||
onSuccess: () => setIsMagicLinkSent(true, email),
|
||||
onError: ({ error }) => setLoginError(error.message),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
setIsLoginWithEmailPending(false);
|
||||
@@ -291,43 +276,11 @@ export function Auth({ setIsMagicLinkSent, isSignUp }: AuthProps) {
|
||||
};
|
||||
|
||||
const onSubmit = async (values: FormValues) => {
|
||||
// Treat empty password string as undefined to trigger magic link path
|
||||
const sanitizedPassword = values.password?.trim()
|
||||
? values.password
|
||||
: undefined;
|
||||
await handleLoginWithEmail(values.email, sanitizedPassword, values.name);
|
||||
await handleLoginWithEmail(values.email, values.password, values.name);
|
||||
};
|
||||
|
||||
const password = watch("password");
|
||||
|
||||
// Determine if we should operate in magic link mode for current form state (login only)
|
||||
const isMagicLinkMode = useMemo(() => {
|
||||
// Magic link only viable when email sending enabled AND not sign up.
|
||||
if (!isEmailSendingEnabled || isSignUp) return false;
|
||||
// If credentials disabled we always default to magic link.
|
||||
if (!isCredentialsEnabled) return true;
|
||||
// Credentials enabled: user chooses magic link by leaving password blank.
|
||||
return !password;
|
||||
}, [isEmailSendingEnabled, isSignUp, isCredentialsEnabled, password]);
|
||||
|
||||
// Auto-focus password field when an error indicates it's required
|
||||
useEffect(() => {
|
||||
if (!isCredentialsEnabled) return;
|
||||
// Focus when: sign up and missing password; login error requiring password; validation error on password.
|
||||
const pwdEmpty = (password ?? "").length === 0;
|
||||
let needsPassword = false;
|
||||
if (isSignUp && pwdEmpty) {
|
||||
needsPassword = true;
|
||||
} else if (loginError?.toLowerCase().includes("password")) {
|
||||
needsPassword = true;
|
||||
} else if (errors.password) {
|
||||
needsPassword = true;
|
||||
}
|
||||
if (needsPassword && passwordRef.current) {
|
||||
passwordRef.current.focus();
|
||||
}
|
||||
}, [isSignUp, password, loginError, errors.password, isCredentialsEnabled]);
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
{socialProviders?.length !== 0 && (
|
||||
@@ -398,7 +351,7 @@ export function Auth({ setIsMagicLinkSent, isSignUp }: AuthProps) {
|
||||
/>
|
||||
{errors.password && (
|
||||
<p className="mt-2 text-xs text-red-400">
|
||||
{errors.password.message ?? t`Please enter a valid password`}
|
||||
{t`Please enter a valid password`}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
@@ -415,7 +368,9 @@ export function Auth({ setIsMagicLinkSent, isSignUp }: AuthProps) {
|
||||
variant="secondary"
|
||||
>
|
||||
{isSignUp ? t`Sign up with ` : t`Continue with `}
|
||||
{isMagicLinkMode ? t`magic link` : t`email`}
|
||||
{!isCredentialsEnabled || (password && password.length !== 0)
|
||||
? t`email`
|
||||
: t`magic link`}
|
||||
</Button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -36,12 +36,12 @@ msgstr "{0} Labels"
|
||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||
msgstr "{boardCount, plural, one {Board importieren (1)} other {Boards importieren ({boardCount})}}"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:146
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$10/month"
|
||||
msgstr "$10/Monat"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$8/month"
|
||||
msgstr "$8/Monat"
|
||||
|
||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
||||
msgstr "Label hinzufügen"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:130
|
||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
||||
#: src/views/members/components/InviteMemberForm.tsx:238
|
||||
msgid "Add member"
|
||||
msgstr "Mitglied hinzufügen"
|
||||
|
||||
@@ -136,7 +136,7 @@ msgstr "hat Checklistenelement <0>{0}</0> hinzugefügt"
|
||||
msgid "added label <0>{0}</0>"
|
||||
msgstr "hat Label <0>{0}</0> hinzugefügt"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
||||
#: src/views/members/components/InviteMemberForm.tsx:306
|
||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
msgstr "Das Hinzufügen eines neuen Mitglieds kostet zusätzlich {price} ({billingType}) pro Platz."
|
||||
|
||||
@@ -164,7 +164,7 @@ msgstr "Beim Trennen deines Trello-Kontos ist ein Fehler aufgetreten."
|
||||
msgid "An unexpected error occurred. Please try again later."
|
||||
msgstr "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
||||
#: src/views/members/components/InviteMemberForm.tsx:290
|
||||
msgid "Anyone with this link can join your workspace"
|
||||
msgstr "Jeder mit diesem Link kann deinem Arbeitsbereich beitreten"
|
||||
|
||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
||||
msgid "Basic Kanban"
|
||||
msgstr "Einfaches Kanban"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed annually"
|
||||
msgstr "jährlich abgerechnet"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed monthly"
|
||||
msgstr "monatlich abgerechnet"
|
||||
|
||||
@@ -463,12 +463,12 @@ msgstr "Kontaktiere uns"
|
||||
msgid "Content Creation"
|
||||
msgstr "Content-Erstellung"
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Continue with "
|
||||
msgstr "Fortfahren mit "
|
||||
|
||||
#. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
|
||||
#: src/components/AuthForm.tsx:348
|
||||
#: src/components/AuthForm.tsx:301
|
||||
msgid "Continue with {0}"
|
||||
msgstr "Fortfahren mit {0}"
|
||||
|
||||
@@ -498,10 +498,6 @@ msgstr "Karte erstellen"
|
||||
msgid "Create checklist"
|
||||
msgstr "Checkliste erstellen"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
||||
msgid "Create invite link"
|
||||
msgstr "Einladungslink erstellen"
|
||||
|
||||
#: src/components/LabelForm.tsx:238
|
||||
msgid "Create label"
|
||||
msgstr "Label erstellen"
|
||||
@@ -569,10 +565,6 @@ msgstr "Kundensupport"
|
||||
msgid "Dark"
|
||||
msgstr "Dunkel"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
||||
msgid "Deactivate invite link"
|
||||
msgstr "Einladungslink deaktivieren"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
@@ -705,11 +697,11 @@ msgstr "Workspace-URL bearbeiten"
|
||||
msgid "Editing"
|
||||
msgstr "Bearbeitung"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:372
|
||||
msgid "email"
|
||||
msgstr "E-Mail"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
||||
#: src/views/members/components/InviteMemberForm.tsx:252
|
||||
msgid "Email"
|
||||
msgstr "E-Mail"
|
||||
|
||||
@@ -725,11 +717,11 @@ msgstr "Geben Sie Ihr aktuelles Passwort ein"
|
||||
msgid "Enter your current password and choose a new secure password."
|
||||
msgstr "Geben Sie Ihr aktuelles Passwort ein und wählen Sie ein neues sicheres Passwort."
|
||||
|
||||
#: src/components/AuthForm.tsx:384
|
||||
#: src/components/AuthForm.tsx:337
|
||||
msgid "Enter your email address"
|
||||
msgstr "Gib deine E-Mail-Adresse ein"
|
||||
|
||||
#: src/components/AuthForm.tsx:372
|
||||
#: src/components/AuthForm.tsx:325
|
||||
msgid "Enter your name"
|
||||
msgstr "Gib deinen Namen ein"
|
||||
|
||||
@@ -737,11 +729,11 @@ msgstr "Gib deinen Namen ein"
|
||||
msgid "Enter your new password"
|
||||
msgstr "Geben Sie Ihr neues Passwort ein"
|
||||
|
||||
#: src/components/AuthForm.tsx:397
|
||||
#: src/components/AuthForm.tsx:350
|
||||
msgid "Enter your password"
|
||||
msgstr "Gib dein Passwort ein"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
||||
#: src/views/members/components/InviteMemberForm.tsx:196
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
@@ -749,11 +741,11 @@ msgstr "Fehler"
|
||||
msgid "Error Changing Password"
|
||||
msgstr "Fehler beim Ändern des Passworts"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
||||
#: src/views/members/components/InviteMemberForm.tsx:117
|
||||
msgid "Error creating invite link"
|
||||
msgstr "Fehler beim Erstellen des Einladungslinks"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
||||
#: src/views/members/components/InviteMemberForm.tsx:132
|
||||
msgid "Error deactivating invite link"
|
||||
msgstr "Fehler beim Deaktivieren des Einladungslinks"
|
||||
|
||||
@@ -773,8 +765,8 @@ msgstr "Fehler beim Löschen des Arbeitsbereichs"
|
||||
msgid "Error disconnecting Trello"
|
||||
msgstr "Fehler beim Trennen von Trello"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:97
|
||||
#: src/views/members/components/InviteMemberForm.tsx:103
|
||||
#: src/views/members/components/InviteMemberForm.tsx:95
|
||||
#: src/views/members/components/InviteMemberForm.tsx:101
|
||||
msgid "Error inviting member"
|
||||
msgstr "Fehler beim Einladen des Mitglieds"
|
||||
|
||||
@@ -798,7 +790,7 @@ msgstr "Fehler beim Aktualisieren des Arbeitsbereichsnamens"
|
||||
msgid "Error updating workspace URL"
|
||||
msgstr "Fehler beim Aktualisieren der Workspace-URL"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
||||
#: src/views/members/components/InviteMemberForm.tsx:221
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||
msgid "Error upgrading subscription"
|
||||
msgstr "Fehler beim Upgrade des Abonnements"
|
||||
@@ -828,12 +820,12 @@ msgstr "Ausführung"
|
||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
msgstr "Einladung konnte nicht angenommen werden. Bitte versuche es später erneut oder kontaktiere den Kundensupport."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
||||
#: src/views/members/components/InviteMemberForm.tsx:197
|
||||
msgid "Failed to copy invite link"
|
||||
msgstr "Einladungslink konnte nicht kopiert werden"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:288
|
||||
#: src/components/AuthForm.tsx:273
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Anmeldung mit {0} fehlgeschlagen. Bitte versuche es erneut."
|
||||
|
||||
@@ -881,8 +873,8 @@ msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-S
|
||||
msgid "Free"
|
||||
msgstr "Kostenlos"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/components/InviteMemberForm.tsx:312
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Kostenloser Plan"
|
||||
|
||||
@@ -1043,7 +1035,7 @@ msgstr "Integrationen"
|
||||
msgid "Interviewing"
|
||||
msgstr "Vorstellungsgespräch"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:51
|
||||
#: src/views/members/components/InviteMemberForm.tsx:49
|
||||
msgid "Invalid email address"
|
||||
msgstr "Ungültige E-Mail-Adresse"
|
||||
|
||||
@@ -1051,24 +1043,24 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
||||
#: src/views/members/components/InviteMemberForm.tsx:190
|
||||
msgid "Invite link copied"
|
||||
msgstr "Einladungslink kopiert"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
||||
#: src/views/members/components/InviteMemberForm.tsx:191
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Einladungslink in die Zwischenablage kopiert"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:111
|
||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
||||
#: src/views/members/components/InviteMemberForm.tsx:350
|
||||
msgid "Invite member"
|
||||
msgstr "Mitglied einladen"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
msgstr "Das Einladen von Mitgliedern erfordert einen Team-Plan. Sie werden weitergeleitet, um Ihren Workspace zu upgraden."
|
||||
|
||||
@@ -1117,7 +1109,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"
|
||||
|
||||
@@ -1169,7 +1161,7 @@ msgstr "Langfristig"
|
||||
msgid "Low Priority"
|
||||
msgstr "Niedrige Priorität"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:373
|
||||
msgid "magic link"
|
||||
msgstr "Magic Link"
|
||||
|
||||
@@ -1190,12 +1182,12 @@ msgstr "Mittlere Priorität"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:357
|
||||
#: src/views/card/index.tsx:125
|
||||
#: 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
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Mitglieder | {0}"
|
||||
|
||||
@@ -1203,7 +1195,7 @@ msgstr "Mitglieder | {0}"
|
||||
msgid "Monthly"
|
||||
msgstr "Monatlich"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
||||
#: src/views/members/components/InviteMemberForm.tsx:147
|
||||
msgid "monthly billing"
|
||||
msgstr "monatliche Abrechnung"
|
||||
|
||||
@@ -1315,7 +1307,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/components/AuthForm.tsx:362
|
||||
#: src/components/AuthForm.tsx:315
|
||||
msgid "or"
|
||||
msgstr "oder"
|
||||
|
||||
@@ -1335,14 +1327,6 @@ msgstr "Teilzeit"
|
||||
msgid "Password Changed"
|
||||
msgstr "Passwort geändert"
|
||||
|
||||
#: src/components/AuthForm.tsx:255
|
||||
msgid "Password is required to login."
|
||||
msgstr "Passwort ist für die Anmeldung erforderlich."
|
||||
|
||||
#: src/components/AuthForm.tsx:254
|
||||
msgid "Password is required to sign up."
|
||||
msgstr "Passwort ist für die Registrierung erforderlich."
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:22
|
||||
msgid "Password must be at least 8 characters"
|
||||
msgstr "Passwort muss mindestens 8 Zeichen lang sein"
|
||||
@@ -1351,7 +1335,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"
|
||||
|
||||
@@ -1359,7 +1343,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"
|
||||
|
||||
@@ -1380,15 +1364,15 @@ msgstr "Planung"
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Bitte bestätigen Sie Ihr neues Passwort"
|
||||
|
||||
#: src/components/AuthForm.tsx:388
|
||||
#: src/components/AuthForm.tsx:341
|
||||
msgid "Please enter a valid email address"
|
||||
msgstr "Bitte gib eine gültige E-Mail-Adresse ein"
|
||||
|
||||
#: src/components/AuthForm.tsx:376
|
||||
#: src/components/AuthForm.tsx:329
|
||||
msgid "Please enter a valid name"
|
||||
msgstr "Bitte gib einen gültigen Namen ein"
|
||||
|
||||
#: src/components/AuthForm.tsx:401
|
||||
#: src/components/AuthForm.tsx:354
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Bitte gib ein gültiges Passwort ein"
|
||||
|
||||
@@ -1421,8 +1405,8 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
|
||||
#: src/views/card/components/NewCommentForm.tsx:31
|
||||
#: src/views/card/index.tsx:173
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
||||
#: src/views/members/components/InviteMemberForm.tsx:102
|
||||
#: src/views/members/components/InviteMemberForm.tsx:222
|
||||
#: src/views/settings/components/Avatar.tsx:78
|
||||
#: src/views/settings/components/Avatar.tsx:219
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||
@@ -1435,8 +1419,8 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
|
||||
msgid "Please try again later, or contact customer support."
|
||||
msgstr "Bitte versuche es später noch einmal oder kontaktiere den Kundensupport."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
||||
#: src/views/members/components/InviteMemberForm.tsx:118
|
||||
#: src/views/members/components/InviteMemberForm.tsx:133
|
||||
msgid "Please try again later."
|
||||
msgstr "Bitte versuche es später erneut."
|
||||
|
||||
@@ -1459,11 +1443,11 @@ msgstr "Datenschutzrichtlinie"
|
||||
msgid "Private"
|
||||
msgstr "Privat"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro-Plan"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
msgid "Pro Plan ∞"
|
||||
msgstr "Pro-Plan ∞"
|
||||
|
||||
@@ -1507,7 +1491,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"
|
||||
|
||||
@@ -1559,7 +1543,7 @@ msgstr "Überprüfung"
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rolle"
|
||||
|
||||
@@ -1633,6 +1617,10 @@ msgstr "Einstellungen | Integrationen"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Einstellungen | Arbeitsbereich"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:327
|
||||
msgid "Share invite link"
|
||||
msgstr "Einladungslink teilen"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
msgid "Sign in"
|
||||
@@ -1659,7 +1647,7 @@ msgstr "Registrierung deaktiviert"
|
||||
msgid "Sign up is currently disabled. Please try again later."
|
||||
msgstr "Die Registrierung ist derzeit deaktiviert. Bitte versuche es später erneut."
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Sign up with "
|
||||
msgstr "Registrieren mit "
|
||||
|
||||
@@ -1683,8 +1671,8 @@ msgstr "Softwareentwicklung"
|
||||
msgid "Star on Github"
|
||||
msgstr "Stern auf Github"
|
||||
|
||||
#: src/components/AuthForm.tsx:212
|
||||
#: src/components/AuthForm.tsx:229
|
||||
#: src/components/AuthForm.tsx:207
|
||||
#: src/components/AuthForm.tsx:224
|
||||
msgid "Success"
|
||||
msgstr "Erfolg"
|
||||
|
||||
@@ -1704,8 +1692,8 @@ msgstr "Unterstütze die Entwicklung des Projekts"
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Team-Plan"
|
||||
|
||||
@@ -1988,7 +1976,7 @@ msgstr "Upgrade auf Pro"
|
||||
msgid "Upgrade to Pro ($29/month)"
|
||||
msgstr "Upgrade auf Pro ($29/Monat)"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
||||
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||
msgid "Upgrade to Team Plan"
|
||||
msgstr "Upgrade auf Team-Plan"
|
||||
|
||||
@@ -2016,11 +2004,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:98
|
||||
#: src/views/members/components/InviteMemberForm.tsx:96
|
||||
msgid "User is already a member of this workspace"
|
||||
msgstr "Benutzer ist bereits Mitglied dieses Arbeitsbereichs"
|
||||
|
||||
@@ -2179,15 +2167,15 @@ msgstr "Du kannst teammitglieder einladen, indem du auf die schaltfläche \"Einl
|
||||
msgid "You can self-host by following the instructions in our <0>repo</0>."
|
||||
msgstr "Sie können selbst hosten, indem sie den anweisungen in unserem <0>repo</0> folgen."
|
||||
|
||||
#: src/components/AuthForm.tsx:230
|
||||
#: src/components/AuthForm.tsx:225
|
||||
msgid "You have been logged in successfully."
|
||||
msgstr "Sie haben sich erfolgreich angemeldet."
|
||||
|
||||
#: src/components/AuthForm.tsx:213
|
||||
#: src/components/AuthForm.tsx:208
|
||||
msgid "You have been signed up successfully."
|
||||
msgstr "Sie haben sich erfolgreich registriert."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
msgstr "Sie haben unbegrenzte Plätze mit Ihrem Pro-Plan. Für neue Mitglieder fallen keine zusätzlichen Kosten an!"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -40,12 +40,12 @@ msgstr "{boardCount, plural, one {Import board (1)} other {Import boards ({board
|
||||
#~ msgid "#1 Hacker News"
|
||||
#~ msgstr "#1 Hacker News"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:146
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$10/month"
|
||||
msgstr "$10/month"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$8/month"
|
||||
msgstr "$8/month"
|
||||
|
||||
@@ -117,7 +117,7 @@ msgid "Add label"
|
||||
msgstr "Add label"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:130
|
||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
||||
#: src/views/members/components/InviteMemberForm.tsx:238
|
||||
msgid "Add member"
|
||||
msgstr "Add member"
|
||||
|
||||
@@ -156,7 +156,7 @@ msgstr "added label <0>{0}</0>"
|
||||
#~ msgid "added label <0>{label}</0>"
|
||||
#~ msgstr "added label <0>{label}</0>"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
||||
#: src/views/members/components/InviteMemberForm.tsx:306
|
||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
msgstr "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
|
||||
@@ -188,7 +188,7 @@ msgstr "An error occurred while disconnecting your Trello account."
|
||||
msgid "An unexpected error occurred. Please try again later."
|
||||
msgstr "An unexpected error occurred. Please try again later."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
||||
#: src/views/members/components/InviteMemberForm.tsx:290
|
||||
msgid "Anyone with this link can join your workspace"
|
||||
msgstr "Anyone with this link can join your workspace"
|
||||
|
||||
@@ -286,11 +286,11 @@ msgstr "Backlog"
|
||||
msgid "Basic Kanban"
|
||||
msgstr "Basic Kanban"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed annually"
|
||||
msgstr "billed annually"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed monthly"
|
||||
msgstr "billed monthly"
|
||||
|
||||
@@ -520,12 +520,12 @@ msgstr "Contact us"
|
||||
msgid "Content Creation"
|
||||
msgstr "Content Creation"
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Continue with "
|
||||
msgstr "Continue with "
|
||||
|
||||
#. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
|
||||
#: src/components/AuthForm.tsx:348
|
||||
#: src/components/AuthForm.tsx:301
|
||||
msgid "Continue with {0}"
|
||||
msgstr "Continue with {0}"
|
||||
|
||||
@@ -559,10 +559,6 @@ msgstr "Create card"
|
||||
msgid "Create checklist"
|
||||
msgstr "Create checklist"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
||||
msgid "Create invite link"
|
||||
msgstr "Create invite link"
|
||||
|
||||
#: src/components/LabelForm.tsx:238
|
||||
msgid "Create label"
|
||||
msgstr "Create label"
|
||||
@@ -642,10 +638,6 @@ msgstr "Customer Support"
|
||||
msgid "Dark"
|
||||
msgstr "Dark"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
||||
msgid "Deactivate invite link"
|
||||
msgstr "Deactivate invite link"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
@@ -778,11 +770,11 @@ msgstr "Edit workspace URL"
|
||||
msgid "Editing"
|
||||
msgstr "Editing"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:372
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
||||
#: src/views/members/components/InviteMemberForm.tsx:252
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
@@ -798,11 +790,11 @@ msgstr "Enter your current password"
|
||||
msgid "Enter your current password and choose a new secure password."
|
||||
msgstr "Enter your current password and choose a new secure password."
|
||||
|
||||
#: src/components/AuthForm.tsx:384
|
||||
#: src/components/AuthForm.tsx:337
|
||||
msgid "Enter your email address"
|
||||
msgstr "Enter your email address"
|
||||
|
||||
#: src/components/AuthForm.tsx:372
|
||||
#: src/components/AuthForm.tsx:325
|
||||
msgid "Enter your name"
|
||||
msgstr "Enter your name"
|
||||
|
||||
@@ -810,11 +802,11 @@ msgstr "Enter your name"
|
||||
msgid "Enter your new password"
|
||||
msgstr "Enter your new password"
|
||||
|
||||
#: src/components/AuthForm.tsx:397
|
||||
#: src/components/AuthForm.tsx:350
|
||||
msgid "Enter your password"
|
||||
msgstr "Enter your password"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
||||
#: src/views/members/components/InviteMemberForm.tsx:196
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
@@ -822,11 +814,11 @@ msgstr "Error"
|
||||
msgid "Error Changing Password"
|
||||
msgstr "Error Changing Password"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
||||
#: src/views/members/components/InviteMemberForm.tsx:117
|
||||
msgid "Error creating invite link"
|
||||
msgstr "Error creating invite link"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
||||
#: src/views/members/components/InviteMemberForm.tsx:132
|
||||
msgid "Error deactivating invite link"
|
||||
msgstr "Error deactivating invite link"
|
||||
|
||||
@@ -846,8 +838,8 @@ msgstr "Error deleting workspace"
|
||||
msgid "Error disconnecting Trello"
|
||||
msgstr "Error disconnecting Trello"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:97
|
||||
#: src/views/members/components/InviteMemberForm.tsx:103
|
||||
#: src/views/members/components/InviteMemberForm.tsx:95
|
||||
#: src/views/members/components/InviteMemberForm.tsx:101
|
||||
msgid "Error inviting member"
|
||||
msgstr "Error inviting member"
|
||||
|
||||
@@ -871,7 +863,7 @@ msgstr "Error updating workspace name"
|
||||
msgid "Error updating workspace URL"
|
||||
msgstr "Error updating workspace URL"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
||||
#: src/views/members/components/InviteMemberForm.tsx:221
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||
msgid "Error upgrading subscription"
|
||||
msgstr "Error upgrading subscription"
|
||||
@@ -901,12 +893,12 @@ msgstr "Execution"
|
||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
msgstr "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
||||
#: src/views/members/components/InviteMemberForm.tsx:197
|
||||
msgid "Failed to copy invite link"
|
||||
msgstr "Failed to copy invite link"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:288
|
||||
#: src/components/AuthForm.tsx:273
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Failed to login with {0}. Please try again."
|
||||
|
||||
@@ -955,8 +947,8 @@ msgstr "For long-term sustainability, we recognise all good open source projects
|
||||
msgid "Free"
|
||||
msgstr "Free"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/components/InviteMemberForm.tsx:312
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Free Plan"
|
||||
|
||||
@@ -1121,7 +1113,7 @@ msgstr "Integrations"
|
||||
msgid "Interviewing"
|
||||
msgstr "Interviewing"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:51
|
||||
#: src/views/members/components/InviteMemberForm.tsx:49
|
||||
msgid "Invalid email address"
|
||||
msgstr "Invalid email address"
|
||||
|
||||
@@ -1129,7 +1121,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"
|
||||
|
||||
@@ -1137,20 +1129,20 @@ msgstr "Invite"
|
||||
#~ msgid "Invite another"
|
||||
#~ msgstr "Invite another"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
||||
#: src/views/members/components/InviteMemberForm.tsx:190
|
||||
msgid "Invite link copied"
|
||||
msgstr "Invite link copied"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
||||
#: src/views/members/components/InviteMemberForm.tsx:191
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Invite link copied to clipboard"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:111
|
||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
||||
#: src/views/members/components/InviteMemberForm.tsx:350
|
||||
msgid "Invite member"
|
||||
msgstr "Invite member"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
msgstr "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
|
||||
@@ -1199,7 +1191,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"
|
||||
|
||||
@@ -1251,7 +1243,7 @@ msgstr "Long-term"
|
||||
msgid "Low Priority"
|
||||
msgstr "Low Priority"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:373
|
||||
msgid "magic link"
|
||||
msgstr "magic link"
|
||||
|
||||
@@ -1272,12 +1264,12 @@ msgstr "Medium Priority"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:357
|
||||
#: src/views/card/index.tsx:125
|
||||
#: 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
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Members | {0}"
|
||||
|
||||
@@ -1285,7 +1277,7 @@ msgstr "Members | {0}"
|
||||
msgid "Monthly"
|
||||
msgstr "Monthly"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
||||
#: src/views/members/components/InviteMemberForm.tsx:147
|
||||
msgid "monthly billing"
|
||||
msgstr "monthly billing"
|
||||
|
||||
@@ -1409,7 +1401,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/components/AuthForm.tsx:362
|
||||
#: src/components/AuthForm.tsx:315
|
||||
msgid "or"
|
||||
msgstr "or"
|
||||
|
||||
@@ -1429,14 +1421,6 @@ msgstr "Part-time"
|
||||
msgid "Password Changed"
|
||||
msgstr "Password Changed"
|
||||
|
||||
#: src/components/AuthForm.tsx:255
|
||||
msgid "Password is required to login."
|
||||
msgstr "Password is required to login."
|
||||
|
||||
#: src/components/AuthForm.tsx:254
|
||||
msgid "Password is required to sign up."
|
||||
msgstr "Password is required to sign up."
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:22
|
||||
msgid "Password must be at least 8 characters"
|
||||
msgstr "Password must be at least 8 characters"
|
||||
@@ -1445,7 +1429,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"
|
||||
|
||||
@@ -1453,7 +1437,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"
|
||||
|
||||
@@ -1474,15 +1458,15 @@ msgstr "Planning"
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Please confirm your new password"
|
||||
|
||||
#: src/components/AuthForm.tsx:388
|
||||
#: src/components/AuthForm.tsx:341
|
||||
msgid "Please enter a valid email address"
|
||||
msgstr "Please enter a valid email address"
|
||||
|
||||
#: src/components/AuthForm.tsx:376
|
||||
#: src/components/AuthForm.tsx:329
|
||||
msgid "Please enter a valid name"
|
||||
msgstr "Please enter a valid name"
|
||||
|
||||
#: src/components/AuthForm.tsx:401
|
||||
#: src/components/AuthForm.tsx:354
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Please enter a valid password"
|
||||
|
||||
@@ -1515,8 +1499,8 @@ msgstr "Please select a file to upload."
|
||||
#: src/views/card/components/NewCommentForm.tsx:31
|
||||
#: src/views/card/index.tsx:173
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
||||
#: src/views/members/components/InviteMemberForm.tsx:102
|
||||
#: src/views/members/components/InviteMemberForm.tsx:222
|
||||
#: src/views/settings/components/Avatar.tsx:78
|
||||
#: src/views/settings/components/Avatar.tsx:219
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||
@@ -1529,8 +1513,8 @@ msgstr "Please select a file to upload."
|
||||
msgid "Please try again later, or contact customer support."
|
||||
msgstr "Please try again later, or contact customer support."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
||||
#: src/views/members/components/InviteMemberForm.tsx:118
|
||||
#: src/views/members/components/InviteMemberForm.tsx:133
|
||||
msgid "Please try again later."
|
||||
msgstr "Please try again later."
|
||||
|
||||
@@ -1553,11 +1537,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
msgid "Pro Plan ∞"
|
||||
msgstr "Pro Plan ∞"
|
||||
|
||||
@@ -1601,7 +1585,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"
|
||||
|
||||
@@ -1661,7 +1645,7 @@ msgstr "Review"
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Role"
|
||||
|
||||
@@ -1744,8 +1728,8 @@ msgid "Settings | Workspace"
|
||||
msgstr "Settings | Workspace"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:327
|
||||
#~ msgid "Share invite link"
|
||||
#~ msgstr "Share invite link"
|
||||
msgid "Share invite link"
|
||||
msgstr "Share invite link"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
@@ -1773,7 +1757,7 @@ msgstr "Sign up disabled"
|
||||
msgid "Sign up is currently disabled. Please try again later."
|
||||
msgstr "Sign up is currently disabled. Please try again later."
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Sign up with "
|
||||
msgstr "Sign up with "
|
||||
|
||||
@@ -1797,8 +1781,8 @@ msgstr "Software Development"
|
||||
msgid "Star on Github"
|
||||
msgstr "Star on Github"
|
||||
|
||||
#: src/components/AuthForm.tsx:212
|
||||
#: src/components/AuthForm.tsx:229
|
||||
#: src/components/AuthForm.tsx:207
|
||||
#: src/components/AuthForm.tsx:224
|
||||
msgid "Success"
|
||||
msgstr "Success"
|
||||
|
||||
@@ -1818,8 +1802,8 @@ msgstr "Support the development of the project"
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Team Plan"
|
||||
|
||||
@@ -2114,7 +2098,7 @@ msgstr "Upgrade to Pro"
|
||||
msgid "Upgrade to Pro ($29/month)"
|
||||
msgstr "Upgrade to Pro ($29/month)"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
||||
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||
msgid "Upgrade to Team Plan"
|
||||
msgstr "Upgrade to Team Plan"
|
||||
|
||||
@@ -2142,11 +2126,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:98
|
||||
#: src/views/members/components/InviteMemberForm.tsx:96
|
||||
msgid "User is already a member of this workspace"
|
||||
msgstr "User is already a member of this workspace"
|
||||
|
||||
@@ -2309,15 +2293,15 @@ msgstr "You can invite team members by clicking the \"Invite\" button in the top
|
||||
msgid "You can self-host by following the instructions in our <0>repo</0>."
|
||||
msgstr "You can self-host by following the instructions in our <0>repo</0>."
|
||||
|
||||
#: src/components/AuthForm.tsx:230
|
||||
#: src/components/AuthForm.tsx:225
|
||||
msgid "You have been logged in successfully."
|
||||
msgstr "You have been logged in successfully."
|
||||
|
||||
#: src/components/AuthForm.tsx:213
|
||||
#: src/components/AuthForm.tsx:208
|
||||
msgid "You have been signed up successfully."
|
||||
msgstr "You have been signed up successfully."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
msgstr "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} etiquetas"
|
||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||
msgstr "{boardCount, plural, one {Importar tablero (1)} other {Importar tableros ({boardCount})}}"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:146
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$10/month"
|
||||
msgstr "$10/mes"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$8/month"
|
||||
msgstr "$8/mes"
|
||||
|
||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
||||
msgstr "Añadir etiqueta"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:130
|
||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
||||
#: src/views/members/components/InviteMemberForm.tsx:238
|
||||
msgid "Add member"
|
||||
msgstr "Añadir miembro"
|
||||
|
||||
@@ -136,7 +136,7 @@ msgstr "añadió el elemento <0>{0}</0> a la lista de verificación"
|
||||
msgid "added label <0>{0}</0>"
|
||||
msgstr "añadió la etiqueta <0>{0}</0>"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
||||
#: src/views/members/components/InviteMemberForm.tsx:306
|
||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
msgstr "Añadir un nuevo miembro costará {price} adicionales ({billingType}) por asiento."
|
||||
|
||||
@@ -164,7 +164,7 @@ msgstr "Ocurrió un error al desconectar tu cuenta de Trello."
|
||||
msgid "An unexpected error occurred. Please try again later."
|
||||
msgstr "Ha ocurrido un error inesperado. Por favor, inténtalo de nuevo más tarde."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
||||
#: src/views/members/components/InviteMemberForm.tsx:290
|
||||
msgid "Anyone with this link can join your workspace"
|
||||
msgstr "Cualquier persona con este enlace puede unirse a tu espacio de trabajo"
|
||||
|
||||
@@ -250,11 +250,11 @@ msgstr "Pendientes"
|
||||
msgid "Basic Kanban"
|
||||
msgstr "Kanban básico"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed annually"
|
||||
msgstr "facturado anualmente"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed monthly"
|
||||
msgstr "facturado mensualmente"
|
||||
|
||||
@@ -463,12 +463,12 @@ msgstr "Contáctanos"
|
||||
msgid "Content Creation"
|
||||
msgstr "Creación de contenido"
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Continue with "
|
||||
msgstr "Continuar con "
|
||||
|
||||
#. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
|
||||
#: src/components/AuthForm.tsx:348
|
||||
#: src/components/AuthForm.tsx:301
|
||||
msgid "Continue with {0}"
|
||||
msgstr "Continuar con {0}"
|
||||
|
||||
@@ -498,10 +498,6 @@ msgstr "Crear tarjeta"
|
||||
msgid "Create checklist"
|
||||
msgstr "Crear lista de verificación"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
||||
msgid "Create invite link"
|
||||
msgstr "Crear enlace de invitación"
|
||||
|
||||
#: src/components/LabelForm.tsx:238
|
||||
msgid "Create label"
|
||||
msgstr "Crear etiqueta"
|
||||
@@ -569,10 +565,6 @@ msgstr "Atención al cliente"
|
||||
msgid "Dark"
|
||||
msgstr "Oscuro"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
||||
msgid "Deactivate invite link"
|
||||
msgstr "Desactivar enlace de invitación"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
@@ -705,11 +697,11 @@ msgstr "Editar URL del espacio de trabajo"
|
||||
msgid "Editing"
|
||||
msgstr "Editando"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:372
|
||||
msgid "email"
|
||||
msgstr "correo electrónico"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
||||
#: src/views/members/components/InviteMemberForm.tsx:252
|
||||
msgid "Email"
|
||||
msgstr "Correo electrónico"
|
||||
|
||||
@@ -725,11 +717,11 @@ msgstr "Introduce tu contraseña actual"
|
||||
msgid "Enter your current password and choose a new secure password."
|
||||
msgstr "Introduce tu contraseña actual y elige una nueva contraseña segura."
|
||||
|
||||
#: src/components/AuthForm.tsx:384
|
||||
#: src/components/AuthForm.tsx:337
|
||||
msgid "Enter your email address"
|
||||
msgstr "Introduce tu dirección de correo electrónico"
|
||||
|
||||
#: src/components/AuthForm.tsx:372
|
||||
#: src/components/AuthForm.tsx:325
|
||||
msgid "Enter your name"
|
||||
msgstr "Introduce tu nombre"
|
||||
|
||||
@@ -737,11 +729,11 @@ msgstr "Introduce tu nombre"
|
||||
msgid "Enter your new password"
|
||||
msgstr "Introduce tu nueva contraseña"
|
||||
|
||||
#: src/components/AuthForm.tsx:397
|
||||
#: src/components/AuthForm.tsx:350
|
||||
msgid "Enter your password"
|
||||
msgstr "Introduce tu contraseña"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
||||
#: src/views/members/components/InviteMemberForm.tsx:196
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
@@ -749,11 +741,11 @@ msgstr "Error"
|
||||
msgid "Error Changing Password"
|
||||
msgstr "Error al cambiar la contraseña"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
||||
#: src/views/members/components/InviteMemberForm.tsx:117
|
||||
msgid "Error creating invite link"
|
||||
msgstr "Error al crear el enlace de invitación"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
||||
#: src/views/members/components/InviteMemberForm.tsx:132
|
||||
msgid "Error deactivating invite link"
|
||||
msgstr "Error al desactivar el enlace de invitación"
|
||||
|
||||
@@ -773,8 +765,8 @@ msgstr "Error al eliminar el espacio de trabajo"
|
||||
msgid "Error disconnecting Trello"
|
||||
msgstr "Error al desconectar Trello"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:97
|
||||
#: src/views/members/components/InviteMemberForm.tsx:103
|
||||
#: src/views/members/components/InviteMemberForm.tsx:95
|
||||
#: src/views/members/components/InviteMemberForm.tsx:101
|
||||
msgid "Error inviting member"
|
||||
msgstr "Error al invitar al miembro"
|
||||
|
||||
@@ -798,7 +790,7 @@ msgstr "Error al actualizar el nombre del espacio de trabajo"
|
||||
msgid "Error updating workspace URL"
|
||||
msgstr "Error al actualizar la URL del espacio de trabajo"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
||||
#: src/views/members/components/InviteMemberForm.tsx:221
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||
msgid "Error upgrading subscription"
|
||||
msgstr "Error al actualizar la suscripción"
|
||||
@@ -828,12 +820,12 @@ msgstr "Ejecución"
|
||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
msgstr "No se pudo aceptar la invitación. Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
||||
#: src/views/members/components/InviteMemberForm.tsx:197
|
||||
msgid "Failed to copy invite link"
|
||||
msgstr "No se pudo copiar el enlace de invitación"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:288
|
||||
#: src/components/AuthForm.tsx:273
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Error al iniciar sesión con {0}. Por favor, inténtalo de nuevo."
|
||||
|
||||
@@ -881,8 +873,8 @@ msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos p
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/components/InviteMemberForm.tsx:312
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Plan gratuito"
|
||||
|
||||
@@ -1043,32 +1035,32 @@ msgstr "Integraciones"
|
||||
msgid "Interviewing"
|
||||
msgstr "Entrevistando"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:51
|
||||
#: src/views/members/components/InviteMemberForm.tsx:49
|
||||
msgid "Invalid email address"
|
||||
msgstr "Dirección de correo electrónico no válida"
|
||||
|
||||
#: src/views/invite/index.tsx:105
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invitación inválida"
|
||||
msgstr "Invitación no válida"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Invitar"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
||||
#: src/views/members/components/InviteMemberForm.tsx:190
|
||||
msgid "Invite link copied"
|
||||
msgstr "Enlace de invitación copiado"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
||||
#: src/views/members/components/InviteMemberForm.tsx:191
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Enlace de invitación copiado al portapapeles"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:111
|
||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
||||
#: src/views/members/components/InviteMemberForm.tsx:350
|
||||
msgid "Invite member"
|
||||
msgstr "Invitar miembro"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
msgstr "Invitar miembros requiere un Plan de Equipo. Serás redirigido para actualizar tu espacio de trabajo."
|
||||
|
||||
@@ -1117,7 +1109,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"
|
||||
|
||||
@@ -1169,7 +1161,7 @@ msgstr "Largo plazo"
|
||||
msgid "Low Priority"
|
||||
msgstr "Prioridad baja"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:373
|
||||
msgid "magic link"
|
||||
msgstr "enlace mágico"
|
||||
|
||||
@@ -1190,12 +1182,12 @@ msgstr "Prioridad media"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:357
|
||||
#: src/views/card/index.tsx:125
|
||||
#: 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
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Miembros | {0}"
|
||||
|
||||
@@ -1203,7 +1195,7 @@ msgstr "Miembros | {0}"
|
||||
msgid "Monthly"
|
||||
msgstr "Mensual"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
||||
#: src/views/members/components/InviteMemberForm.tsx:147
|
||||
msgid "monthly billing"
|
||||
msgstr "facturación mensual"
|
||||
|
||||
@@ -1315,7 +1307,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/components/AuthForm.tsx:362
|
||||
#: src/components/AuthForm.tsx:315
|
||||
msgid "or"
|
||||
msgstr "o"
|
||||
|
||||
@@ -1335,14 +1327,6 @@ msgstr "Tiempo parcial"
|
||||
msgid "Password Changed"
|
||||
msgstr "Contraseña cambiada"
|
||||
|
||||
#: src/components/AuthForm.tsx:255
|
||||
msgid "Password is required to login."
|
||||
msgstr "Se requiere contraseña para iniciar sesión."
|
||||
|
||||
#: src/components/AuthForm.tsx:254
|
||||
msgid "Password is required to sign up."
|
||||
msgstr "Se requiere contraseña para registrarse."
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:22
|
||||
msgid "Password must be at least 8 characters"
|
||||
msgstr "La contraseña debe tener al menos 8 caracteres"
|
||||
@@ -1351,7 +1335,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"
|
||||
|
||||
@@ -1359,7 +1343,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"
|
||||
|
||||
@@ -1380,15 +1364,15 @@ msgstr "Planificación"
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Por favor, confirma tu nueva contraseña"
|
||||
|
||||
#: src/components/AuthForm.tsx:388
|
||||
#: src/components/AuthForm.tsx:341
|
||||
msgid "Please enter a valid email address"
|
||||
msgstr "Por favor, introduce una dirección de correo electrónico válida"
|
||||
|
||||
#: src/components/AuthForm.tsx:376
|
||||
#: src/components/AuthForm.tsx:329
|
||||
msgid "Please enter a valid name"
|
||||
msgstr "Por favor, introduce un nombre válido"
|
||||
|
||||
#: src/components/AuthForm.tsx:401
|
||||
#: src/components/AuthForm.tsx:354
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Por favor, introduce una contraseña válida"
|
||||
|
||||
@@ -1421,8 +1405,8 @@ msgstr "Por favor selecciona un archivo para subir."
|
||||
#: src/views/card/components/NewCommentForm.tsx:31
|
||||
#: src/views/card/index.tsx:173
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
||||
#: src/views/members/components/InviteMemberForm.tsx:102
|
||||
#: src/views/members/components/InviteMemberForm.tsx:222
|
||||
#: src/views/settings/components/Avatar.tsx:78
|
||||
#: src/views/settings/components/Avatar.tsx:219
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||
@@ -1435,8 +1419,8 @@ msgstr "Por favor selecciona un archivo para subir."
|
||||
msgid "Please try again later, or contact customer support."
|
||||
msgstr "Por favor, inténtalo de nuevo más tarde o contacta con atención al cliente."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
||||
#: src/views/members/components/InviteMemberForm.tsx:118
|
||||
#: src/views/members/components/InviteMemberForm.tsx:133
|
||||
msgid "Please try again later."
|
||||
msgstr "Por favor, inténtalo de nuevo más tarde."
|
||||
|
||||
@@ -1459,11 +1443,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
msgid "Pro Plan ∞"
|
||||
msgstr "Plan Pro ∞"
|
||||
|
||||
@@ -1507,7 +1491,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"
|
||||
|
||||
@@ -1559,7 +1543,7 @@ msgstr "Revisión"
|
||||
msgid "Roadmap"
|
||||
msgstr "Hoja de ruta"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
@@ -1633,6 +1617,10 @@ msgstr "Configuración | Integraciones"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Configuración | Espacio de trabajo"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:327
|
||||
msgid "Share invite link"
|
||||
msgstr "Compartir enlace de invitación"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
msgid "Sign in"
|
||||
@@ -1659,7 +1647,7 @@ msgstr "Registro deshabilitado"
|
||||
msgid "Sign up is currently disabled. Please try again later."
|
||||
msgstr "El registro está actualmente deshabilitado. Por favor, inténtalo de nuevo más tarde."
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Sign up with "
|
||||
msgstr "Registrarse con "
|
||||
|
||||
@@ -1683,8 +1671,8 @@ msgstr "Desarrollo de software"
|
||||
msgid "Star on Github"
|
||||
msgstr "Estrella en Github"
|
||||
|
||||
#: src/components/AuthForm.tsx:212
|
||||
#: src/components/AuthForm.tsx:229
|
||||
#: src/components/AuthForm.tsx:207
|
||||
#: src/components/AuthForm.tsx:224
|
||||
msgid "Success"
|
||||
msgstr "Éxito"
|
||||
|
||||
@@ -1704,8 +1692,8 @@ msgstr "Apoya el desarrollo del proyecto"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Plan de Equipo"
|
||||
|
||||
@@ -1988,7 +1976,7 @@ msgstr "Actualizar a Pro"
|
||||
msgid "Upgrade to Pro ($29/month)"
|
||||
msgstr "Actualizar a Pro ($29/mes)"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
||||
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||
msgid "Upgrade to Team Plan"
|
||||
msgstr "Actualizar al Plan de Equipo"
|
||||
|
||||
@@ -2016,11 +2004,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:98
|
||||
#: src/views/members/components/InviteMemberForm.tsx:96
|
||||
msgid "User is already a member of this workspace"
|
||||
msgstr "El usuario ya es miembro de este espacio de trabajo"
|
||||
|
||||
@@ -2179,15 +2167,15 @@ msgstr "Puedes invitar a miembros del equipo haciendo clic en el botón \"Invita
|
||||
msgid "You can self-host by following the instructions in our <0>repo</0>."
|
||||
msgstr "Puedes autoalojar siguiendo las instrucciones en nuestro <0>repositorio</0>."
|
||||
|
||||
#: src/components/AuthForm.tsx:230
|
||||
#: src/components/AuthForm.tsx:225
|
||||
msgid "You have been logged in successfully."
|
||||
msgstr "Has iniciado sesión correctamente."
|
||||
|
||||
#: src/components/AuthForm.tsx:213
|
||||
#: src/components/AuthForm.tsx:208
|
||||
msgid "You have been signed up successfully."
|
||||
msgstr "Te has registrado correctamente."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
msgstr "Tienes plazas ilimitadas con tu Plan Pro. ¡No hay cargos adicionales por nuevos miembros!"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} étiquettes"
|
||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||
msgstr "{boardCount, plural, one {Importer le tableau (1)} other {Importer les tableaux ({boardCount})}}"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:146
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$10/month"
|
||||
msgstr "10 $/mois"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$8/month"
|
||||
msgstr "8 $/mois"
|
||||
|
||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
||||
msgstr "Ajouter une étiquette"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:130
|
||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
||||
#: src/views/members/components/InviteMemberForm.tsx:238
|
||||
msgid "Add member"
|
||||
msgstr "Ajouter un membre"
|
||||
|
||||
@@ -136,7 +136,7 @@ msgstr "a ajouté l'élément <0>{0}</0> à la checklist"
|
||||
msgid "added label <0>{0}</0>"
|
||||
msgstr "a ajouté l'étiquette <0>{0}</0>"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
||||
#: src/views/members/components/InviteMemberForm.tsx:306
|
||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
msgstr "L'ajout d'un nouveau membre coûtera {price} supplémentaires ({billingType}) par siège."
|
||||
|
||||
@@ -164,7 +164,7 @@ msgstr "Une erreur s'est produite lors de la déconnexion de votre compte Trello
|
||||
msgid "An unexpected error occurred. Please try again later."
|
||||
msgstr "Une erreur inattendue s'est produite. Veuillez réessayer plus tard."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
||||
#: src/views/members/components/InviteMemberForm.tsx:290
|
||||
msgid "Anyone with this link can join your workspace"
|
||||
msgstr "Toute personne disposant de ce lien peut rejoindre votre espace de travail"
|
||||
|
||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
||||
msgid "Basic Kanban"
|
||||
msgstr "Kanban basique"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed annually"
|
||||
msgstr "facturation annuelle"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed monthly"
|
||||
msgstr "facturation mensuelle"
|
||||
|
||||
@@ -463,12 +463,12 @@ msgstr "Contactez-nous"
|
||||
msgid "Content Creation"
|
||||
msgstr "Création de contenu"
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Continue with "
|
||||
msgstr "Continuer avec "
|
||||
|
||||
#. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
|
||||
#: src/components/AuthForm.tsx:348
|
||||
#: src/components/AuthForm.tsx:301
|
||||
msgid "Continue with {0}"
|
||||
msgstr "Continuer avec {0}"
|
||||
|
||||
@@ -498,10 +498,6 @@ msgstr "Créer une carte"
|
||||
msgid "Create checklist"
|
||||
msgstr "Créer une checklist"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
||||
msgid "Create invite link"
|
||||
msgstr "Créer un lien d'invitation"
|
||||
|
||||
#: src/components/LabelForm.tsx:238
|
||||
msgid "Create label"
|
||||
msgstr "Créer une étiquette"
|
||||
@@ -569,10 +565,6 @@ msgstr "Support client"
|
||||
msgid "Dark"
|
||||
msgstr "Sombre"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
||||
msgid "Deactivate invite link"
|
||||
msgstr "Désactiver le lien d'invitation"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
@@ -705,11 +697,11 @@ msgstr "Modifier l'URL de l'espace de travail"
|
||||
msgid "Editing"
|
||||
msgstr "Édition"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:372
|
||||
msgid "email"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
||||
#: src/views/members/components/InviteMemberForm.tsx:252
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
@@ -725,11 +717,11 @@ msgstr "Saisissez votre mot de passe actuel"
|
||||
msgid "Enter your current password and choose a new secure password."
|
||||
msgstr "Saisissez votre mot de passe actuel et choisissez un nouveau mot de passe sécurisé."
|
||||
|
||||
#: src/components/AuthForm.tsx:384
|
||||
#: src/components/AuthForm.tsx:337
|
||||
msgid "Enter your email address"
|
||||
msgstr "Saisissez votre adresse e-mail"
|
||||
|
||||
#: src/components/AuthForm.tsx:372
|
||||
#: src/components/AuthForm.tsx:325
|
||||
msgid "Enter your name"
|
||||
msgstr "Saisissez votre nom"
|
||||
|
||||
@@ -737,11 +729,11 @@ msgstr "Saisissez votre nom"
|
||||
msgid "Enter your new password"
|
||||
msgstr "Saisissez votre nouveau mot de passe"
|
||||
|
||||
#: src/components/AuthForm.tsx:397
|
||||
#: src/components/AuthForm.tsx:350
|
||||
msgid "Enter your password"
|
||||
msgstr "Saisissez votre mot de passe"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
||||
#: src/views/members/components/InviteMemberForm.tsx:196
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
@@ -749,11 +741,11 @@ msgstr "Erreur"
|
||||
msgid "Error Changing Password"
|
||||
msgstr "Erreur lors du changement de mot de passe"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
||||
#: src/views/members/components/InviteMemberForm.tsx:117
|
||||
msgid "Error creating invite link"
|
||||
msgstr "Erreur lors de la création du lien d'invitation"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
||||
#: src/views/members/components/InviteMemberForm.tsx:132
|
||||
msgid "Error deactivating invite link"
|
||||
msgstr "Erreur lors de la désactivation du lien d'invitation"
|
||||
|
||||
@@ -773,8 +765,8 @@ msgstr "Erreur lors de la suppression de l'espace de travail"
|
||||
msgid "Error disconnecting Trello"
|
||||
msgstr "Erreur lors de la déconnexion de Trello"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:97
|
||||
#: src/views/members/components/InviteMemberForm.tsx:103
|
||||
#: src/views/members/components/InviteMemberForm.tsx:95
|
||||
#: src/views/members/components/InviteMemberForm.tsx:101
|
||||
msgid "Error inviting member"
|
||||
msgstr "Erreur lors de l'invitation du membre"
|
||||
|
||||
@@ -798,7 +790,7 @@ msgstr "Erreur lors de la mise à jour du nom de l'espace de travail"
|
||||
msgid "Error updating workspace URL"
|
||||
msgstr "Erreur lors de la mise à jour de l'URL de l'espace de travail"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
||||
#: src/views/members/components/InviteMemberForm.tsx:221
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||
msgid "Error upgrading subscription"
|
||||
msgstr "Erreur lors de la mise à niveau de l'abonnement"
|
||||
@@ -828,12 +820,12 @@ msgstr "Exécution"
|
||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
msgstr "Échec de l'acceptation de l'invitation. Veuillez réessayer plus tard ou contacter le service client."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
||||
#: src/views/members/components/InviteMemberForm.tsx:197
|
||||
msgid "Failed to copy invite link"
|
||||
msgstr "Échec de la copie du lien d'invitation"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:288
|
||||
#: src/components/AuthForm.tsx:273
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Échec de connexion avec {0}. Veuillez réessayer."
|
||||
|
||||
@@ -881,8 +873,8 @@ msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/components/InviteMemberForm.tsx:312
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Forfait gratuit"
|
||||
|
||||
@@ -1043,32 +1035,32 @@ msgstr "Intégrations"
|
||||
msgid "Interviewing"
|
||||
msgstr "Entretien"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:51
|
||||
#: src/views/members/components/InviteMemberForm.tsx:49
|
||||
msgid "Invalid email address"
|
||||
msgstr "Adresse e-mail invalide"
|
||||
|
||||
#: src/views/invite/index.tsx:105
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Invitation invalide"
|
||||
msgstr "Invitation non valide"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Inviter"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
||||
#: src/views/members/components/InviteMemberForm.tsx:190
|
||||
msgid "Invite link copied"
|
||||
msgstr "Lien d'invitation copié"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
||||
#: src/views/members/components/InviteMemberForm.tsx:191
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Lien d'invitation copié dans le presse-papiers"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:111
|
||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
||||
#: src/views/members/components/InviteMemberForm.tsx:350
|
||||
msgid "Invite member"
|
||||
msgstr "Inviter un membre"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
msgstr "L'invitation de membres nécessite un forfait d'équipe. Vous serez redirigé pour mettre à niveau votre espace de travail."
|
||||
|
||||
@@ -1117,7 +1109,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"
|
||||
|
||||
@@ -1169,7 +1161,7 @@ msgstr "Long terme"
|
||||
msgid "Low Priority"
|
||||
msgstr "Priorité basse"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:373
|
||||
msgid "magic link"
|
||||
msgstr "lien magique"
|
||||
|
||||
@@ -1190,12 +1182,12 @@ msgstr "Priorité moyenne"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:357
|
||||
#: src/views/card/index.tsx:125
|
||||
#: 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
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Membres | {0}"
|
||||
|
||||
@@ -1203,7 +1195,7 @@ msgstr "Membres | {0}"
|
||||
msgid "Monthly"
|
||||
msgstr "Mensuel"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
||||
#: src/views/members/components/InviteMemberForm.tsx:147
|
||||
msgid "monthly billing"
|
||||
msgstr "facturation mensuelle"
|
||||
|
||||
@@ -1315,7 +1307,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/components/AuthForm.tsx:362
|
||||
#: src/components/AuthForm.tsx:315
|
||||
msgid "or"
|
||||
msgstr "ou"
|
||||
|
||||
@@ -1335,14 +1327,6 @@ msgstr "Temps partiel"
|
||||
msgid "Password Changed"
|
||||
msgstr "Mot de passe modifié"
|
||||
|
||||
#: src/components/AuthForm.tsx:255
|
||||
msgid "Password is required to login."
|
||||
msgstr "Le mot de passe est requis pour se connecter."
|
||||
|
||||
#: src/components/AuthForm.tsx:254
|
||||
msgid "Password is required to sign up."
|
||||
msgstr "Le mot de passe est requis pour s'inscrire."
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:22
|
||||
msgid "Password must be at least 8 characters"
|
||||
msgstr "Le mot de passe doit comporter au moins 8 caractères"
|
||||
@@ -1351,7 +1335,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"
|
||||
|
||||
@@ -1359,7 +1343,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"
|
||||
|
||||
@@ -1380,15 +1364,15 @@ msgstr "Planification"
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Veuillez confirmer votre nouveau mot de passe"
|
||||
|
||||
#: src/components/AuthForm.tsx:388
|
||||
#: src/components/AuthForm.tsx:341
|
||||
msgid "Please enter a valid email address"
|
||||
msgstr "Veuillez saisir une adresse e-mail valide"
|
||||
|
||||
#: src/components/AuthForm.tsx:376
|
||||
#: src/components/AuthForm.tsx:329
|
||||
msgid "Please enter a valid name"
|
||||
msgstr "Veuillez saisir un nom valide"
|
||||
|
||||
#: src/components/AuthForm.tsx:401
|
||||
#: src/components/AuthForm.tsx:354
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Veuillez saisir un mot de passe valide"
|
||||
|
||||
@@ -1421,8 +1405,8 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
|
||||
#: src/views/card/components/NewCommentForm.tsx:31
|
||||
#: src/views/card/index.tsx:173
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
||||
#: src/views/members/components/InviteMemberForm.tsx:102
|
||||
#: src/views/members/components/InviteMemberForm.tsx:222
|
||||
#: src/views/settings/components/Avatar.tsx:78
|
||||
#: src/views/settings/components/Avatar.tsx:219
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||
@@ -1435,8 +1419,8 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
|
||||
msgid "Please try again later, or contact customer support."
|
||||
msgstr "Veuillez réessayer plus tard ou contacter le service client."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
||||
#: src/views/members/components/InviteMemberForm.tsx:118
|
||||
#: src/views/members/components/InviteMemberForm.tsx:133
|
||||
msgid "Please try again later."
|
||||
msgstr "Veuillez réessayer plus tard."
|
||||
|
||||
@@ -1459,11 +1443,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
msgid "Pro Plan ∞"
|
||||
msgstr "Plan Pro ∞"
|
||||
|
||||
@@ -1507,7 +1491,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"
|
||||
|
||||
@@ -1559,7 +1543,7 @@ msgstr "Révision"
|
||||
msgid "Roadmap"
|
||||
msgstr "Feuille de route"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
@@ -1633,6 +1617,10 @@ msgstr "Paramètres | Intégrations"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Paramètres | Espace de travail"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:327
|
||||
msgid "Share invite link"
|
||||
msgstr "Partager le lien d'invitation"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
msgid "Sign in"
|
||||
@@ -1659,7 +1647,7 @@ msgstr "Inscription désactivée"
|
||||
msgid "Sign up is currently disabled. Please try again later."
|
||||
msgstr "L'inscription est actuellement désactivée. Veuillez réessayer plus tard."
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Sign up with "
|
||||
msgstr "S'inscrire avec "
|
||||
|
||||
@@ -1683,8 +1671,8 @@ msgstr "Développement logiciel"
|
||||
msgid "Star on Github"
|
||||
msgstr "Étoile sur Github"
|
||||
|
||||
#: src/components/AuthForm.tsx:212
|
||||
#: src/components/AuthForm.tsx:229
|
||||
#: src/components/AuthForm.tsx:207
|
||||
#: src/components/AuthForm.tsx:224
|
||||
msgid "Success"
|
||||
msgstr "Succès"
|
||||
|
||||
@@ -1704,8 +1692,8 @@ msgstr "Soutenir le développement du projet"
|
||||
msgid "System"
|
||||
msgstr "Système"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Forfait d'équipe"
|
||||
|
||||
@@ -1988,7 +1976,7 @@ msgstr "Passer à Pro"
|
||||
msgid "Upgrade to Pro ($29/month)"
|
||||
msgstr "Passer à Pro (29 $/mois)"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
||||
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||
msgid "Upgrade to Team Plan"
|
||||
msgstr "Passer au forfait d'équipe"
|
||||
|
||||
@@ -2016,11 +2004,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:98
|
||||
#: src/views/members/components/InviteMemberForm.tsx:96
|
||||
msgid "User is already a member of this workspace"
|
||||
msgstr "L'utilisateur est déjà membre de cet espace de travail"
|
||||
|
||||
@@ -2179,15 +2167,15 @@ msgstr "Vous pouvez inviter des membres de l'équipe en cliquant sur le bouton \
|
||||
msgid "You can self-host by following the instructions in our <0>repo</0>."
|
||||
msgstr "Vous pouvez auto-héberger en suivant les instructions dans notre <0>dépôt</0>."
|
||||
|
||||
#: src/components/AuthForm.tsx:230
|
||||
#: src/components/AuthForm.tsx:225
|
||||
msgid "You have been logged in successfully."
|
||||
msgstr "Vous vous êtes connecté avec succès."
|
||||
|
||||
#: src/components/AuthForm.tsx:213
|
||||
#: src/components/AuthForm.tsx:208
|
||||
msgid "You have been signed up successfully."
|
||||
msgstr "Vous vous êtes inscrit avec succès."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
msgstr "Vous disposez de places illimitées avec votre Plan Pro. Il n'y a pas de frais supplémentaires pour les nouveaux membres !"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} etichette"
|
||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||
msgstr "{boardCount, plural, one {Importa bacheca (1)} other {Importa bacheche ({boardCount})}}"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:146
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$10/month"
|
||||
msgstr "$10/mese"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$8/month"
|
||||
msgstr "$8/mese"
|
||||
|
||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
||||
msgstr "Aggiungi etichetta"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:130
|
||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
||||
#: src/views/members/components/InviteMemberForm.tsx:238
|
||||
msgid "Add member"
|
||||
msgstr "Aggiungi membro"
|
||||
|
||||
@@ -136,7 +136,7 @@ msgstr "ha aggiunto l'elemento <0>{0}</0> alla checklist"
|
||||
msgid "added label <0>{0}</0>"
|
||||
msgstr "ha aggiunto l'etichetta <0>{0}</0>"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
||||
#: src/views/members/components/InviteMemberForm.tsx:306
|
||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
msgstr "L'aggiunta di un nuovo membro costerà un supplemento di {price} ({billingType}) per posto."
|
||||
|
||||
@@ -164,7 +164,7 @@ msgstr "Si è verificato un errore durante la disconnessione del tuo account Tre
|
||||
msgid "An unexpected error occurred. Please try again later."
|
||||
msgstr "Si è verificato un errore imprevisto. Riprova più tardi."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
||||
#: src/views/members/components/InviteMemberForm.tsx:290
|
||||
msgid "Anyone with this link can join your workspace"
|
||||
msgstr "Chiunque abbia questo link può unirsi al tuo spazio di lavoro"
|
||||
|
||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
||||
msgid "Basic Kanban"
|
||||
msgstr "Kanban base"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed annually"
|
||||
msgstr "fatturato annualmente"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed monthly"
|
||||
msgstr "fatturato mensilmente"
|
||||
|
||||
@@ -463,12 +463,12 @@ msgstr "Contattaci"
|
||||
msgid "Content Creation"
|
||||
msgstr "Creazione contenuti"
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Continue with "
|
||||
msgstr "Continua con "
|
||||
|
||||
#. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
|
||||
#: src/components/AuthForm.tsx:348
|
||||
#: src/components/AuthForm.tsx:301
|
||||
msgid "Continue with {0}"
|
||||
msgstr "Continua con {0}"
|
||||
|
||||
@@ -498,10 +498,6 @@ msgstr "Crea carta"
|
||||
msgid "Create checklist"
|
||||
msgstr "Crea checklist"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
||||
msgid "Create invite link"
|
||||
msgstr "Crea link di invito"
|
||||
|
||||
#: src/components/LabelForm.tsx:238
|
||||
msgid "Create label"
|
||||
msgstr "Crea etichetta"
|
||||
@@ -569,10 +565,6 @@ msgstr "Assistenza clienti"
|
||||
msgid "Dark"
|
||||
msgstr "Scuro"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
||||
msgid "Deactivate invite link"
|
||||
msgstr "Disattiva link di invito"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
@@ -705,11 +697,11 @@ msgstr "Modifica URL dell'area di lavoro"
|
||||
msgid "Editing"
|
||||
msgstr "Modifica"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:372
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
||||
#: src/views/members/components/InviteMemberForm.tsx:252
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
@@ -725,11 +717,11 @@ msgstr "Inserisci la tua password attuale"
|
||||
msgid "Enter your current password and choose a new secure password."
|
||||
msgstr "Inserisci la tua password attuale e scegli una nuova password sicura."
|
||||
|
||||
#: src/components/AuthForm.tsx:384
|
||||
#: src/components/AuthForm.tsx:337
|
||||
msgid "Enter your email address"
|
||||
msgstr "Inserisci il tuo indirizzo email"
|
||||
|
||||
#: src/components/AuthForm.tsx:372
|
||||
#: src/components/AuthForm.tsx:325
|
||||
msgid "Enter your name"
|
||||
msgstr "Inserisci il tuo nome"
|
||||
|
||||
@@ -737,11 +729,11 @@ msgstr "Inserisci il tuo nome"
|
||||
msgid "Enter your new password"
|
||||
msgstr "Inserisci la tua nuova password"
|
||||
|
||||
#: src/components/AuthForm.tsx:397
|
||||
#: src/components/AuthForm.tsx:350
|
||||
msgid "Enter your password"
|
||||
msgstr "Inserisci la tua password"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
||||
#: src/views/members/components/InviteMemberForm.tsx:196
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
@@ -749,11 +741,11 @@ msgstr "Errore"
|
||||
msgid "Error Changing Password"
|
||||
msgstr "Errore durante il cambio della password"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
||||
#: src/views/members/components/InviteMemberForm.tsx:117
|
||||
msgid "Error creating invite link"
|
||||
msgstr "Errore durante la creazione del link di invito"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
||||
#: src/views/members/components/InviteMemberForm.tsx:132
|
||||
msgid "Error deactivating invite link"
|
||||
msgstr "Errore durante la disattivazione del link di invito"
|
||||
|
||||
@@ -773,8 +765,8 @@ msgstr "Errore durante l'eliminazione dell'area di lavoro"
|
||||
msgid "Error disconnecting Trello"
|
||||
msgstr "Errore durante la disconnessione da Trello"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:97
|
||||
#: src/views/members/components/InviteMemberForm.tsx:103
|
||||
#: src/views/members/components/InviteMemberForm.tsx:95
|
||||
#: src/views/members/components/InviteMemberForm.tsx:101
|
||||
msgid "Error inviting member"
|
||||
msgstr "Errore durante l'invito del membro"
|
||||
|
||||
@@ -798,7 +790,7 @@ msgstr "Errore durante l'aggiornamento del nome dell'area di lavoro"
|
||||
msgid "Error updating workspace URL"
|
||||
msgstr "Errore durante l'aggiornamento dell'URL dell'area di lavoro"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
||||
#: src/views/members/components/InviteMemberForm.tsx:221
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||
msgid "Error upgrading subscription"
|
||||
msgstr "Errore nell'aggiornamento dell'abbonamento"
|
||||
@@ -828,12 +820,12 @@ msgstr "Esecuzione"
|
||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
msgstr "Impossibile accettare l'invito. Riprova più tardi o contatta l'assistenza clienti."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
||||
#: src/views/members/components/InviteMemberForm.tsx:197
|
||||
msgid "Failed to copy invite link"
|
||||
msgstr "Impossibile copiare il link di invito"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:288
|
||||
#: src/components/AuthForm.tsx:273
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Accesso con {0} fallito. Riprova."
|
||||
|
||||
@@ -881,8 +873,8 @@ msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni pr
|
||||
msgid "Free"
|
||||
msgstr "Gratuito"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/components/InviteMemberForm.tsx:312
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Piano gratuito"
|
||||
|
||||
@@ -1043,7 +1035,7 @@ msgstr "Integrazioni"
|
||||
msgid "Interviewing"
|
||||
msgstr "Colloquio"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:51
|
||||
#: src/views/members/components/InviteMemberForm.tsx:49
|
||||
msgid "Invalid email address"
|
||||
msgstr "Indirizzo email non valido"
|
||||
|
||||
@@ -1051,24 +1043,24 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
||||
#: src/views/members/components/InviteMemberForm.tsx:190
|
||||
msgid "Invite link copied"
|
||||
msgstr "Link di invito copiato"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
||||
#: src/views/members/components/InviteMemberForm.tsx:191
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Link di invito copiato negli appunti"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:111
|
||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
||||
#: src/views/members/components/InviteMemberForm.tsx:350
|
||||
msgid "Invite member"
|
||||
msgstr "Invita membro"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
msgstr "L'invito di membri richiede un Piano Team. Sarai reindirizzato per aggiornare il tuo spazio di lavoro."
|
||||
|
||||
@@ -1117,7 +1109,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"
|
||||
|
||||
@@ -1169,7 +1161,7 @@ msgstr "A lungo termine"
|
||||
msgid "Low Priority"
|
||||
msgstr "Bassa priorità"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:373
|
||||
msgid "magic link"
|
||||
msgstr "link magico"
|
||||
|
||||
@@ -1190,12 +1182,12 @@ msgstr "Media priorità"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:357
|
||||
#: src/views/card/index.tsx:125
|
||||
#: 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
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Membri | {0}"
|
||||
|
||||
@@ -1203,7 +1195,7 @@ msgstr "Membri | {0}"
|
||||
msgid "Monthly"
|
||||
msgstr "Mensile"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
||||
#: src/views/members/components/InviteMemberForm.tsx:147
|
||||
msgid "monthly billing"
|
||||
msgstr "fatturazione mensile"
|
||||
|
||||
@@ -1315,7 +1307,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/components/AuthForm.tsx:362
|
||||
#: src/components/AuthForm.tsx:315
|
||||
msgid "or"
|
||||
msgstr "o"
|
||||
|
||||
@@ -1335,14 +1327,6 @@ msgstr "Part-time"
|
||||
msgid "Password Changed"
|
||||
msgstr "Password modificata"
|
||||
|
||||
#: src/components/AuthForm.tsx:255
|
||||
msgid "Password is required to login."
|
||||
msgstr "La password è necessaria per accedere."
|
||||
|
||||
#: src/components/AuthForm.tsx:254
|
||||
msgid "Password is required to sign up."
|
||||
msgstr "La password è necessaria per registrarsi."
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:22
|
||||
msgid "Password must be at least 8 characters"
|
||||
msgstr "La password deve contenere almeno 8 caratteri"
|
||||
@@ -1351,7 +1335,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"
|
||||
|
||||
@@ -1359,7 +1343,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"
|
||||
|
||||
@@ -1380,15 +1364,15 @@ msgstr "Pianificazione"
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Conferma la tua nuova password"
|
||||
|
||||
#: src/components/AuthForm.tsx:388
|
||||
#: src/components/AuthForm.tsx:341
|
||||
msgid "Please enter a valid email address"
|
||||
msgstr "Inserisci un indirizzo email valido"
|
||||
|
||||
#: src/components/AuthForm.tsx:376
|
||||
#: src/components/AuthForm.tsx:329
|
||||
msgid "Please enter a valid name"
|
||||
msgstr "Inserisci un nome valido"
|
||||
|
||||
#: src/components/AuthForm.tsx:401
|
||||
#: src/components/AuthForm.tsx:354
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Inserisci una password valida"
|
||||
|
||||
@@ -1421,8 +1405,8 @@ msgstr "Seleziona un file da caricare."
|
||||
#: src/views/card/components/NewCommentForm.tsx:31
|
||||
#: src/views/card/index.tsx:173
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
||||
#: src/views/members/components/InviteMemberForm.tsx:102
|
||||
#: src/views/members/components/InviteMemberForm.tsx:222
|
||||
#: src/views/settings/components/Avatar.tsx:78
|
||||
#: src/views/settings/components/Avatar.tsx:219
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||
@@ -1435,8 +1419,8 @@ msgstr "Seleziona un file da caricare."
|
||||
msgid "Please try again later, or contact customer support."
|
||||
msgstr "Riprova più tardi o contatta l'assistenza clienti."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
||||
#: src/views/members/components/InviteMemberForm.tsx:118
|
||||
#: src/views/members/components/InviteMemberForm.tsx:133
|
||||
msgid "Please try again later."
|
||||
msgstr "Riprova più tardi."
|
||||
|
||||
@@ -1459,11 +1443,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
msgid "Pro Plan ∞"
|
||||
msgstr "Piano Pro ∞"
|
||||
|
||||
@@ -1507,7 +1491,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"
|
||||
|
||||
@@ -1559,7 +1543,7 @@ msgstr "Revisione"
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Ruolo"
|
||||
|
||||
@@ -1633,6 +1617,10 @@ msgstr "Impostazioni | Integrazioni"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Impostazioni | Area di lavoro"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:327
|
||||
msgid "Share invite link"
|
||||
msgstr "Condividi link di invito"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
msgid "Sign in"
|
||||
@@ -1659,7 +1647,7 @@ msgstr "Registrazione disabilitata"
|
||||
msgid "Sign up is currently disabled. Please try again later."
|
||||
msgstr "La registrazione è attualmente disabilitata. Riprova più tardi."
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Sign up with "
|
||||
msgstr "Registrati con "
|
||||
|
||||
@@ -1683,8 +1671,8 @@ msgstr "Sviluppo software"
|
||||
msgid "Star on Github"
|
||||
msgstr "Metti una stella su Github"
|
||||
|
||||
#: src/components/AuthForm.tsx:212
|
||||
#: src/components/AuthForm.tsx:229
|
||||
#: src/components/AuthForm.tsx:207
|
||||
#: src/components/AuthForm.tsx:224
|
||||
msgid "Success"
|
||||
msgstr "Operazione riuscita"
|
||||
|
||||
@@ -1704,8 +1692,8 @@ msgstr "Sostieni lo sviluppo del progetto"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Piano Team"
|
||||
|
||||
@@ -1988,7 +1976,7 @@ msgstr "Passa a Pro"
|
||||
msgid "Upgrade to Pro ($29/month)"
|
||||
msgstr "Passa a Pro ($29/mese)"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
||||
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||
msgid "Upgrade to Team Plan"
|
||||
msgstr "Passa al Piano Team"
|
||||
|
||||
@@ -2016,11 +2004,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:98
|
||||
#: src/views/members/components/InviteMemberForm.tsx:96
|
||||
msgid "User is already a member of this workspace"
|
||||
msgstr "L'utente è già membro di questo spazio di lavoro"
|
||||
|
||||
@@ -2179,15 +2167,15 @@ msgstr "Puoi invitare i membri del team cliccando sul pulsante \"Invita\" nell'a
|
||||
msgid "You can self-host by following the instructions in our <0>repo</0>."
|
||||
msgstr "Puoi effettuare il self-hosting seguendo le istruzioni nel nostro <0>repo</0>."
|
||||
|
||||
#: src/components/AuthForm.tsx:230
|
||||
#: src/components/AuthForm.tsx:225
|
||||
msgid "You have been logged in successfully."
|
||||
msgstr "Hai effettuato l'accesso con successo."
|
||||
|
||||
#: src/components/AuthForm.tsx:213
|
||||
#: src/components/AuthForm.tsx:208
|
||||
msgid "You have been signed up successfully."
|
||||
msgstr "Ti sei registrato con successo."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
msgstr "Hai posti illimitati con il tuo Piano Pro. Non ci sono costi aggiuntivi per i nuovi membri!"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} labels"
|
||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||
msgstr "{boardCount, plural, one {Bord importeren (1)} other {Borden importeren ({boardCount})}}"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:146
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$10/month"
|
||||
msgstr "$10/maand"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$8/month"
|
||||
msgstr "$8/maand"
|
||||
|
||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
||||
msgstr "Label toevoegen"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:130
|
||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
||||
#: src/views/members/components/InviteMemberForm.tsx:238
|
||||
msgid "Add member"
|
||||
msgstr "Lid toevoegen"
|
||||
|
||||
@@ -136,7 +136,7 @@ msgstr "heeft checklistitem <0>{0}</0> toegevoegd"
|
||||
msgid "added label <0>{0}</0>"
|
||||
msgstr "heeft label <0>{0}</0> toegevoegd"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
||||
#: src/views/members/components/InviteMemberForm.tsx:306
|
||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
msgstr "Het toevoegen van een nieuw lid kost een extra {price} ({billingType}) per plaats."
|
||||
|
||||
@@ -164,7 +164,7 @@ msgstr "Er is een fout opgetreden bij het verbreken van de verbinding met je Tre
|
||||
msgid "An unexpected error occurred. Please try again later."
|
||||
msgstr "Er is een onverwachte fout opgetreden. Probeer het later opnieuw."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
||||
#: src/views/members/components/InviteMemberForm.tsx:290
|
||||
msgid "Anyone with this link can join your workspace"
|
||||
msgstr "Iedereen met deze link kan deelnemen aan je werkruimte"
|
||||
|
||||
@@ -250,11 +250,11 @@ msgstr "Backlog"
|
||||
msgid "Basic Kanban"
|
||||
msgstr "Basis kanban"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed annually"
|
||||
msgstr "jaarlijks gefactureerd"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed monthly"
|
||||
msgstr "maandelijks gefactureerd"
|
||||
|
||||
@@ -463,12 +463,12 @@ msgstr "Neem contact op"
|
||||
msgid "Content Creation"
|
||||
msgstr "Content creatie"
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Continue with "
|
||||
msgstr "Doorgaan met "
|
||||
|
||||
#. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
|
||||
#: src/components/AuthForm.tsx:348
|
||||
#: src/components/AuthForm.tsx:301
|
||||
msgid "Continue with {0}"
|
||||
msgstr "Doorgaan met {0}"
|
||||
|
||||
@@ -498,10 +498,6 @@ msgstr "Maak kaart"
|
||||
msgid "Create checklist"
|
||||
msgstr "Checklist maken"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
||||
msgid "Create invite link"
|
||||
msgstr "Uitnodigingslink maken"
|
||||
|
||||
#: src/components/LabelForm.tsx:238
|
||||
msgid "Create label"
|
||||
msgstr "Maak label"
|
||||
@@ -569,10 +565,6 @@ msgstr "Klantenservice"
|
||||
msgid "Dark"
|
||||
msgstr "Donker"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
||||
msgid "Deactivate invite link"
|
||||
msgstr "Uitnodigingslink deactiveren"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
@@ -705,11 +697,11 @@ msgstr "Werkruimte-URL bewerken"
|
||||
msgid "Editing"
|
||||
msgstr "Bewerken"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:372
|
||||
msgid "email"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
||||
#: src/views/members/components/InviteMemberForm.tsx:252
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
@@ -725,11 +717,11 @@ msgstr "Voer je huidige wachtwoord in"
|
||||
msgid "Enter your current password and choose a new secure password."
|
||||
msgstr "Voer je huidige wachtwoord in en kies een nieuw veilig wachtwoord."
|
||||
|
||||
#: src/components/AuthForm.tsx:384
|
||||
#: src/components/AuthForm.tsx:337
|
||||
msgid "Enter your email address"
|
||||
msgstr "Voer je e-mailadres in"
|
||||
|
||||
#: src/components/AuthForm.tsx:372
|
||||
#: src/components/AuthForm.tsx:325
|
||||
msgid "Enter your name"
|
||||
msgstr "Voer je naam in"
|
||||
|
||||
@@ -737,11 +729,11 @@ msgstr "Voer je naam in"
|
||||
msgid "Enter your new password"
|
||||
msgstr "Voer je nieuwe wachtwoord in"
|
||||
|
||||
#: src/components/AuthForm.tsx:397
|
||||
#: src/components/AuthForm.tsx:350
|
||||
msgid "Enter your password"
|
||||
msgstr "Voer je wachtwoord in"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
||||
#: src/views/members/components/InviteMemberForm.tsx:196
|
||||
msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
@@ -749,11 +741,11 @@ msgstr "Fout"
|
||||
msgid "Error Changing Password"
|
||||
msgstr "Fout bij wijzigen wachtwoord"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
||||
#: src/views/members/components/InviteMemberForm.tsx:117
|
||||
msgid "Error creating invite link"
|
||||
msgstr "Fout bij het maken van uitnodigingslink"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
||||
#: src/views/members/components/InviteMemberForm.tsx:132
|
||||
msgid "Error deactivating invite link"
|
||||
msgstr "Fout bij het deactiveren van uitnodigingslink"
|
||||
|
||||
@@ -773,8 +765,8 @@ msgstr "Fout bij verwijderen werkruimte"
|
||||
msgid "Error disconnecting Trello"
|
||||
msgstr "Fout bij ontkoppelen van Trello"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:97
|
||||
#: src/views/members/components/InviteMemberForm.tsx:103
|
||||
#: src/views/members/components/InviteMemberForm.tsx:95
|
||||
#: src/views/members/components/InviteMemberForm.tsx:101
|
||||
msgid "Error inviting member"
|
||||
msgstr "Fout bij het uitnodigen van lid"
|
||||
|
||||
@@ -798,7 +790,7 @@ msgstr "Fout bij bijwerken naam werkruimte"
|
||||
msgid "Error updating workspace URL"
|
||||
msgstr "Fout bij het bijwerken van werkruimte-URL"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
||||
#: src/views/members/components/InviteMemberForm.tsx:221
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||
msgid "Error upgrading subscription"
|
||||
msgstr "Fout bij het upgraden van abonnement"
|
||||
@@ -828,12 +820,12 @@ msgstr "Uitvoering"
|
||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
msgstr "Uitnodiging accepteren mislukt. Probeer het later opnieuw of neem contact op met de klantenservice."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
||||
#: src/views/members/components/InviteMemberForm.tsx:197
|
||||
msgid "Failed to copy invite link"
|
||||
msgstr "Kopiëren van uitnodigingslink mislukt"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:288
|
||||
#: src/components/AuthForm.tsx:273
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Inloggen met {0} is mislukt. Probeer het opnieuw."
|
||||
|
||||
@@ -881,8 +873,8 @@ msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open sourc
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/components/InviteMemberForm.tsx:312
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Gratis plan"
|
||||
|
||||
@@ -1043,7 +1035,7 @@ msgstr "Integraties"
|
||||
msgid "Interviewing"
|
||||
msgstr "Interviewen"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:51
|
||||
#: src/views/members/components/InviteMemberForm.tsx:49
|
||||
msgid "Invalid email address"
|
||||
msgstr "Ongeldig e-mailadres"
|
||||
|
||||
@@ -1051,24 +1043,24 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
||||
#: src/views/members/components/InviteMemberForm.tsx:190
|
||||
msgid "Invite link copied"
|
||||
msgstr "Uitnodigingslink gekopieerd"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
||||
#: src/views/members/components/InviteMemberForm.tsx:191
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Uitnodigingslink gekopieerd naar klembord"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:111
|
||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
||||
#: src/views/members/components/InviteMemberForm.tsx:350
|
||||
msgid "Invite member"
|
||||
msgstr "Lid uitnodigen"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
msgstr "Voor het uitnodigen van leden is een teamplan vereist. Je wordt doorgestuurd om je werkruimte te upgraden."
|
||||
|
||||
@@ -1117,7 +1109,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"
|
||||
|
||||
@@ -1169,7 +1161,7 @@ msgstr "Lange termijn"
|
||||
msgid "Low Priority"
|
||||
msgstr "Lage prioriteit"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:373
|
||||
msgid "magic link"
|
||||
msgstr "magische link"
|
||||
|
||||
@@ -1190,12 +1182,12 @@ msgstr "Gemiddelde prioriteit"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:357
|
||||
#: src/views/card/index.tsx:125
|
||||
#: 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
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Leden | {0}"
|
||||
|
||||
@@ -1203,7 +1195,7 @@ msgstr "Leden | {0}"
|
||||
msgid "Monthly"
|
||||
msgstr "Maandelijks"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
||||
#: src/views/members/components/InviteMemberForm.tsx:147
|
||||
msgid "monthly billing"
|
||||
msgstr "maandelijkse facturering"
|
||||
|
||||
@@ -1315,7 +1307,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/components/AuthForm.tsx:362
|
||||
#: src/components/AuthForm.tsx:315
|
||||
msgid "or"
|
||||
msgstr "of"
|
||||
|
||||
@@ -1335,14 +1327,6 @@ msgstr "Deeltijd"
|
||||
msgid "Password Changed"
|
||||
msgstr "Wachtwoord gewijzigd"
|
||||
|
||||
#: src/components/AuthForm.tsx:255
|
||||
msgid "Password is required to login."
|
||||
msgstr "Wachtwoord is vereist om in te loggen."
|
||||
|
||||
#: src/components/AuthForm.tsx:254
|
||||
msgid "Password is required to sign up."
|
||||
msgstr "Wachtwoord is vereist om je aan te melden."
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:22
|
||||
msgid "Password must be at least 8 characters"
|
||||
msgstr "Wachtwoord moet minimaal 8 tekens bevatten"
|
||||
@@ -1351,7 +1335,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"
|
||||
|
||||
@@ -1359,7 +1343,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"
|
||||
|
||||
@@ -1380,15 +1364,15 @@ msgstr "Planning"
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Bevestig je nieuwe wachtwoord"
|
||||
|
||||
#: src/components/AuthForm.tsx:388
|
||||
#: src/components/AuthForm.tsx:341
|
||||
msgid "Please enter a valid email address"
|
||||
msgstr "Voer een geldig e-mailadres in"
|
||||
|
||||
#: src/components/AuthForm.tsx:376
|
||||
#: src/components/AuthForm.tsx:329
|
||||
msgid "Please enter a valid name"
|
||||
msgstr "Voer een geldige naam in"
|
||||
|
||||
#: src/components/AuthForm.tsx:401
|
||||
#: src/components/AuthForm.tsx:354
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Voer een geldig wachtwoord in"
|
||||
|
||||
@@ -1421,8 +1405,8 @@ msgstr "Selecteer een bestand om te uploaden."
|
||||
#: src/views/card/components/NewCommentForm.tsx:31
|
||||
#: src/views/card/index.tsx:173
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
||||
#: src/views/members/components/InviteMemberForm.tsx:102
|
||||
#: src/views/members/components/InviteMemberForm.tsx:222
|
||||
#: src/views/settings/components/Avatar.tsx:78
|
||||
#: src/views/settings/components/Avatar.tsx:219
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||
@@ -1435,8 +1419,8 @@ msgstr "Selecteer een bestand om te uploaden."
|
||||
msgid "Please try again later, or contact customer support."
|
||||
msgstr "Probeer het later opnieuw of neem contact op met de klantenservice."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
||||
#: src/views/members/components/InviteMemberForm.tsx:118
|
||||
#: src/views/members/components/InviteMemberForm.tsx:133
|
||||
msgid "Please try again later."
|
||||
msgstr "Probeer het later opnieuw."
|
||||
|
||||
@@ -1459,11 +1443,11 @@ msgstr "Privacybeleid"
|
||||
msgid "Private"
|
||||
msgstr "Privé"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Pro Plan"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
msgid "Pro Plan ∞"
|
||||
msgstr "Pro Plan ∞"
|
||||
|
||||
@@ -1507,7 +1491,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"
|
||||
|
||||
@@ -1559,7 +1543,7 @@ msgstr "Beoordeling"
|
||||
msgid "Roadmap"
|
||||
msgstr "Roadmap"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
@@ -1633,6 +1617,10 @@ msgstr "Instellingen | Integraties"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Instellingen | Werkruimte"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:327
|
||||
msgid "Share invite link"
|
||||
msgstr "Uitnodigingslink delen"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
msgid "Sign in"
|
||||
@@ -1659,7 +1647,7 @@ msgstr "Registreren uitgeschakeld"
|
||||
msgid "Sign up is currently disabled. Please try again later."
|
||||
msgstr "Registreren is momenteel uitgeschakeld. Probeer het later opnieuw."
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Sign up with "
|
||||
msgstr "Registreren met "
|
||||
|
||||
@@ -1683,8 +1671,8 @@ msgstr "Softwareontwikkeling"
|
||||
msgid "Star on Github"
|
||||
msgstr "Star op Github"
|
||||
|
||||
#: src/components/AuthForm.tsx:212
|
||||
#: src/components/AuthForm.tsx:229
|
||||
#: src/components/AuthForm.tsx:207
|
||||
#: src/components/AuthForm.tsx:224
|
||||
msgid "Success"
|
||||
msgstr "Geslaagd"
|
||||
|
||||
@@ -1704,8 +1692,8 @@ msgstr "Ondersteun de ontwikkeling van het project"
|
||||
msgid "System"
|
||||
msgstr "Systeem"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Teamplan"
|
||||
|
||||
@@ -1988,7 +1976,7 @@ msgstr "Upgraden naar Pro"
|
||||
msgid "Upgrade to Pro ($29/month)"
|
||||
msgstr "Upgrade naar Pro ($29/maand)"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
||||
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||
msgid "Upgrade to Team Plan"
|
||||
msgstr "Upgraden naar teamplan"
|
||||
|
||||
@@ -2016,11 +2004,11 @@ 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"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:98
|
||||
#: src/views/members/components/InviteMemberForm.tsx:96
|
||||
msgid "User is already a member of this workspace"
|
||||
msgstr "Gebruiker is al lid van deze werkruimte"
|
||||
|
||||
@@ -2179,15 +2167,15 @@ msgstr "Je kunt teamleden uitnodigen door op de knop \"Uitnodigen\" in de rechte
|
||||
msgid "You can self-host by following the instructions in our <0>repo</0>."
|
||||
msgstr "Je kunt zelf hosten door de instructies in onze <0>repo</0> te volgen."
|
||||
|
||||
#: src/components/AuthForm.tsx:230
|
||||
#: src/components/AuthForm.tsx:225
|
||||
msgid "You have been logged in successfully."
|
||||
msgstr "Je bent succesvol ingelogd."
|
||||
|
||||
#: src/components/AuthForm.tsx:213
|
||||
#: src/components/AuthForm.tsx:208
|
||||
msgid "You have been signed up successfully."
|
||||
msgstr "Je bent succesvol geregistreerd."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
msgstr "Je hebt onbeperkte plaatsen met je Pro Plan. Er zijn geen extra kosten voor nieuwe leden!"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -36,12 +36,12 @@ msgstr "{0} метки"
|
||||
msgid "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||
msgstr "{boardCount, plural, one {Импортировать доску (1)} other {Импортировать доски ({boardCount})}}"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:148
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:146
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$10/month"
|
||||
msgstr "$10/месяц"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:160
|
||||
#: src/views/members/components/InviteMemberForm.tsx:158
|
||||
msgid "$8/month"
|
||||
msgstr "$8/месяц"
|
||||
|
||||
@@ -101,7 +101,7 @@ msgid "Add label"
|
||||
msgstr "Добавить метку"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:130
|
||||
#: src/views/members/components/InviteMemberForm.tsx:240
|
||||
#: src/views/members/components/InviteMemberForm.tsx:238
|
||||
msgid "Add member"
|
||||
msgstr "Добавить участника"
|
||||
|
||||
@@ -136,7 +136,7 @@ msgstr "добавлен элемент контрольного списка <0
|
||||
msgid "added label <0>{0}</0>"
|
||||
msgstr "добавлена метка <0>{0}</0>"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:310
|
||||
#: src/views/members/components/InviteMemberForm.tsx:306
|
||||
msgid "Adding a new member will cost an additional {price} ({billingType}) per seat."
|
||||
msgstr "Добавление нового участника будет стоить дополнительно {price} ({billingType}) за место."
|
||||
|
||||
@@ -164,7 +164,7 @@ msgstr "Произошла ошибка при отключении вашего
|
||||
msgid "An unexpected error occurred. Please try again later."
|
||||
msgstr "Произошла непредвиденная ошибка. Пожалуйста, попробуйте позже."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:294
|
||||
#: src/views/members/components/InviteMemberForm.tsx:290
|
||||
msgid "Anyone with this link can join your workspace"
|
||||
msgstr "Любой, у кого есть эта ссылка, может присоединиться к вашему рабочему пространству"
|
||||
|
||||
@@ -250,11 +250,11 @@ msgstr "Бэклог"
|
||||
msgid "Basic Kanban"
|
||||
msgstr "Базовый Канбан"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed annually"
|
||||
msgstr "выставляется счет ежегодно"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:161
|
||||
#: src/views/members/components/InviteMemberForm.tsx:159
|
||||
msgid "billed monthly"
|
||||
msgstr "выставляется счет ежемесячно"
|
||||
|
||||
@@ -463,12 +463,12 @@ msgstr "Свяжитесь с нами"
|
||||
msgid "Content Creation"
|
||||
msgstr "Создание контента"
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Continue with "
|
||||
msgstr "Продолжить с "
|
||||
|
||||
#. placeholder {0}: key === "oidc" ? oidcProviderName : provider.name
|
||||
#: src/components/AuthForm.tsx:348
|
||||
#: src/components/AuthForm.tsx:301
|
||||
msgid "Continue with {0}"
|
||||
msgstr "Продолжить с {0}"
|
||||
|
||||
@@ -498,10 +498,6 @@ msgstr "Создать карточку"
|
||||
msgid "Create checklist"
|
||||
msgstr "Создать чек-лист"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:334
|
||||
msgid "Create invite link"
|
||||
msgstr "Создать ссылку-приглашение"
|
||||
|
||||
#: src/components/LabelForm.tsx:238
|
||||
msgid "Create label"
|
||||
msgstr "Создать метку"
|
||||
@@ -569,10 +565,6 @@ msgstr "Служба поддержки"
|
||||
msgid "Dark"
|
||||
msgstr "Тёмный"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:333
|
||||
msgid "Deactivate invite link"
|
||||
msgstr "Деактивировать ссылку-приглашение"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
@@ -705,11 +697,11 @@ msgstr "Редактировать URL рабочей области"
|
||||
msgid "Editing"
|
||||
msgstr "Редактирование"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:372
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:255
|
||||
#: src/views/members/components/InviteMemberForm.tsx:252
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
@@ -725,11 +717,11 @@ msgstr "Введите ваш текущий пароль"
|
||||
msgid "Enter your current password and choose a new secure password."
|
||||
msgstr "Введите ваш текущий пароль и выберите новый безопасный пароль."
|
||||
|
||||
#: src/components/AuthForm.tsx:384
|
||||
#: src/components/AuthForm.tsx:337
|
||||
msgid "Enter your email address"
|
||||
msgstr "Введите ваш адрес электронной почты"
|
||||
|
||||
#: src/components/AuthForm.tsx:372
|
||||
#: src/components/AuthForm.tsx:325
|
||||
msgid "Enter your name"
|
||||
msgstr "Введите ваше имя"
|
||||
|
||||
@@ -737,11 +729,11 @@ msgstr "Введите ваше имя"
|
||||
msgid "Enter your new password"
|
||||
msgstr "Введите ваш новый пароль"
|
||||
|
||||
#: src/components/AuthForm.tsx:397
|
||||
#: src/components/AuthForm.tsx:350
|
||||
msgid "Enter your password"
|
||||
msgstr "Введите ваш пароль"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:198
|
||||
#: src/views/members/components/InviteMemberForm.tsx:196
|
||||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
|
||||
@@ -749,11 +741,11 @@ msgstr "Ошибка"
|
||||
msgid "Error Changing Password"
|
||||
msgstr "Ошибка при изменении пароля"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:119
|
||||
#: src/views/members/components/InviteMemberForm.tsx:117
|
||||
msgid "Error creating invite link"
|
||||
msgstr "Ошибка при создании ссылки приглашения"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:134
|
||||
#: src/views/members/components/InviteMemberForm.tsx:132
|
||||
msgid "Error deactivating invite link"
|
||||
msgstr "Ошибка при деактивации ссылки приглашения"
|
||||
|
||||
@@ -773,8 +765,8 @@ msgstr "Ошибка при удалении рабочей области"
|
||||
msgid "Error disconnecting Trello"
|
||||
msgstr "Ошибка при отключении Trello"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:97
|
||||
#: src/views/members/components/InviteMemberForm.tsx:103
|
||||
#: src/views/members/components/InviteMemberForm.tsx:95
|
||||
#: src/views/members/components/InviteMemberForm.tsx:101
|
||||
msgid "Error inviting member"
|
||||
msgstr "Ошибка при приглашении участника"
|
||||
|
||||
@@ -798,7 +790,7 @@ msgstr "Ошибка при обновлении имени рабочей об
|
||||
msgid "Error updating workspace URL"
|
||||
msgstr "Ошибка при обновлении URL рабочей области"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:223
|
||||
#: src/views/members/components/InviteMemberForm.tsx:221
|
||||
#: src/views/settings/components/UpgradeToProConfirmation.tsx:41
|
||||
msgid "Error upgrading subscription"
|
||||
msgstr "Ошибка при обновлении подписки"
|
||||
@@ -828,12 +820,12 @@ msgstr "Выполнение"
|
||||
msgid "Failed to accept invitation. Please try again later, or contact customer support."
|
||||
msgstr "Не удалось принять приглашение. Пожалуйста, попробуйте позже или свяжитесь со службой поддержки."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:199
|
||||
#: src/views/members/components/InviteMemberForm.tsx:197
|
||||
msgid "Failed to copy invite link"
|
||||
msgstr "Не удалось скопировать ссылку приглашения"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:288
|
||||
#: src/components/AuthForm.tsx:273
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
msgstr "Не удалось войти с {0}. Пожалуйста, попробуйте снова."
|
||||
|
||||
@@ -881,8 +873,8 @@ msgstr "Для долгосрочной устойчивости мы призн
|
||||
msgid "Free"
|
||||
msgstr "Бесплатно"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:316
|
||||
#: src/views/members/index.tsx:209
|
||||
#: src/views/members/components/InviteMemberForm.tsx:312
|
||||
#: src/views/members/index.tsx:208
|
||||
msgid "Free Plan"
|
||||
msgstr "Бесплатный план"
|
||||
|
||||
@@ -1043,7 +1035,7 @@ msgstr "Интеграции"
|
||||
msgid "Interviewing"
|
||||
msgstr "Собеседование"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:51
|
||||
#: src/views/members/components/InviteMemberForm.tsx:49
|
||||
msgid "Invalid email address"
|
||||
msgstr "Недействительный адрес электронной почты"
|
||||
|
||||
@@ -1051,24 +1043,24 @@ msgstr "Недействительный адрес электронной по
|
||||
msgid "Invalid invitation"
|
||||
msgstr "Недействительное приглашение"
|
||||
|
||||
#: src/views/members/index.tsx:222
|
||||
#: src/views/members/index.tsx:221
|
||||
msgid "Invite"
|
||||
msgstr "Пригласить"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:192
|
||||
#: src/views/members/components/InviteMemberForm.tsx:190
|
||||
msgid "Invite link copied"
|
||||
msgstr "Ссылка приглашения скопирована"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:193
|
||||
#: src/views/members/components/InviteMemberForm.tsx:191
|
||||
msgid "Invite link copied to clipboard"
|
||||
msgstr "Ссылка приглашения скопирована в буфер обмена"
|
||||
|
||||
#: src/views/card/components/MemberSelector.tsx:111
|
||||
#: src/views/members/components/InviteMemberForm.tsx:353
|
||||
#: src/views/members/components/InviteMemberForm.tsx:350
|
||||
msgid "Invite member"
|
||||
msgstr "Пригласить участника"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:319
|
||||
#: src/views/members/components/InviteMemberForm.tsx:315
|
||||
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
|
||||
msgstr "Для приглашения участников необходим командный план. Вы будете перенаправлены для обновления вашего рабочего пространства."
|
||||
|
||||
@@ -1117,7 +1109,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"
|
||||
|
||||
@@ -1169,7 +1161,7 @@ msgstr "Долгосрочный"
|
||||
msgid "Low Priority"
|
||||
msgstr "Низкий приоритет"
|
||||
|
||||
#: src/components/AuthForm.tsx:418
|
||||
#: src/components/AuthForm.tsx:373
|
||||
msgid "magic link"
|
||||
msgstr "магическая ссылка"
|
||||
|
||||
@@ -1190,12 +1182,12 @@ msgstr "Средний приоритет"
|
||||
#: src/views/board/components/Filters.tsx:93
|
||||
#: src/views/board/components/NewCardForm.tsx:357
|
||||
#: src/views/card/index.tsx:125
|
||||
#: 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
|
||||
#: src/views/members/index.tsx:173
|
||||
msgid "Members | {0}"
|
||||
msgstr "Участники | {0}"
|
||||
|
||||
@@ -1203,7 +1195,7 @@ msgstr "Участники | {0}"
|
||||
msgid "Monthly"
|
||||
msgstr "Ежемесячно"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:149
|
||||
#: src/views/members/components/InviteMemberForm.tsx:147
|
||||
msgid "monthly billing"
|
||||
msgstr "ежемесячная оплата"
|
||||
|
||||
@@ -1315,7 +1307,7 @@ msgstr "После удаления аккаунта возврат будет
|
||||
msgid "Once you delete your workspace, there is no going back. This action cannot be undone."
|
||||
msgstr "После удаления рабочего пространства возврат будет невозможен. Это действие необратимо."
|
||||
|
||||
#: src/components/AuthForm.tsx:362
|
||||
#: src/components/AuthForm.tsx:315
|
||||
msgid "or"
|
||||
msgstr "или"
|
||||
|
||||
@@ -1335,14 +1327,6 @@ msgstr "Частичная занятость"
|
||||
msgid "Password Changed"
|
||||
msgstr "Пароль изменён"
|
||||
|
||||
#: src/components/AuthForm.tsx:255
|
||||
msgid "Password is required to login."
|
||||
msgstr "Пароль необходим для входа."
|
||||
|
||||
#: src/components/AuthForm.tsx:254
|
||||
msgid "Password is required to sign up."
|
||||
msgstr "Пароль необходим для регистрации."
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:22
|
||||
msgid "Password must be at least 8 characters"
|
||||
msgstr "Пароль должен содержать не менее 8 символов"
|
||||
@@ -1351,7 +1335,7 @@ msgstr "Пароль должен содержать не менее 8 симв
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Пароли не совпадают"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Paused"
|
||||
msgstr "Приостановлено"
|
||||
|
||||
@@ -1359,7 +1343,7 @@ msgstr "Приостановлено"
|
||||
msgid "Payment frequency"
|
||||
msgstr "Частота платежей"
|
||||
|
||||
#: src/views/members/index.tsx:135
|
||||
#: src/views/members/index.tsx:134
|
||||
msgid "Pending"
|
||||
msgstr "В ожидании"
|
||||
|
||||
@@ -1380,15 +1364,15 @@ msgstr "Планирование"
|
||||
msgid "Please confirm your new password"
|
||||
msgstr "Пожалуйста, подтвердите новый пароль"
|
||||
|
||||
#: src/components/AuthForm.tsx:388
|
||||
#: src/components/AuthForm.tsx:341
|
||||
msgid "Please enter a valid email address"
|
||||
msgstr "Пожалуйста, введите действительный адрес электронной почты"
|
||||
|
||||
#: src/components/AuthForm.tsx:376
|
||||
#: src/components/AuthForm.tsx:329
|
||||
msgid "Please enter a valid name"
|
||||
msgstr "Пожалуйста, введите действительное имя"
|
||||
|
||||
#: src/components/AuthForm.tsx:401
|
||||
#: src/components/AuthForm.tsx:354
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Пожалуйста, введите действительный пароль"
|
||||
|
||||
@@ -1421,8 +1405,8 @@ msgstr "Пожалуйста, выберите файл для загрузки.
|
||||
#: src/views/card/components/NewCommentForm.tsx:31
|
||||
#: src/views/card/index.tsx:173
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:224
|
||||
#: src/views/members/components/InviteMemberForm.tsx:102
|
||||
#: src/views/members/components/InviteMemberForm.tsx:222
|
||||
#: src/views/settings/components/Avatar.tsx:78
|
||||
#: src/views/settings/components/Avatar.tsx:219
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:40
|
||||
@@ -1435,8 +1419,8 @@ msgstr "Пожалуйста, выберите файл для загрузки.
|
||||
msgid "Please try again later, or contact customer support."
|
||||
msgstr "Пожалуйста, попробуйте позже или свяжитесь со службой поддержки."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:120
|
||||
#: src/views/members/components/InviteMemberForm.tsx:135
|
||||
#: src/views/members/components/InviteMemberForm.tsx:118
|
||||
#: src/views/members/components/InviteMemberForm.tsx:133
|
||||
msgid "Please try again later."
|
||||
msgstr "Пожалуйста, попробуйте позже."
|
||||
|
||||
@@ -1459,11 +1443,11 @@ msgstr "Политика конфиденциальности"
|
||||
msgid "Private"
|
||||
msgstr "Личное"
|
||||
|
||||
#: src/views/members/index.tsx:206
|
||||
#: src/views/members/index.tsx:205
|
||||
msgid "Pro Plan"
|
||||
msgstr "Профессиональный план"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
msgid "Pro Plan ∞"
|
||||
msgstr "Профессиональный план ∞"
|
||||
|
||||
@@ -1507,7 +1491,7 @@ msgstr "Удалённый"
|
||||
msgid "Remove"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: src/views/members/index.tsx:149
|
||||
#: src/views/members/index.tsx:148
|
||||
msgid "Remove member"
|
||||
msgstr "Удалить участника"
|
||||
|
||||
@@ -1559,7 +1543,7 @@ msgstr "Обзор"
|
||||
msgid "Roadmap"
|
||||
msgstr "Дорожная карта"
|
||||
|
||||
#: src/views/members/index.tsx:244
|
||||
#: src/views/members/index.tsx:243
|
||||
msgid "Role"
|
||||
msgstr "Роль"
|
||||
|
||||
@@ -1633,6 +1617,10 @@ msgstr "Настройки | Интеграции"
|
||||
msgid "Settings | Workspace"
|
||||
msgstr "Настройки | Рабочая область"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:327
|
||||
msgid "Share invite link"
|
||||
msgstr "Поделиться ссылкой приглашения"
|
||||
|
||||
#: src/views/home/components/Header.tsx:100
|
||||
#: src/views/home/components/Header.tsx:138
|
||||
msgid "Sign in"
|
||||
@@ -1659,7 +1647,7 @@ msgstr "Регистрация отключена"
|
||||
msgid "Sign up is currently disabled. Please try again later."
|
||||
msgstr "Регистрация в настоящее время отключена. Пожалуйста, попробуйте позже."
|
||||
|
||||
#: src/components/AuthForm.tsx:417
|
||||
#: src/components/AuthForm.tsx:370
|
||||
msgid "Sign up with "
|
||||
msgstr "Зарегистрироваться с "
|
||||
|
||||
@@ -1683,8 +1671,8 @@ msgstr "Разработка программного обеспечения"
|
||||
msgid "Star on Github"
|
||||
msgstr "Поставить звезду на Github"
|
||||
|
||||
#: src/components/AuthForm.tsx:212
|
||||
#: src/components/AuthForm.tsx:229
|
||||
#: src/components/AuthForm.tsx:207
|
||||
#: src/components/AuthForm.tsx:224
|
||||
msgid "Success"
|
||||
msgstr "Успех"
|
||||
|
||||
@@ -1704,8 +1692,8 @@ msgstr "Поддержите развитие проекта"
|
||||
msgid "System"
|
||||
msgstr "Система"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
#: src/views/members/index.tsx:208
|
||||
#: src/views/members/components/InviteMemberForm.tsx:301
|
||||
#: src/views/members/index.tsx:207
|
||||
msgid "Team Plan"
|
||||
msgstr "Командный план"
|
||||
|
||||
@@ -1988,7 +1976,7 @@ msgstr "Обновить до Pro"
|
||||
msgid "Upgrade to Pro ($29/month)"
|
||||
msgstr "Обновить до Pro ($29/месяц)"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:345
|
||||
#: src/views/members/components/InviteMemberForm.tsx:341
|
||||
msgid "Upgrade to Team Plan"
|
||||
msgstr "Обновить до командного плана"
|
||||
|
||||
@@ -2016,11 +2004,11 @@ msgstr "URL должен содержать не менее 3 символов"
|
||||
msgid "Use template"
|
||||
msgstr "Использовать шаблон"
|
||||
|
||||
#: src/views/members/index.tsx:238
|
||||
#: src/views/members/index.tsx:237
|
||||
msgid "User"
|
||||
msgstr "Пользователь"
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:98
|
||||
#: src/views/members/components/InviteMemberForm.tsx:96
|
||||
msgid "User is already a member of this workspace"
|
||||
msgstr "Пользователь уже является участником этого рабочего пространства"
|
||||
|
||||
@@ -2179,15 +2167,15 @@ msgstr "Вы можете пригласить участников команд
|
||||
msgid "You can self-host by following the instructions in our <0>repo</0>."
|
||||
msgstr "Вы можете развернуть собственный хостинг, следуя инструкциям в нашем <0>репозитории</0>."
|
||||
|
||||
#: src/components/AuthForm.tsx:230
|
||||
#: src/components/AuthForm.tsx:225
|
||||
msgid "You have been logged in successfully."
|
||||
msgstr "Вы успешно вошли в систему."
|
||||
|
||||
#: src/components/AuthForm.tsx:213
|
||||
#: src/components/AuthForm.tsx:208
|
||||
msgid "You have been signed up successfully."
|
||||
msgstr "Вы успешно зарегистрировались."
|
||||
|
||||
#: src/views/members/components/InviteMemberForm.tsx:309
|
||||
#: src/views/members/components/InviteMemberForm.tsx:305
|
||||
msgid "You have unlimited seats with your Pro Plan. There is no additional charge for new members!"
|
||||
msgstr "В вашем профессиональном плане неограниченное количество мест. За новых участников дополнительная плата не взимается!"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -45,8 +45,6 @@ export function InviteMemberForm({
|
||||
const { workspace } = useWorkspace();
|
||||
const { showPopup } = usePopup();
|
||||
|
||||
const isEmailEnabled = env("NEXT_PUBLIC_DISABLE_EMAIL") !== "true";
|
||||
|
||||
const InviteMemberSchema = z.object({
|
||||
email: z.string().email({ message: t`Invalid email address` }),
|
||||
workspacePublicId: z.string(),
|
||||
@@ -249,26 +247,24 @@ export function InviteMemberForm({
|
||||
<HiXMark size={18} className="dark:text-dark-9000 text-light-900" />
|
||||
</button>
|
||||
</div>
|
||||
{isEmailEnabled && (
|
||||
<Input
|
||||
id="email"
|
||||
placeholder={t`Email`}
|
||||
disabled={
|
||||
env("NEXT_PUBLIC_KAN_ENV") === "cloud" &&
|
||||
!hasTeamSubscription &&
|
||||
!hasProSubscription
|
||||
<Input
|
||||
id="email"
|
||||
placeholder={t`Email`}
|
||||
disabled={
|
||||
env("NEXT_PUBLIC_KAN_ENV") === "cloud" &&
|
||||
!hasTeamSubscription &&
|
||||
!hasProSubscription
|
||||
}
|
||||
{...register("email", { required: true })}
|
||||
onKeyDown={async (e) => {
|
||||
if (e.key === "Enter") {
|
||||
e.preventDefault();
|
||||
await handleSubmit(onSubmit)();
|
||||
}
|
||||
{...register("email", { required: true })}
|
||||
onKeyDown={async (e) => {
|
||||
if (e.key === "Enter") {
|
||||
e.preventDefault();
|
||||
await handleSubmit(onSubmit)();
|
||||
}
|
||||
}}
|
||||
errorMessage={errors.email?.message}
|
||||
/>
|
||||
)}
|
||||
{(!isEmailEnabled || (isShareInviteLinkEnabled && inviteLink)) && (
|
||||
}}
|
||||
errorMessage={errors.email?.message}
|
||||
/>
|
||||
{isShareInviteLinkEnabled && inviteLink && (
|
||||
<div className="my-4">
|
||||
<div className="relative">
|
||||
<Input
|
||||
@@ -328,11 +324,7 @@ export function InviteMemberForm({
|
||||
{(hasTeamSubscription || hasProSubscription) &&
|
||||
env("NEXT_PUBLIC_KAN_ENV") === "cloud" && (
|
||||
<Toggle
|
||||
label={
|
||||
isShareInviteLinkEnabled
|
||||
? t`Deactivate invite link`
|
||||
: t`Create invite link`
|
||||
}
|
||||
label={t`Share invite link`}
|
||||
isChecked={isShareInviteLinkEnabled}
|
||||
onChange={handleInviteLinkToggle}
|
||||
/>
|
||||
@@ -341,14 +333,19 @@ export function InviteMemberForm({
|
||||
{env("NEXT_PUBLIC_KAN_ENV") === "cloud" &&
|
||||
!hasTeamSubscription &&
|
||||
!hasProSubscription ? (
|
||||
<Button type="button" onClick={handleUpgrade}>
|
||||
<Button
|
||||
type="button"
|
||||
onClick={handleUpgrade}
|
||||
className="inline-flex w-full justify-center rounded-md bg-light-1000 px-3 py-2 text-sm font-semibold text-light-50 shadow-sm focus-visible:outline-none dark:bg-dark-1000 dark:text-dark-50"
|
||||
>
|
||||
{t`Upgrade to Team Plan`}
|
||||
</Button>
|
||||
) : (
|
||||
<Button
|
||||
type="submit"
|
||||
disabled={inviteMember.isPending || !isEmailEnabled}
|
||||
disabled={inviteMember.isPending || isShareInviteLinkEnabled}
|
||||
isLoading={inviteMember.isPending}
|
||||
className="inline-flex w-full justify-center rounded-md bg-light-1000 px-3 py-2 text-sm font-semibold text-light-50 shadow-sm focus-visible:outline-none dark:bg-dark-1000 dark:text-dark-50"
|
||||
>
|
||||
{t`Invite member`}
|
||||
</Button>
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -25,9 +25,6 @@ services:
|
||||
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||
- EMAIL_FROM=${EMAIL_FROM}
|
||||
|
||||
# Disable email features entirely (optional)
|
||||
- NEXT_PUBLIC_DISABLE_EMAIL=${NEXT_PUBLIC_DISABLE_EMAIL}
|
||||
|
||||
# S3 storage (optional)
|
||||
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
|
||||
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
|
||||
|
||||
@@ -95,32 +95,9 @@ export const create = async (
|
||||
.having(gt(countExpr, 1));
|
||||
|
||||
if (duplicateIndices.length > 0) {
|
||||
// Compact indices for this list to sequential values (0..n-1) preserving order
|
||||
await tx.execute(sql`
|
||||
WITH ordered AS (
|
||||
SELECT id, ROW_NUMBER() OVER (ORDER BY "index", id) - 1 AS new_index
|
||||
FROM "card"
|
||||
WHERE "listId" = ${result[0].listId} AND "deletedAt" IS NULL
|
||||
)
|
||||
UPDATE "card" c
|
||||
SET "index" = o.new_index
|
||||
FROM ordered o
|
||||
WHERE c.id = o.id;
|
||||
`);
|
||||
|
||||
// Last resort: verify fix; rollback if duplicates persist
|
||||
const postFixDupes = await tx
|
||||
.select({ index: cards.index, count: countExpr })
|
||||
.from(cards)
|
||||
.where(and(eq(cards.listId, result[0].listId), isNull(cards.deletedAt)))
|
||||
.groupBy(cards.listId, cards.index)
|
||||
.having(gt(countExpr, 1));
|
||||
|
||||
if (postFixDupes.length > 0) {
|
||||
throw new Error(
|
||||
`Invariant violation: duplicate card indices remain after compaction in list ${result[0].listId}`,
|
||||
);
|
||||
}
|
||||
throw new Error(
|
||||
`Duplicate indices found after creating card ${result[0].id}`,
|
||||
);
|
||||
}
|
||||
|
||||
return result[0];
|
||||
@@ -242,95 +219,11 @@ export const bulkCreate = async (
|
||||
importId?: number;
|
||||
}[],
|
||||
) => {
|
||||
if (cardInput.length === 0) return [];
|
||||
|
||||
return db.transaction(async (tx) => {
|
||||
// Group incoming cards by list to compute safe, sequential indices per list
|
||||
const byList = new Map<number, typeof cardInput>();
|
||||
for (const item of cardInput) {
|
||||
const arr = byList.get(item.listId) ?? [];
|
||||
arr.push(item);
|
||||
byList.set(item.listId, arr);
|
||||
}
|
||||
|
||||
const allValuesToInsert: {
|
||||
publicId: string;
|
||||
title: string;
|
||||
description: string;
|
||||
createdBy: string;
|
||||
listId: number;
|
||||
index: number;
|
||||
importId?: number;
|
||||
}[] = [];
|
||||
|
||||
// For each list, append incoming cards after current max index, preserving incoming order
|
||||
for (const [listId, items] of byList.entries()) {
|
||||
const last = await tx.query.cards.findFirst({
|
||||
columns: { index: true },
|
||||
where: and(eq(cards.listId, listId), isNull(cards.deletedAt)),
|
||||
orderBy: [desc(cards.index)],
|
||||
});
|
||||
|
||||
let nextIndex = last ? last.index + 1 : 0;
|
||||
const sorted = [...items].sort((a, b) => a.index - b.index);
|
||||
for (const it of sorted) {
|
||||
allValuesToInsert.push({
|
||||
publicId: it.publicId,
|
||||
title: it.title,
|
||||
description: it.description,
|
||||
createdBy: it.createdBy,
|
||||
listId: it.listId,
|
||||
index: nextIndex++,
|
||||
importId: it.importId,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const inserted = await tx
|
||||
.insert(cards)
|
||||
.values(allValuesToInsert)
|
||||
.returning({ id: cards.id });
|
||||
|
||||
// Post-insert: compact per list if duplicates exist; then verify
|
||||
const countExpr = sql<number>`COUNT(*)`.mapWith(Number);
|
||||
for (const listId of byList.keys()) {
|
||||
const duplicateIndices = await tx
|
||||
.select({ index: cards.index, count: countExpr })
|
||||
.from(cards)
|
||||
.where(and(eq(cards.listId, listId), isNull(cards.deletedAt)))
|
||||
.groupBy(cards.listId, cards.index)
|
||||
.having(gt(countExpr, 1));
|
||||
|
||||
if (duplicateIndices.length > 0) {
|
||||
await tx.execute(sql`
|
||||
WITH ordered AS (
|
||||
SELECT id, ROW_NUMBER() OVER (ORDER BY "index", id) - 1 AS new_index
|
||||
FROM "card"
|
||||
WHERE "listId" = ${listId} AND "deletedAt" IS NULL
|
||||
)
|
||||
UPDATE "card" c
|
||||
SET "index" = o.new_index
|
||||
FROM ordered o
|
||||
WHERE c.id = o.id;
|
||||
`);
|
||||
|
||||
const postFixDupes = await tx
|
||||
.select({ index: cards.index, count: countExpr })
|
||||
.from(cards)
|
||||
.where(and(eq(cards.listId, listId), isNull(cards.deletedAt)))
|
||||
.groupBy(cards.listId, cards.index)
|
||||
.having(gt(countExpr, 1));
|
||||
|
||||
if (postFixDupes.length > 0) {
|
||||
throw new Error(
|
||||
`Invariant violation: duplicate card indices remain after compaction in list ${listId}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return inserted;
|
||||
const result = await db.insert(cards).values(cardInput).returning({
|
||||
id: cards.id,
|
||||
});
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
export const createCardLabelRelationship = async (
|
||||
@@ -713,53 +606,9 @@ export const reorder = async (
|
||||
.having(gt(countExpr, 1));
|
||||
|
||||
if (duplicateIndices.length > 0) {
|
||||
// Auto-heal by compacting indices for the affected list(s)
|
||||
const affectedListIds = [currentList.id, newList?.id].filter(
|
||||
(id): id is number => id !== undefined,
|
||||
throw new Error(
|
||||
`Duplicate indices found after reordering card ${card.id}`,
|
||||
);
|
||||
|
||||
if (affectedListIds.length === 1) {
|
||||
await tx.execute(sql`
|
||||
WITH ordered AS (
|
||||
SELECT id, ROW_NUMBER() OVER (ORDER BY "index", id) - 1 AS new_index
|
||||
FROM "card"
|
||||
WHERE "listId" = ${affectedListIds[0]} AND "deletedAt" IS NULL
|
||||
)
|
||||
UPDATE "card" c
|
||||
SET "index" = o.new_index
|
||||
FROM ordered o
|
||||
WHERE c.id = o.id;
|
||||
`);
|
||||
} else if (affectedListIds.length === 2) {
|
||||
await tx.execute(sql`
|
||||
WITH ordered AS (
|
||||
SELECT id,
|
||||
ROW_NUMBER() OVER (PARTITION BY "listId" ORDER BY "index", id) - 1 AS new_index
|
||||
FROM "card"
|
||||
WHERE "listId" IN (${sql.join(affectedListIds, sql`,`)}) AND "deletedAt" IS NULL
|
||||
)
|
||||
UPDATE "card" c
|
||||
SET "index" = o.new_index
|
||||
FROM ordered o
|
||||
WHERE c.id = o.id;
|
||||
`);
|
||||
}
|
||||
|
||||
// Verify fix and rollback if necessary
|
||||
const postFixDupes = await tx
|
||||
.select({ index: cards.index, count: countExpr })
|
||||
.from(cards)
|
||||
.where(
|
||||
and(inArray(cards.listId, affectedListIds), isNull(cards.deletedAt)),
|
||||
)
|
||||
.groupBy(cards.listId, cards.index)
|
||||
.having(gt(countExpr, 1));
|
||||
|
||||
if (postFixDupes.length > 0) {
|
||||
throw new Error(
|
||||
`Invariant violation: duplicate card indices remain after compaction for card ${card.id}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const updatedCard = await tx.query.cards.findFirst({
|
||||
|
||||
@@ -89,7 +89,6 @@
|
||||
"APPLE_CLIENT_ID",
|
||||
"APPLE_CLIENT_SECRET",
|
||||
"APPLE_APP_BUNDLE_IDENTIFIER",
|
||||
"NEXT_PUBLIC_DISABLE_EMAIL",
|
||||
"EMAIL_FROM",
|
||||
"SMTP_HOST",
|
||||
"SMTP_PORT",
|
||||
|
||||
Reference in New Issue
Block a user