Compare commits

...

8 Commits

Author SHA1 Message Date
0eff336175 v1.8.0-rc.4 2024-11-19 16:44:25 +11:00
9bdd5c31cc fix: sort recipients for template with signing order (#1468) 2024-11-18 15:54:51 +07:00
57ad7c150b chore: add translations (#1474) 2024-11-18 08:40:25 +11:00
b0829e6cdf v1.8.0-rc.3 2024-11-16 09:23:05 +11:00
08a446fefd feat: support windows for 2fa tokens (#1478)
## Description

When using 2fa enabled authentication on direct templates we run into an
issue where a 2fa token has been attached to a field but it's submitted
at a later point.

To better facilitate this we have introduced the ability to have a
window of valid tokens.

This won't affect other signing methods since tokens are verified
immediately after they're entered.

## Related Issue

N/A

## Changes Made

- Updated our validate2FAToken method to use a window based approach
rather than the default verify method.

## Testing Performed

- Created a series of tokens and tested upon different intervals and
windows to confirm functionality works as expected.
2024-11-16 09:17:45 +11:00
f15f9ecdd1 chore: update docs 2024-11-15 21:47:22 +07:00
979e3f3e71 fix: always allow access to billing (#1476) 2024-11-15 21:34:39 +07:00
876803b5db fix: handle team invites being accepted but not added 2024-11-15 13:27:36 +11:00
25 changed files with 458 additions and 228 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@documenso/marketing",
"version": "1.8.0-rc.2",
"version": "1.8.0-rc.4",
"private": true,
"license": "AGPL-3.0",
"scripts": {

View File

@ -1,6 +1,6 @@
{
"name": "@documenso/web",
"version": "1.8.0-rc.2",
"version": "1.8.0-rc.4",
"private": true,
"license": "AGPL-3.0",
"scripts": {

View File

@ -12,9 +12,10 @@ import { createBillingPortal } from './create-billing-portal.action';
export type BillingPortalButtonProps = {
buttonProps?: React.ComponentProps<typeof Button>;
children?: React.ReactNode;
};
export const BillingPortalButton = ({ buttonProps }: BillingPortalButtonProps) => {
export const BillingPortalButton = ({ buttonProps, children }: BillingPortalButtonProps) => {
const { _ } = useLingui();
const { toast } = useToast();
@ -63,7 +64,7 @@ export const BillingPortalButton = ({ buttonProps }: BillingPortalButtonProps) =
onClick={async () => handleFetchPortalUrl()}
loading={isFetchingPortalUrl}
>
<Trans>Manage Subscription</Trans>
{children || <Trans>Manage Subscription</Trans>}
</Button>
);
};

View File

@ -68,60 +68,74 @@ export default async function BillingSettingsPage() {
return (
<div>
<h3 className="text-2xl font-semibold">
<Trans>Billing</Trans>
</h3>
<div className="flex flex-row items-end justify-between">
<div>
<h3 className="text-2xl font-semibold">
<Trans>Billing</Trans>
</h3>
<div className="text-muted-foreground mt-2 text-sm">
{isMissingOrInactiveOrFreePlan && (
<p>
<Trans>
You are currently on the <span className="font-semibold">Free Plan</span>.
</Trans>
</p>
)}
{/* Todo: Translation */}
{!isMissingOrInactiveOrFreePlan &&
match(subscription.status)
.with('ACTIVE', () => (
<p>
{subscriptionProduct ? (
<span>
You are currently subscribed to{' '}
<span className="font-semibold">{subscriptionProduct.name}</span>
</span>
) : (
<span>You currently have an active plan</span>
)}
{subscription.periodEnd && (
<span>
{' '}
which is set to{' '}
{subscription.cancelAtPeriodEnd ? (
<span>
end on{' '}
<span className="font-semibold">{i18n.date(subscription.periodEnd)}.</span>
</span>
) : (
<span>
automatically renew on{' '}
<span className="font-semibold">{i18n.date(subscription.periodEnd)}.</span>
</span>
)}
</span>
)}
</p>
))
.with('PAST_DUE', () => (
<div className="text-muted-foreground mt-2 text-sm">
{isMissingOrInactiveOrFreePlan && (
<p>
<Trans>
Your current plan is past due. Please update your payment information.
You are currently on the <span className="font-semibold">Free Plan</span>.
</Trans>
</p>
))
.otherwise(() => null)}
)}
{/* Todo: Translation */}
{!isMissingOrInactiveOrFreePlan &&
match(subscription.status)
.with('ACTIVE', () => (
<p>
{subscriptionProduct ? (
<span>
You are currently subscribed to{' '}
<span className="font-semibold">{subscriptionProduct.name}</span>
</span>
) : (
<span>You currently have an active plan</span>
)}
{subscription.periodEnd && (
<span>
{' '}
which is set to{' '}
{subscription.cancelAtPeriodEnd ? (
<span>
end on{' '}
<span className="font-semibold">
{i18n.date(subscription.periodEnd)}.
</span>
</span>
) : (
<span>
automatically renew on{' '}
<span className="font-semibold">
{i18n.date(subscription.periodEnd)}.
</span>
</span>
)}
</span>
)}
</p>
))
.with('PAST_DUE', () => (
<p>
<Trans>
Your current plan is past due. Please update your payment information.
</Trans>
</p>
))
.otherwise(() => null)}
</div>
</div>
{isMissingOrInactiveOrFreePlan && (
<BillingPortalButton>
<Trans>Manage billing</Trans>
</BillingPortalButton>
)}
</div>
<hr className="my-4" />

8
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@documenso/root",
"version": "1.8.0-rc.2",
"version": "1.8.0-rc.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@documenso/root",
"version": "1.8.0-rc.2",
"version": "1.8.0-rc.4",
"workspaces": [
"apps/*",
"packages/*"
@ -80,7 +80,7 @@
},
"apps/marketing": {
"name": "@documenso/marketing",
"version": "1.8.0-rc.2",
"version": "1.8.0-rc.4",
"license": "AGPL-3.0",
"dependencies": {
"@documenso/assets": "*",
@ -441,7 +441,7 @@
},
"apps/web": {
"name": "@documenso/web",
"version": "1.8.0-rc.2",
"version": "1.8.0-rc.4",
"license": "AGPL-3.0",
"dependencies": {
"@documenso/api": "*",

View File

@ -1,6 +1,6 @@
{
"private": true,
"version": "1.8.0-rc.2",
"version": "1.8.0-rc.4",
"scripts": {
"build": "turbo run build",
"build:web": "turbo run build --filter=@documenso/web",

View File

@ -168,6 +168,9 @@ export const ApiContractV1 = c.router(
500: ZUnsuccessfulResponseSchema,
},
summary: 'Send a document for signing',
// I'm aware this should be in the variable itself, which it is, however it's difficult for users to find in our current UI.
description:
'Notes\n\n`sendEmail` - Whether to send an email to the recipients asking them to action the document. If you disable this, you will need to manually distribute the document to the recipients using the generated signing links. Defaults to true',
},
resendDocument: {

View File

@ -67,7 +67,10 @@ export type TSuccessfulDocumentResponseSchema = z.infer<typeof ZSuccessfulDocume
export const ZSendDocumentForSigningMutationSchema = z
.object({
sendEmail: z.boolean().optional().default(true),
sendEmail: z.boolean().optional().default(true).openapi({
description:
'Whether to send an email to the recipients asking them to action the document. If you disable this, you will need to manually distribute the document to the recipients using the generated signing links.',
}),
})
.or(z.literal('').transform(() => ({ sendEmail: true })));

View File

@ -1,21 +1,25 @@
import { base32 } from '@scure/base';
import { TOTPController } from 'oslo/otp';
import { generateHOTP } from 'oslo/otp';
import type { User } from '@documenso/prisma/client';
import { DOCUMENSO_ENCRYPTION_KEY } from '../../constants/crypto';
import { symmetricDecrypt } from '../../universal/crypto';
const totp = new TOTPController();
type VerifyTwoFactorAuthenticationTokenOptions = {
user: User;
totpCode: string;
// The number of windows to look back
window?: number;
// The duration that the token is valid for in seconds
period?: number;
};
export const verifyTwoFactorAuthenticationToken = async ({
user,
totpCode,
window = 1,
period = 30_000,
}: VerifyTwoFactorAuthenticationTokenOptions) => {
const key = DOCUMENSO_ENCRYPTION_KEY;
@ -27,7 +31,21 @@ export const verifyTwoFactorAuthenticationToken = async ({
'utf-8',
);
const isValidToken = await totp.verify(totpCode, base32.decode(secret));
const decodedSecret = base32.decode(secret);
return isValidToken;
let now = Date.now();
for (let i = 0; i < window; i++) {
const counter = Math.floor(now / period);
const hotp = await generateHOTP(decodedSecret, counter);
if (totpCode === hotp) {
return true;
}
now -= period;
}
return false;
};

View File

@ -112,6 +112,7 @@ export const isRecipientAuthorized = async ({
return await verifyTwoFactorAuthenticationToken({
user,
totpCode: token,
window: 10, // 5 minutes worth of tokens
});
})
.exhaustive();

View File

@ -42,7 +42,16 @@ export const acceptTeamInvitation = async ({ userId, teamId }: AcceptTeamInvitat
});
if (teamMemberInvite.status === TeamMemberInviteStatus.ACCEPTED) {
return;
const memberExists = await tx.teamMember.findFirst({
where: {
teamId: teamMemberInvite.teamId,
userId: user.id,
},
});
if (memberExists) {
return;
}
}
const { team } = teamMemberInvite;

View File

@ -3,7 +3,7 @@ import { hash } from '@node-rs/bcrypt';
import { getStripeCustomerByUser } from '@documenso/ee/server-only/stripe/get-customer';
import { updateSubscriptionItemQuantity } from '@documenso/ee/server-only/stripe/update-subscription-item-quantity';
import { prisma } from '@documenso/prisma';
import { IdentityProvider, Prisma, TeamMemberInviteStatus } from '@documenso/prisma/client';
import { IdentityProvider, TeamMemberInviteStatus } from '@documenso/prisma/client';
import { IS_BILLING_ENABLED } from '../../constants/app';
import { SALT_ROUNDS } from '../../constants/auth';
@ -59,11 +59,11 @@ export const createUser = async ({ name, email, password, signature, url }: Crea
const acceptedTeamInvites = await prisma.teamMemberInvite.findMany({
where: {
status: TeamMemberInviteStatus.ACCEPTED,
email: {
equals: email,
mode: Prisma.QueryMode.insensitive,
mode: 'insensitive',
},
status: TeamMemberInviteStatus.ACCEPTED,
},
});

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@ -209,11 +209,11 @@ msgstr "{recipientName} {action} ein Dokument, indem Sie einen Ihrer direkten Li
#: packages/email/templates/document-rejected.tsx:27
msgid "{recipientName} has rejected the document '{documentName}'"
msgstr ""
msgstr "{recipientName} hat das Dokument '{documentName}' abgelehnt"
#: packages/email/template-components/template-document-rejected.tsx:25
msgid "{signerName} has rejected the document \"{documentName}\"."
msgstr ""
msgstr "{signerName} hat das Dokument \"{documentName}\" abgelehnt."
#: packages/email/template-components/template-document-invite.tsx:68
msgid "{teamName} has invited you to {0}"
@ -241,7 +241,7 @@ msgstr "{userName} hat ihre Aufgabe abgeschlossen"
#: packages/lib/utils/document-audit-logs.ts:355
msgid "{userName} rejected the document"
msgstr ""
msgstr "{userName} hat das Dokument abgelehnt"
#: packages/lib/utils/document-audit-logs.ts:341
msgid "{userName} signed the document"
@ -672,11 +672,11 @@ msgstr "Empfänger des direkten Links"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
msgid "Document \"{0}\" - Rejected by {1}"
msgstr ""
msgstr "Dokument \"{0}\" - Abgelehnt von {1}"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
msgid "Document \"{0}\" - Rejection Confirmed"
msgstr ""
msgstr "Dokument \"{0}\" - Ablehnung Bestätigt"
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
#: packages/ui/primitives/document-flow/add-settings.tsx:216
@ -750,7 +750,10 @@ msgstr "E-Mail über ausstehende Dokumente"
#: packages/email/template-components/template-document-rejected.tsx:21
msgid "Document Rejected"
msgstr ""
msgstr "Dokument Abgelehnt"
#~ msgid "Document Rejection Confirmed"
#~ msgstr "Document Rejection Confirmed"
#: packages/lib/utils/document-audit-logs.ts:330
msgid "Document sent"
@ -927,6 +930,9 @@ msgstr "Zurück"
msgid "Green"
msgstr "Grün"
#~ msgid "Hello {recipientName},"
#~ msgstr "Hello {recipientName},"
#: packages/email/templates/reset-password.tsx:56
msgid "Hi, {userName} <0>({userEmail})</0>"
msgstr "Hallo, {userName} <0>({userEmail})</0>"
@ -1182,7 +1188,7 @@ msgstr "Nur lesen"
#: packages/email/template-components/template-document-rejected.tsx:32
msgid "Reason for rejection: {rejectionReason}"
msgstr ""
msgstr "Grund für die Ablehnung: {rejectionReason}"
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
@ -1218,15 +1224,15 @@ msgstr "Weiterleitungs-URL"
#: packages/email/template-components/template-document-invite.tsx:96
msgid "Reject Document"
msgstr ""
msgstr "Dokument Ablehnen"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
msgid "Rejection Confirmed"
msgstr ""
msgstr "Ablehnung Bestätigt"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
msgid "Rejection reason: {reason}"
msgstr ""
msgstr "Ablehnungsgrund: {reason}"
#: packages/lib/server-only/document/resend-document.tsx:192
msgid "Reminder: {0}"
@ -1473,9 +1479,12 @@ msgstr "Die Authentifizierung, die erforderlich ist, damit Empfänger das Signat
msgid "The authentication required for recipients to view the document."
msgstr "Die Authentifizierung, die erforderlich ist, damit Empfänger das Dokument anzeigen können."
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
msgstr ""
msgstr "Der Dokumenteninhaber wurde über diese Ablehnung informiert. Es sind derzeit keine weiteren Maßnahmen von Ihnen erforderlich. Der Dokumenteninhaber kann Sie bei Fragen zu dieser Ablehnung kontaktieren."
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
@ -1557,9 +1566,12 @@ msgstr "Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das P
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Dieses Dokument wurde mit <0>Documenso.</0> gesendet"
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
msgstr ""
msgstr "Diese E-Mail bestätigt, dass Sie das Dokument <0>\"{documentName}\"</0> abgelehnt haben, das von {documentOwnerName} gesendet wurde."
#: packages/ui/components/document/document-email-checkboxes.tsx:94
msgid "This email is sent to the recipient if they are removed from a pending document."
@ -1738,7 +1750,7 @@ msgstr "Sie können die folgenden Variablen in Ihrer Nachricht verwenden:"
#: packages/email/template-components/template-document-rejected.tsx:37
msgid "You can view the document and its status by clicking the button below."
msgstr ""
msgstr "Sie können das Dokument und seinen Status einsehen, indem Sie auf die Schaltfläche unten klicken."
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
@ -1775,7 +1787,10 @@ msgstr "Sie haben Ihr Dokumentenlimit erreicht."
#: packages/email/templates/document-rejection-confirmed.tsx:27
msgid "You have rejected the document '{documentName}'"
msgstr ""
msgstr "Sie haben das Dokument '{documentName}' abgelehnt"
#~ msgid "You have rejected the document \"{documentName}\""
#~ msgstr "You have rejected the document \"{documentName}\""
#: packages/email/template-components/template-document-self-signed.tsx:42
msgid "You have signed “{documentName}”"
@ -1793,3 +1808,4 @@ msgstr "Dein Passwort wurde aktualisiert."
#: packages/email/templates/team-delete.tsx:32
msgid "Your team has been deleted"
msgstr "Dein Team wurde gelöscht"

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@ -602,3 +602,4 @@ msgstr "Sie können Documenso kostenlos selbst hosten oder unsere sofort einsatz
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
msgid "Your browser does not support the video tag."
msgstr "Ihr Browser unterstützt das Video-Tag nicht."

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@ -38,11 +38,13 @@ msgstr "\"{email}\" im Namen von \"{teamName}\" hat Sie eingeladen, \"Beispieldo
#~ msgid ""
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
#~ "document\"."
#~ msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
#~ msgstr ""
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
#~ "document\"."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
msgstr ""
msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterzeichnen."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
@ -666,7 +668,7 @@ msgstr "Bist du sicher, dass du dieses Token löschen möchtest?"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
msgid "Are you sure you want to reject this document? This action cannot be undone."
msgstr ""
msgstr "Sind Sie sicher, dass Sie dieses Dokument ablehnen möchten? Diese Aktion kann nicht rückgängig gemacht werden."
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
@ -1522,7 +1524,7 @@ msgstr "Dokument erneut gesendet"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
msgid "Document Rejected"
msgstr ""
msgstr "Dokument abgelehnt"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
@ -2403,7 +2405,7 @@ msgstr "Keine aktiven Entwürfe"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
msgid "No further action is required from you at this time."
msgstr ""
msgstr "Es sind derzeit keine weiteren Maßnahmen Ihrerseits erforderlich."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
msgid "No payment required"
@ -2705,7 +2707,7 @@ msgstr "Bitte beachten Sie, dass Sie den Zugriff auf alle mit diesem Team verbun
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
msgid "Please provide a reason"
msgstr ""
msgstr "Bitte geben Sie einen Grund an"
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
@ -2825,11 +2827,11 @@ msgstr "Grund"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
msgid "Reason for rejection:"
msgstr ""
msgstr "Grund für die Ablehnung:"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
msgid "Reason must be less than 500 characters"
msgstr ""
msgstr "Der Grund muss weniger als 500 Zeichen lang sein"
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
msgid "Reauthentication is required to sign this field"
@ -2887,12 +2889,12 @@ msgstr "Registrierung erfolgreich"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
msgid "Reject Document"
msgstr ""
msgstr "Dokument ablehnen"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
msgid "Rejected"
msgstr ""
msgstr "Abgelehnt"
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In</0>"
@ -3681,7 +3683,7 @@ msgstr "Das Dokument ist jetzt abgeschlossen. Bitte folgen Sie allen Anweisungen
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
msgstr ""
msgstr "Der Dokumenteneigentümer wurde über Ihre Entscheidung informiert. Er kann Sie bei Bedarf mit weiteren Anweisungen kontaktieren."
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
msgid "The document was created but could not be sent to recipients."
@ -4886,7 +4888,7 @@ msgstr "Sie haben Ihr Dokumentenlimit erreicht. <0>Upgrade your account to conti
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
msgid "You have rejected this document"
msgstr ""
msgstr "Sie haben dieses Dokument abgelehnt"
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
@ -5115,3 +5117,4 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
msgid "Your tokens will be shown here once you create them."
msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben."

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@ -209,11 +209,11 @@ msgstr "{recipientName} {action} un documento utilizando uno de tus enlaces dire
#: packages/email/templates/document-rejected.tsx:27
msgid "{recipientName} has rejected the document '{documentName}'"
msgstr ""
msgstr "{recipientName} ha rechazado el documento '{documentName}'"
#: packages/email/template-components/template-document-rejected.tsx:25
msgid "{signerName} has rejected the document \"{documentName}\"."
msgstr ""
msgstr "{signerName} ha rechazado el documento \"{documentName}\"."
#: packages/email/template-components/template-document-invite.tsx:68
msgid "{teamName} has invited you to {0}"
@ -241,7 +241,7 @@ msgstr "{userName} completó su tarea"
#: packages/lib/utils/document-audit-logs.ts:355
msgid "{userName} rejected the document"
msgstr ""
msgstr "{userName} rechazó el documento"
#: packages/lib/utils/document-audit-logs.ts:341
msgid "{userName} signed the document"
@ -672,11 +672,11 @@ msgstr "Receptor de enlace directo"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
msgid "Document \"{0}\" - Rejected by {1}"
msgstr ""
msgstr "Documento \"{0}\" - Rechazado por {1}"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
msgid "Document \"{0}\" - Rejection Confirmed"
msgstr ""
msgstr "Documento \"{0}\" - Rechazo confirmado"
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
#: packages/ui/primitives/document-flow/add-settings.tsx:216
@ -750,7 +750,10 @@ msgstr "Correo electrónico de documento pendiente"
#: packages/email/template-components/template-document-rejected.tsx:21
msgid "Document Rejected"
msgstr ""
msgstr "Documento Rechazado"
#~ msgid "Document Rejection Confirmed"
#~ msgstr "Document Rejection Confirmed"
#: packages/lib/utils/document-audit-logs.ts:330
msgid "Document sent"
@ -927,6 +930,9 @@ msgstr "Regresar"
msgid "Green"
msgstr "Verde"
#~ msgid "Hello {recipientName},"
#~ msgstr "Hello {recipientName},"
#: packages/email/templates/reset-password.tsx:56
msgid "Hi, {userName} <0>({userEmail})</0>"
msgstr "Hola, {userName} <0>({userEmail})</0>"
@ -1182,7 +1188,7 @@ msgstr "Solo lectura"
#: packages/email/template-components/template-document-rejected.tsx:32
msgid "Reason for rejection: {rejectionReason}"
msgstr ""
msgstr "Razón del rechazo: {rejectionReason}"
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
@ -1218,15 +1224,15 @@ msgstr "URL de redirección"
#: packages/email/template-components/template-document-invite.tsx:96
msgid "Reject Document"
msgstr ""
msgstr "Rechazar Documento"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
msgid "Rejection Confirmed"
msgstr ""
msgstr "Rechazo Confirmado"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
msgid "Rejection reason: {reason}"
msgstr ""
msgstr "Razón del rechazo: {reason}"
#: packages/lib/server-only/document/resend-document.tsx:192
msgid "Reminder: {0}"
@ -1473,9 +1479,12 @@ msgstr "La autenticación requerida para que los destinatarios firmen el campo d
msgid "The authentication required for recipients to view the document."
msgstr "La autenticación requerida para que los destinatarios vean el documento."
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
msgstr ""
msgstr "El propietario del documento ha sido notificado de este rechazo. No se requiere ninguna acción adicional de su parte en este momento. El propietario del documento puede contactarlo con cualquier pregunta relacionada con este rechazo."
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
@ -1557,9 +1566,12 @@ msgstr "Este documento está protegido por contraseña. Por favor ingrese la con
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Este documento fue enviado usando <0>Documenso.</0>"
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
msgstr ""
msgstr "Este correo electrónico confirma que ha rechazado el documento <0>\"{documentName}\"</0> enviado por {documentOwnerName}."
#: packages/ui/components/document/document-email-checkboxes.tsx:94
msgid "This email is sent to the recipient if they are removed from a pending document."
@ -1738,7 +1750,7 @@ msgstr "Puede usar las siguientes variables en su mensaje:"
#: packages/email/template-components/template-document-rejected.tsx:37
msgid "You can view the document and its status by clicking the button below."
msgstr ""
msgstr "Puede ver el documento y su estado haciendo clic en el botón de abajo."
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
@ -1775,7 +1787,10 @@ msgstr "Ha alcanzado su límite de documentos."
#: packages/email/templates/document-rejection-confirmed.tsx:27
msgid "You have rejected the document '{documentName}'"
msgstr ""
msgstr "Ha rechazado el documento '{documentName}'"
#~ msgid "You have rejected the document \"{documentName}\""
#~ msgstr "You have rejected the document \"{documentName}\""
#: packages/email/template-components/template-document-self-signed.tsx:42
msgid "You have signed “{documentName}”"
@ -1793,3 +1808,4 @@ msgstr "Tu contraseña ha sido actualizada."
#: packages/email/templates/team-delete.tsx:32
msgid "Your team has been deleted"
msgstr "Tu equipo ha sido eliminado"

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@ -602,3 +602,4 @@ msgstr "Puedes autoalojar Documenso de forma gratuita o usar nuestra versión al
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
msgid "Your browser does not support the video tag."
msgstr "Tu navegador no soporta la etiqueta de video."

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@ -39,12 +39,12 @@ msgstr "\"{email}\" en nombre de \"{teamName}\" te ha invitado a firmar \"ejempl
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
#~ "document\"."
#~ msgstr ""
#~ "\"{placeholderEmail}\" en nombre de \"{0}\" te ha invitado a firmar \"ejemplo\n"
#~ "documento\"."
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
#~ "document\"."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
msgstr ""
msgstr "\"{placeholderEmail}\" en nombre de \"{0}\" te ha invitado a firmar \"documento de ejemplo\"."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
@ -668,7 +668,7 @@ msgstr "¿Estás seguro de que deseas eliminar este token?"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
msgid "Are you sure you want to reject this document? This action cannot be undone."
msgstr ""
msgstr "Are you sure you want to reject this document? This action cannot be undone."
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
@ -1524,7 +1524,7 @@ msgstr "Documento reenviado"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
msgid "Document Rejected"
msgstr ""
msgstr "Document Rejected"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
@ -2405,7 +2405,7 @@ msgstr "No hay borradores activos"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
msgid "No further action is required from you at this time."
msgstr ""
msgstr "No further action is required from you at this time."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
msgid "No payment required"
@ -2707,7 +2707,7 @@ msgstr "Por favor, ten en cuenta que perderás acceso a todos los documentos aso
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
msgid "Please provide a reason"
msgstr ""
msgstr "Please provide a reason"
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
@ -2827,11 +2827,11 @@ msgstr "Razón"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
msgid "Reason for rejection:"
msgstr ""
msgstr "Reason for rejection:"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
msgid "Reason must be less than 500 characters"
msgstr ""
msgstr "Reason must be less than 500 characters"
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
msgid "Reauthentication is required to sign this field"
@ -2889,12 +2889,12 @@ msgstr "Registro exitoso"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
msgid "Reject Document"
msgstr ""
msgstr "Reject Document"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
msgid "Rejected"
msgstr ""
msgstr "Rejected"
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In</0>"
@ -3683,7 +3683,7 @@ msgstr "El documento ahora está completado, por favor sigue cualquier instrucci
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
msgstr ""
msgstr "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
msgid "The document was created but could not be sent to recipients."
@ -4888,7 +4888,7 @@ msgstr "Has alcanzado tu límite de documentos. <0>¡Actualiza tu cuenta para co
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
msgid "You have rejected this document"
msgstr ""
msgstr "You have rejected this document"
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
@ -5117,3 +5117,4 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
msgid "Your tokens will be shown here once you create them."
msgstr "Tus tokens se mostrarán aquí una vez que los crees."

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@ -209,11 +209,11 @@ msgstr "{recipientName} {action} un document en utilisant l'un de vos liens dire
#: packages/email/templates/document-rejected.tsx:27
msgid "{recipientName} has rejected the document '{documentName}'"
msgstr ""
msgstr "{recipientName} a rejeté le document '{documentName}'"
#: packages/email/template-components/template-document-rejected.tsx:25
msgid "{signerName} has rejected the document \"{documentName}\"."
msgstr ""
msgstr "{signerName} a rejeté le document \"{documentName}\"."
#: packages/email/template-components/template-document-invite.tsx:68
msgid "{teamName} has invited you to {0}"
@ -241,7 +241,7 @@ msgstr "{userName} a complété sa tâche"
#: packages/lib/utils/document-audit-logs.ts:355
msgid "{userName} rejected the document"
msgstr ""
msgstr "{userName} a rejeté le document"
#: packages/lib/utils/document-audit-logs.ts:341
msgid "{userName} signed the document"
@ -672,11 +672,11 @@ msgstr "Receveur de lien direct"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
msgid "Document \"{0}\" - Rejected by {1}"
msgstr ""
msgstr "Document \"{0}\" - Rejeté par {1}"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
msgid "Document \"{0}\" - Rejection Confirmed"
msgstr ""
msgstr "Document \"{0}\" - Rejet Confirmé"
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
#: packages/ui/primitives/document-flow/add-settings.tsx:216
@ -750,7 +750,10 @@ msgstr "E-mail de document en attente"
#: packages/email/template-components/template-document-rejected.tsx:21
msgid "Document Rejected"
msgstr ""
msgstr "Document Rejeté"
#~ msgid "Document Rejection Confirmed"
#~ msgstr "Document Rejection Confirmed"
#: packages/lib/utils/document-audit-logs.ts:330
msgid "Document sent"
@ -927,6 +930,9 @@ msgstr "Retourner"
msgid "Green"
msgstr "Vert"
#~ msgid "Hello {recipientName},"
#~ msgstr "Hello {recipientName},"
#: packages/email/templates/reset-password.tsx:56
msgid "Hi, {userName} <0>({userEmail})</0>"
msgstr "Bonjour, {userName} <0>({userEmail})</0>"
@ -1182,7 +1188,7 @@ msgstr "Lecture seule"
#: packages/email/template-components/template-document-rejected.tsx:32
msgid "Reason for rejection: {rejectionReason}"
msgstr ""
msgstr "Raison du rejet : {rejectionReason}"
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
@ -1218,15 +1224,15 @@ msgstr "URL de redirection"
#: packages/email/template-components/template-document-invite.tsx:96
msgid "Reject Document"
msgstr ""
msgstr "Rejeter le Document"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
msgid "Rejection Confirmed"
msgstr ""
msgstr "Rejet Confirmé"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
msgid "Rejection reason: {reason}"
msgstr ""
msgstr "Motif du rejet : {reason}"
#: packages/lib/server-only/document/resend-document.tsx:192
msgid "Reminder: {0}"
@ -1473,9 +1479,12 @@ msgstr "L'authentification requise pour que les destinataires signent le champ d
msgid "The authentication required for recipients to view the document."
msgstr "L'authentification requise pour que les destinataires visualisent le document."
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
msgstr ""
msgstr "Le propriétaire du document a été informé de ce rejet. Aucune action supplémentaire n'est requise de votre part pour le moment. Le propriétaire du document peut vous contacter pour toute question concernant ce rejet."
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
@ -1557,9 +1566,12 @@ msgstr "Ce document est protégé par mot de passe. Veuillez entrer le mot de pa
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Ce document a été envoyé via <0>Documenso.</0>"
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
msgstr ""
msgstr "Cet e-mail confirme que vous avez rejeté le document <0>\"{documentName}\"</0> envoyé par {documentOwnerName}."
#: packages/ui/components/document/document-email-checkboxes.tsx:94
msgid "This email is sent to the recipient if they are removed from a pending document."
@ -1738,7 +1750,7 @@ msgstr "Vous pouvez utiliser les variables suivantes dans votre message :"
#: packages/email/template-components/template-document-rejected.tsx:37
msgid "You can view the document and its status by clicking the button below."
msgstr ""
msgstr "Vous pouvez voir le document et son statut en cliquant sur le bouton ci-dessous."
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
@ -1775,7 +1787,10 @@ msgstr "Vous avez atteint votre limite de documents."
#: packages/email/templates/document-rejection-confirmed.tsx:27
msgid "You have rejected the document '{documentName}'"
msgstr ""
msgstr "Vous avez rejeté le document '{documentName}'"
#~ msgid "You have rejected the document \"{documentName}\""
#~ msgstr "You have rejected the document \"{documentName}\""
#: packages/email/template-components/template-document-self-signed.tsx:42
msgid "You have signed “{documentName}”"
@ -1793,3 +1808,4 @@ msgstr "Votre mot de passe a été mis à jour."
#: packages/email/templates/team-delete.tsx:32
msgid "Your team has been deleted"
msgstr "Votre équipe a été supprimée"

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@ -602,3 +602,4 @@ msgstr "Vous pouvez auto-héberger Documenso gratuitement ou utiliser notre vers
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
msgid "Your browser does not support the video tag."
msgstr "Votre navigateur ne prend pas en charge la balise vidéo."

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 05:45\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@ -39,12 +39,12 @@ msgstr "\"{email}\" au nom de \"{teamName}\" vous a invité à signer \"example
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
#~ "document\"."
#~ msgstr ""
#~ "\"{placeholderEmail}\" au nom de \"{0}\" vous a invité à signer \"example\n"
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
#~ "document\"."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
msgstr ""
msgstr "\"{placeholderEmail}\" au nom de \"{0}\" vous a invité à signer \"exemple de document\"."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
@ -668,7 +668,7 @@ msgstr "Êtes-vous sûr de vouloir supprimer ce jeton ?"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
msgid "Are you sure you want to reject this document? This action cannot be undone."
msgstr ""
msgstr "Êtes-vous sûr de vouloir rejeter ce document ? Cette action ne peut pas être annulée."
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
@ -1524,7 +1524,7 @@ msgstr "Document renvoyé"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
msgid "Document Rejected"
msgstr ""
msgstr "Document rejeté"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
@ -2405,7 +2405,7 @@ msgstr "Pas de brouillons actifs"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
msgid "No further action is required from you at this time."
msgstr ""
msgstr "Aucune autre action n'est requise de votre part pour le moment."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
msgid "No payment required"
@ -2707,7 +2707,7 @@ msgstr "Veuillez noter que vous perdrez l'accès à tous les documents associés
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
msgid "Please provide a reason"
msgstr ""
msgstr "Veuillez fournir une raison"
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
@ -2827,11 +2827,11 @@ msgstr "Raison"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
msgid "Reason for rejection:"
msgstr ""
msgstr "Raison du rejet :"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
msgid "Reason must be less than 500 characters"
msgstr ""
msgstr "La raison doit contenir moins de 500 caractères"
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
msgid "Reauthentication is required to sign this field"
@ -2889,12 +2889,12 @@ msgstr "Inscription réussie"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
msgid "Reject Document"
msgstr ""
msgstr "Rejeter le document"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
msgid "Rejected"
msgstr ""
msgstr "Rejeté"
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In</0>"
@ -3683,7 +3683,7 @@ msgstr "Le document est maintenant complet, veuillez suivre toutes les instructi
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
msgstr ""
msgstr "Le propriétaire du document a été informé de votre décision. Il peut vous contacter pour des instructions supplémentaires si nécessaire."
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
msgid "The document was created but could not be sent to recipients."
@ -4888,7 +4888,7 @@ msgstr "Vous avez atteint votre limite de documents. <0>Mettez à niveau votre c
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
msgid "You have rejected this document"
msgstr ""
msgstr "Vous avez rejeté ce document"
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
@ -5117,3 +5117,4 @@ msgstr "Votre jeton a été créé avec succès ! Assurez-vous de le copier car
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
msgid "Your tokens will be shown here once you create them."
msgstr "Vos jetons seront affichés ici une fois que vous les aurez créés."

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 08:43\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
@ -79,7 +79,7 @@ msgstr "{inviterName} anulował dokument {documentName}, nie musisz go już podp
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
msgstr "{inviterName} anulował dokument<0/>\"{documentName}\""
#: packages/email/template-components/template-document-invite.tsx:65
#: packages/email/template-components/template-document-invite.tsx:75
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
msgstr "{inviterName} zaprosił Cię do {0}<0/>\"{documentName}\""
@ -99,7 +99,7 @@ msgstr "{inviterName} usunął Cię z dokumentu {documentName}."
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
msgstr "{inviterName} usunął cię z dokumentu<0/>„{documentName}”"
#: packages/email/template-components/template-document-invite.tsx:53
#: packages/email/template-components/template-document-invite.tsx:63
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
msgstr "{inviterName} w imieniu {teamName} zaprosił cię do {0}"
@ -151,11 +151,11 @@ msgstr "{prefix} usunął pole"
msgid "{prefix} removed a recipient"
msgstr "{prefix} usunął odbiorcę"
#: packages/lib/utils/document-audit-logs.ts:355
#: packages/lib/utils/document-audit-logs.ts:365
msgid "{prefix} resent an email to {0}"
msgstr "{prefix} ponownie wysłał e-mail do {0}"
#: packages/lib/utils/document-audit-logs.ts:356
#: packages/lib/utils/document-audit-logs.ts:366
msgid "{prefix} sent an email to {0}"
msgstr "{prefix} wysłał e-mail do {0}"
@ -207,7 +207,15 @@ msgstr "{prefix} zaktualizowana widoczność dokumentu"
msgid "{recipientName} {action} a document by using one of your direct links"
msgstr "{recipientName} {action} dokument, korzystając z jednego z Twoich bezpośrednich linków"
#: packages/email/template-components/template-document-invite.tsx:58
#: packages/email/templates/document-rejected.tsx:27
msgid "{recipientName} has rejected the document '{documentName}'"
msgstr "{recipientName} odrzucił dokument '{documentName}'"
#: packages/email/template-components/template-document-rejected.tsx:25
msgid "{signerName} has rejected the document \"{documentName}\"."
msgstr "{signerName} odrzucił dokument \"{documentName}\"."
#: packages/email/template-components/template-document-invite.tsx:68
msgid "{teamName} has invited you to {0}"
msgstr "{teamName} zaprosił cię do {0}"
@ -231,6 +239,10 @@ msgstr "{userName} dodał CC do dokumentu"
msgid "{userName} completed their task"
msgstr "{userName} zakończył swoje zadanie"
#: packages/lib/utils/document-audit-logs.ts:355
msgid "{userName} rejected the document"
msgstr "{userName} odrzucił dokument"
#: packages/lib/utils/document-audit-logs.ts:341
msgid "{userName} signed the document"
msgstr "{userName} podpisał dokument"
@ -398,7 +410,7 @@ msgstr "Dodaj kolejną opcję"
msgid "Add another value"
msgstr "Dodaj kolejną wartość"
#: packages/ui/primitives/document-flow/add-signers.tsx:662
#: packages/ui/primitives/document-flow/add-signers.tsx:691
msgid "Add myself"
msgstr "Dodaj siebie"
@ -410,7 +422,7 @@ msgstr "Dodaj siebie"
msgid "Add Placeholder Recipient"
msgstr "Dodaj odbiorcę zastępczego"
#: packages/ui/primitives/document-flow/add-signers.tsx:651
#: packages/ui/primitives/document-flow/add-signers.tsx:680
msgid "Add Signer"
msgstr "Dodaj sygnatariusza"
@ -460,7 +472,7 @@ msgstr "Wystąpił błąd podczas ładowania dokumentu."
msgid "Approve"
msgstr "Zatwierdź"
#: packages/email/template-components/template-document-invite.tsx:89
#: packages/email/template-components/template-document-invite.tsx:106
msgid "Approve Document"
msgstr "Zatwierdź dokument"
@ -590,7 +602,7 @@ msgstr "Kontynuuj"
#~ msgid "Continue by {0} the document."
#~ msgstr "Continue by {0} the document."
#: packages/email/template-components/template-document-invite.tsx:76
#: packages/email/template-components/template-document-invite.tsx:86
msgid "Continue by approving the document."
msgstr "Kontynuuj, zatwierdzając dokument."
@ -598,11 +610,11 @@ msgstr "Kontynuuj, zatwierdzając dokument."
msgid "Continue by downloading the document."
msgstr "Kontynuuj, pobierając dokument."
#: packages/email/template-components/template-document-invite.tsx:74
#: packages/email/template-components/template-document-invite.tsx:84
msgid "Continue by signing the document."
msgstr "Kontynuuj, podpisując dokument."
#: packages/email/template-components/template-document-invite.tsx:75
#: packages/email/template-components/template-document-invite.tsx:85
msgid "Continue by viewing the document."
msgstr "Kontynuuj, wyświetlając dokument."
@ -658,6 +670,14 @@ msgstr "Nie prosiłeś o zmianę hasła? Jesteśmy tutaj, aby pomóc Ci zabezpie
msgid "Direct link receiver"
msgstr "Odbiorca linku bezpośredniego"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
msgid "Document \"{0}\" - Rejected by {1}"
msgstr "Dokument \"{0}\" - Odrzucony przez {1}"
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
msgid "Document \"{0}\" - Rejection Confirmed"
msgstr "Dokument \"{0}\" - Odrzucenie potwierdzone"
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
#: packages/ui/primitives/document-flow/add-settings.tsx:216
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
@ -673,8 +693,8 @@ msgstr "Zaktualizowano autoryzację dostępu do dokumentu"
msgid "Document Cancelled"
msgstr "Dokument anulowany"
#: packages/lib/utils/document-audit-logs.ts:359
#: packages/lib/utils/document-audit-logs.ts:360
#: packages/lib/utils/document-audit-logs.ts:369
#: packages/lib/utils/document-audit-logs.ts:370
msgid "Document completed"
msgstr "Dokument ukończony"
@ -728,6 +748,13 @@ msgstr "Dokument otwarty"
msgid "Document pending email"
msgstr "E-mail oczekującego dokumentu"
#: packages/email/template-components/template-document-rejected.tsx:21
msgid "Document Rejected"
msgstr "Dokument odrzucone"
#~ msgid "Document Rejection Confirmed"
#~ msgstr "Document Rejection Confirmed"
#: packages/lib/utils/document-audit-logs.ts:330
msgid "Document sent"
msgstr "Dokument wysłany"
@ -773,8 +800,8 @@ msgstr "Opcje rozwijane"
#: packages/lib/constants/document.ts:28
#: packages/ui/primitives/document-flow/add-fields.tsx:875
#: packages/ui/primitives/document-flow/add-signature.tsx:272
#: packages/ui/primitives/document-flow/add-signers.tsx:500
#: packages/ui/primitives/document-flow/add-signers.tsx:507
#: packages/ui/primitives/document-flow/add-signers.tsx:512
#: packages/ui/primitives/document-flow/add-signers.tsx:519
#: packages/ui/primitives/document-flow/types.ts:54
#: packages/ui/primitives/template-flow/add-template-fields.tsx:638
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:463
@ -790,11 +817,11 @@ msgstr "Email jest wymagany"
msgid "Email Options"
msgstr "Opcje e-mail"
#: packages/lib/utils/document-audit-logs.ts:353
#: packages/lib/utils/document-audit-logs.ts:363
msgid "Email resent"
msgstr "E-mail wysłany ponownie"
#: packages/lib/utils/document-audit-logs.ts:353
#: packages/lib/utils/document-audit-logs.ts:363
msgid "Email sent"
msgstr "E-mail wysłany"
@ -903,6 +930,9 @@ msgstr "Wróć"
msgid "Green"
msgstr "Zielony"
#~ msgid "Hello {recipientName},"
#~ msgstr "Hello {recipientName},"
#: packages/email/templates/reset-password.tsx:56
msgid "Hi, {userName} <0>({userEmail})</0>"
msgstr "Cześć, {userName} <0>({userEmail})</0>"
@ -988,8 +1018,8 @@ msgstr "Min"
#: packages/ui/primitives/document-flow/add-fields.tsx:901
#: packages/ui/primitives/document-flow/add-signature.tsx:298
#: packages/ui/primitives/document-flow/add-signers.tsx:535
#: packages/ui/primitives/document-flow/add-signers.tsx:541
#: packages/ui/primitives/document-flow/add-signers.tsx:550
#: packages/ui/primitives/document-flow/add-signers.tsx:556
#: packages/ui/primitives/document-flow/types.ts:55
#: packages/ui/primitives/template-flow/add-template-fields.tsx:664
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:498
@ -1107,7 +1137,7 @@ msgstr "Wybierz numer"
msgid "Placeholder"
msgstr "Zastępczy tekst"
#: packages/email/template-components/template-document-invite.tsx:46
#: packages/email/template-components/template-document-invite.tsx:56
msgid "Please {0} your document<0/>\"{documentName}\""
msgstr "Proszę {0} Twój dokument<0/>\"{documentName}\""
@ -1156,11 +1186,16 @@ msgstr "Wartości radiowe"
msgid "Read only"
msgstr "Tylko do odczytu"
#: packages/email/template-components/template-document-rejected.tsx:32
msgid "Reason for rejection: {rejectionReason}"
msgstr "Powód odrzucenia: {rejectionReason}"
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
msgstr "Otrzymuje kopię"
#: packages/lib/utils/document-audit-logs.ts:338
#: packages/lib/utils/document-audit-logs.ts:353
msgid "Recipient"
msgstr "Odbiorca"
@ -1187,6 +1222,18 @@ msgstr "Czerwony"
msgid "Redirect URL"
msgstr "Adres URL przekierowania"
#: packages/email/template-components/template-document-invite.tsx:96
msgid "Reject Document"
msgstr "Odrzuć dokument"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
msgid "Rejection Confirmed"
msgstr "Odmowa potwierdzona"
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
msgid "Rejection reason: {reason}"
msgstr "Powód odrzucenia: {reason}"
#: packages/lib/server-only/document/resend-document.tsx:192
msgid "Reminder: {0}"
msgstr "Przypomnienie: {0}"
@ -1306,7 +1353,7 @@ msgstr "Udostępnij link"
msgid "Share your signing experience!"
msgstr "Podziel się swoim doświadczeniem podpisywania!"
#: packages/ui/primitives/document-flow/add-signers.tsx:680
#: packages/ui/primitives/document-flow/add-signers.tsx:709
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655
msgid "Show advanced settings"
msgstr "Pokaż ustawienia zaawansowane"
@ -1315,7 +1362,7 @@ msgstr "Pokaż ustawienia zaawansowane"
msgid "Sign"
msgstr "Podpisz"
#: packages/email/template-components/template-document-invite.tsx:87
#: packages/email/template-components/template-document-invite.tsx:104
msgid "Sign Document"
msgstr "Podpisz dokument"
@ -1351,8 +1398,8 @@ msgstr "Podpisujący muszą mieć unikalne emaile"
msgid "Signing"
msgstr "Podpisywanie"
#: packages/lib/server-only/document/send-completed-email.ts:111
#: packages/lib/server-only/document/send-completed-email.ts:191
#: packages/lib/server-only/document/send-completed-email.ts:114
#: packages/lib/server-only/document/send-completed-email.ts:194
msgid "Signing Complete!"
msgstr "Podpisywanie zakończone!"
@ -1432,6 +1479,13 @@ msgstr "Uwierzytelnianie wymagane dla odbiorców do podpisania pola podpisu."
msgid "The authentication required for recipients to view the document."
msgstr "Uwierzytelnianie wymagane dla odbiorców do wyświetlenia dokumentu."
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
msgstr "Właściciel dokumentu został poinformowany o tym odrzuceniu. W tej chwili nie są wymagane żadne dalsze działania z Twojej strony. Właściciel dokumentu może się z Tobą skontaktować z pytaniami dotyczącymi tego odrzucenia."
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
msgstr "Nazwa dokumentu"
@ -1512,6 +1566,13 @@ msgstr "Ten dokument jest zabezpieczony hasłem. Proszę wprowadzić hasło, aby
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Ten dokument został wysłany za pomocą <0>Documenso.</0>"
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
msgstr "Ten email potwierdza, że odrzuciłeś dokument <0>\"{documentName}\"</0> wysłany przez {documentOwnerName}."
#: packages/ui/components/document/document-email-checkboxes.tsx:94
msgid "This email is sent to the recipient if they are removed from a pending document."
msgstr "Ten e-mail jest wysyłany do odbiorcy, jeśli zostanie usunięty z oczekującego dokumentu."
@ -1608,7 +1669,8 @@ msgstr "Wyświetl wszystkie dokumenty wysłane do i z tego adresu e-mail"
msgid "View document"
msgstr "Zobacz dokument"
#: packages/email/template-components/template-document-invite.tsx:88
#: packages/email/template-components/template-document-invite.tsx:105
#: packages/email/template-components/template-document-rejected.tsx:44
#: packages/ui/primitives/document-flow/add-subject.tsx:90
#: packages/ui/primitives/document-flow/add-subject.tsx:91
msgid "View Document"
@ -1686,6 +1748,10 @@ msgstr "Możesz w każdej chwili cofnąć dostęp w ustawieniach zespołu na Doc
msgid "You can use the following variables in your message:"
msgstr "Możesz użyć następujących zmiennych w swojej wiadomości:"
#: packages/email/template-components/template-document-rejected.tsx:37
msgid "You can view the document and its status by clicking the button below."
msgstr "Możesz zobaczyć dokument i jego status, klikając przycisk poniżej."
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
msgstr "Nie możesz przesyłać dokumentów w tej chwili."
@ -1719,6 +1785,13 @@ msgstr "Rozpocząłeś dokument {0}, który wymaga, abyś go {recipientActionVer
msgid "You have reached your document limit."
msgstr "Osiągnąłeś limit dokumentów."
#: packages/email/templates/document-rejection-confirmed.tsx:27
msgid "You have rejected the document '{documentName}'"
msgstr "Odrzuciłeś dokument '{documentName}'"
#~ msgid "You have rejected the document \"{documentName}\""
#~ msgstr "You have rejected the document \"{documentName}\""
#: packages/email/template-components/template-document-self-signed.tsx:42
msgid "You have signed “{documentName}”"
msgstr "Podpisałeś „{documentName}”"

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 08:43\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"

View File

@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: documenso-app\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-12 08:43\n"
"PO-Revision-Date: 2024-11-14 12:05\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
@ -50,15 +50,15 @@ msgstr "\"{placeholderEmail}\" w imieniu \"{0}\" zaprosił Cię do podpisania \"
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
msgstr "\"{teamUrl}\" zaprosił Cię do podpisania \"przykładowego dokumentu\"."
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:79
msgid "({0}) has invited you to approve this document"
msgstr "({0}) zaprosił Cię do zatwierdzenia tego dokumentu"
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:75
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:76
msgid "({0}) has invited you to sign this document"
msgstr "({0}) zaprosił Cię do podpisania tego dokumentu"
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:72
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:73
msgid "({0}) has invited you to view this document"
msgstr "({0}) zaprosił Cię do przeglądania tego dokumentu"
@ -658,7 +658,7 @@ msgstr "Zatwierdź"
msgid "Approve Document"
msgstr "Zatwierdź dokument"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:85
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
msgid "Approved"
msgstr "Zatwierdzono"
@ -666,6 +666,10 @@ msgstr "Zatwierdzono"
msgid "Are you sure you want to delete this token?"
msgstr "Czy na pewno chcesz usunąć ten token?"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
msgid "Are you sure you want to reject this document? This action cannot be undone."
msgstr "Czy na pewno chcesz odrzucić ten dokument? Ta akcja nie może być cofnięta."
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
msgstr "Czy na pewno chcesz usunąć klucz hasła <0>{passkeyName}</0>?"
@ -814,6 +818,7 @@ msgstr "Korzystając z funkcji podpisu elektronicznego, wyrażasz zgodę na prze
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:220
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:327
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:333
@ -946,7 +951,7 @@ msgid "Complete Viewing"
msgstr "Zakończ przeglądanie"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:77
#: apps/web/src/components/formatter/document-status.tsx:28
msgid "Completed"
msgstr "Zakończono"
@ -1043,7 +1048,7 @@ msgstr "Kontroluje formatowanie wiadomości, która zostanie wysłana podczas za
msgid "Copied"
msgstr "Skopiowano"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:133
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:162
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:77
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:31
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:163
@ -1517,6 +1522,10 @@ msgstr "Preferencje dokumentu zaktualizowane"
msgid "Document re-sent"
msgstr "Dokument ponownie wysłany"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
msgid "Document Rejected"
msgstr "Dokument Odrzucone"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
msgstr "Dokument ponownie zaplombowany"
@ -2300,7 +2309,7 @@ msgstr "Członek od"
msgid "Members"
msgstr "Członkowie"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:46
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
msgid "Modify recipients"
msgstr "Modyfikuj odbiorców"
@ -2394,6 +2403,10 @@ msgstr "Następne pole"
msgid "No active drafts"
msgstr "Brak aktywnych szkiców"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
msgid "No further action is required from you at this time."
msgstr "Nie są wymagane żadne dalsze działania z Twojej strony w tym momencie."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
msgid "No payment required"
msgstr "Brak wymaganej płatności"
@ -2410,7 +2423,7 @@ msgstr "Brak ostatnich aktywności"
msgid "No recent documents"
msgstr "Brak ostatnich dokumentów"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:61
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:70
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:96
msgid "No recipients"
@ -2498,26 +2511,26 @@ msgstr "Tylko menedżerowie i wyżej mogą uzyskać dostęp do dokumentu i go wy
#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:19
#: apps/web/src/components/partials/not-found.tsx:49
msgid "Oops! Something went wrong."
msgstr "Oops! Something went wrong."
msgstr "Ups! Coś poszło nie tak."
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:140
msgid "Opened"
msgstr "Lub"
msgstr "Otwarto"
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:337
#: apps/web/src/components/forms/signup.tsx:243
#: apps/web/src/components/forms/signup.tsx:267
#: apps/web/src/components/forms/v2/signup.tsx:383
msgid "Or"
msgstr "Lub kontynuuj z"
msgstr "Lub"
#: apps/web/src/components/forms/signin.tsx:390
msgid "Or continue with"
msgstr "Or continue with"
msgstr "Lub kontynuuj z"
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
msgid "Otherwise, the document will be created as a draft."
msgstr "Otherwise, the document will be created as a draft."
msgstr "W przeciwnym razie dokument zostanie utworzony jako wersja robocza."
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:103
@ -2525,35 +2538,35 @@ msgstr "Otherwise, the document will be created as a draft."
#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:86
#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:109
msgid "Owner"
msgstr "Opłacona"
msgstr "Właściciel"
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79
msgid "Paid"
msgstr "Klucz dostępu"
msgstr "Opłacono"
#: apps/web/src/components/forms/signin.tsx:435
msgid "Passkey"
msgstr "Klucz dostępu już istnieje dla podanego autoryzatora"
msgstr "Klucz dostępu"
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:229
msgid "Passkey already exists for the provided authenticator"
msgstr "Passkey already exists for the provided authenticator"
msgstr "Klucz dostępu już istnieje dla podanego uwierzytelniającego"
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:219
msgid "Passkey creation cancelled due to one of the following reasons:"
msgstr "Passkey creation cancelled due to one of the following reasons:"
msgstr "Tworzenie klucza dostępu anulowane z jednego z następujących powodów:"
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:88
msgid "Passkey has been removed"
msgstr "Klucz dostępu został zaktualizowany"
msgstr "Klucz dostępu został usunięty"
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:68
msgid "Passkey has been updated"
msgstr "Nazwa klucza dostępu"
msgstr "Klucz dostępu został zaktualizowany"
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:177
msgid "Passkey name"
msgstr "Klucze dostępu"
msgstr "Nazwa klucza dostępu"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:121
msgid "Passkey Re-Authentication"
@ -2562,15 +2575,15 @@ msgstr "Ponowna autoryzacja za pomocą klucza"
#: apps/web/src/app/(dashboard)/settings/security/page.tsx:106
#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:32
msgid "Passkeys"
msgstr "Passkeys"
msgstr "Klucze dostępu"
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:158
msgid "Passkeys allow you to sign in and authenticate using biometrics, password managers, etc."
msgstr "Passkeys allow you to sign in and authenticate using biometrics, password managers, etc."
msgstr "Klucze dostępu pozwalają na logowanie i uwierzytelnianie przy użyciu danych biometrycznych, menedżerów haseł itp."
#: apps/web/src/components/forms/signin.tsx:161
msgid "Passkeys are not supported on this browser"
msgstr "Hasło"
msgstr "Klucze dostępu nie są obsługiwane w tej przeglądarce"
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:70
#: apps/web/src/components/forms/password.tsx:123
@ -2579,34 +2592,34 @@ msgstr "Hasło"
#: apps/web/src/components/forms/signup.tsx:196
#: apps/web/src/components/forms/v2/signup.tsx:344
msgid "Password"
msgstr "Hasło zaktualizowane"
msgstr "Hasło"
#: apps/web/src/components/forms/password.tsx:71
#: apps/web/src/components/forms/reset-password.tsx:72
msgid "Password updated"
msgstr "Zapłać"
msgstr "Hasło zaktualizowane"
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:46
msgid "Pay"
msgstr "Pay"
msgstr "Zapłać"
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:89
msgid "Payment is required to finalise the creation of your team."
msgstr "Payment is required to finalise the creation of your team."
msgstr "Płatność jest wymagana do zakończenia tworzenia zespołu."
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:82
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:107
msgid "Payment overdue"
msgstr "Oczekujące"
msgstr "Płatność zaległa"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:122
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:131
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:211
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:82
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:77
#: apps/web/src/components/document/document-read-only-fields.tsx:89
#: apps/web/src/components/formatter/document-status.tsx:22
msgid "Pending"
msgstr "Oczekujące dokumenty"
msgstr "Oczekujące"
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:51
msgid "Pending documents"
@ -2618,11 +2631,11 @@ msgstr "Oczekujące zaproszenia"
#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:62
msgid "Pending invitations"
msgstr "Pending invitations"
msgstr "Oczekujące zaproszenia"
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:28
msgid "Pending team deleted."
msgstr "Pending team deleted."
msgstr "Oczekujący zespół usunięty."
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:134
msgid "Personal"
@ -2692,6 +2705,10 @@ msgstr "Please note that this action is irreversible. Once confirmed, your webho
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
msgstr "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
msgid "Please provide a reason"
msgstr "Proszę podać powód"
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
msgstr "Proszę podać token z swojego autoryzatora lub kod zapasowy."
@ -2800,7 +2817,7 @@ msgstr "Gotowe"
msgid "Read the full <0>signature disclosure</0>."
msgstr "Przeczytaj pełne <0>ujawnienie podpisu</0>."
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:97
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
msgid "Ready"
msgstr "Wymagana ponowna autoryzacja, aby podpisać to pole"
@ -2808,6 +2825,14 @@ msgstr "Wymagana ponowna autoryzacja, aby podpisać to pole"
msgid "Reason"
msgstr "Powód"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
msgid "Reason for rejection:"
msgstr "Powód odrzucenia:"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
msgid "Reason must be less than 500 characters"
msgstr "Powód musi mieć mniej niż 500 znaków"
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
msgid "Reauthentication is required to sign this field"
msgstr "Ostatnia aktywność"
@ -2832,7 +2857,7 @@ msgid "Recipient updated"
msgstr "Odbiorca zaktualizowany"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:49
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:139
msgid "Recipients"
@ -2860,6 +2885,17 @@ msgstr "Kody odzyskiwania"
msgid "Registration Successful"
msgstr "Rejestracja zakończona sukcesem"
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
msgid "Reject Document"
msgstr "Odrzuć dokument"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
msgid "Rejected"
msgstr "Odrzucony"
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In</0>"
msgstr "Pamiętasz swoje hasło? <0>Zaloguj się</0>"
@ -3089,7 +3125,7 @@ msgstr "Wysyłanie e-maila resetującego..."
msgid "Sending..."
msgstr "Wysyłanie..."
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:92
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr "Wysłano"
@ -3236,7 +3272,7 @@ msgstr "Zebrane podpisy"
msgid "Signatures will appear once the document has been completed"
msgstr "Podpisy pojawią się po ukończeniu dokumentu"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:105
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270
#: apps/web/src/components/document/document-read-only-fields.tsx:84
msgid "Signed"
@ -3645,6 +3681,10 @@ msgstr "Dokument został pomyślnie przeniesiony do wybranego zespołu."
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr "Dokument jest teraz zakończony, proszę postępować zgodnie z wszelkimi instrukcjami podanymi w aplikacji nadrzędnej."
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
msgstr "Właściciel dokumentu został poinformowany o Twojej decyzji. Mogą się z Tobą skontaktować w celu podania dalszych instrukcji, jeśli to konieczne."
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
msgid "The document was created but could not be sent to recipients."
msgstr "Dokument został utworzony, ale nie mógł zostać wysłany do odbiorców."
@ -3699,7 +3739,7 @@ msgstr "Odbiorca został pomyślnie zaktualizowany"
msgid "The selected team member will receive an email which they must accept before the team is transferred"
msgstr "Wybrany członek zespołu otrzyma e-mail, który musi zaakceptować przed przeniesieniem zespołu"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:134
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:163
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:118
msgid "The signing link has been copied to your clipboard."
@ -4141,7 +4181,7 @@ msgstr "Nie można się zalogować"
msgid "Unauthorized"
msgstr "Nieautoryzowany"
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:155
msgid "Uncompleted"
msgstr "Niezakończony"
@ -4386,12 +4426,12 @@ msgstr "Wyświetl kody odzyskiwania"
msgid "View teams"
msgstr "Wyświetl zespoły"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:111
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
msgid "Viewed"
msgstr "Wyświetlono"
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:86
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:125
msgid "Waiting"
msgstr "Czekam"
@ -4846,6 +4886,10 @@ msgstr "Osiągnąłeś limit dokumentów."
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
msgstr "Osiągnąłeś limit dokumentów. <0>Ulepsz swoje konto, aby kontynuować!</0>"
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
msgid "You have rejected this document"
msgstr "Odrzuciłeś ten dokument"
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
msgstr "Sukces! Opuszczono ten zespół."

View File

@ -1,6 +1,6 @@
'use client';
import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
import { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
import type { DropResult, SensorAPI } from '@hello-pangea/dnd';
import { DragDropContext, Draggable, Droppable } from '@hello-pangea/dnd';
@ -94,7 +94,7 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({
];
}
return recipients.map((recipient, index) => ({
let mappedRecipients = recipients.map((recipient, index) => ({
nativeId: recipient.id,
formId: String(recipient.id),
name: recipient.name,
@ -103,6 +103,14 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({
actionAuth: ZRecipientAuthOptionsSchema.parse(recipient.authOptions)?.actionAuth ?? undefined,
signingOrder: recipient.signingOrder ?? index + 1,
}));
if (signingOrder === DocumentSigningOrder.SEQUENTIAL) {
mappedRecipients = mappedRecipients.sort(
(a, b) => (a.signingOrder ?? 0) - (b.signingOrder ?? 0),
);
}
return mappedRecipients;
};
const form = useForm<TAddTemplatePlacholderRecipientsFormSchema>({