- Signer Events
- Signature
- Details
+ {_(msg`Signer Events`)}
+ {_(msg`Signature`)}
+ {_(msg`Details`)}
{/* Security */}
@@ -173,11 +191,11 @@ export default async function SigningCertificate({ searchParams }: SigningCertif
{recipient.name}
{recipient.email}
- {RECIPIENT_ROLES_DESCRIPTION_ENG[recipient.role].roleName}
+ {_(RECIPIENT_ROLES_DESCRIPTION[recipient.role].roleName)}
- Authentication Level: {' '}
+ {_(msg`Authentication Level`)}: {' '}
{getAuthenticationLevel(recipient.id)}
@@ -199,21 +217,21 @@ export default async function SigningCertificate({ searchParams }: SigningCertif
- Signature ID: {' '}
+ {_(msg`Signature ID`)}: {' '}
{signature.secondaryId}
- IP Address: {' '}
+ {_(msg`IP Address`)}: {' '}
- {logs.DOCUMENT_RECIPIENT_COMPLETED[0]?.ipAddress ?? 'Unknown'}
+ {logs.DOCUMENT_RECIPIENT_COMPLETED[0]?.ipAddress ?? _(msg`Unknown`)}
- Device: {' '}
+ {_(msg`Device`)}: {' '}
{getDevice(logs.DOCUMENT_RECIPIENT_COMPLETED[0]?.userAgent)}
@@ -227,44 +245,46 @@ export default async function SigningCertificate({ searchParams }: SigningCertif
- Sent: {' '}
+ {_(msg`Sent`)}: {' '}
{logs.EMAIL_SENT[0]
? DateTime.fromJSDate(logs.EMAIL_SENT[0].createdAt)
.setLocale(APP_I18N_OPTIONS.defaultLocale)
.toFormat('yyyy-MM-dd hh:mm:ss a (ZZZZ)')
- : 'Unknown'}
+ : _(msg`Unknown`)}
- Viewed: {' '}
+ {_(msg`Viewed`)}: {' '}
{logs.DOCUMENT_OPENED[0]
? DateTime.fromJSDate(logs.DOCUMENT_OPENED[0].createdAt)
.setLocale(APP_I18N_OPTIONS.defaultLocale)
.toFormat('yyyy-MM-dd hh:mm:ss a (ZZZZ)')
- : 'Unknown'}
+ : _(msg`Unknown`)}
- Signed: {' '}
+ {_(msg`Signed`)}: {' '}
{logs.DOCUMENT_RECIPIENT_COMPLETED[0]
? DateTime.fromJSDate(logs.DOCUMENT_RECIPIENT_COMPLETED[0].createdAt)
.setLocale(APP_I18N_OPTIONS.defaultLocale)
.toFormat('yyyy-MM-dd hh:mm:ss a (ZZZZ)')
- : 'Unknown'}
+ : _(msg`Unknown`)}
- Reason: {' '}
+ {_(msg`Reason`)}: {' '}
- {isOwner(recipient.email)
- ? FRIENDLY_SIGNING_REASONS['__OWNER__']
- : FRIENDLY_SIGNING_REASONS[recipient.role]}
+ {_(
+ isOwner(recipient.email)
+ ? FRIENDLY_SIGNING_REASONS['__OWNER__']
+ : FRIENDLY_SIGNING_REASONS[recipient.role],
+ )}
@@ -280,7 +300,7 @@ export default async function SigningCertificate({ searchParams }: SigningCertif
- Signing certificate provided by:
+ {_(msg`Signing certificate provided by`)}:
diff --git a/apps/web/src/app/(profile)/layout.tsx b/apps/web/src/app/(profile)/layout.tsx
index 43f263de7..d43e44172 100644
--- a/apps/web/src/app/(profile)/layout.tsx
+++ b/apps/web/src/app/(profile)/layout.tsx
@@ -14,7 +14,7 @@ type PublicProfileLayoutProps = {
};
export default async function PublicProfileLayout({ children }: PublicProfileLayoutProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { user, session } = await getServerComponentSession();
diff --git a/apps/web/src/app/(profile)/p/[url]/page.tsx b/apps/web/src/app/(profile)/p/[url]/page.tsx
index e276417d2..67226c5cb 100644
--- a/apps/web/src/app/(profile)/p/[url]/page.tsx
+++ b/apps/web/src/app/(profile)/p/[url]/page.tsx
@@ -42,7 +42,7 @@ const BADGE_DATA = {
};
export default async function PublicProfilePage({ params }: PublicProfilePageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { url: profileUrl } = params;
diff --git a/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx b/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx
index 40118260c..649099717 100644
--- a/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx
+++ b/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx
@@ -1,7 +1,7 @@
'use client';
import { zodResolver } from '@hookform/resolvers/zod';
-import { Trans } from '@lingui/macro';
+import { Trans, msg } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { useSession } from 'next-auth/react';
import { useForm } from 'react-hook-form';
@@ -77,7 +77,7 @@ export const ConfigureDirectTemplateFormPartial = ({
if (template.Recipient.map((recipient) => recipient.email).includes(items.email)) {
ctx.addIssue({
code: z.ZodIssueCode.custom,
- message: 'Email cannot already exist in the template',
+ message: _(msg`Email cannot already exist in the template`),
path: ['email'],
});
}
diff --git a/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx b/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx
index 4f9e99fb1..e1c38f3da 100644
--- a/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx
+++ b/apps/web/src/app/(recipient)/d/[token]/direct-template.tsx
@@ -7,7 +7,7 @@ import { useRouter, useSearchParams } from 'next/navigation';
import { msg } from '@lingui/macro';
import { useLingui } from '@lingui/react';
-import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles';
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
import type { Field } from '@documenso/prisma/client';
import { type Recipient } from '@documenso/prisma/client';
import type { TemplateWithDetails } from '@documenso/prisma/types/template';
@@ -53,7 +53,9 @@ export const DirectTemplatePageView = ({
const [step, setStep] = useState
('configure');
const [isDocumentPdfLoaded, setIsDocumentPdfLoaded] = useState(false);
- const recipientRoleDescription = RECIPIENT_ROLES_DESCRIPTION_ENG[directTemplateRecipient.role];
+ const recipientActionVerb = _(
+ RECIPIENT_ROLES_DESCRIPTION[directTemplateRecipient.role].actionVerb,
+ );
const directTemplateFlow: Record = {
configure: {
@@ -62,9 +64,8 @@ export const DirectTemplatePageView = ({
stepIndex: 1,
},
sign: {
- // Todo: Translations
- title: msg`${recipientRoleDescription.actionVerb} document`,
- description: msg`${recipientRoleDescription.actionVerb} the document to complete the process.`,
+ title: msg`${recipientActionVerb} document`,
+ description: msg`${recipientActionVerb} the document to complete the process.`,
stepIndex: 2,
},
};
diff --git a/apps/web/src/app/(recipient)/d/[token]/page.tsx b/apps/web/src/app/(recipient)/d/[token]/page.tsx
index 0cc3b1a2c..a2ace350c 100644
--- a/apps/web/src/app/(recipient)/d/[token]/page.tsx
+++ b/apps/web/src/app/(recipient)/d/[token]/page.tsx
@@ -24,7 +24,7 @@ export type TemplatesDirectPageProps = {
};
export default async function TemplatesDirectPage({ params }: TemplatesDirectPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { token } = params;
diff --git a/apps/web/src/app/(recipient)/layout.tsx b/apps/web/src/app/(recipient)/layout.tsx
index e24c7d088..54477b458 100644
--- a/apps/web/src/app/(recipient)/layout.tsx
+++ b/apps/web/src/app/(recipient)/layout.tsx
@@ -19,7 +19,7 @@ type RecipientLayoutProps = {
* Such as direct template access, or signing.
*/
export default async function RecipientLayout({ children }: RecipientLayoutProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { user, session } = await getServerComponentSession();
diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx
index 0798e5098..23a5f1278 100644
--- a/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx
+++ b/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx
@@ -8,8 +8,8 @@ export type SigningLayoutProps = {
children: React.ReactNode;
};
-export default function SigningLayout({ children }: SigningLayoutProps) {
- setupI18nSSR();
+export default async function SigningLayout({ children }: SigningLayoutProps) {
+ await setupI18nSSR();
return (
diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx
index 312be12fa..b9f677003 100644
--- a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx
+++ b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx
@@ -41,7 +41,7 @@ export type CompletedSigningPageProps = {
export default async function CompletedSigningPage({
params: { token },
}: CompletedSigningPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { _ } = useLingui();
diff --git a/apps/web/src/app/(signing)/sign/[token]/form.tsx b/apps/web/src/app/(signing)/sign/[token]/form.tsx
index b3f3a0587..8085234db 100644
--- a/apps/web/src/app/(signing)/sign/[token]/form.tsx
+++ b/apps/web/src/app/(signing)/sign/[token]/form.tsx
@@ -124,9 +124,9 @@ export const SigningForm = ({
>
- {recipient.role === RecipientRole.VIEWER && 'View Document'}
- {recipient.role === RecipientRole.SIGNER && 'Sign Document'}
- {recipient.role === RecipientRole.APPROVER && 'Approve Document'}
+ {recipient.role === RecipientRole.VIEWER && View Document }
+ {recipient.role === RecipientRole.SIGNER && Sign Document }
+ {recipient.role === RecipientRole.APPROVER && Approve Document }
{recipient.role === RecipientRole.VIEWER ? (
@@ -166,7 +166,7 @@ export const SigningForm = ({
) : (
<>
- Please review the document before signing.
+ Please review the document before signing.
@@ -174,7 +174,9 @@ export const SigningForm = ({
-
Full Name
+
+ Full Name
+
-
Signature
+
+ Signature
+
@@ -213,7 +217,7 @@ export const SigningForm = ({
disabled={typeof window !== 'undefined' && window.history.length <= 1}
onClick={() => router.back()}
>
- Cancel
+ Cancel
{
const router = useRouter();
const { toast } = useToast();
+ const { _ } = useLingui();
const { fullName } = useRequiredSigningContext();
const initials = extractInitials(fullName);
@@ -83,8 +86,8 @@ export const InitialsField = ({
console.error(err);
toast({
- title: 'Error',
- description: 'An error occurred while signing the document.',
+ title: _(msg`Error`),
+ description: _(msg`An error occurred while signing the document.`),
variant: 'destructive',
});
}
@@ -109,8 +112,8 @@ export const InitialsField = ({
console.error(err);
toast({
- title: 'Error',
- description: 'An error occurred while removing the signature.',
+ title: _(msg`Error`),
+ description: _(msg`An error occurred while removing the field.`),
variant: 'destructive',
});
}
@@ -126,7 +129,7 @@ export const InitialsField = ({
{!field.inserted && (
- Initials
+ Initials
)}
diff --git a/apps/web/src/app/(signing)/sign/[token]/layout.tsx b/apps/web/src/app/(signing)/sign/[token]/layout.tsx
index c9be8130b..9ecb8487b 100644
--- a/apps/web/src/app/(signing)/sign/[token]/layout.tsx
+++ b/apps/web/src/app/(signing)/sign/[token]/layout.tsx
@@ -13,7 +13,7 @@ export type SigningLayoutProps = {
};
export default async function SigningLayout({ children }: SigningLayoutProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { user, session } = await getServerComponentSession();
diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx
index 214b013ce..ec32082db 100644
--- a/apps/web/src/app/(signing)/sign/[token]/page.tsx
+++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx
@@ -31,7 +31,7 @@ export type SigningPageProps = {
};
export default async function SigningPage({ params: { token } }: SigningPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
if (!token) {
return notFound();
@@ -43,12 +43,6 @@ export default async function SigningPage({ params: { token } }: SigningPageProp
const requestMetadata = extractNextHeaderRequestMetadata(requestHeaders);
- const isRecipientsTurn = await getIsRecipientsTurnToSign({ token });
-
- if (!isRecipientsTurn) {
- return redirect(`/sign/${token}/waiting`);
- }
-
const [document, fields, recipient, completedFields] = await Promise.all([
getDocumentAndSenderByToken({
token,
@@ -69,6 +63,12 @@ export default async function SigningPage({ params: { token } }: SigningPageProp
return notFound();
}
+ const isRecipientsTurn = await getIsRecipientsTurnToSign({ token });
+
+ if (!isRecipientsTurn) {
+ return redirect(`/sign/${token}/waiting`);
+ }
+
const { derivedRecipientAccessAuth } = extractDocumentAuthMethods({
documentAuth: document.authOptions,
recipientAuth: recipient.authOptions,
@@ -99,6 +99,10 @@ export default async function SigningPage({ params: { token } }: SigningPageProp
const { documentMeta } = document;
+ if (recipient.signingStatus === SigningStatus.REJECTED) {
+ return redirect(`/sign/${token}/rejected`);
+ }
+
if (
document.status === DocumentStatus.COMPLETED ||
recipient.signingStatus === SigningStatus.SIGNED
diff --git a/apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx b/apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx
new file mode 100644
index 000000000..547a346d8
--- /dev/null
+++ b/apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx
@@ -0,0 +1,170 @@
+'use client';
+
+import { useEffect, useState } from 'react';
+
+import { useRouter, useSearchParams } from 'next/navigation';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Trans, msg } from '@lingui/macro';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import type { Document } from '@documenso/prisma/client';
+import { trpc } from '@documenso/trpc/react';
+import { Button } from '@documenso/ui/primitives/button';
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogFooter,
+ DialogHeader,
+ DialogTitle,
+ DialogTrigger,
+} from '@documenso/ui/primitives/dialog';
+import {
+ Form,
+ FormControl,
+ FormField,
+ FormItem,
+ FormMessage,
+} from '@documenso/ui/primitives/form/form';
+import { Textarea } from '@documenso/ui/primitives/textarea';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+const ZRejectDocumentFormSchema = z.object({
+ reason: z
+ .string()
+ .min(5, msg`Please provide a reason`)
+ .max(500, msg`Reason must be less than 500 characters`),
+});
+
+type TRejectDocumentFormSchema = z.infer;
+
+export interface RejectDocumentDialogProps {
+ document: Pick;
+ token: string;
+}
+
+export function RejectDocumentDialog({ document, token }: RejectDocumentDialogProps) {
+ const { toast } = useToast();
+ const router = useRouter();
+ const searchParams = useSearchParams();
+
+ const [isOpen, setIsOpen] = useState(false);
+
+ const { mutateAsync: rejectDocumentWithToken } =
+ trpc.recipient.rejectDocumentWithToken.useMutation();
+
+ const form = useForm({
+ resolver: zodResolver(ZRejectDocumentFormSchema),
+ defaultValues: {
+ reason: '',
+ },
+ });
+
+ const onRejectDocument = async ({ reason }: TRejectDocumentFormSchema) => {
+ try {
+ // TODO: Add trpc mutation here
+ await rejectDocumentWithToken({
+ documentId: document.id,
+ token,
+ reason,
+ });
+
+ toast({
+ title: 'Document rejected',
+ description: 'The document has been successfully rejected.',
+ duration: 5000,
+ });
+
+ setIsOpen(false);
+
+ router.push(`/sign/${token}/rejected`);
+ } catch (err) {
+ toast({
+ title: 'Error',
+ description: 'An error occurred while rejecting the document. Please try again.',
+ variant: 'destructive',
+ duration: 5000,
+ });
+ }
+ };
+
+ useEffect(() => {
+ if (searchParams?.get('reject') === 'true') {
+ setIsOpen(true);
+ }
+ }, []);
+
+ useEffect(() => {
+ if (!isOpen) {
+ form.reset();
+ }
+ }, [isOpen]);
+
+ return (
+
+
+
+ Reject Document
+
+
+
+
+
+
+ Reject Document
+
+
+
+
+ Are you sure you want to reject this document? This action cannot be undone.
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx b/apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx
new file mode 100644
index 000000000..e3e630d8c
--- /dev/null
+++ b/apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx
@@ -0,0 +1,110 @@
+import Link from 'next/link';
+import { notFound } from 'next/navigation';
+
+import { Trans } from '@lingui/macro';
+import { XCircle } from 'lucide-react';
+
+import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
+import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
+import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token';
+import { isRecipientAuthorized } from '@documenso/lib/server-only/document/is-recipient-authorized';
+import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token';
+import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token';
+import { FieldType } from '@documenso/prisma/client';
+import { Badge } from '@documenso/ui/primitives/badge';
+import { Button } from '@documenso/ui/primitives/button';
+
+import { truncateTitle } from '~/helpers/truncate-title';
+
+import { SigningAuthPageView } from '../signing-auth-page';
+
+export type RejectedSigningPageProps = {
+ params: {
+ token?: string;
+ };
+};
+
+export default async function RejectedSigningPage({ params: { token } }: RejectedSigningPageProps) {
+ await setupI18nSSR();
+
+ if (!token) {
+ return notFound();
+ }
+
+ const { user } = await getServerComponentSession();
+
+ const document = await getDocumentAndSenderByToken({
+ token,
+ requireAccessAuth: false,
+ }).catch(() => null);
+
+ if (!document) {
+ return notFound();
+ }
+
+ const truncatedTitle = truncateTitle(document.title);
+
+ const [fields, recipient] = await Promise.all([
+ getFieldsForToken({ token }),
+ getRecipientByToken({ token }).catch(() => null),
+ ]);
+
+ if (!recipient) {
+ return notFound();
+ }
+
+ const isDocumentAccessValid = await isRecipientAuthorized({
+ type: 'ACCESS',
+ documentAuthOptions: document.authOptions,
+ recipient,
+ userId: user?.id,
+ });
+
+ if (!isDocumentAccessValid) {
+ return ;
+ }
+
+ const recipientName =
+ recipient.name ||
+ fields.find((field) => field.type === FieldType.NAME)?.customText ||
+ recipient.email;
+
+ return (
+
+
+ {truncatedTitle}
+
+
+
+
+
+
+
+ Document Rejected
+
+
+
+
+ You have rejected this document
+
+
+
+
+ The document owner has been notified of your decision. They may contact you with further
+ instructions if necessary.
+
+
+
+
+ No further action is required from you at this time.
+
+
+ {user && (
+
+ Return Home
+
+ )}
+
+
+ );
+}
diff --git a/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx b/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx
index ab2d4aa29..8cda4fc0a 100644
--- a/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx
+++ b/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx
@@ -31,6 +31,7 @@ import { InitialsField } from './initials-field';
import { NameField } from './name-field';
import { NumberField } from './number-field';
import { RadioField } from './radio-field';
+import { RejectDocumentDialog } from './reject-document-dialog';
import { SignatureField } from './signature-field';
import { TextField } from './text-field';
@@ -57,28 +58,32 @@ export const SigningPageView = ({
{document.title}
-
-
- {document.User.name}
-
-
+
+
+
+ {document.User.name}
+
-
- {match(recipient.role)
- .with(RecipientRole.VIEWER, () => (
- ({document.User.email}) has invited you to view this document
- ))
- .with(RecipientRole.SIGNER, () => (
- ({document.User.email}) has invited you to sign this document
- ))
- .with(RecipientRole.APPROVER, () => (
- ({document.User.email}) has invited you to approve this document
- ))
- .otherwise(() => null)}
-
+
+ {match(recipient.role)
+ .with(RecipientRole.VIEWER, () => (
+ ({document.User.email}) has invited you to view this document
+ ))
+ .with(RecipientRole.SIGNER, () => (
+ ({document.User.email}) has invited you to sign this document
+ ))
+ .with(RecipientRole.APPROVER, () => (
+ ({document.User.email}) has invited you to approve this document
+ ))
+ .otherwise(() => null)}
+
+
+
+
+
-
+
{(team.teamEmail || team.emailVerification) && (
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx
new file mode 100644
index 000000000..3f937a0b8
--- /dev/null
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx
@@ -0,0 +1,319 @@
+'use client';
+
+import { useEffect, useState } from 'react';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+import { Loader } from 'lucide-react';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { getFile } from '@documenso/lib/universal/upload/get-file';
+import { putFile } from '@documenso/lib/universal/upload/put-file';
+import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
+import { trpc } from '@documenso/trpc/react';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import {
+ Form,
+ FormControl,
+ FormDescription,
+ FormField,
+ FormItem,
+ FormLabel,
+} from '@documenso/ui/primitives/form/form';
+import { Input } from '@documenso/ui/primitives/input';
+import { Switch } from '@documenso/ui/primitives/switch';
+import { Textarea } from '@documenso/ui/primitives/textarea';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
+const ACCEPTED_FILE_TYPES = ['image/jpeg', 'image/png', 'image/webp'];
+
+const ZTeamBrandingPreferencesFormSchema = z.object({
+ brandingEnabled: z.boolean(),
+ brandingLogo: z
+ .instanceof(File)
+ .refine((file) => file.size <= MAX_FILE_SIZE, 'File size must be less than 5MB')
+ .refine(
+ (file) => ACCEPTED_FILE_TYPES.includes(file.type),
+ 'Only .jpg, .png, and .webp files are accepted',
+ )
+ .nullish(),
+ brandingUrl: z.string().url().optional().or(z.literal('')),
+ brandingCompanyDetails: z.string().max(500).optional(),
+});
+
+type TTeamBrandingPreferencesFormSchema = z.infer;
+
+export type TeamBrandingPreferencesFormProps = {
+ team: Team;
+ settings?: TeamGlobalSettings | null;
+};
+
+export function TeamBrandingPreferencesForm({ team, settings }: TeamBrandingPreferencesFormProps) {
+ const { _ } = useLingui();
+ const { toast } = useToast();
+
+ const [previewUrl, setPreviewUrl] = useState('');
+ const [hasLoadedPreview, setHasLoadedPreview] = useState(false);
+
+ const { mutateAsync: updateTeamBrandingSettings } =
+ trpc.team.updateTeamBrandingSettings.useMutation();
+
+ const form = useForm({
+ defaultValues: {
+ brandingEnabled: settings?.brandingEnabled ?? false,
+ brandingUrl: settings?.brandingUrl ?? '',
+ brandingLogo: undefined,
+ brandingCompanyDetails: settings?.brandingCompanyDetails ?? '',
+ },
+ resolver: zodResolver(ZTeamBrandingPreferencesFormSchema),
+ });
+
+ const isBrandingEnabled = form.watch('brandingEnabled');
+
+ const onSubmit = async (data: TTeamBrandingPreferencesFormSchema) => {
+ try {
+ const { brandingEnabled, brandingLogo, brandingUrl, brandingCompanyDetails } = data;
+
+ let uploadedBrandingLogo = settings?.brandingLogo;
+
+ if (brandingLogo) {
+ uploadedBrandingLogo = JSON.stringify(await putFile(brandingLogo));
+ }
+
+ if (brandingLogo === null) {
+ uploadedBrandingLogo = '';
+ }
+
+ await updateTeamBrandingSettings({
+ teamId: team.id,
+ settings: {
+ brandingEnabled,
+ brandingLogo: uploadedBrandingLogo,
+ brandingUrl,
+ brandingCompanyDetails,
+ },
+ });
+
+ toast({
+ title: _(msg`Branding preferences updated`),
+ description: _(msg`Your branding preferences have been updated`),
+ });
+ } catch (err) {
+ toast({
+ title: _(msg`Something went wrong`),
+ description: _(
+ msg`We were unable to update your branding preferences at this time, please try again later`,
+ ),
+ variant: 'destructive',
+ });
+ }
+ };
+
+ useEffect(() => {
+ if (settings?.brandingLogo) {
+ const file = JSON.parse(settings.brandingLogo);
+
+ if ('type' in file && 'data' in file) {
+ void getFile(file).then((binaryData) => {
+ const objectUrl = URL.createObjectURL(new Blob([binaryData]));
+
+ setPreviewUrl(objectUrl);
+ setHasLoadedPreview(true);
+ });
+
+ return;
+ }
+ }
+
+ setHasLoadedPreview(true);
+ }, [settings?.brandingLogo]);
+
+ // Cleanup ObjectURL on unmount or when previewUrl changes
+ useEffect(() => {
+ return () => {
+ if (previewUrl.startsWith('blob:')) {
+ URL.revokeObjectURL(previewUrl);
+ }
+ };
+ }, [previewUrl]);
+
+ return (
+
+
+
+ (
+
+ Enable Custom Branding
+
+
+
+
+
+
+
+
+ Enable custom branding for all documents in this team.
+
+
+ )}
+ />
+
+
+ {!isBrandingEnabled &&
}
+
+
(
+
+ Branding Logo
+
+
+
+ {previewUrl ? (
+
+ ) : (
+
+ Please upload a logo
+ {!hasLoadedPreview && (
+
+
+
+ )}
+
+ )}
+
+
+
+
+ {
+ const file = e.target.files?.[0];
+
+ if (file) {
+ if (previewUrl.startsWith('blob:')) {
+ URL.revokeObjectURL(previewUrl);
+ }
+
+ const objectUrl = URL.createObjectURL(file);
+
+ setPreviewUrl(objectUrl);
+
+ onChange(file);
+ }
+ }}
+ className={cn(
+ 'h-auto p-2',
+ 'file:text-primary hover:file:bg-primary/90',
+ 'file:mr-4 file:cursor-pointer file:rounded-md file:border-0',
+ 'file:p-2 file:py-2 file:font-medium',
+ 'file:bg-primary file:text-primary-foreground',
+ !isBrandingEnabled && 'cursor-not-allowed',
+ )}
+ {...field}
+ />
+
+
+
+ {
+ setPreviewUrl('');
+ onChange(null);
+ }}
+ >
+ Remove
+
+
+
+
+
+ Upload your brand logo (max 5MB, JPG, PNG, or WebP)
+
+
+
+ )}
+ />
+
+ (
+
+ Brand Website
+
+
+
+
+
+
+ Your brand website URL
+
+
+ )}
+ />
+
+ (
+
+ Brand Details
+
+
+
+
+
+
+ Additional brand information to display at the bottom of emails
+
+
+ )}
+ />
+
+
+
+
+ Save
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx
new file mode 100644
index 000000000..85f504105
--- /dev/null
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx
@@ -0,0 +1,239 @@
+'use client';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+import { useSession } from 'next-auth/react';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import {
+ SUPPORTED_LANGUAGES,
+ SUPPORTED_LANGUAGE_CODES,
+ isValidLanguageCode,
+} from '@documenso/lib/constants/i18n';
+import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
+import { DocumentVisibility } from '@documenso/prisma/client';
+import { trpc } from '@documenso/trpc/react';
+import { Alert } from '@documenso/ui/primitives/alert';
+import { Button } from '@documenso/ui/primitives/button';
+import {
+ Form,
+ FormControl,
+ FormDescription,
+ FormField,
+ FormItem,
+ FormLabel,
+} from '@documenso/ui/primitives/form/form';
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from '@documenso/ui/primitives/select';
+import { Switch } from '@documenso/ui/primitives/switch';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+const ZTeamDocumentPreferencesFormSchema = z.object({
+ documentVisibility: z.nativeEnum(DocumentVisibility),
+ documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES),
+ includeSenderDetails: z.boolean(),
+});
+
+type TTeamDocumentPreferencesFormSchema = z.infer;
+
+export type TeamDocumentPreferencesFormProps = {
+ team: Team;
+ settings?: TeamGlobalSettings | null;
+};
+
+export const TeamDocumentPreferencesForm = ({
+ team,
+ settings,
+}: TeamDocumentPreferencesFormProps) => {
+ const { _ } = useLingui();
+ const { toast } = useToast();
+ const { data } = useSession();
+
+ const placeholderEmail = data?.user.email ?? 'user@example.com';
+
+ const { mutateAsync: updateTeamDocumentPreferences } =
+ trpc.team.updateTeamDocumentSettings.useMutation();
+
+ const form = useForm({
+ defaultValues: {
+ documentVisibility: settings?.documentVisibility ?? 'EVERYONE',
+ documentLanguage: isValidLanguageCode(settings?.documentLanguage)
+ ? settings?.documentLanguage
+ : 'en',
+ includeSenderDetails: settings?.includeSenderDetails ?? false,
+ },
+ resolver: zodResolver(ZTeamDocumentPreferencesFormSchema),
+ });
+
+ const includeSenderDetails = form.watch('includeSenderDetails');
+
+ const onSubmit = async (data: TTeamDocumentPreferencesFormSchema) => {
+ try {
+ const { documentVisibility, documentLanguage, includeSenderDetails } = data;
+
+ await updateTeamDocumentPreferences({
+ teamId: team.id,
+ settings: {
+ documentVisibility,
+ documentLanguage,
+ includeSenderDetails,
+ },
+ });
+
+ toast({
+ title: _(msg`Document preferences updated`),
+ description: _(msg`Your document preferences have been updated`),
+ });
+ } catch (err) {
+ toast({
+ title: _(msg`Something went wrong!`),
+ description: _(
+ msg`We were unable to update your document preferences at this time, please try again later`,
+ ),
+ });
+ }
+ };
+
+ return (
+
+
+
+ (
+
+
+ Default Document Visibility
+
+
+
+
+
+
+
+
+
+
+ Everyone can access and view the document
+
+
+ Only managers and above can access and view the document
+
+
+ Only admins can access and view the document
+
+
+
+
+
+
+ Controls the default visibility of an uploaded document.
+
+
+ )}
+ />
+
+ (
+
+
+ Default Document Language
+
+
+
+
+
+
+
+
+
+ {Object.entries(SUPPORTED_LANGUAGES).map(([code, language]) => (
+
+ {language.full}
+
+ ))}
+
+
+
+
+
+
+ Controls the default language of an uploaded document. This will be used as the
+ language in email communications with the recipients.
+
+
+
+ )}
+ />
+
+ (
+
+
+ Send on Behalf of Team
+
+
+
+
+
+
+
+
+
+
+ Preview
+
+
+
+ {includeSenderDetails ? (
+
+ "{placeholderEmail}" on behalf of "{team.name}" has invited you to sign
+ "example document".
+
+ ) : (
+ "{team.name}" has invited you to sign "example document".
+ )}
+
+
+
+
+
+ Controls the formatting of the message that will be sent when inviting a
+ recipient to sign a document. If a custom message has been provided while
+ configuring the document, it will be used instead.
+
+
+
+ )}
+ />
+
+
+
+ Save
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx
new file mode 100644
index 000000000..51d65301a
--- /dev/null
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx
@@ -0,0 +1,52 @@
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+
+import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
+import { getTeamByUrl } from '@documenso/lib/server-only/team/get-team';
+
+import { SettingsHeader } from '~/components/(dashboard)/settings/layout/header';
+
+import { TeamBrandingPreferencesForm } from './branding-preferences';
+import { TeamDocumentPreferencesForm } from './document-preferences';
+
+export type TeamsSettingsPageProps = {
+ params: {
+ teamUrl: string;
+ };
+};
+
+export default async function TeamsSettingsPage({ params }: TeamsSettingsPageProps) {
+ await setupI18nSSR();
+
+ const { _ } = useLingui();
+
+ const { teamUrl } = params;
+
+ const session = await getRequiredServerComponentSession();
+
+ const team = await getTeamByUrl({ userId: session.user.id, teamUrl });
+
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx
index b8e6f2cc5..d184f2845 100644
--- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx
@@ -14,7 +14,7 @@ export type TeamsSettingsPublicProfilePageProps = {
export default async function TeamsSettingsPublicProfilePage({
params,
}: TeamsSettingsPublicProfilePageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { teamUrl } = params;
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx
index 1ff9c9afa..d3dd91b2c 100644
--- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx
@@ -21,7 +21,7 @@ type ApiTokensPageProps = {
};
export default async function ApiTokensPage({ params }: ApiTokensPageProps) {
- const { i18n } = setupI18nSSR();
+ const { i18n } = await setupI18nSSR();
const { teamUrl } = params;
@@ -97,17 +97,11 @@ export default async function ApiTokensPage({ params }: ApiTokensPageProps) {
{token.name}
-
- Created on
- {i18n.date(token.createdAt, DateTime.DATETIME_FULL)}
-
+ Created on {i18n.date(token.createdAt, DateTime.DATETIME_FULL)}
{token.expires ? (
-
- Expires on
- {i18n.date(token.expires, DateTime.DATETIME_FULL)}
-
+ Expires on {i18n.date(token.expires, DateTime.DATETIME_FULL)}
) : (
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/edit/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/edit/page.tsx
new file mode 100644
index 000000000..2ae081ba4
--- /dev/null
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/edit/page.tsx
@@ -0,0 +1,24 @@
+import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
+import { getTeamByUrl } from '@documenso/lib/server-only/team/get-team';
+
+import type { TemplateEditPageViewProps } from '~/app/(dashboard)/templates/[id]/edit/template-edit-page-view';
+import { TemplateEditPageView } from '~/app/(dashboard)/templates/[id]/edit/template-edit-page-view';
+
+export type TeamsTemplateEditPageProps = {
+ params: TemplateEditPageViewProps['params'] & {
+ teamUrl: string;
+ };
+};
+
+export default async function TeamsTemplateEditPage({ params }: TeamsTemplateEditPageProps) {
+ await setupI18nSSR();
+
+ const { teamUrl } = params;
+
+ const { user } = await getRequiredServerComponentSession();
+
+ const team = await getTeamByUrl({ userId: user.id, teamUrl });
+
+ return ;
+}
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx
index a4773e583..2efcf7c5e 100644
--- a/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx
@@ -14,7 +14,7 @@ type TeamTemplatePageProps = {
};
export default async function TeamTemplatePage({ params }: TeamTemplatePageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { teamUrl } = params;
diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx
index 4bae127ef..784866148 100644
--- a/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx
+++ b/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx
@@ -18,7 +18,7 @@ export default async function TeamTemplatesPage({
searchParams = {},
params,
}: TeamTemplatesPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const { teamUrl } = params;
diff --git a/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx b/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx
index 8c79071b9..160215df8 100644
--- a/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx
@@ -5,101 +5,156 @@ import { Trans } from '@lingui/macro';
import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
import { Button } from '@documenso/ui/primitives/button';
-export default function SignatureDisclosure() {
- setupI18nSSR();
+const SUPPORT_EMAIL = 'support@documenso.com';
+
+export default async function SignatureDisclosure() {
+ await setupI18nSSR();
return (
- Electronic Signature Disclosure
+
+ Electronic Signature Disclosure
+
- Welcome
+
+ Welcome
+
- Thank you for using Documenso to perform your electronic document signing. The purpose of
- this disclosure is to inform you about the process, legality, and your rights regarding
- the use of electronic signatures on our platform. By opting to use an electronic
- signature, you are agreeing to the terms and conditions outlined below.
+
+ Thank you for using Documenso to perform your electronic document signing. The purpose
+ of this disclosure is to inform you about the process, legality, and your rights
+ regarding the use of electronic signatures on our platform. By opting to use an
+ electronic signature, you are agreeing to the terms and conditions outlined below.
+
- Acceptance and Consent
+
+ Acceptance and Consent
+
- When you use our platform to affix your electronic signature to documents, you are
- consenting to do so under the Electronic Signatures in Global and National Commerce Act
- (E-Sign Act) and other applicable laws. This action indicates your agreement to use
- electronic means to sign documents and receive notifications.
+
+ When you use our platform to affix your electronic signature to documents, you are
+ consenting to do so under the Electronic Signatures in Global and National Commerce Act
+ (E-Sign Act) and other applicable laws. This action indicates your agreement to use
+ electronic means to sign documents and receive notifications.
+
- Legality of Electronic Signatures
+
+ Legality of Electronic Signatures
+
- An electronic signature provided by you on our platform, achieved through clicking through
- to a document and entering your name, or any other electronic signing method we provide,
- is legally binding. It carries the same weight and enforceability as a manual signature
- written with ink on paper.
+
+ An electronic signature provided by you on our platform, achieved through clicking
+ through to a document and entering your name, or any other electronic signing method we
+ provide, is legally binding. It carries the same weight and enforceability as a manual
+ signature written with ink on paper.
+
- System Requirements
- To use our electronic signature service, you must have access to:
+
+ System Requirements
+
+
+ To use our electronic signature service, you must have access to:
+
- A stable internet connection
- An email account
- A device capable of accessing, opening, and reading documents
- A means to print or download documents for your records
+
+ A stable internet connection
+
+
+ An email account
+
+
+ A device capable of accessing, opening, and reading documents
+
+
+ A means to print or download documents for your records
+
- Electronic Delivery of Documents
+
+ Electronic Delivery of Documents
+
- All documents related to the electronic signing process will be provided to you
- electronically through our platform or via email. It is your responsibility to ensure that
- your email address is current and that you can receive and open our emails.
+
+ All documents related to the electronic signing process will be provided to you
+ electronically through our platform or via email. It is your responsibility to ensure
+ that your email address is current and that you can receive and open our emails.
+
- Consent to Electronic Transactions
+
+ Consent to Electronic Transactions
+
- By using the electronic signature feature, you are consenting to conduct transactions and
- receive disclosures electronically. You acknowledge that your electronic signature on
- documents is binding and that you accept the terms outlined in the documents you are
- signing.
+
+ By using the electronic signature feature, you are consenting to conduct transactions
+ and receive disclosures electronically. You acknowledge that your electronic signature
+ on documents is binding and that you accept the terms outlined in the documents you are
+ signing.
+
- Withdrawing Consent
+
+ Withdrawing Consent
+
- You have the right to withdraw your consent to use electronic signatures at any time
- before completing the signing process. To withdraw your consent, please contact the sender
- of the document. In failing to contact the sender you may reach out to{' '}
- support@documenso.com for assistance. Be aware
- that withdrawing consent may delay or halt the completion of the related transaction or
- service.
+
+ You have the right to withdraw your consent to use electronic signatures at any time
+ before completing the signing process. To withdraw your consent, please contact the
+ sender of the document. In failing to contact the sender you may reach out to{' '}
+ {SUPPORT_EMAIL} for assistance. Be aware that
+ withdrawing consent may delay or halt the completion of the related transaction or
+ service.
+
- Updating Your Information
+
+ Updating Your Information
+
- It is crucial to keep your contact information, especially your email address, up to date
- with us. Please notify us immediately of any changes to ensure that you continue to
- receive all necessary communications.
+
+ It is crucial to keep your contact information, especially your email address, up to
+ date with us. Please notify us immediately of any changes to ensure that you continue to
+ receive all necessary communications.
+
- Retention of Documents
+
+ Retention of Documents
+
- After signing a document electronically, you will be provided the opportunity to view,
- download, and print the document for your records. It is highly recommended that you
- retain a copy of all electronically signed documents for your personal records. We will
- also retain a copy of the signed document for our records however we may not be able to
- provide you with a copy of the signed document after a certain period of time.
+
+ After signing a document electronically, you will be provided the opportunity to view,
+ download, and print the document for your records. It is highly recommended that you
+ retain a copy of all electronically signed documents for your personal records. We will
+ also retain a copy of the signed document for our records however we may not be able to
+ provide you with a copy of the signed document after a certain period of time.
+
- Acknowledgment
+
+ Acknowledgment
+
- By proceeding to use the electronic signature service provided by Documenso, you affirm
- that you have read and understood this disclosure. You agree to all terms and conditions
- related to the use of electronic signatures and electronic transactions as outlined
- herein.
+
+ By proceeding to use the electronic signature service provided by Documenso, you affirm
+ that you have read and understood this disclosure. You agree to all terms and conditions
+ related to the use of electronic signatures and electronic transactions as outlined
+ herein.
+
- Contact Information
+
+ Contact Information
+
- For any questions regarding this disclosure, electronic signatures, or any related
- process, please contact us at:{' '}
- support@documenso.com
+
+ For any questions regarding this disclosure, electronic signatures, or any related
+ process, please contact us at: {SUPPORT_EMAIL}
+
diff --git a/apps/web/src/app/(unauthenticated)/check-email/page.tsx b/apps/web/src/app/(unauthenticated)/check-email/page.tsx
index a91a2f7a2..a0aa50fae 100644
--- a/apps/web/src/app/(unauthenticated)/check-email/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/check-email/page.tsx
@@ -10,8 +10,8 @@ export const metadata: Metadata = {
title: 'Forgot password',
};
-export default function ForgotPasswordPage() {
- setupI18nSSR();
+export default async function ForgotPasswordPage() {
+ await setupI18nSSR();
return (
diff --git a/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx b/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx
index 72a757732..0bb05587a 100644
--- a/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx
@@ -11,8 +11,8 @@ export const metadata: Metadata = {
title: 'Forgot Password',
};
-export default function ForgotPasswordPage() {
- setupI18nSSR();
+export default async function ForgotPasswordPage() {
+ await setupI18nSSR();
return (
diff --git a/apps/web/src/app/(unauthenticated)/layout.tsx b/apps/web/src/app/(unauthenticated)/layout.tsx
index 994bb3ac2..2b70d2610 100644
--- a/apps/web/src/app/(unauthenticated)/layout.tsx
+++ b/apps/web/src/app/(unauthenticated)/layout.tsx
@@ -9,8 +9,8 @@ type UnauthenticatedLayoutProps = {
children: React.ReactNode;
};
-export default function UnauthenticatedLayout({ children }: UnauthenticatedLayoutProps) {
- setupI18nSSR();
+export default async function UnauthenticatedLayout({ children }: UnauthenticatedLayoutProps) {
+ await setupI18nSSR();
return (
diff --git a/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx
index 7f594c0ed..1bbca3cfe 100644
--- a/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx
@@ -15,7 +15,7 @@ type ResetPasswordPageProps = {
};
export default async function ResetPasswordPage({ params: { token } }: ResetPasswordPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const isValid = await getResetTokenValidity({ token });
diff --git a/apps/web/src/app/(unauthenticated)/reset-password/page.tsx b/apps/web/src/app/(unauthenticated)/reset-password/page.tsx
index ad478a7bb..fc54aceec 100644
--- a/apps/web/src/app/(unauthenticated)/reset-password/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/reset-password/page.tsx
@@ -10,8 +10,8 @@ export const metadata: Metadata = {
title: 'Reset Password',
};
-export default function ResetPasswordPage() {
- setupI18nSSR();
+export default async function ResetPasswordPage() {
+ await setupI18nSSR();
return (
diff --git a/apps/web/src/app/(unauthenticated)/signin/page.tsx b/apps/web/src/app/(unauthenticated)/signin/page.tsx
index f7e62675b..9b041e22b 100644
--- a/apps/web/src/app/(unauthenticated)/signin/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/signin/page.tsx
@@ -17,8 +17,8 @@ export const metadata: Metadata = {
title: 'Sign In',
};
-export default function SignInPage() {
- setupI18nSSR();
+export default async function SignInPage() {
+ await setupI18nSSR();
const NEXT_PUBLIC_DISABLE_SIGNUP = env('NEXT_PUBLIC_DISABLE_SIGNUP');
diff --git a/apps/web/src/app/(unauthenticated)/signup/page.tsx b/apps/web/src/app/(unauthenticated)/signup/page.tsx
index bdcf9c37f..7686d2f70 100644
--- a/apps/web/src/app/(unauthenticated)/signup/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/signup/page.tsx
@@ -12,8 +12,8 @@ export const metadata: Metadata = {
title: 'Sign Up',
};
-export default function SignUpPage() {
- setupI18nSSR();
+export default async function SignUpPage() {
+ await setupI18nSSR();
const NEXT_PUBLIC_DISABLE_SIGNUP = env('NEXT_PUBLIC_DISABLE_SIGNUP');
diff --git a/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx
index 69d0cad8b..06c7dadc9 100644
--- a/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx
@@ -21,7 +21,7 @@ type DeclineInvitationPageProps = {
export default async function DeclineInvitationPage({
params: { token },
}: DeclineInvitationPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const session = await getServerComponentSession();
diff --git a/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx
index 5e76f8d65..3441dbed7 100644
--- a/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx
@@ -21,7 +21,7 @@ type AcceptInvitationPageProps = {
export default async function AcceptInvitationPage({
params: { token },
}: AcceptInvitationPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const session = await getServerComponentSession();
diff --git a/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx
index 0314646cb..b53fb5f71 100644
--- a/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx
@@ -14,7 +14,7 @@ type VerifyTeamEmailPageProps = {
};
export default async function VerifyTeamEmailPage({ params: { token } }: VerifyTeamEmailPageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
const teamEmailVerification = await prisma.teamEmailVerification.findUnique({
where: {
diff --git a/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx
index ae4e7e97f..8713aeecd 100644
--- a/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx
@@ -17,7 +17,7 @@ type VerifyTeamTransferPage = {
export default async function VerifyTeamTransferPage({
params: { token },
}: VerifyTeamTransferPage) {
- setupI18nSSR();
+ await setupI18nSSR();
const teamTransferVerification = await prisma.teamTransferVerification.findUnique({
where: {
diff --git a/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx b/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx
index 70b94c2cc..3c3588c1e 100644
--- a/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx
@@ -5,8 +5,8 @@ import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
import { SendConfirmationEmailForm } from '~/components/forms/send-confirmation-email';
-export default function UnverifiedAccount() {
- setupI18nSSR();
+export default async function UnverifiedAccount() {
+ await setupI18nSSR();
return (
diff --git a/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx
index b3edcb3c9..eb88538c4 100644
--- a/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx
@@ -23,7 +23,7 @@ export type PageProps = {
};
export default async function VerifyEmailPage({ params: { token } }: PageProps) {
- setupI18nSSR();
+ await setupI18nSSR();
if (!token) {
return (
diff --git a/apps/web/src/app/(unauthenticated)/verify-email/page.tsx b/apps/web/src/app/(unauthenticated)/verify-email/page.tsx
index 6fcfaec9b..cd518a913 100644
--- a/apps/web/src/app/(unauthenticated)/verify-email/page.tsx
+++ b/apps/web/src/app/(unauthenticated)/verify-email/page.tsx
@@ -11,8 +11,8 @@ export const metadata: Metadata = {
title: 'Verify Email',
};
-export default function EmailVerificationWithoutTokenPage() {
- setupI18nSSR();
+export default async function EmailVerificationWithoutTokenPage() {
+ await setupI18nSSR();
return (
diff --git a/apps/web/src/app/embed/direct/[[...url]]/client.tsx b/apps/web/src/app/embed/direct/[[...url]]/client.tsx
index 189e9f1ca..0f71c0e89 100644
--- a/apps/web/src/app/embed/direct/[[...url]]/client.tsx
+++ b/apps/web/src/app/embed/direct/[[...url]]/client.tsx
@@ -318,6 +318,7 @@ export const EmbedDirectTemplateClientPage = ({
{/* Widget */}
@@ -367,7 +368,7 @@ export const EmbedDirectTemplateClientPage = ({
className="bg-background mt-2"
disabled={isNameLocked}
value={fullName}
- onChange={(e) => !isNameLocked && setFullName(e.target.value.trim())}
+ onChange={(e) => !isNameLocked && setFullName(e.target.value)}
/>
@@ -394,13 +395,17 @@ export const EmbedDirectTemplateClientPage = ({
{
setSignature(value);
}}
+ allowTypedSignature={Boolean(
+ metadata &&
+ 'typedSignatureEnabled' in metadata &&
+ metadata.typedSignatureEnabled,
+ )}
/>
diff --git a/apps/web/src/app/embed/sign/[[...url]]/client.tsx b/apps/web/src/app/embed/sign/[[...url]]/client.tsx
index 08f479004..e10f4745c 100644
--- a/apps/web/src/app/embed/sign/[[...url]]/client.tsx
+++ b/apps/web/src/app/embed/sign/[[...url]]/client.tsx
@@ -198,6 +198,7 @@ export const EmbedSignDocumentClientPage = ({
{/* Widget */}
@@ -247,7 +248,7 @@ export const EmbedSignDocumentClientPage = ({
className="bg-background mt-2"
disabled={isNameLocked}
value={fullName}
- onChange={(e) => !isNameLocked && setFullName(e.target.value.trim())}
+ onChange={(e) => !isNameLocked && setFullName(e.target.value)}
/>
@@ -273,13 +274,17 @@ export const EmbedSignDocumentClientPage = ({
{
setSignature(value);
}}
+ allowTypedSignature={Boolean(
+ metadata &&
+ 'typedSignatureEnabled' in metadata &&
+ metadata.typedSignatureEnabled,
+ )}
/>
diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx
index c4a6ffd3a..53d735200 100644
--- a/apps/web/src/app/layout.tsx
+++ b/apps/web/src/app/layout.tsx
@@ -56,7 +56,7 @@ export function generateMetadata() {
export default async function RootLayout({ children }: { children: React.ReactNode }) {
const flags = await getServerComponentAllFlags();
- const { i18n, lang, locales } = setupI18nSSR();
+ const { i18n, lang, locales } = await setupI18nSSR();
return (
Documenso
;
}
diff --git a/apps/web/src/components/(dashboard)/avatar/stack-avatar.tsx b/apps/web/src/components/(dashboard)/avatar/stack-avatar.tsx
index a2a81bb2a..abf6d6074 100644
--- a/apps/web/src/components/(dashboard)/avatar/stack-avatar.tsx
+++ b/apps/web/src/components/(dashboard)/avatar/stack-avatar.tsx
@@ -1,3 +1,4 @@
+import { RecipientStatusType } from '@documenso/lib/client-only/recipient-type';
import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar';
const ZIndexes: { [key: string]: string } = {
@@ -12,7 +13,7 @@ export type StackAvatarProps = {
first?: boolean;
zIndex?: string;
fallbackText?: string;
- type: 'unsigned' | 'waiting' | 'opened' | 'completed';
+ type: RecipientStatusType;
};
export const StackAvatar = ({ first, zIndex, fallbackText = '', type }: StackAvatarProps) => {
@@ -24,19 +25,24 @@ export const StackAvatar = ({ first, zIndex, fallbackText = '', type }: StackAva
zIndexClass = ZIndexes[zIndex] ?? '';
}
+ console.log({ type, fallbackText });
+
switch (type) {
- case 'unsigned':
+ case RecipientStatusType.UNSIGNED:
classes = 'bg-dawn-200 text-dawn-900';
break;
- case 'opened':
+ case RecipientStatusType.OPENED:
classes = 'bg-yellow-200 text-yellow-700';
break;
- case 'waiting':
+ case RecipientStatusType.WAITING:
classes = 'bg-water text-water-700';
break;
- case 'completed':
+ case RecipientStatusType.COMPLETED:
classes = 'bg-documenso-200 text-documenso-800';
break;
+ case RecipientStatusType.REJECTED:
+ classes = 'bg-red-200 text-red-800';
+ break;
default:
break;
}
diff --git a/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx b/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx
index c859c332a..bccee558e 100644
--- a/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx
+++ b/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx
@@ -8,7 +8,7 @@ import { useLingui } from '@lingui/react';
import { RecipientStatusType, getRecipientType } from '@documenso/lib/client-only/recipient-type';
import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
import { recipientAbbreviation } from '@documenso/lib/utils/recipient-formatter';
-import type { DocumentStatus, Recipient } from '@documenso/prisma/client';
+import { type DocumentStatus, type Recipient } from '@documenso/prisma/client';
import { PopoverHover } from '@documenso/ui/primitives/popover';
import { AvatarWithRecipient } from './avatar-with-recipient';
@@ -46,7 +46,22 @@ export const StackAvatarsWithTooltip = ({
(recipient) => getRecipientType(recipient) === RecipientStatusType.UNSIGNED,
);
- const sortedRecipients = useMemo(() => recipients.sort((a, b) => a.id - b.id), [recipients]);
+ const rejectedRecipients = recipients.filter(
+ (recipient) => getRecipientType(recipient) === RecipientStatusType.REJECTED,
+ );
+
+ const sortedRecipients = useMemo(() => {
+ const otherRecipients = recipients.filter(
+ (recipient) => getRecipientType(recipient) !== RecipientStatusType.REJECTED,
+ );
+
+ return [
+ ...rejectedRecipients.sort((a, b) => a.id - b.id),
+ ...otherRecipients.sort((a, b) => {
+ return a.id - b.id;
+ }),
+ ];
+ }, [recipients]);
return (
)}
+ {rejectedRecipients.length > 0 && (
+
+
+ Rejected
+
+ {rejectedRecipients.map((recipient: Recipient) => (
+
+
+
+
{recipient.email}
+
+ {_(RECIPIENT_ROLES_DESCRIPTION[recipient.role].roleName)}
+
+
+
+ ))}
+
+ )}
+
{waitingRecipients.length > 0 && (
diff --git a/apps/web/src/components/(dashboard)/document-search/document-search.tsx b/apps/web/src/components/(dashboard)/document-search/document-search.tsx
index dbfad6775..966452152 100644
--- a/apps/web/src/components/(dashboard)/document-search/document-search.tsx
+++ b/apps/web/src/components/(dashboard)/document-search/document-search.tsx
@@ -4,12 +4,18 @@ import { useCallback, useEffect, useState } from 'react';
import { useRouter, useSearchParams } from 'next/navigation';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+
import { useDebouncedValue } from '@documenso/lib/client-only/hooks/use-debounced-value';
import { Input } from '@documenso/ui/primitives/input';
export const DocumentSearch = ({ initialValue = '' }: { initialValue?: string }) => {
+ const { _ } = useLingui();
+
const router = useRouter();
const searchParams = useSearchParams();
+
const [searchTerm, setSearchTerm] = useState(initialValue);
const debouncedSearchTerm = useDebouncedValue(searchTerm, 500);
@@ -33,7 +39,7 @@ export const DocumentSearch = ({ initialValue = '' }: { initialValue?: string })
return (
setSearchTerm(e.target.value)}
/>
diff --git a/apps/web/src/components/(dashboard)/settings/token/contants.ts b/apps/web/src/components/(dashboard)/settings/token/contants.ts
index 232c37644..414425b25 100644
--- a/apps/web/src/components/(dashboard)/settings/token/contants.ts
+++ b/apps/web/src/components/(dashboard)/settings/token/contants.ts
@@ -1,7 +1,9 @@
+import { msg } from '@lingui/macro';
+
export const EXPIRATION_DATES = {
- ONE_WEEK: '7 days',
- ONE_MONTH: '1 month',
- THREE_MONTHS: '3 months',
- SIX_MONTHS: '6 months',
- ONE_YEAR: '12 months',
+ ONE_WEEK: msg`7 days`,
+ ONE_MONTH: msg`1 month`,
+ THREE_MONTHS: msg`3 months`,
+ SIX_MONTHS: msg`6 months`,
+ ONE_YEAR: msg`12 months`,
} as const;
diff --git a/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx b/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx
index 428470dce..adaac05b0 100644
--- a/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx
+++ b/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx
@@ -53,7 +53,7 @@ export default function DeleteTokenDialog({
const [isOpen, setIsOpen] = useState(false);
- const deleteMessage = `delete ${token.name}`;
+ const deleteMessage = _(msg`delete ${token.name}`);
const ZDeleteTokenDialogSchema = z.object({
tokenName: z.literal(deleteMessage, {
diff --git a/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx b/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx
index 3ba291132..62d9df9bc 100644
--- a/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx
+++ b/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx
@@ -51,7 +51,7 @@ export const DeleteWebhookDialog = ({ webhook, children }: DeleteWebhookDialogPr
const [open, setOpen] = useState(false);
- const deleteMessage = `delete ${webhook.webhookUrl}`;
+ const deleteMessage = _(msg`delete ${webhook.webhookUrl}`);
const ZDeleteWebhookFormSchema = z.object({
webhookUrl: z.literal(deleteMessage, {
diff --git a/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx b/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx
index ee974a25b..3377bc989 100644
--- a/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx
+++ b/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx
@@ -47,7 +47,7 @@ export const DeleteTeamDialog = ({ trigger, teamId, teamName }: DeleteTeamDialog
const { _ } = useLingui();
const { toast } = useToast();
- const deleteMessage = `delete ${teamName}`;
+ const deleteMessage = _(msg`delete ${teamName}`);
const ZDeleteTeamFormSchema = z.object({
teamName: z.literal(deleteMessage, {
diff --git a/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx b/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx
index 0859945dc..2fb5f31bf 100644
--- a/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx
+++ b/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx
@@ -73,7 +73,7 @@ export const TransferTeamDialog = ({
teamId,
});
- const confirmTransferMessage = `transfer ${teamName}`;
+ const confirmTransferMessage = _(msg`transfer ${teamName}`);
const ZTransferTeamFormSchema = z.object({
teamName: z.literal(confirmTransferMessage, {
diff --git a/apps/web/src/components/(teams)/forms/update-team-form.tsx b/apps/web/src/components/(teams)/forms/update-team-form.tsx
index c709e2039..0ed19fcdc 100644
--- a/apps/web/src/components/(teams)/forms/update-team-form.tsx
+++ b/apps/web/src/components/(teams)/forms/update-team-form.tsx
@@ -6,14 +6,22 @@ import { zodResolver } from '@hookform/resolvers/zod';
import { Trans, msg } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { AnimatePresence, motion } from 'framer-motion';
+import { useSession } from 'next-auth/react';
import { useForm } from 'react-hook-form';
+import { match } from 'ts-pattern';
import type { z } from 'zod';
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
+import { DocumentVisibility } from '@documenso/prisma/client';
import { trpc } from '@documenso/trpc/react';
import { ZUpdateTeamMutationSchema } from '@documenso/trpc/server/team-router/schema';
+import {
+ DocumentVisibilitySelect,
+ DocumentVisibilityTooltip,
+} from '@documenso/ui/components/document/document-visibility-select';
import { Button } from '@documenso/ui/primitives/button';
+import { Checkbox } from '@documenso/ui/primitives/checkbox';
import {
Form,
FormControl,
@@ -29,18 +37,29 @@ export type UpdateTeamDialogProps = {
teamId: number;
teamName: string;
teamUrl: string;
+ documentVisibility?: DocumentVisibility;
+ includeSenderDetails?: boolean;
};
const ZUpdateTeamFormSchema = ZUpdateTeamMutationSchema.shape.data.pick({
name: true,
url: true,
+ documentVisibility: true,
+ includeSenderDetails: true,
});
type TUpdateTeamFormSchema = z.infer;
-export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogProps) => {
+export const UpdateTeamForm = ({
+ teamId,
+ teamName,
+ teamUrl,
+ documentVisibility,
+ includeSenderDetails,
+}: UpdateTeamDialogProps) => {
const router = useRouter();
-
+ const { data: session } = useSession();
+ const email = session?.user?.email;
const { _ } = useLingui();
const { toast } = useToast();
@@ -49,17 +68,36 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
defaultValues: {
name: teamName,
url: teamUrl,
+ documentVisibility,
+ includeSenderDetails,
},
});
const { mutateAsync: updateTeam } = trpc.team.updateTeam.useMutation();
+ const includeSenderDetailsCheck = form.watch('includeSenderDetails');
- const onFormSubmit = async ({ name, url }: TUpdateTeamFormSchema) => {
+ const mapVisibilityToRole = (visibility: DocumentVisibility): DocumentVisibility =>
+ match(visibility)
+ .with(DocumentVisibility.ADMIN, () => DocumentVisibility.ADMIN)
+ .with(DocumentVisibility.MANAGER_AND_ABOVE, () => DocumentVisibility.MANAGER_AND_ABOVE)
+ .otherwise(() => DocumentVisibility.EVERYONE);
+
+ const currentVisibilityRole = mapVisibilityToRole(
+ documentVisibility ?? DocumentVisibility.EVERYONE,
+ );
+ const onFormSubmit = async ({
+ name,
+ url,
+ documentVisibility,
+ includeSenderDetails,
+ }: TUpdateTeamFormSchema) => {
try {
await updateTeam({
data: {
name,
url,
+ documentVisibility,
+ includeSenderDetails,
},
teamId,
});
@@ -73,6 +111,8 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
form.reset({
name,
url,
+ documentVisibility,
+ includeSenderDetails,
});
if (url !== teamUrl) {
@@ -146,6 +186,68 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
)}
/>
+ (
+
+
+ Default Document Visibility
+
+
+
+
+
+
+
+
+ )}
+ />
+
+
+
(
+
+
+
+ Send on Behalf of Team
+
+
+
+
+
+
+ {includeSenderDetailsCheck ? (
+
+
+ "{email}" on behalf of "{teamName}" has invited you to sign "example
+ document".
+
+
+ ) : (
+
+ "{teamUrl}" has invited you to sign "example document".
+
+ )}
+
+
+
+ )}
+ />
+
+
{form.formState.isDirty && (
diff --git a/apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx b/apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx
index 296e3fa95..beb31d9b1 100644
--- a/apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx
+++ b/apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx
@@ -6,7 +6,7 @@ import Link from 'next/link';
import { useParams, usePathname } from 'next/navigation';
import { Trans } from '@lingui/macro';
-import { Braces, CreditCard, Globe2Icon, Settings, Users, Webhook } from 'lucide-react';
+import { Braces, CreditCard, Globe2Icon, Settings, Settings2, Users, Webhook } from 'lucide-react';
import { useFeatureFlags } from '@documenso/lib/client-only/providers/feature-flag';
import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app';
@@ -26,6 +26,7 @@ export const DesktopNav = ({ className, ...props }: DesktopNavProps) => {
const teamUrl = typeof params?.teamUrl === 'string' ? params?.teamUrl : '';
const settingsPath = `/t/${teamUrl}/settings`;
+ const preferencesPath = `/t/${teamUrl}/settings/preferences`;
const publicProfilePath = `/t/${teamUrl}/settings/public-profile`;
const membersPath = `/t/${teamUrl}/settings/members`;
const tokensPath = `/t/${teamUrl}/settings/tokens`;
@@ -44,6 +45,20 @@ export const DesktopNav = ({ className, ...props }: DesktopNavProps) => {
+
+
+
+
+ Preferences
+
+
+
{isPublicProfileEnabled && (
{
const teamUrl = typeof params?.teamUrl === 'string' ? params?.teamUrl : '';
const settingsPath = `/t/${teamUrl}/settings`;
+ const preferencesPath = `/t/${teamUrl}/preferences`;
const publicProfilePath = `/t/${teamUrl}/settings/public-profile`;
const membersPath = `/t/${teamUrl}/settings/members`;
const tokensPath = `/t/${teamUrl}/settings/tokens`;
@@ -52,6 +53,21 @@ export const MobileNav = ({ className, ...props }: MobileNavProps) => {
+
+
+
+ Preferences
+
+
+
{isPublicProfileEnabled && (
{
accessorKey: 'role',
cell: ({ row }) =>
row.original.ownerUserId === row.original.currentTeamMember.userId
- ? 'Owner'
+ ? _(msg`Owner`)
: _(TEAM_MEMBER_ROLE_MAP[row.original.currentTeamMember.role]),
},
{
diff --git a/apps/web/src/components/(teams)/tables/team-members-data-table.tsx b/apps/web/src/components/(teams)/tables/team-members-data-table.tsx
index fc8e28598..195c839dc 100644
--- a/apps/web/src/components/(teams)/tables/team-members-data-table.tsx
+++ b/apps/web/src/components/(teams)/tables/team-members-data-table.tsx
@@ -106,7 +106,7 @@ export const TeamMembersDataTable = ({
accessorKey: 'role',
cell: ({ row }) =>
teamOwnerUserId === row.original.userId
- ? 'Owner'
+ ? _(msg`Owner`)
: _(TEAM_MEMBER_ROLE_MAP[row.original.role]),
},
{
diff --git a/apps/web/src/components/document/document-history-sheet.tsx b/apps/web/src/components/document/document-history-sheet.tsx
index 8ca8fa2ff..8ee2098b6 100644
--- a/apps/web/src/components/document/document-history-sheet.tsx
+++ b/apps/web/src/components/document/document-history-sheet.tsx
@@ -12,7 +12,7 @@ import { UAParser } from 'ua-parser-js';
import { DOCUMENT_AUDIT_LOG_EMAIL_FORMAT } from '@documenso/lib/constants/document-audit-logs';
import { DOCUMENT_AUTH_TYPES } from '@documenso/lib/constants/document-auth';
import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs';
-import { formatDocumentAuditLogActionString } from '@documenso/lib/utils/document-audit-logs';
+import { formatDocumentAuditLogAction } from '@documenso/lib/utils/document-audit-logs';
import { trpc } from '@documenso/trpc/react';
import { cn } from '@documenso/ui/lib/utils';
import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar';
@@ -37,7 +37,7 @@ export const DocumentHistorySheet = ({
onMenuOpenChange,
children,
}: DocumentHistorySheetProps) => {
- const { i18n } = useLingui();
+ const { _, i18n } = useLingui();
const [isUserDetailsVisible, setIsUserDetailsVisible] = useState(false);
@@ -152,7 +152,7 @@ export const DocumentHistorySheet = ({
- {formatDocumentAuditLogActionString(auditLog, userId)}
+ {formatDocumentAuditLogAction(_, auditLog, userId).description}
{DateTime.fromJSDate(auditLog.createdAt)
@@ -169,6 +169,7 @@ export const DocumentHistorySheet = ({
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_DELETED },
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED },
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_COMPLETED },
+ { type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED },
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_SENT },
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_MOVED_TO_TEAM },
() => null,
diff --git a/apps/web/src/components/document/document-read-only-fields.tsx b/apps/web/src/components/document/document-read-only-fields.tsx
index 84b77e0d5..0b9550a8c 100644
--- a/apps/web/src/components/document/document-read-only-fields.tsx
+++ b/apps/web/src/components/document/document-read-only-fields.tsx
@@ -2,7 +2,9 @@
import { useState } from 'react';
-import { EyeOffIcon } from 'lucide-react';
+import { Trans } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+import { Clock, EyeOffIcon } from 'lucide-react';
import { P, match } from 'ts-pattern';
import {
@@ -12,12 +14,15 @@ import {
import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer';
import { DEFAULT_DOCUMENT_TIME_ZONE } from '@documenso/lib/constants/time-zones';
import type { DocumentField } from '@documenso/lib/server-only/field/get-fields-for-document';
+import { parseMessageDescriptor } from '@documenso/lib/utils/i18n';
import { extractInitials } from '@documenso/lib/utils/recipient-formatter';
import type { DocumentMeta } from '@documenso/prisma/client';
import { FieldType, SigningStatus } from '@documenso/prisma/client';
import { FieldRootContainer } from '@documenso/ui/components/field/field';
+import { SignatureIcon } from '@documenso/ui/icons/signature';
import { cn } from '@documenso/ui/lib/utils';
import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar';
+import { Badge } from '@documenso/ui/primitives/badge';
import { FRIENDLY_FIELD_TYPE } from '@documenso/ui/primitives/document-flow/types';
import { ElementVisible } from '@documenso/ui/primitives/element-visible';
import { PopoverHover } from '@documenso/ui/primitives/popover';
@@ -25,9 +30,16 @@ import { PopoverHover } from '@documenso/ui/primitives/popover';
export type DocumentReadOnlyFieldsProps = {
fields: DocumentField[];
documentMeta?: DocumentMeta;
+ showFieldStatus?: boolean;
};
-export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnlyFieldsProps) => {
+export const DocumentReadOnlyFields = ({
+ documentMeta,
+ fields,
+ showFieldStatus = true,
+}: DocumentReadOnlyFieldsProps) => {
+ const { _ } = useLingui();
+
const [hiddenFieldIds, setHiddenFieldIds] = useState>({});
const handleHideField = (fieldId: string) => {
@@ -54,15 +66,37 @@ export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnl
}
contentProps={{
- className: 'relative flex w-fit flex-col p-2.5 text-sm',
+ className: 'relative flex w-fit flex-col p-4 text-sm',
}}
>
-
- {field.Recipient.signingStatus === SigningStatus.SIGNED ? 'Signed' : 'Pending'}{' '}
- {FRIENDLY_FIELD_TYPE[field.type].toLowerCase()} field
+ {showFieldStatus && (
+
+ {field.Recipient.signingStatus === SigningStatus.SIGNED ? (
+ <>
+
+ Signed
+ >
+ ) : (
+ <>
+
+ Pending
+ >
+ )}
+
+ )}
+
+
+ {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type])} field
-
+
{field.Recipient.name
? `${field.Recipient.name} (${field.Recipient.email})`
: field.Recipient.email}{' '}
@@ -127,7 +161,7 @@ export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnl
field.type === FieldType.FREE_SIGNATURE,
})}
>
- {FRIENDLY_FIELD_TYPE[field.type]}
+ {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type])}
)}
diff --git a/apps/web/src/components/document/document-recipient-link-copy-dialog.tsx b/apps/web/src/components/document/document-recipient-link-copy-dialog.tsx
new file mode 100644
index 000000000..bec368f4c
--- /dev/null
+++ b/apps/web/src/components/document/document-recipient-link-copy-dialog.tsx
@@ -0,0 +1,151 @@
+'use client';
+
+import { useEffect, useState } from 'react';
+
+import { useSearchParams } from 'next/navigation';
+
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+
+import { useCopyToClipboard } from '@documenso/lib/client-only/hooks/use-copy-to-clipboard';
+import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params';
+import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app';
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
+import { formatSigningLink } from '@documenso/lib/utils/recipients';
+import type { Recipient } from '@documenso/prisma/client';
+import { RecipientRole } from '@documenso/prisma/client';
+import { CopyTextButton } from '@documenso/ui/components/common/copy-text-button';
+import { AvatarWithText } from '@documenso/ui/primitives/avatar';
+import { Button } from '@documenso/ui/primitives/button';
+import {
+ Dialog,
+ DialogClose,
+ DialogContent,
+ DialogDescription,
+ DialogFooter,
+ DialogHeader,
+ DialogTitle,
+ DialogTrigger,
+} from '@documenso/ui/primitives/dialog';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+export type DocumentRecipientLinkCopyDialogProps = {
+ trigger?: React.ReactNode;
+ recipients: Recipient[];
+};
+
+export const DocumentRecipientLinkCopyDialog = ({
+ trigger,
+ recipients,
+}: DocumentRecipientLinkCopyDialogProps) => {
+ const { _ } = useLingui();
+ const { toast } = useToast();
+
+ const [, copy] = useCopyToClipboard();
+
+ const searchParams = useSearchParams();
+ const updateSearchParams = useUpdateSearchParams();
+
+ const [open, setOpen] = useState(false);
+
+ const actionSearchParam = searchParams?.get('action');
+
+ const onBulkCopy = async () => {
+ const generatedString = recipients
+ .filter((recipient) => recipient.role !== RecipientRole.CC)
+ .map((recipient) => `${recipient.email}\n${NEXT_PUBLIC_WEBAPP_URL()}/sign/${recipient.token}`)
+ .join('\n\n');
+
+ await copy(generatedString).then(() => {
+ toast({
+ title: _(msg`Copied to clipboard`),
+ description: _(msg`All signing links have been copied to your clipboard.`),
+ });
+ });
+ };
+
+ useEffect(() => {
+ if (actionSearchParam === 'view-signing-links') {
+ setOpen(true);
+ updateSearchParams({ action: null });
+ }
+ }, [actionSearchParam, open, setOpen, updateSearchParams]);
+
+ return (
+ setOpen(value)}>
+ e.stopPropagation()}>
+ {trigger}
+
+
+
+
+
+ Copy Signing Links
+
+
+
+
+ You can copy and share these links to recipients so they can action the document.
+
+
+
+
+
+ {recipients.length === 0 && (
+
+ No recipients
+
+ )}
+
+ {recipients.map((recipient) => (
+
+ {recipient.email}}
+ secondaryText={
+
+ {_(RECIPIENT_ROLES_DESCRIPTION[recipient.role].roleName)}
+
+ }
+ />
+
+ {recipient.role !== RecipientRole.CC && (
+ {
+ toast({
+ title: _(msg`Copied to clipboard`),
+ description: _(msg`The signing link has been copied to your clipboard.`),
+ });
+ }}
+ badgeContentUncopied={
+
+ Copy
+
+ }
+ badgeContentCopied={
+
+ Copied
+
+ }
+ />
+ )}
+
+ ))}
+
+
+
+
+
+ Close
+
+
+
+
+ Bulk Copy
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/forms/search-param-selector.tsx b/apps/web/src/components/forms/search-param-selector.tsx
new file mode 100644
index 000000000..cdd4ef2b2
--- /dev/null
+++ b/apps/web/src/components/forms/search-param-selector.tsx
@@ -0,0 +1,50 @@
+import React, { useMemo } from 'react';
+
+import { usePathname, useRouter, useSearchParams } from 'next/navigation';
+
+import { Select, SelectContent, SelectTrigger, SelectValue } from '@documenso/ui/primitives/select';
+
+export type SearchParamSelector = {
+ paramKey: string;
+ isValueValid: (value: unknown) => boolean;
+ children: React.ReactNode;
+};
+
+export const SearchParamSelector = ({ children, paramKey, isValueValid }: SearchParamSelector) => {
+ const pathname = usePathname();
+ const searchParams = useSearchParams();
+
+ const router = useRouter();
+
+ const value = useMemo(() => {
+ const p = searchParams?.get(paramKey) ?? 'all';
+
+ return isValueValid(p) ? p : 'all';
+ }, [searchParams]);
+
+ const onValueChange = (newValue: string) => {
+ if (!pathname) {
+ return;
+ }
+
+ const params = new URLSearchParams(searchParams?.toString());
+
+ params.set(paramKey, newValue);
+
+ if (newValue === '' || newValue === 'all') {
+ params.delete(paramKey);
+ }
+
+ router.push(`${pathname}?${params.toString()}`, { scroll: false });
+ };
+
+ return (
+
+
+
+
+
+ {children}
+
+ );
+};
diff --git a/apps/web/src/components/forms/token.tsx b/apps/web/src/components/forms/token.tsx
index b042bd937..a28aa21e0 100644
--- a/apps/web/src/components/forms/token.tsx
+++ b/apps/web/src/components/forms/token.tsx
@@ -202,7 +202,7 @@ export const ApiTokenForm = ({ className, teamId, tokens }: ApiTokenFormProps) =
{Object.entries(EXPIRATION_DATES).map(([key, date]) => (
- {date}
+ {_(date)}
))}
diff --git a/apps/web/src/components/general/signing-disclosure.tsx b/apps/web/src/components/general/signing-disclosure.tsx
index bd1ef9707..a6257d35f 100644
--- a/apps/web/src/components/general/signing-disclosure.tsx
+++ b/apps/web/src/components/general/signing-disclosure.tsx
@@ -2,6 +2,8 @@ import type { HTMLAttributes } from 'react';
import Link from 'next/link';
+import { Trans } from '@lingui/macro';
+
import { cn } from '@documenso/ui/lib/utils';
export type SigningDisclosureProps = HTMLAttributes;
@@ -9,20 +11,24 @@ export type SigningDisclosureProps = HTMLAttributes;
export const SigningDisclosure = ({ className, ...props }: SigningDisclosureProps) => {
return (
- By proceeding with your electronic signature, you acknowledge and consent that it will be used
- to sign the given document and holds the same legal validity as a handwritten signature. By
- completing the electronic signing process, you affirm your understanding and acceptance of
- these conditions.
+
+ By proceeding with your electronic signature, you acknowledge and consent that it will be
+ used to sign the given document and holds the same legal validity as a handwritten
+ signature. By completing the electronic signing process, you affirm your understanding and
+ acceptance of these conditions.
+
- Read the full{' '}
-
- signature disclosure
-
- .
+
+ Read the full{' '}
+
+ signature disclosure
+
+ .
+
);
diff --git a/apps/web/src/pages/api/branding/logo/team/[teamId].ts b/apps/web/src/pages/api/branding/logo/team/[teamId].ts
new file mode 100644
index 000000000..6751f6abe
--- /dev/null
+++ b/apps/web/src/pages/api/branding/logo/team/[teamId].ts
@@ -0,0 +1,59 @@
+import type { NextApiRequest, NextApiResponse } from 'next';
+
+import sharp from 'sharp';
+
+import { getFile } from '@documenso/lib/universal/upload/get-file';
+import { prisma } from '@documenso/prisma';
+
+export default async function handler(req: NextApiRequest, res: NextApiResponse) {
+ const teamId = Number(req.query['teamId']);
+
+ if (teamId === 0 || Number.isNaN(teamId)) {
+ return res.status(400).json({
+ status: 'error',
+ message: 'Invalid team ID',
+ });
+ }
+
+ const settings = await prisma.teamGlobalSettings.findFirst({
+ where: {
+ teamId,
+ },
+ });
+
+ if (!settings || !settings.brandingEnabled) {
+ return res.status(404).json({
+ status: 'error',
+ message: 'Not found',
+ });
+ }
+
+ if (!settings.brandingLogo) {
+ return res.status(404).json({
+ status: 'error',
+ message: 'Not found',
+ });
+ }
+
+ const file = await getFile(JSON.parse(settings.brandingLogo)).catch(() => null);
+
+ if (!file) {
+ return res.status(404).json({
+ status: 'error',
+ message: 'Not found',
+ });
+ }
+
+ const img = await sharp(file)
+ .toFormat('png', {
+ quality: 80,
+ })
+ .toBuffer();
+
+ res.setHeader('Content-Type', 'image/png');
+ res.setHeader('Content-Length', img.length);
+ // Stale while revalidate for 1 hours to 24 hours
+ res.setHeader('Cache-Control', 'public, s-maxage=3600, stale-while-revalidate=86400');
+
+ res.status(200).send(img);
+}
diff --git a/docker/production/compose.yml b/docker/production/compose.yml
index bd2b9597e..505228b24 100644
--- a/docker/production/compose.yml
+++ b/docker/production/compose.yml
@@ -50,6 +50,7 @@ services:
- NEXT_PRIVATE_SMTP_SECURE=${NEXT_PRIVATE_SMTP_SECURE}
- NEXT_PRIVATE_SMTP_FROM_NAME=${NEXT_PRIVATE_SMTP_FROM_NAME:?err}
- NEXT_PRIVATE_SMTP_FROM_ADDRESS=${NEXT_PRIVATE_SMTP_FROM_ADDRESS:?err}
+ - NEXT_PRIVATE_SMTP_SERVICE=${NEXT_PRIVATE_SMTP_SERVICE}
- NEXT_PRIVATE_RESEND_API_KEY=${NEXT_PRIVATE_RESEND_API_KEY}
- NEXT_PRIVATE_MAILCHANNELS_API_KEY=${NEXT_PRIVATE_MAILCHANNELS_API_KEY}
- NEXT_PRIVATE_MAILCHANNELS_ENDPOINT=${NEXT_PRIVATE_MAILCHANNELS_ENDPOINT}
@@ -60,6 +61,7 @@ services:
- NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY}
- NEXT_PUBLIC_DISABLE_SIGNUP=${NEXT_PUBLIC_DISABLE_SIGNUP}
- NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=${NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH:-/opt/documenso/cert.p12}
+ - NEXT_PRIVATE_SIGNING_PASSPHRASE=${NEXT_PRIVATE_SIGNING_PASSPHRASE}
ports:
- ${PORT:-3000}:${PORT:-3000}
volumes:
diff --git a/lingui.config.ts b/lingui.config.ts
index 855aaf7f5..8026d461f 100644
--- a/lingui.config.ts
+++ b/lingui.config.ts
@@ -19,7 +19,7 @@ const config: LinguiConfig = {
},
{
path: '/packages/lib/translations/{locale}/common',
- include: ['packages/ui', 'packages/lib'],
+ include: ['packages/ui', 'packages/lib', 'packages/email'],
exclude: ['**/node_modules/**'],
},
],
diff --git a/package-lock.json b/package-lock.json
index db43598d5..3e905c2ae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@documenso/root",
- "version": "1.7.2-rc.1",
+ "version": "1.8.0-rc.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@documenso/root",
- "version": "1.7.2-rc.1",
+ "version": "1.8.0-rc.2",
"workspaces": [
"apps/*",
"packages/*"
@@ -80,7 +80,7 @@
},
"apps/marketing": {
"name": "@documenso/marketing",
- "version": "1.7.2-rc.1",
+ "version": "1.8.0-rc.2",
"license": "AGPL-3.0",
"dependencies": {
"@documenso/assets": "*",
@@ -441,7 +441,7 @@
},
"apps/web": {
"name": "@documenso/web",
- "version": "1.7.2-rc.1",
+ "version": "1.8.0-rc.2",
"license": "AGPL-3.0",
"dependencies": {
"@documenso/api": "*",
@@ -37106,6 +37106,9 @@
"@documenso/email": "*",
"@documenso/prisma": "*",
"@documenso/signing": "*",
+ "@lingui/core": "^4.11.3",
+ "@lingui/macro": "^4.11.3",
+ "@lingui/react": "^4.11.3",
"@next-auth/prisma-adapter": "1.0.7",
"@noble/ciphers": "0.4.0",
"@noble/hashes": "1.3.2",
diff --git a/package.json b/package.json
index 2f0e6d146..f7f0398cb 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"private": true,
- "version": "1.7.2-rc.1",
+ "version": "1.8.0-rc.2",
"scripts": {
"build": "turbo run build",
"build:web": "turbo run build --filter=@documenso/web",
diff --git a/packages/api/v1/implementation.ts b/packages/api/v1/implementation.ts
index fc1aae04c..fda6ad1a4 100644
--- a/packages/api/v1/implementation.ts
+++ b/packages/api/v1/implementation.ts
@@ -301,6 +301,7 @@ export const ApiContractV1Implementation = createNextRoute(ApiContractV1, {
dateFormat: dateFormat?.value,
redirectUrl: body.meta.redirectUrl,
signingOrder: body.meta.signingOrder,
+ language: body.meta.language,
requestMetadata: extractNextApiRequestMetadata(args.req),
});
diff --git a/packages/api/v1/schema.ts b/packages/api/v1/schema.ts
index a6d4618ad..a4fab1089 100644
--- a/packages/api/v1/schema.ts
+++ b/packages/api/v1/schema.ts
@@ -2,6 +2,7 @@ import { extendZodWithOpenApi } from '@anatine/zod-openapi';
import { z } from 'zod';
import { DATE_FORMATS, DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats';
+import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
import '@documenso/lib/constants/time-zones';
import { DEFAULT_DOCUMENT_TIME_ZONE, TIME_ZONES } from '@documenso/lib/constants/time-zones';
import { ZUrlSchema } from '@documenso/lib/schemas/common';
@@ -127,6 +128,7 @@ export const ZCreateDocumentMutationSchema = z.object({
}),
redirectUrl: z.string(),
signingOrder: z.nativeEnum(DocumentSigningOrder).optional(),
+ language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
})
.partial(),
authOptions: z
@@ -181,6 +183,7 @@ export const ZCreateDocumentFromTemplateMutationSchema = z.object({
dateFormat: z.string(),
redirectUrl: z.string(),
signingOrder: z.nativeEnum(DocumentSigningOrder).optional(),
+ language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
})
.partial()
.optional(),
@@ -247,6 +250,7 @@ export const ZGenerateDocumentFromTemplateMutationSchema = z.object({
dateFormat: z.string(),
redirectUrl: ZUrlSchema,
signingOrder: z.nativeEnum(DocumentSigningOrder).optional(),
+ language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
})
.partial()
.optional(),
diff --git a/packages/app-tests/e2e/document-auth/action-auth.spec.ts b/packages/app-tests/e2e/document-auth/action-auth.spec.ts
index 7a30d585d..15bbd9d82 100644
--- a/packages/app-tests/e2e/document-auth/action-auth.spec.ts
+++ b/packages/app-tests/e2e/document-auth/action-auth.spec.ts
@@ -36,7 +36,7 @@ test('[DOCUMENT_AUTH]: should allow signing when no auth setup', async ({ page }
await expect(page.getByRole('heading', { name: 'Sign Document' })).toBeVisible();
// Add signature.
- const canvas = page.locator('canvas');
+ const canvas = page.locator('canvas').first();
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
@@ -93,7 +93,7 @@ test('[DOCUMENT_AUTH]: should allow signing with valid global auth', async ({ pa
await expect(page.getByRole('heading', { name: 'Sign Document' })).toBeVisible();
// Add signature.
- const canvas = page.locator('canvas');
+ const canvas = page.locator('canvas').first();
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
@@ -262,7 +262,7 @@ test('[DOCUMENT_AUTH]: should allow field signing when required for recipient au
}
// Add signature.
- const canvas = page.locator('canvas');
+ const canvas = page.locator('canvas').first();
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
@@ -373,7 +373,7 @@ test('[DOCUMENT_AUTH]: should allow field signing when required for recipient an
}
// Add signature.
- const canvas = page.locator('canvas');
+ const canvas = page.locator('canvas').first();
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
diff --git a/packages/app-tests/e2e/document-flow/stepper-component.spec.ts b/packages/app-tests/e2e/document-flow/stepper-component.spec.ts
index d276ee36b..686346fba 100644
--- a/packages/app-tests/e2e/document-flow/stepper-component.spec.ts
+++ b/packages/app-tests/e2e/document-flow/stepper-component.spec.ts
@@ -106,7 +106,7 @@ test('[DOCUMENT_FLOW]: should be able to create a document', async ({ page }) =>
await page.getByRole('button', { name: 'Continue' }).click();
// Add subject and send
- await expect(page.getByRole('heading', { name: 'Add Subject' })).toBeVisible();
+ await expect(page.getByRole('heading', { name: 'Distribute Document' })).toBeVisible();
await page.getByRole('button', { name: 'Send' }).click();
await page.waitForURL('/documents');
@@ -190,7 +190,7 @@ test('[DOCUMENT_FLOW]: should be able to create a document with multiple recipie
await page.getByRole('button', { name: 'Continue' }).click();
// Add subject and send
- await expect(page.getByRole('heading', { name: 'Add Subject' })).toBeVisible();
+ await expect(page.getByRole('heading', { name: 'Distribute Document' })).toBeVisible();
await page.getByRole('button', { name: 'Send' }).click();
await page.waitForURL('/documents');
@@ -287,7 +287,7 @@ test('[DOCUMENT_FLOW]: should be able to create a document with multiple recipie
await page.getByRole('button', { name: 'Continue' }).click();
// Add subject and send
- await expect(page.getByRole('heading', { name: 'Add Subject' })).toBeVisible();
+ await expect(page.getByRole('heading', { name: 'Distribute Document' })).toBeVisible();
await page.getByRole('button', { name: 'Send' }).click();
await page.waitForURL('/documents');
@@ -566,7 +566,7 @@ test('[DOCUMENT_FLOW]: should be able to create and sign a document with 3 recip
await page.getByRole('button', { name: 'Continue' }).click();
- await expect(page.getByRole('heading', { name: 'Add Subject' })).toBeVisible();
+ await expect(page.getByRole('heading', { name: 'Distribute Document' })).toBeVisible();
await page.getByRole('button', { name: 'Send' }).click();
await page.waitForURL('/documents');
diff --git a/packages/app-tests/e2e/teams/team-documents.spec.ts b/packages/app-tests/e2e/teams/team-documents.spec.ts
index 4532a478b..7babb1803 100644
--- a/packages/app-tests/e2e/teams/team-documents.spec.ts
+++ b/packages/app-tests/e2e/teams/team-documents.spec.ts
@@ -462,6 +462,45 @@ test('[TEAMS]: check document visibility based on team member role', async ({ pa
}
});
+test('[TEAMS]: ensure document owner can see document regardless of visibility', async ({
+ page,
+}) => {
+ const team = await seedTeam();
+
+ // Seed a member user
+ const memberUser = await seedTeamMember({
+ teamId: team.id,
+ role: TeamMemberRole.MEMBER,
+ });
+
+ // Seed a document with ADMIN visibility but make the member user a recipient
+ await seedDocuments([
+ {
+ sender: memberUser,
+ recipients: [],
+ type: DocumentStatus.COMPLETED,
+ documentOptions: {
+ teamId: team.id,
+ visibility: 'ADMIN',
+ title: 'Admin Document with Member Document Owner',
+ },
+ },
+ ]);
+
+ await apiSignin({
+ page,
+ email: memberUser.email,
+ redirectPath: `/t/${team.url}/documents?status=COMPLETED`,
+ });
+
+ // Check that the member user can see the document
+ await expect(
+ page.getByRole('link', { name: 'Admin Document with Member Document Owner', exact: true }),
+ ).toBeVisible();
+
+ await apiSignout({ page });
+});
+
test('[TEAMS]: ensure recipient can see document regardless of visibility', async ({ page }) => {
const team = await seedTeam();
diff --git a/packages/app-tests/e2e/teams/team-global-settings.spec.ts b/packages/app-tests/e2e/teams/team-global-settings.spec.ts
new file mode 100644
index 000000000..b8b5377a1
--- /dev/null
+++ b/packages/app-tests/e2e/teams/team-global-settings.spec.ts
@@ -0,0 +1,62 @@
+import { expect, test } from '@playwright/test';
+
+import { seedTeam } from '@documenso/prisma/seed/teams';
+
+import { apiSignin } from '../fixtures/authentication';
+
+test.describe.configure({ mode: 'parallel' });
+
+test('[TEAMS]: update the default document visibility in the team global settings', async ({
+ page,
+}) => {
+ const team = await seedTeam({
+ createTeamMembers: 1,
+ });
+
+ await apiSignin({
+ page,
+ email: team.owner.email,
+ password: 'password',
+ redirectPath: `/t/${team.url}/settings`,
+ });
+
+ await page.getByRole('combobox').click();
+ await page.getByRole('option', { name: 'Admin' }).click();
+ await page.getByRole('button', { name: 'Update team' }).click();
+
+ const toast = page.locator('li[role="status"][data-state="open"]').first();
+ await expect(toast).toBeVisible();
+ await expect(toast.getByText('Success', { exact: true })).toBeVisible();
+ await expect(
+ toast.getByText('Your team has been successfully updated.', { exact: true }),
+ ).toBeVisible();
+});
+
+test('[TEAMS]: update the sender details in the team global settings', async ({ page }) => {
+ const team = await seedTeam({
+ createTeamMembers: 1,
+ });
+
+ await apiSignin({
+ page,
+ email: team.owner.email,
+ password: 'password',
+ redirectPath: `/t/${team.url}/settings`,
+ });
+
+ const checkbox = page.getByLabel('Send on Behalf of Team');
+ await checkbox.check();
+
+ await expect(checkbox).toBeChecked();
+
+ await page.getByRole('button', { name: 'Update team' }).click();
+
+ const toast = page.locator('li[role="status"][data-state="open"]').first();
+ await expect(toast).toBeVisible();
+ await expect(toast.getByText('Success', { exact: true })).toBeVisible();
+ await expect(
+ toast.getByText('Your team has been successfully updated.', { exact: true }),
+ ).toBeVisible();
+
+ await expect(checkbox).toBeChecked();
+});
diff --git a/packages/app-tests/e2e/teams/transfer-team.spec.ts b/packages/app-tests/e2e/teams/transfer-team.spec.ts
index d34525160..d45e8110f 100644
--- a/packages/app-tests/e2e/teams/transfer-team.spec.ts
+++ b/packages/app-tests/e2e/teams/transfer-team.spec.ts
@@ -29,7 +29,7 @@ test('[TEAMS]: initiate and cancel team transfer', async ({ page }) => {
await page.getByLabel('Confirm by typing transfer').fill('transfer');
await page.getByRole('button', { name: 'Transfer' }).click();
- await expect(page.locator('[id="\\:r2\\:-form-item-message"]')).toContainText(
+ await expect(page.locator('[id*="form-item-message"]').first()).toContainText(
`You must enter 'transfer ${team.name}' to proceed`,
);
diff --git a/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts b/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts
index 4061b0046..e367ecef6 100644
--- a/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts
+++ b/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts
@@ -32,7 +32,7 @@ test.describe('[EE_ONLY]', () => {
await apiSignin({
page,
email: user.email,
- redirectPath: `/templates/${template.id}`,
+ redirectPath: `/templates/${template.id}/edit`,
});
// Set EE action auth.
@@ -74,7 +74,7 @@ test.describe('[EE_ONLY]', () => {
await apiSignin({
page,
email: teamMemberUser.email,
- redirectPath: `/t/${team.url}/templates/${template.id}`,
+ redirectPath: `/t/${team.url}/templates/${template.id}/edit`,
});
// Set EE action auth.
@@ -110,7 +110,7 @@ test.describe('[EE_ONLY]', () => {
await apiSignin({
page,
email: teamMemberUser.email,
- redirectPath: `/templates/${template.id}`,
+ redirectPath: `/templates/${template.id}/edit`,
});
// Global action auth should not be visible.
@@ -132,7 +132,7 @@ test('[TEMPLATE_FLOW]: add settings', async ({ page }) => {
await apiSignin({
page,
email: user.email,
- redirectPath: `/templates/${template.id}`,
+ redirectPath: `/templates/${template.id}/edit`,
});
// Set title.
diff --git a/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts b/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts
index 16bb077e4..3ce52c55c 100644
--- a/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts
+++ b/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts
@@ -31,7 +31,7 @@ test.describe('[EE_ONLY]', () => {
await apiSignin({
page,
email: user.email,
- redirectPath: `/templates/${template.id}`,
+ redirectPath: `/templates/${template.id}/edit`,
});
// Save the settings by going to the next step.
@@ -81,7 +81,7 @@ test('[TEMPLATE_FLOW]: add placeholder', async ({ page }) => {
await apiSignin({
page,
email: user.email,
- redirectPath: `/templates/${template.id}`,
+ redirectPath: `/templates/${template.id}/edit`,
});
// Save the settings by going to the next step.
diff --git a/packages/app-tests/e2e/templates/create-document-from-template.spec.ts b/packages/app-tests/e2e/templates/create-document-from-template.spec.ts
index 72baa0002..57100eaa6 100644
--- a/packages/app-tests/e2e/templates/create-document-from-template.spec.ts
+++ b/packages/app-tests/e2e/templates/create-document-from-template.spec.ts
@@ -37,7 +37,7 @@ test('[TEMPLATE]: should create a document from a template', async ({ page }) =>
await apiSignin({
page,
email: user.email,
- redirectPath: `/templates/${template.id}`,
+ redirectPath: `/templates/${template.id}/edit`,
});
// Set template title.
@@ -172,7 +172,7 @@ test('[TEMPLATE]: should create a team document from a team template', async ({
await apiSignin({
page,
email: owner.email,
- redirectPath: `/t/${team.url}/templates/${template.id}`,
+ redirectPath: `/t/${team.url}/templates/${template.id}/edit`,
});
// Set template title.
diff --git a/packages/app-tests/e2e/user/auth-flow.spec.ts b/packages/app-tests/e2e/user/auth-flow.spec.ts
index 014588566..a57333cba 100644
--- a/packages/app-tests/e2e/user/auth-flow.spec.ts
+++ b/packages/app-tests/e2e/user/auth-flow.spec.ts
@@ -18,7 +18,7 @@ test('[USER] can sign up with email and password', async ({ page }: { page: Page
await page.getByLabel('Email').fill(email);
await page.getByLabel('Password', { exact: true }).fill(password);
- const canvas = page.locator('canvas');
+ const canvas = page.locator('canvas').first();
const box = await canvas.boundingBox();
if (box) {
diff --git a/packages/app-tests/e2e/user/update-name.spec.ts b/packages/app-tests/e2e/user/update-name.spec.ts
index ca26fbf3d..db292631c 100644
--- a/packages/app-tests/e2e/user/update-name.spec.ts
+++ b/packages/app-tests/e2e/user/update-name.spec.ts
@@ -12,7 +12,7 @@ test('[USER] update full name', async ({ page }) => {
await page.getByLabel('Full Name').fill('John Doe');
- const canvas = page.locator('canvas');
+ const canvas = page.locator('canvas').first();
const box = await canvas.boundingBox();
if (box) {
diff --git a/packages/email/mailer.ts b/packages/email/mailer.ts
index 21aecfa19..3b5afa524 100644
--- a/packages/email/mailer.ts
+++ b/packages/email/mailer.ts
@@ -1,10 +1,56 @@
+import type { Transporter } from 'nodemailer';
import { createTransport } from 'nodemailer';
import { ResendTransport } from '@documenso/nodemailer-resend';
import { MailChannelsTransport } from './transports/mailchannels';
-const getTransport = () => {
+/**
+ * Creates a Nodemailer transport object for sending emails.
+ *
+ * This function uses various environment variables to configure the appropriate
+ * email transport mechanism. It supports multiple types of email transports,
+ * including MailChannels, Resend, and different SMTP configurations.
+ *
+ * @returns {Transporter} A configured Nodemailer transporter instance.
+ *
+ * Supported Transports:
+ * - **mailchannels**: Uses MailChannelsTransport, requiring:
+ * - `NEXT_PRIVATE_MAILCHANNELS_API_KEY`: API key for MailChannels
+ * - `NEXT_PRIVATE_MAILCHANNELS_ENDPOINT`: Endpoint for MailChannels (optional)
+ * - **resend**: Uses ResendTransport, requiring:
+ * - `NEXT_PRIVATE_RESEND_API_KEY`: API key for Resend
+ * - **smtp-api**: Uses a custom SMTP API configuration, requiring:
+ * - `NEXT_PRIVATE_SMTP_HOST`: The SMTP server host
+ * - `NEXT_PRIVATE_SMTP_APIKEY`: The API key for SMTP authentication
+ * - `NEXT_PRIVATE_SMTP_APIKEY_USER`: The username for SMTP authentication (default: 'apikey')
+ * - **smtp-auth** (default): Uses a standard SMTP configuration, requiring:
+ * - `NEXT_PRIVATE_SMTP_HOST`: The SMTP server host (default: 'localhost:2500')
+ * - `NEXT_PRIVATE_SMTP_PORT`: The port to connect to (default: 587)
+ * - `NEXT_PRIVATE_SMTP_SECURE`: Whether to use SSL/TLS (default: false)
+ * - `NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS`: Whether to ignore TLS (default: false)
+ * - `NEXT_PRIVATE_SMTP_USERNAME`: The username for SMTP authentication
+ * - `NEXT_PRIVATE_SMTP_PASSWORD`: The password for SMTP authentication
+ * - `NEXT_PRIVATE_SMTP_SERVICE`: The SMTP service provider (e.g., "gmail"). This option is used
+ * when integrating with well-known services (like Gmail), enabling simplified configuration.
+ *
+ * Example Usage:
+ * ```env
+ * NEXT_PRIVATE_SMTP_TRANSPORT='smtp-auth';
+ * NEXT_PRIVATE_SMTP_HOST='smtp.example.com';
+ * NEXT_PRIVATE_SMTP_PORT=587;
+ * NEXT_PRIVATE_SMTP_SERVICE='gmail';
+ * NEXT_PRIVATE_SMTP_SECURE='true';
+ * NEXT_PRIVATE_SMTP_USERNAME='your-email@gmail.com';
+ * NEXT_PRIVATE_SMTP_PASSWORD='your-password';
+ * ```
+ *
+ * Notes:
+ * - Ensure that the required environment variables for each transport type are set.
+ * - If `NEXT_PRIVATE_SMTP_TRANSPORT` is not specified, the default is `smtp-auth`.
+ * - `NEXT_PRIVATE_SMTP_SERVICE` is optional and used specifically for well-known services like Gmail.
+ */
+const getTransport = (): Transporter => {
const transport = process.env.NEXT_PRIVATE_SMTP_TRANSPORT ?? 'smtp-auth';
if (transport === 'mailchannels') {
@@ -53,6 +99,9 @@ const getTransport = () => {
pass: process.env.NEXT_PRIVATE_SMTP_PASSWORD ?? '',
}
: undefined,
+ ...(process.env.NEXT_PRIVATE_SMTP_SERVICE
+ ? { service: process.env.NEXT_PRIVATE_SMTP_SERVICE }
+ : {}),
});
};
diff --git a/packages/email/providers/branding.tsx b/packages/email/providers/branding.tsx
new file mode 100644
index 000000000..84e022be1
--- /dev/null
+++ b/packages/email/providers/branding.tsx
@@ -0,0 +1,44 @@
+'use client';
+
+import { createContext, useContext } from 'react';
+
+type BrandingContextValue = {
+ brandingEnabled: boolean;
+ brandingUrl: string;
+ brandingLogo: string;
+ brandingCompanyDetails: string;
+ brandingHidePoweredBy: boolean;
+};
+
+const BrandingContext = createContext(undefined);
+
+const defaultBrandingContextValue: BrandingContextValue = {
+ brandingEnabled: false,
+ brandingUrl: '',
+ brandingLogo: '',
+ brandingCompanyDetails: '',
+ brandingHidePoweredBy: false,
+};
+
+export const BrandingProvider = (props: {
+ branding?: BrandingContextValue;
+ children: React.ReactNode;
+}) => {
+ return (
+
+ {props.children}
+
+ );
+};
+
+export const useBranding = () => {
+ const ctx = useContext(BrandingContext);
+
+ if (!ctx) {
+ throw new Error('Branding context not found');
+ }
+
+ return ctx;
+};
+
+export type BrandingSettings = BrandingContextValue;
diff --git a/packages/email/render.ts b/packages/email/render.ts
deleted file mode 100644
index 46f0d62a5..000000000
--- a/packages/email/render.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { render, renderAsync } from '@react-email/render';
diff --git a/packages/email/render.tsx b/packages/email/render.tsx
new file mode 100644
index 000000000..093e9f267
--- /dev/null
+++ b/packages/email/render.tsx
@@ -0,0 +1,48 @@
+import * as ReactEmail from '@react-email/render';
+
+import config from '@documenso/tailwind-config';
+
+import { Tailwind } from './components';
+import { BrandingProvider, type BrandingSettings } from './providers/branding';
+
+export type RenderOptions = ReactEmail.Options & {
+ branding?: BrandingSettings;
+};
+
+export const render = (element: React.ReactNode, options?: RenderOptions) => {
+ const { branding, ...otherOptions } = options ?? {};
+
+ return ReactEmail.render(
+
+ {element}
+ ,
+ otherOptions,
+ );
+};
+
+export const renderAsync = async (element: React.ReactNode, options?: RenderOptions) => {
+ const { branding, ...otherOptions } = options ?? {};
+
+ return await ReactEmail.renderAsync(
+
+ {element}
+ ,
+ otherOptions,
+ );
+};
diff --git a/packages/email/template-components/template-confirmation-email.tsx b/packages/email/template-components/template-confirmation-email.tsx
index 1036faa3e..14c5b1481 100644
--- a/packages/email/template-components/template-confirmation-email.tsx
+++ b/packages/email/template-components/template-confirmation-email.tsx
@@ -1,3 +1,5 @@
+import { Trans } from '@lingui/macro';
+
import { Button, Section, Text } from '../components';
import { TemplateDocumentImage } from './template-document-image';
@@ -16,11 +18,13 @@ export const TemplateConfirmationEmail = ({
- Welcome to Documenso!
+ Welcome to Documenso!
- Before you get started, please confirm your email address by clicking the button below:
+
+ Before you get started, please confirm your email address by clicking the button below:
+
@@ -28,11 +32,13 @@ export const TemplateConfirmationEmail = ({
className="bg-documenso-500 inline-flex items-center justify-center rounded-lg px-6 py-3 text-center text-sm font-medium text-black no-underline"
href={confirmationLink}
>
- Confirm email
+ Confirm email
- You can also copy and paste this link into your browser: {confirmationLink} (link
- expires in 1 hour)
+
+ You can also copy and paste this link into your browser: {confirmationLink} (link
+ expires in 1 hour)
+
diff --git a/packages/email/template-components/template-document-cancel.tsx b/packages/email/template-components/template-document-cancel.tsx
index dff275de2..d6e1b4221 100644
--- a/packages/email/template-components/template-document-cancel.tsx
+++ b/packages/email/template-components/template-document-cancel.tsx
@@ -1,3 +1,5 @@
+import { Trans } from '@lingui/macro';
+
import { Section, Text } from '../components';
import { TemplateDocumentImage } from './template-document-image';
@@ -19,16 +21,18 @@ export const TemplateDocumentCancel = ({
- {inviterName} has cancelled the document
- "{documentName}"
+
+ {inviterName} has cancelled the document
+ "{documentName}"
+
- All signatures have been voided.
+ All signatures have been voided.
- You don't need to sign it anymore.
+ You don't need to sign it anymore.
>
diff --git a/packages/email/template-components/template-document-completed.tsx b/packages/email/template-components/template-document-completed.tsx
index 8829c8d06..d3f2f24d3 100644
--- a/packages/email/template-components/template-document-completed.tsx
+++ b/packages/email/template-components/template-document-completed.tsx
@@ -1,3 +1,5 @@
+import { Trans } from '@lingui/macro';
+
import { Button, Column, Img, Section, Text } from '../components';
import { TemplateDocumentImage } from './template-document-image';
@@ -30,27 +32,20 @@ export const TemplateDocumentCompleted = ({
src={getAssetUrl('/static/completed.png')}
className="-mt-0.5 mr-2 inline h-7 w-7 align-middle"
/>
- Completed
+ Completed
- {customBody ?? `“${documentName}” was signed by all signers`}
+ {customBody || “{documentName}” was signed by all signers }
- Continue by downloading the document.
+ Continue by downloading the document.
- {/*
-
- Review
- */}
- Download
+ Download
diff --git a/packages/email/template-components/template-document-invite.tsx b/packages/email/template-components/template-document-invite.tsx
index 62d049e13..f49e0d106 100644
--- a/packages/email/template-components/template-document-invite.tsx
+++ b/packages/email/template-components/template-document-invite.tsx
@@ -1,5 +1,11 @@
-import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles';
-import type { RecipientRole } from '@documenso/prisma/client';
+import { useMemo } from 'react';
+
+import { Trans } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+import { match } from 'ts-pattern';
+
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
+import { RecipientRole } from '@documenso/prisma/client';
import { Button, Section, Text } from '../components';
import { TemplateDocumentImage } from './template-document-image';
@@ -14,6 +20,7 @@ export interface TemplateDocumentInviteProps {
selfSigner: boolean;
isTeamInvite: boolean;
teamName?: string;
+ includeSenderDetails?: boolean;
}
export const TemplateDocumentInvite = ({
@@ -25,8 +32,19 @@ export const TemplateDocumentInvite = ({
selfSigner,
isTeamInvite,
teamName,
+ includeSenderDetails,
}: TemplateDocumentInviteProps) => {
- const { actionVerb, progressiveVerb } = RECIPIENT_ROLES_DESCRIPTION_ENG[role];
+ const { _ } = useLingui();
+
+ const { actionVerb } = RECIPIENT_ROLES_DESCRIPTION[role];
+
+ const rejectDocumentLink = useMemo(() => {
+ const url = new URL(signDocumentLink);
+
+ url.searchParams.set('reject', 'true');
+
+ return url.toString();
+ }, []);
return (
<>
@@ -35,36 +53,59 @@ export const TemplateDocumentInvite = ({
{selfSigner ? (
- <>
- {`Please ${actionVerb.toLowerCase()} your document`}
-
- {`"${documentName}"`}
- >
+
+ Please {_(actionVerb).toLowerCase()} your document
+ "{documentName}"
+
) : isTeamInvite ? (
<>
- {`${inviterName} on behalf of ${teamName} has invited you to ${actionVerb.toLowerCase()}`}
-
- {`"${documentName}"`}
+ {includeSenderDetails ? (
+
+ {inviterName} on behalf of {teamName} has invited you to{' '}
+ {_(actionVerb).toLowerCase()}
+
+ ) : (
+
+ {teamName} has invited you to {_(actionVerb).toLowerCase()}
+
+ )}
+ "{documentName}"
>
) : (
- <>
- {`${inviterName} has invited you to ${actionVerb.toLowerCase()}`}
-
- {`"${documentName}"`}
- >
+
+ {inviterName} has invited you to {_(actionVerb).toLowerCase()}
+ "{documentName}"
+
)}
- Continue by {progressiveVerb.toLowerCase()} the document.
+ {match(role)
+ .with(RecipientRole.SIGNER, () => Continue by signing the document. )
+ .with(RecipientRole.VIEWER, () => Continue by viewing the document. )
+ .with(RecipientRole.APPROVER, () => Continue by approving the document. )
+ .with(RecipientRole.CC, () => '')
+ .exhaustive()}
+
+ Reject Document
+
+
- {actionVerb} Document
+ {match(role)
+ .with(RecipientRole.SIGNER, () => Sign Document )
+ .with(RecipientRole.VIEWER, () => View Document )
+ .with(RecipientRole.APPROVER, () => Approve Document )
+ .with(RecipientRole.CC, () => '')
+ .exhaustive()}
diff --git a/packages/email/template-components/template-document-pending.tsx b/packages/email/template-components/template-document-pending.tsx
index f03d7bdbb..161f519dc 100644
--- a/packages/email/template-components/template-document-pending.tsx
+++ b/packages/email/template-components/template-document-pending.tsx
@@ -1,3 +1,5 @@
+import { Trans } from '@lingui/macro';
+
import { Column, Img, Section, Text } from '../components';
import { TemplateDocumentImage } from './template-document-image';
@@ -26,19 +28,21 @@ export const TemplateDocumentPending = ({
src={getAssetUrl('/static/clock.png')}
className="-mt-0.5 mr-2 inline h-7 w-7 align-middle"
/>
- Waiting for others
+ Waiting for others
- “{documentName}” has been signed
+ “{documentName}” has been signed
- We're still waiting for other signers to sign this document.
-
- We'll notify you as soon as it's ready.
+
+ We're still waiting for other signers to sign this document.
+
+ We'll notify you as soon as it's ready.
+
>
diff --git a/packages/email/template-components/template-document-rejected.tsx b/packages/email/template-components/template-document-rejected.tsx
new file mode 100644
index 000000000..40f0f59c8
--- /dev/null
+++ b/packages/email/template-components/template-document-rejected.tsx
@@ -0,0 +1,48 @@
+import { Trans } from '@lingui/macro';
+
+import { Button, Heading, Text } from '../components';
+
+export interface TemplateDocumentRejectedProps {
+ documentName: string;
+ recipientName: string;
+ rejectionReason?: string;
+ documentUrl: string;
+}
+
+export function TemplateDocumentRejected({
+ documentName,
+ recipientName: signerName,
+ rejectionReason,
+ documentUrl,
+}: TemplateDocumentRejectedProps) {
+ return (
+
+
+ Document Rejected
+
+
+
+
+ {signerName} has rejected the document "{documentName}".
+
+
+
+ {rejectionReason && (
+
+ Reason for rejection: {rejectionReason}
+
+ )}
+
+
+ You can view the document and its status by clicking the button below.
+
+
+
+ View Document
+
+
+ );
+}
diff --git a/packages/email/template-components/template-document-rejection-confirmed.tsx b/packages/email/template-components/template-document-rejection-confirmed.tsx
new file mode 100644
index 000000000..67b8c5b25
--- /dev/null
+++ b/packages/email/template-components/template-document-rejection-confirmed.tsx
@@ -0,0 +1,48 @@
+import { Trans } from '@lingui/macro';
+
+import { Container, Heading, Section, Text } from '../components';
+
+interface TemplateDocumentRejectionConfirmedProps {
+ recipientName: string;
+ documentName: string;
+ documentOwnerName: string;
+ reason?: string;
+}
+
+export function TemplateDocumentRejectionConfirmed({
+ recipientName,
+ documentName,
+ documentOwnerName,
+ reason,
+}: TemplateDocumentRejectionConfirmedProps) {
+ return (
+
+
+
+ Rejection Confirmed
+
+
+
+
+ This email confirms that you have rejected the document{' '}
+ "{documentName}" sent by {documentOwnerName}.
+
+
+
+ {reason && (
+
+ Rejection reason: {reason}
+
+ )}
+
+
+
+ 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.
+
+
+
+
+ );
+}
diff --git a/packages/email/template-components/template-document-self-signed.tsx b/packages/email/template-components/template-document-self-signed.tsx
index db16fb000..f62b3e650 100644
--- a/packages/email/template-components/template-document-self-signed.tsx
+++ b/packages/email/template-components/template-document-self-signed.tsx
@@ -1,3 +1,4 @@
+import { Trans } from '@lingui/macro';
import { env } from 'next-runtime-env';
import { Button, Column, Img, Link, Section, Text } from '../components';
@@ -32,25 +33,27 @@ export const TemplateDocumentSelfSigned = ({
src={getAssetUrl('/static/completed.png')}
className="-mt-0.5 mr-2 inline h-7 w-7 align-middle"
/>
- Completed
+ Completed
- You have signed “{documentName}”
+ You have signed “{documentName}”
- Create a{' '}
-
- free account
- {' '}
- to access your signed documents at any time.
+
+ Create a{' '}
+
+ free account
+ {' '}
+ to access your signed documents at any time.
+
@@ -62,7 +65,7 @@ export const TemplateDocumentSelfSigned = ({
src={getAssetUrl('/static/user-plus.png')}
className="mb-0.5 mr-2 inline h-5 w-5 align-middle"
/>
- Create account
+ Create account
- View plans
+ View plans
diff --git a/packages/email/template-components/template-document-super-delete.tsx b/packages/email/template-components/template-document-super-delete.tsx
index 9cb0a9e71..b26a6f105 100644
--- a/packages/email/template-components/template-document-super-delete.tsx
+++ b/packages/email/template-components/template-document-super-delete.tsx
@@ -1,3 +1,5 @@
+import { Trans } from '@lingui/macro';
+
import { Section, Text } from '../components';
import { TemplateDocumentImage } from './template-document-image';
@@ -18,20 +20,22 @@ export const TemplateDocumentDelete = ({
- Your document has been deleted by an admin!
+ Your document has been deleted by an admin!
- "{documentName}" has been deleted by an admin.
+ "{documentName}" has been deleted by an admin.
- This document can not be recovered, if you would like to dispute the reason for future
- documents please contact support.
+
+ This document can not be recovered, if you would like to dispute the reason for future
+ documents please contact support.
+
- The reason provided for deletion is the following:
+ The reason provided for deletion is the following:
diff --git a/packages/email/template-components/template-footer.tsx b/packages/email/template-components/template-footer.tsx
index 34cd4047e..912c7434f 100644
--- a/packages/email/template-components/template-footer.tsx
+++ b/packages/email/template-components/template-footer.tsx
@@ -1,26 +1,46 @@
+import { Trans } from '@lingui/macro';
+
import { Link, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
export type TemplateFooterProps = {
isDocument?: boolean;
};
export const TemplateFooter = ({ isDocument = true }: TemplateFooterProps) => {
+ const branding = useBranding();
+
return (
- {isDocument && (
+ {isDocument && !branding.brandingHidePoweredBy && (
- This document was sent using{' '}
-
- Documenso.
-
+
+ This document was sent using{' '}
+
+ Documenso.
+
+
)}
-
- Documenso, Inc.
-
- 2261 Market Street, #5211, San Francisco, CA 94114, USA
-
+ {branding.brandingCompanyDetails ? (
+
+ {branding.brandingCompanyDetails.split('\n').map((line, idx) => {
+ return (
+ <>
+ {idx > 0 && }
+ {line}
+ >
+ );
+ })}
+
+ ) : (
+
+ Documenso, Inc.
+
+ 2261 Market Street, #5211, San Francisco, CA 94114, USA
+
+ )}
);
};
diff --git a/packages/email/template-components/template-forgot-password.tsx b/packages/email/template-components/template-forgot-password.tsx
index c8227b2bd..1ab319a43 100644
--- a/packages/email/template-components/template-forgot-password.tsx
+++ b/packages/email/template-components/template-forgot-password.tsx
@@ -1,3 +1,5 @@
+import { Trans } from '@lingui/macro';
+
import { Button, Section, Text } from '../components';
import { TemplateDocumentImage } from './template-document-image';
@@ -16,11 +18,11 @@ export const TemplateForgotPassword = ({
- Forgot your password?
+ Forgot your password?
- That's okay, it happens! Click the button below to reset your password.
+ That's okay, it happens! Click the button below to reset your password.
@@ -28,7 +30,7 @@ export const TemplateForgotPassword = ({
className="bg-documenso-500 inline-flex items-center justify-center rounded-lg px-6 py-3 text-center text-sm font-medium text-black no-underline"
href={resetPasswordLink}
>
- Reset Password
+ Reset Password
diff --git a/packages/email/template-components/template-reset-password.tsx b/packages/email/template-components/template-reset-password.tsx
index d05393c83..d264385e4 100644
--- a/packages/email/template-components/template-reset-password.tsx
+++ b/packages/email/template-components/template-reset-password.tsx
@@ -1,3 +1,4 @@
+import { Trans } from '@lingui/macro';
import { env } from 'next-runtime-env';
import { Button, Section, Text } from '../components';
@@ -18,11 +19,11 @@ export const TemplateResetPassword = ({ assetBaseUrl }: TemplateResetPasswordPro
- Password updated!
+ Password updated!
- Your password has been updated.
+ Your password has been updated.
@@ -30,7 +31,7 @@ export const TemplateResetPassword = ({ assetBaseUrl }: TemplateResetPasswordPro
className="bg-documenso-500 inline-flex items-center justify-center rounded-lg px-6 py-3 text-center text-sm font-medium text-black no-underline"
href={`${NEXT_PUBLIC_WEBAPP_URL ?? 'http://localhost:3000'}/signin`}
>
- Sign In
+ Sign In
diff --git a/packages/email/templates/confirm-email.tsx b/packages/email/templates/confirm-email.tsx
index 59c7add10..6741a3116 100644
--- a/packages/email/templates/confirm-email.tsx
+++ b/packages/email/templates/confirm-email.tsx
@@ -1,6 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components';
+import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
import type { TemplateConfirmationEmailProps } from '../template-components/template-confirmation-email';
import { TemplateConfirmationEmail } from '../template-components/template-confirmation-email';
import { TemplateFooter } from '../template-components/template-footer';
@@ -9,7 +11,10 @@ export const ConfirmEmailTemplate = ({
confirmationLink,
assetBaseUrl = 'http://localhost:3002',
}: TemplateConfirmationEmailProps) => {
- const previewText = `Please confirm your email address`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Please confirm your email address`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -18,40 +23,34 @@ export const ConfirmEmailTemplate = ({
return (
- {previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/confirm-team-email.tsx b/packages/email/templates/confirm-team-email.tsx
index 552a079f8..40941e62f 100644
--- a/packages/email/templates/confirm-team-email.tsx
+++ b/packages/email/templates/confirm-team-email.tsx
@@ -1,5 +1,7 @@
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+
import { formatTeamUrl } from '@documenso/lib/utils/teams';
-import config from '@documenso/tailwind-config';
import {
Body,
@@ -8,12 +10,13 @@ import {
Head,
Hr,
Html,
+ Img,
Link,
Preview,
Section,
- Tailwind,
Text,
} from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import TemplateImage from '../template-components/template-image';
@@ -32,97 +35,103 @@ export const ConfirmTeamEmailTemplate = ({
teamUrl = 'demo',
token = '',
}: ConfirmTeamEmailProps) => {
- const previewText = `Accept team email request for ${teamName} on Documenso`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Accept team email request for ${teamName} on Documenso`;
return (
-
{previewText}
-
-
-
-
+ {_(previewText)}
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
-
- Verify your team email address
-
+
+
+ Verify your team email address
+
-
+
+
{teamName} has requested to use your email
address for their team on Documenso.
-
+
+
-
- {formatTeamUrl(teamUrl, baseUrl)}
-
+
+ {formatTeamUrl(teamUrl, baseUrl)}
+
-
-
+
+
+
By accepting this request, you will be granting {teamName} {' '}
access to:
-
+
+
-
-
- View all documents sent to and from this email address
-
-
- Allow document recipients to reply directly to this email address
-
-
- Send documents on behalf of the team using the email address
-
-
+
+
+ View all documents sent to and from this email address
+
+
+ Allow document recipients to reply directly to this email address
+
+
+ Send documents on behalf of the team using the email address
+
+
-
+
+
You can revoke access at any time in your team settings on Documenso{' '}
here.
-
-
-
-
+
+
- Link expires in 1 hour.
-
+
+
-
+
+ Link expires in 1 hour.
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
);
};
diff --git a/packages/email/templates/document-cancel.tsx b/packages/email/templates/document-cancel.tsx
index 66892bccc..197880a77 100644
--- a/packages/email/templates/document-cancel.tsx
+++ b/packages/email/templates/document-cancel.tsx
@@ -1,6 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Hr, Html, Img, Preview, Section, Tailwind } from '../components';
+import { Body, Container, Head, Hr, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
import type { TemplateDocumentCancelProps } from '../template-components/template-document-cancel';
import { TemplateDocumentCancel } from '../template-components/template-document-cancel';
import { TemplateFooter } from '../template-components/template-footer';
@@ -13,7 +15,10 @@ export const DocumentCancelTemplate = ({
documentName = 'Open Source Pledge.pdf',
assetBaseUrl = 'http://localhost:3002',
}: DocumentCancelEmailTemplateProps) => {
- const previewText = `${inviterName} has cancelled the document ${documentName}, you don't need to sign it anymore.`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`${inviterName} has cancelled the document ${documentName}, you don't need to sign it anymore.`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -22,43 +27,38 @@ export const DocumentCancelTemplate = ({
return (
- {previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/document-completed.tsx b/packages/email/templates/document-completed.tsx
index 5e23be873..f00c51130 100644
--- a/packages/email/templates/document-completed.tsx
+++ b/packages/email/templates/document-completed.tsx
@@ -1,6 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components';
+import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
import type { TemplateDocumentCompletedProps } from '../template-components/template-document-completed';
import { TemplateDocumentCompleted } from '../template-components/template-document-completed';
import { TemplateFooter } from '../template-components/template-footer';
@@ -15,7 +17,10 @@ export const DocumentCompletedEmailTemplate = ({
assetBaseUrl = 'http://localhost:3002',
customBody,
}: DocumentCompletedEmailTemplateProps) => {
- const previewText = `Completed Document`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Completed Document`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -24,41 +29,36 @@ export const DocumentCompletedEmailTemplate = ({
return (
- {previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/document-created-from-direct-template.tsx b/packages/email/templates/document-created-from-direct-template.tsx
index 68ad3363b..8fd3db84f 100644
--- a/packages/email/templates/document-created-from-direct-template.tsx
+++ b/packages/email/templates/document-created-from-direct-template.tsx
@@ -1,18 +1,10 @@
-import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles';
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import {
- Body,
- Button,
- Container,
- Head,
- Html,
- Img,
- Preview,
- Section,
- Tailwind,
- Text,
-} from '../components';
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
+
+import { Body, Button, Container, Head, Html, Img, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import TemplateDocumentImage from '../template-components/template-document-image';
import { TemplateFooter } from '../template-components/template-footer';
import { RecipientRole } from '.prisma/client';
@@ -32,9 +24,12 @@ export const DocumentCreatedFromDirectTemplateEmailTemplate = ({
documentName = 'Open Source Pledge.pdf',
assetBaseUrl = 'http://localhost:3002',
}: DocumentCompletedEmailTemplateProps) => {
- const action = RECIPIENT_ROLES_DESCRIPTION_ENG[recipientRole].actioned.toLowerCase();
+ const { _ } = useLingui();
+ const branding = useBranding();
- const previewText = `Document created from direct template`;
+ const action = _(RECIPIENT_ROLES_DESCRIPTION[recipientRole].actioned).toLowerCase();
+
+ const previewText = msg`Document created from direct template`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -43,55 +38,52 @@ export const DocumentCreatedFromDirectTemplateEmailTemplate = ({
return (
- {previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
-
+
+
+
{recipientName} {action} a document by using one of your direct links
-
+
+
-
- {documentName}
-
+
+ {documentName}
+
-
+
-
+
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/document-invite.tsx b/packages/email/templates/document-invite.tsx
index 30c6ae960..2db1cccdb 100644
--- a/packages/email/templates/document-invite.tsx
+++ b/packages/email/templates/document-invite.tsx
@@ -1,20 +1,11 @@
-import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles';
-import type { RecipientRole } from '@documenso/prisma/client';
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import {
- Body,
- Container,
- Head,
- Hr,
- Html,
- Img,
- Link,
- Preview,
- Section,
- Tailwind,
- Text,
-} from '../components';
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
+import type { RecipientRole } from '@documenso/prisma/client';
+
+import { Body, Container, Head, Hr, Html, Img, Link, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import type { TemplateDocumentInviteProps } from '../template-components/template-document-invite';
import { TemplateDocumentInvite } from '../template-components/template-document-invite';
import { TemplateFooter } from '../template-components/template-footer';
@@ -26,6 +17,7 @@ export type DocumentInviteEmailTemplateProps = Partial {
- const action = RECIPIENT_ROLES_DESCRIPTION_ENG[role].actionVerb.toLowerCase();
+ const { _ } = useLingui();
+ const branding = useBranding();
- const previewText = selfSigner
- ? `Please ${action} your document ${documentName}`
- : isTeamInvite
- ? `${inviterName} on behalf of ${teamName} has invited you to ${action} ${documentName}`
- : `${inviterName} has invited you to ${action} ${documentName}`;
+ const action = _(RECIPIENT_ROLES_DESCRIPTION[role].actionVerb).toLowerCase();
+
+ let previewText = msg`${inviterName} has invited you to ${action} ${documentName}`;
+
+ if (isTeamInvite) {
+ previewText = includeSenderDetails
+ ? msg`${inviterName} on behalf of ${teamName} has invited you to ${action} ${documentName}`
+ : msg`${teamName} has invited you to ${action} ${documentName}`;
+ }
+
+ if (selfSigner) {
+ previewText = msg`Please ${action} your document ${documentName}`;
+ }
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -55,67 +57,67 @@ export const DocumentInviteEmailTemplate = ({
return (
- {previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
-
-
+
+
+
+
{inviterName}{' '}
({inviterEmail})
-
+
+
-
- {customBody ? (
- {customBody}
- ) : (
- `${inviterName} has invited you to ${action} the document "${documentName}".`
- )}
-
-
-
+
+ {customBody ? (
+ {customBody}
+ ) : (
+
+ {inviterName} has invited you to {action} the document "{documentName}".
+
+ )}
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/document-pending.tsx b/packages/email/templates/document-pending.tsx
index f14671e10..6ed8b58d2 100644
--- a/packages/email/templates/document-pending.tsx
+++ b/packages/email/templates/document-pending.tsx
@@ -1,6 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components';
+import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
import type { TemplateDocumentPendingProps } from '../template-components/template-document-pending';
import { TemplateDocumentPending } from '../template-components/template-document-pending';
import { TemplateFooter } from '../template-components/template-footer';
@@ -11,7 +13,10 @@ export const DocumentPendingEmailTemplate = ({
documentName = 'Open Source Pledge.pdf',
assetBaseUrl = 'http://localhost:3002',
}: DocumentPendingEmailTemplateProps) => {
- const previewText = `Pending Document`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Pending Document`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -20,36 +25,31 @@ export const DocumentPendingEmailTemplate = ({
return (
-
{previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/document-rejected.tsx b/packages/email/templates/document-rejected.tsx
new file mode 100644
index 000000000..b2ded80bd
--- /dev/null
+++ b/packages/email/templates/document-rejected.tsx
@@ -0,0 +1,70 @@
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+
+import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
+import { TemplateDocumentRejected } from '../template-components/template-document-rejected';
+import { TemplateFooter } from '../template-components/template-footer';
+
+type DocumentRejectedEmailProps = {
+ recipientName: string;
+ documentName: string;
+ documentUrl: string;
+ rejectionReason: string;
+ assetBaseUrl?: string;
+};
+
+export function DocumentRejectedEmail({
+ recipientName,
+ documentName,
+ documentUrl,
+ rejectionReason,
+ assetBaseUrl = 'http://localhost:3002',
+}: DocumentRejectedEmailProps) {
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = _(msg`${recipientName} has rejected the document '${documentName}'`);
+
+ const getAssetUrl = (path: string) => {
+ return new URL(path, assetBaseUrl).toString();
+ };
+
+ return (
+
+
+ {previewText}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default DocumentRejectedEmail;
diff --git a/packages/email/templates/document-rejection-confirmed.tsx b/packages/email/templates/document-rejection-confirmed.tsx
new file mode 100644
index 000000000..a223d1f1d
--- /dev/null
+++ b/packages/email/templates/document-rejection-confirmed.tsx
@@ -0,0 +1,70 @@
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+
+import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
+import { TemplateDocumentRejectionConfirmed } from '../template-components/template-document-rejection-confirmed';
+import { TemplateFooter } from '../template-components/template-footer';
+
+export type DocumentRejectionConfirmedEmailProps = {
+ recipientName: string;
+ documentName: string;
+ documentOwnerName: string;
+ reason: string;
+ assetBaseUrl?: string;
+};
+
+export function DocumentRejectionConfirmedEmail({
+ recipientName,
+ documentName,
+ documentOwnerName,
+ reason,
+ assetBaseUrl = 'http://localhost:3002',
+}: DocumentRejectionConfirmedEmailProps) {
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = _(msg`You have rejected the document '${documentName}'`);
+
+ const getAssetUrl = (path: string) => {
+ return new URL(path, assetBaseUrl).toString();
+ };
+
+ return (
+
+
+
{previewText}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default DocumentRejectionConfirmedEmail;
diff --git a/packages/email/templates/document-self-signed.tsx b/packages/email/templates/document-self-signed.tsx
index aa1c89b10..b53f15363 100644
--- a/packages/email/templates/document-self-signed.tsx
+++ b/packages/email/templates/document-self-signed.tsx
@@ -1,6 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components';
+import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
import type { TemplateDocumentSelfSignedProps } from '../template-components/template-document-self-signed';
import { TemplateDocumentSelfSigned } from '../template-components/template-document-self-signed';
import { TemplateFooter } from '../template-components/template-footer';
@@ -11,7 +13,10 @@ export const DocumentSelfSignedEmailTemplate = ({
documentName = 'Open Source Pledge.pdf',
assetBaseUrl = 'http://localhost:3002',
}: DocumentSelfSignedTemplateProps) => {
- const previewText = `Completed Document`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Completed Document`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -20,39 +25,31 @@ export const DocumentSelfSignedEmailTemplate = ({
return (
-
{previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/document-super-delete.tsx b/packages/email/templates/document-super-delete.tsx
index 68384e119..0378db056 100644
--- a/packages/email/templates/document-super-delete.tsx
+++ b/packages/email/templates/document-super-delete.tsx
@@ -1,6 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Hr, Html, Img, Preview, Section, Tailwind } from '../components';
+import { Body, Container, Head, Hr, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
import {
TemplateDocumentDelete,
type TemplateDocumentDeleteProps,
@@ -14,7 +16,10 @@ export const DocumentSuperDeleteEmailTemplate = ({
assetBaseUrl = 'http://localhost:3002',
reason = 'Unknown',
}: DocumentDeleteEmailTemplateProps) => {
- const previewText = `An admin has deleted your document "${documentName}".`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`An admin has deleted your document "${documentName}".`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -23,42 +28,37 @@ export const DocumentSuperDeleteEmailTemplate = ({
return (
- {previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/forgot-password.tsx b/packages/email/templates/forgot-password.tsx
index 7fe62cd20..6b2d1014b 100644
--- a/packages/email/templates/forgot-password.tsx
+++ b/packages/email/templates/forgot-password.tsx
@@ -1,6 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components';
+import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import type { TemplateForgotPasswordProps } from '../template-components/template-forgot-password';
import { TemplateForgotPassword } from '../template-components/template-forgot-password';
@@ -11,7 +13,10 @@ export const ForgotPasswordTemplate = ({
resetPasswordLink = 'https://documenso.com',
assetBaseUrl = 'http://localhost:3002',
}: ForgotPasswordTemplateProps) => {
- const previewText = `Password Reset Requested`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Password Reset Requested`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -20,41 +25,36 @@ export const ForgotPasswordTemplate = ({
return (
-
{previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/recipient-removed-from-document.tsx b/packages/email/templates/recipient-removed-from-document.tsx
index 4fa22a28e..f3c6ad05a 100644
--- a/packages/email/templates/recipient-removed-from-document.tsx
+++ b/packages/email/templates/recipient-removed-from-document.tsx
@@ -1,17 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import {
- Body,
- Container,
- Head,
- Hr,
- Html,
- Img,
- Preview,
- Section,
- Tailwind,
- Text,
-} from '../components';
+import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import type { TemplateDocumentCancelProps } from '../template-components/template-document-cancel';
import TemplateDocumentImage from '../template-components/template-document-image';
import { TemplateFooter } from '../template-components/template-footer';
@@ -23,7 +14,10 @@ export const RecipientRemovedFromDocumentTemplate = ({
documentName = 'Open Source Pledge.pdf',
assetBaseUrl = 'http://localhost:3002',
}: DocumentCancelEmailTemplateProps) => {
- const previewText = `${inviterName} has removed you from the document ${documentName}.`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`${inviterName} has removed you from the document ${documentName}.`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -32,45 +26,42 @@ export const RecipientRemovedFromDocumentTemplate = ({
return (
-
{previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
-
+
+
+
{inviterName} has removed you from the document
"{documentName}"
-
-
+
+
-
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/reset-password.tsx b/packages/email/templates/reset-password.tsx
index c6c1201c6..ecde44ec9 100644
--- a/packages/email/templates/reset-password.tsx
+++ b/packages/email/templates/reset-password.tsx
@@ -1,18 +1,8 @@
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import {
- Body,
- Container,
- Head,
- Hr,
- Html,
- Img,
- Link,
- Preview,
- Section,
- Tailwind,
- Text,
-} from '../components';
+import { Body, Container, Head, Hr, Html, Img, Link, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import type { TemplateResetPasswordProps } from '../template-components/template-reset-password';
import { TemplateResetPassword } from '../template-components/template-reset-password';
@@ -24,7 +14,10 @@ export const ResetPasswordTemplate = ({
userEmail = 'lucas@documenso.com',
assetBaseUrl = 'http://localhost:3002',
}: ResetPasswordTemplateProps) => {
- const previewText = `Password Reset Successful`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Password Reset Successful`;
const getAssetUrl = (path: string) => {
return new URL(path, assetBaseUrl).toString();
@@ -33,65 +26,66 @@ export const ResetPasswordTemplate = ({
return (
-
{previewText}
-
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
-
-
+
+
+
-
-
-
+
+
+
+
Hi, {userName}{' '}
({userEmail})
-
+
+
-
+
+
We've changed your password as you asked. You can now sign in with your new
password.
-
-
+
+
+
+
Didn't request a password change? We are here to help you secure your account,
just{' '}
contact us.
-
-
-
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/team-delete.tsx b/packages/email/templates/team-delete.tsx
index 240757338..a4830f9b3 100644
--- a/packages/email/templates/team-delete.tsx
+++ b/packages/email/templates/team-delete.tsx
@@ -1,7 +1,10 @@
-import { formatTeamUrl } from '@documenso/lib/utils/teams';
-import config from '@documenso/tailwind-config';
+import { msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components';
+import { formatTeamUrl } from '@documenso/lib/utils/teams';
+
+import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import TemplateImage from '../template-components/template-image';
@@ -18,67 +21,65 @@ export const TeamDeleteEmailTemplate = ({
teamUrl = 'demo',
isOwner = false,
}: TeamDeleteEmailProps) => {
+ const { _ } = useLingui();
+ const branding = useBranding();
+
const previewText = isOwner
- ? 'Your team has been deleted'
- : 'A team you were a part of has been deleted';
+ ? msg`Your team has been deleted`
+ : msg`A team you were a part of has been deleted`;
const title = isOwner
- ? 'Your team has been deleted'
- : 'A team you were a part of has been deleted';
+ ? msg`Your team has been deleted`
+ : msg`A team you were a part of has been deleted`;
const description = isOwner
- ? 'The following team has been deleted by you'
- : 'The following team has been deleted by its owner. You will no longer be able to access this team and its documents';
+ ? msg`The following team has been deleted by you`
+ : msg`The following team has been deleted by its owner. You will no longer be able to access this team and its documents`;
return (
- {previewText}
-
-
-
-
+ {_(previewText)}
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
- {title}
+
+ {_(title)}
- {description}
+ {_(description)}
-
- {formatTeamUrl(teamUrl, baseUrl)}
-
-
-
+
+ {formatTeamUrl(teamUrl, baseUrl)}
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/team-email-removed.tsx b/packages/email/templates/team-email-removed.tsx
index 0a143d1b9..a5201716a 100644
--- a/packages/email/templates/team-email-removed.tsx
+++ b/packages/email/templates/team-email-removed.tsx
@@ -1,7 +1,10 @@
-import { formatTeamUrl } from '@documenso/lib/utils/teams';
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components';
+import { formatTeamUrl } from '@documenso/lib/utils/teams';
+
+import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import TemplateImage from '../template-components/template-image';
@@ -20,62 +23,62 @@ export const TeamEmailRemovedTemplate = ({
teamName = 'Team Name',
teamUrl = 'demo',
}: TeamEmailRemovedTemplateProps) => {
- const previewText = `Team email removed for ${teamName} on Documenso`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Team email removed for ${teamName} on Documenso`;
return (
- {previewText}
-
-
-
-
+ {_(previewText)}
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
-
- Team email removed
-
+
+
+ Team email removed
+
-
+
+
The team email {teamEmail} has been removed
from the following team
-
+
+
-
- {formatTeamUrl(teamUrl, baseUrl)}
-
-
-
+
+ {formatTeamUrl(teamUrl, baseUrl)}
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/team-invite.tsx b/packages/email/templates/team-invite.tsx
index 3c062c4c8..3ddc064b1 100644
--- a/packages/email/templates/team-invite.tsx
+++ b/packages/email/templates/team-invite.tsx
@@ -1,5 +1,7 @@
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+
import { formatTeamUrl } from '@documenso/lib/utils/teams';
-import config from '@documenso/tailwind-config';
import {
Body,
@@ -8,11 +10,12 @@ import {
Head,
Hr,
Html,
+ Img,
Preview,
Section,
- Tailwind,
Text,
} from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import TemplateImage from '../template-components/template-image';
@@ -33,80 +36,80 @@ export const TeamInviteEmailTemplate = ({
teamUrl = 'demo',
token = '',
}: TeamInviteEmailProps) => {
- const previewText = `Accept invitation to join a team on Documenso`;
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`Accept invitation to join a team on Documenso`;
return (
- {previewText}
-
-
-
-
+ {_(previewText)}
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
-
- Join {teamName} on Documenso
-
+
+
+ Join {teamName} on Documenso
+
-
- You have been invited to join the following team
-
+
+ You have been invited to join the following team
+
-
- {formatTeamUrl(teamUrl, baseUrl)}
-
+
+ {formatTeamUrl(teamUrl, baseUrl)}
+
-
+
+
by {senderName}
-
+
+
-
-
- Accept
-
-
- Decline
-
-
+
+
+ Accept
+
+
+ Decline
+
-
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/team-join.tsx b/packages/email/templates/team-join.tsx
index b3c1efc2f..95d328140 100644
--- a/packages/email/templates/team-join.tsx
+++ b/packages/email/templates/team-join.tsx
@@ -1,7 +1,10 @@
-import { formatTeamUrl } from '@documenso/lib/utils/teams';
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components';
+import { formatTeamUrl } from '@documenso/lib/utils/teams';
+
+import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import TemplateImage from '../template-components/template-image';
@@ -22,61 +25,61 @@ export const TeamJoinEmailTemplate = ({
teamName = 'Team Name',
teamUrl = 'demo',
}: TeamJoinEmailProps) => {
- const previewText = 'A team member has joined a team on Documenso';
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`A team member has joined a team on Documenso`;
return (
- {previewText}
-
-
-
-
+ {_(previewText)}
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
-
+
+
+
{memberName || memberEmail} joined the team {teamName} on Documenso
-
+
+
-
- {memberEmail} joined the following team
-
+
+ {memberEmail} joined the following team
+
-
- {formatTeamUrl(teamUrl, baseUrl)}
-
-
-
+
+ {formatTeamUrl(teamUrl, baseUrl)}
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/team-leave.tsx b/packages/email/templates/team-leave.tsx
index 51b9aaab1..c67902154 100644
--- a/packages/email/templates/team-leave.tsx
+++ b/packages/email/templates/team-leave.tsx
@@ -1,7 +1,10 @@
-import { formatTeamUrl } from '@documenso/lib/utils/teams';
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components';
+import { formatTeamUrl } from '@documenso/lib/utils/teams';
+
+import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
+import { useBranding } from '../providers/branding';
import { TemplateFooter } from '../template-components/template-footer';
import TemplateImage from '../template-components/template-image';
@@ -22,61 +25,61 @@ export const TeamLeaveEmailTemplate = ({
teamName = 'Team Name',
teamUrl = 'demo',
}: TeamLeaveEmailProps) => {
- const previewText = 'A team member has left a team on Documenso';
+ const { _ } = useLingui();
+ const branding = useBranding();
+
+ const previewText = msg`A team member has left a team on Documenso`;
return (
- {previewText}
-
-
-
-
+ {_(previewText)}
+
+
+
+
+ {branding.brandingEnabled && branding.brandingLogo ? (
+
+ ) : (
+ )}
-
+
-
-
+
+
+
{memberName || memberEmail} left the team {teamName} on Documenso
-
+
+
-
- {memberEmail} left the following team
-
+
+ {memberEmail} left the following team
+
-
- {formatTeamUrl(teamUrl, baseUrl)}
-
-
-
+
+ {formatTeamUrl(teamUrl, baseUrl)}
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/email/templates/team-transfer-request.tsx b/packages/email/templates/team-transfer-request.tsx
index 82723226c..480274efb 100644
--- a/packages/email/templates/team-transfer-request.tsx
+++ b/packages/email/templates/team-transfer-request.tsx
@@ -1,18 +1,9 @@
-import { formatTeamUrl } from '@documenso/lib/utils/teams';
-import config from '@documenso/tailwind-config';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
-import {
- Body,
- Button,
- Container,
- Head,
- Hr,
- Html,
- Preview,
- Section,
- Tailwind,
- Text,
-} from '../components';
+import { formatTeamUrl } from '@documenso/lib/utils/teams';
+
+import { Body, Button, Container, Head, Hr, Html, Preview, Section, Text } from '../components';
import { TemplateFooter } from '../template-components/template-footer';
import TemplateImage from '../template-components/template-image';
@@ -33,78 +24,77 @@ export const TeamTransferRequestTemplate = ({
teamUrl = 'demo',
token = '',
}: TeamTransferRequestTemplateProps) => {
- const previewText = 'Accept team transfer request on Documenso';
+ const { _ } = useLingui();
+
+ const previewText = msg`Accept team transfer request on Documenso`;
return (
- {previewText}
-
-
-
-
+ {_(previewText)}
+
+
+
+
+
+
+
-
+
+
+ {teamName} ownership transfer request
+
-
-
- {teamName} ownership transfer request
-
-
-
+
+
{senderName} has requested that you take
ownership of the following team
-
+
+
-
- {formatTeamUrl(teamUrl, baseUrl)}
-
+
+ {formatTeamUrl(teamUrl, baseUrl)}
+
-
+
+
By accepting this request, you will take responsibility for any billing items
associated with this team.
-
+
+
-
+
+
- Link expires in 1 hour.
-
+
+ Link expires in 1 hour.
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/packages/lib/client-only/providers/i18n.server.tsx b/packages/lib/client-only/providers/i18n.server.tsx
index 8ee89f3de..9acca3119 100644
--- a/packages/lib/client-only/providers/i18n.server.tsx
+++ b/packages/lib/client-only/providers/i18n.server.tsx
@@ -7,58 +7,94 @@ import { setupI18n } from '@lingui/core';
import { setI18n } from '@lingui/react/server';
import { IS_APP_WEB } from '../../constants/app';
-import { SUPPORTED_LANGUAGE_CODES } from '../../constants/i18n';
+import {
+ APP_I18N_OPTIONS,
+ SUPPORTED_LANGUAGE_CODES,
+ isValidLanguageCode,
+} from '../../constants/i18n';
import { extractLocaleData } from '../../utils/i18n';
+import { remember } from '../../utils/remember';
type SupportedLanguages = (typeof SUPPORTED_LANGUAGE_CODES)[number];
-async function loadCatalog(lang: SupportedLanguages): Promise<{
+export async function loadCatalog(lang: SupportedLanguages): Promise<{
[k: string]: Messages;
}> {
const extension = process.env.NODE_ENV === 'development' ? 'po' : 'js';
const context = IS_APP_WEB ? 'web' : 'marketing';
- const { messages } = await import(`../../translations/${lang}/${context}.${extension}`);
+ let { messages } = await import(`../../translations/${lang}/${context}.${extension}`);
+
+ if (extension === 'po') {
+ const { messages: commonMessages } = await import(
+ `../../translations/${lang}/common.${extension}`
+ );
+
+ messages = { ...messages, ...commonMessages };
+ }
return {
[lang]: messages,
};
}
-const catalogs = await Promise.all(SUPPORTED_LANGUAGE_CODES.map(loadCatalog));
+const catalogs = Promise.all(SUPPORTED_LANGUAGE_CODES.map(loadCatalog));
// transform array of catalogs into a single object
-export const allMessages = catalogs.reduce((acc, oneCatalog) => {
- return { ...acc, ...oneCatalog };
-}, {});
+const allMessages = async () => {
+ return await catalogs.then((catalogs) =>
+ catalogs.reduce((acc, oneCatalog) => {
+ return {
+ ...acc,
+ ...oneCatalog,
+ };
+ }, {}),
+ );
+};
type AllI18nInstances = { [K in SupportedLanguages]: I18n };
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
-export const allI18nInstances = SUPPORTED_LANGUAGE_CODES.reduce((acc, lang) => {
- const messages = allMessages[lang] ?? {};
+export const allI18nInstances = remember('i18n.allI18nInstances', async () => {
+ const loadedMessages = await allMessages();
- const i18n = setupI18n({
- locale: lang,
- messages: { [lang]: messages },
- });
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
+ return SUPPORTED_LANGUAGE_CODES.reduce((acc, lang) => {
+ const messages = loadedMessages[lang] ?? {};
- return { ...acc, [lang]: i18n };
-}, {}) as AllI18nInstances;
+ const i18n = setupI18n({
+ locale: lang,
+ messages: { [lang]: messages },
+ });
+
+ return { ...acc, [lang]: i18n };
+ }, {}) as AllI18nInstances;
+});
+
+// eslint-disable-next-line @typescript-eslint/ban-types
+export const getI18nInstance = async (lang?: SupportedLanguages | (string & {})) => {
+ const instances = await allI18nInstances;
+
+ if (!isValidLanguageCode(lang)) {
+ return instances[APP_I18N_OPTIONS.sourceLang];
+ }
+
+ return instances[lang] ?? instances[APP_I18N_OPTIONS.sourceLang];
+};
/**
* This needs to be run in all layouts and page server components that require i18n.
*
* https://lingui.dev/tutorials/react-rsc#pages-layouts-and-lingui
*/
-export const setupI18nSSR = () => {
+export const setupI18nSSR = async () => {
const { lang, locales } = extractLocaleData({
cookies: cookies(),
headers: headers(),
});
// Get and set a ready-made i18n instance for the given language.
- const i18n = allI18nInstances[lang];
+ const i18n = await getI18nInstance(lang);
// Reactivate the i18n instance with the locale for date and number formatting.
i18n.activate(lang, locales);
diff --git a/packages/lib/client-only/recipient-type.ts b/packages/lib/client-only/recipient-type.ts
index 4e2069087..627765dff 100644
--- a/packages/lib/client-only/recipient-type.ts
+++ b/packages/lib/client-only/recipient-type.ts
@@ -6,6 +6,7 @@ export enum RecipientStatusType {
OPENED = 'opened',
WAITING = 'waiting',
UNSIGNED = 'unsigned',
+ REJECTED = 'rejected',
}
export const getRecipientType = (recipient: Recipient) => {
@@ -16,6 +17,10 @@ export const getRecipientType = (recipient: Recipient) => {
return RecipientStatusType.COMPLETED;
}
+ if (recipient.signingStatus === SigningStatus.REJECTED) {
+ return RecipientStatusType.REJECTED;
+ }
+
if (
recipient.sendStatus === SendStatus.SENT &&
recipient.readStatus === ReadStatus.OPENED &&
diff --git a/packages/lib/constants/document.ts b/packages/lib/constants/document.ts
new file mode 100644
index 000000000..5b5ab2c5f
--- /dev/null
+++ b/packages/lib/constants/document.ts
@@ -0,0 +1,34 @@
+import type { MessageDescriptor } from '@lingui/core';
+import { msg } from '@lingui/macro';
+
+import { DocumentDistributionMethod, DocumentStatus } from '@documenso/prisma/client';
+
+export const DOCUMENT_STATUS: {
+ [status in DocumentStatus]: { description: MessageDescriptor };
+} = {
+ [DocumentStatus.COMPLETED]: {
+ description: msg`Completed`,
+ },
+ [DocumentStatus.DRAFT]: {
+ description: msg`Draft`,
+ },
+ [DocumentStatus.PENDING]: {
+ description: msg`Pending`,
+ },
+};
+
+type DocumentDistributionMethodTypeData = {
+ value: DocumentDistributionMethod;
+ description: MessageDescriptor;
+};
+
+export const DOCUMENT_DISTRIBUTION_METHODS: Record = {
+ [DocumentDistributionMethod.EMAIL]: {
+ value: DocumentDistributionMethod.EMAIL,
+ description: msg`Email`,
+ },
+ [DocumentDistributionMethod.NONE]: {
+ value: DocumentDistributionMethod.NONE,
+ description: msg`None`,
+ },
+} satisfies Record;
diff --git a/packages/lib/constants/i18n.ts b/packages/lib/constants/i18n.ts
index a54990e09..b3c8a8954 100644
--- a/packages/lib/constants/i18n.ts
+++ b/packages/lib/constants/i18n.ts
@@ -47,3 +47,6 @@ export const SUPPORTED_LANGUAGES: Record = {
short: 'es',
},
} satisfies Record;
+
+export const isValidLanguageCode = (code: unknown): code is SupportedLanguageCodes =>
+ SUPPORTED_LANGUAGE_CODES.includes(code as SupportedLanguageCodes);
diff --git a/packages/lib/constants/recipient-roles.ts b/packages/lib/constants/recipient-roles.ts
index ba099ceea..ad994c98d 100644
--- a/packages/lib/constants/recipient-roles.ts
+++ b/packages/lib/constants/recipient-roles.ts
@@ -9,63 +9,35 @@ export const RECIPIENT_ROLES_DESCRIPTION = {
actioned: msg`Approved`,
progressiveVerb: msg`Approving`,
roleName: msg`Approver`,
+ roleNamePlural: msg`Approvers`,
},
[RecipientRole.CC]: {
actionVerb: msg`CC`,
actioned: msg`CC'd`,
progressiveVerb: msg`CC`,
roleName: msg`Cc`,
+ roleNamePlural: msg`Ccers`,
},
[RecipientRole.SIGNER]: {
actionVerb: msg`Sign`,
actioned: msg`Signed`,
progressiveVerb: msg`Signing`,
roleName: msg`Signer`,
+ roleNamePlural: msg`Signers`,
},
[RecipientRole.VIEWER]: {
actionVerb: msg`View`,
actioned: msg`Viewed`,
progressiveVerb: msg`Viewing`,
roleName: msg`Viewer`,
- },
-} satisfies Record;
-
-/**
- * Raw english descriptions for emails.
- *
- * Todo: Handle i18n for emails.
- */
-export const RECIPIENT_ROLES_DESCRIPTION_ENG = {
- [RecipientRole.APPROVER]: {
- actionVerb: `Approve`,
- actioned: `Approved`,
- progressiveVerb: `Approving`,
- roleName: `Approver`,
- },
- [RecipientRole.CC]: {
- actionVerb: `CC`,
- actioned: `CC'd`,
- progressiveVerb: `CC`,
- roleName: `Cc`,
- },
- [RecipientRole.SIGNER]: {
- actionVerb: `Sign`,
- actioned: `Signed`,
- progressiveVerb: `Signing`,
- roleName: `Signer`,
- },
- [RecipientRole.VIEWER]: {
- actionVerb: `View`,
- actioned: `Viewed`,
- progressiveVerb: `Viewing`,
- roleName: `Viewer`,
+ roleNamePlural: msg`Viewers`,
},
} satisfies Record;
export const RECIPIENT_ROLE_TO_EMAIL_TYPE = {
- [RecipientRole.SIGNER]: 'SIGNING_REQUEST',
- [RecipientRole.VIEWER]: 'VIEW_REQUEST',
- [RecipientRole.APPROVER]: 'APPROVE_REQUEST',
+ [RecipientRole.SIGNER]: `SIGNING_REQUEST`,
+ [RecipientRole.VIEWER]: `VIEW_REQUEST`,
+ [RecipientRole.APPROVER]: `APPROVE_REQUEST`,
} as const;
export const RECIPIENT_ROLE_SIGNING_REASONS = {
@@ -74,13 +46,3 @@ export const RECIPIENT_ROLE_SIGNING_REASONS = {
[RecipientRole.CC]: msg`I am required to receive a copy of this document`,
[RecipientRole.VIEWER]: msg`I am a viewer of this document`,
} satisfies Record;
-
-/**
- * Raw english descriptions for certificates.
- */
-export const RECIPIENT_ROLE_SIGNING_REASONS_ENG = {
- [RecipientRole.SIGNER]: `I am a signer of this document`,
- [RecipientRole.APPROVER]: `I am an approver of this document`,
- [RecipientRole.CC]: `I am required to receive a copy of this document`,
- [RecipientRole.VIEWER]: `I am a viewer of this document`,
-} satisfies Record;
diff --git a/packages/lib/jobs/client.ts b/packages/lib/jobs/client.ts
index 1e3717927..366c2f517 100644
--- a/packages/lib/jobs/client.ts
+++ b/packages/lib/jobs/client.ts
@@ -1,5 +1,6 @@
import { JobClient } from './client/client';
import { SEND_CONFIRMATION_EMAIL_JOB_DEFINITION } from './definitions/emails/send-confirmation-email';
+import { SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION } from './definitions/emails/send-rejection-emails';
import { SEND_SIGNING_EMAIL_JOB_DEFINITION } from './definitions/emails/send-signing-email';
import { SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-team-deleted-email';
import { SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-team-member-joined-email';
@@ -17,6 +18,7 @@ export const jobsClient = new JobClient([
SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION,
SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION,
SEAL_DOCUMENT_JOB_DEFINITION,
+ SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION,
] as const);
export const jobs = jobsClient;
diff --git a/packages/lib/jobs/client/local.ts b/packages/lib/jobs/client/local.ts
index a0405dbf1..b51656210 100644
--- a/packages/lib/jobs/client/local.ts
+++ b/packages/lib/jobs/client/local.ts
@@ -43,18 +43,10 @@ export class LocalJobProvider extends BaseJobProvider {
}
public async triggerJob(options: SimpleTriggerJobOptions) {
- console.log({ jobDefinitions: this._jobDefinitions });
-
const eligibleJobs = Object.values(this._jobDefinitions).filter(
(job) => job.trigger.name === options.name,
);
- console.log({ options });
- console.log(
- 'Eligible jobs:',
- eligibleJobs.map((job) => job.name),
- );
-
await Promise.all(
eligibleJobs.map(async (job) => {
// Ideally we will change this to a createMany with returning later once we upgrade Prisma
@@ -177,7 +169,7 @@ export class LocalJobProvider extends BaseJobProvider {
},
});
} catch (error) {
- console.error(`[JOBS]: Job ${options.name} failed`, error);
+ console.log(`[JOBS]: Job ${options.name} failed`, error);
const taskHasExceededRetries = error instanceof BackgroundTaskExceededRetriesError;
const jobHasExceededRetries =
@@ -303,7 +295,7 @@ export class LocalJobProvider extends BaseJobProvider {
});
return result;
- } catch {
+ } catch (err) {
task = await prisma.backgroundJobTask.update({
where: {
id: task.id,
@@ -317,6 +309,8 @@ export class LocalJobProvider extends BaseJobProvider {
},
});
+ console.log(`[JOBS:${task.id}] Task failed`, err);
+
throw new BackgroundTaskFailedError('Task failed');
}
},
diff --git a/packages/lib/jobs/definitions/emails/send-rejection-emails.ts b/packages/lib/jobs/definitions/emails/send-rejection-emails.ts
new file mode 100644
index 000000000..a3a6914e1
--- /dev/null
+++ b/packages/lib/jobs/definitions/emails/send-rejection-emails.ts
@@ -0,0 +1,169 @@
+import { createElement } from 'react';
+
+import { msg } from '@lingui/macro';
+import { z } from 'zod';
+
+import { mailer } from '@documenso/email/mailer';
+import DocumentRejectedEmail from '@documenso/email/templates/document-rejected';
+import DocumentRejectionConfirmedEmail from '@documenso/email/templates/document-rejection-confirmed';
+import { prisma } from '@documenso/prisma';
+import { SendStatus, SigningStatus } from '@documenso/prisma/client';
+
+import { getI18nInstance } from '../../../client-only/providers/i18n.server';
+import { NEXT_PUBLIC_WEBAPP_URL } from '../../../constants/app';
+import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email';
+import { extractDerivedDocumentEmailSettings } from '../../../types/document-email';
+import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
+import { formatDocumentsPath } from '../../../utils/teams';
+import { type JobDefinition } from '../../client/_internal/job';
+
+const SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID = 'send.signing.rejected.emails';
+
+const SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_SCHEMA = z.object({
+ documentId: z.number(),
+ recipientId: z.number(),
+});
+
+export const SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION = {
+ id: SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID,
+ name: 'Send Rejection Emails',
+ version: '1.0.0',
+ trigger: {
+ name: SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID,
+ schema: SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_SCHEMA,
+ },
+ handler: async ({ payload, io }) => {
+ const { documentId, recipientId } = payload;
+
+ const [document, recipient] = await Promise.all([
+ prisma.document.findFirstOrThrow({
+ where: {
+ id: documentId,
+ },
+ include: {
+ User: true,
+ documentMeta: true,
+ team: {
+ select: {
+ teamEmail: true,
+ name: true,
+ url: true,
+ teamGlobalSettings: true,
+ },
+ },
+ },
+ }),
+ prisma.recipient.findFirstOrThrow({
+ where: {
+ id: recipientId,
+ signingStatus: SigningStatus.REJECTED,
+ },
+ }),
+ ]);
+
+ const { documentMeta, team, User: documentOwner } = document;
+
+ const isEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).recipientSigningRequest;
+
+ if (!isEmailEnabled) {
+ return;
+ }
+
+ const i18n = await getI18nInstance(documentMeta?.language);
+
+ // Send confirmation email to the recipient who rejected
+ await io.runTask('send-rejection-confirmation-email', async () => {
+ const recipientTemplate = createElement(DocumentRejectionConfirmedEmail, {
+ recipientName: recipient.name,
+ documentName: document.title,
+ documentOwnerName: document.User.name || document.User.email,
+ reason: recipient.rejectionReason || '',
+ assetBaseUrl: NEXT_PUBLIC_WEBAPP_URL(),
+ });
+
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(recipientTemplate, { lang: documentMeta?.language, branding }),
+ renderEmailWithI18N(recipientTemplate, {
+ lang: documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ await mailer.sendMail({
+ to: {
+ name: recipient.name,
+ address: recipient.email,
+ },
+ from: {
+ name: FROM_NAME,
+ address: FROM_ADDRESS,
+ },
+ subject: i18n._(msg`Document "${document.title}" - Rejection Confirmed`),
+ html,
+ text,
+ });
+ });
+
+ // Send notification email to document owner
+ await io.runTask('send-owner-notification-email', async () => {
+ const ownerTemplate = createElement(DocumentRejectedEmail, {
+ recipientName: recipient.name,
+ documentName: document.title,
+ documentUrl: `${NEXT_PUBLIC_WEBAPP_URL()}${formatDocumentsPath(document.team?.url)}/${
+ document.id
+ }`,
+ rejectionReason: recipient.rejectionReason || '',
+ assetBaseUrl: NEXT_PUBLIC_WEBAPP_URL(),
+ });
+
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(ownerTemplate, { lang: documentMeta?.language, branding }),
+ renderEmailWithI18N(ownerTemplate, {
+ lang: documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ await mailer.sendMail({
+ to: {
+ name: documentOwner.name || '',
+ address: documentOwner.email,
+ },
+ from: {
+ name: FROM_NAME,
+ address: FROM_ADDRESS,
+ },
+ subject: i18n._(msg`Document "${document.title}" - Rejected by ${recipient.name}`),
+ html,
+ text,
+ });
+ });
+
+ await io.runTask('update-recipient', async () => {
+ await prisma.recipient.update({
+ where: {
+ id: recipient.id,
+ },
+ data: {
+ sendStatus: SendStatus.SENT,
+ },
+ });
+ });
+ },
+} as const satisfies JobDefinition<
+ typeof SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID,
+ z.infer
+>;
diff --git a/packages/lib/jobs/definitions/emails/send-signing-email.ts b/packages/lib/jobs/definitions/emails/send-signing-email.ts
index beab38cab..32859ce14 100644
--- a/packages/lib/jobs/definitions/emails/send-signing-email.ts
+++ b/packages/lib/jobs/definitions/emails/send-signing-email.ts
@@ -1,9 +1,9 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
import { z } from 'zod';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import DocumentInviteEmailTemplate from '@documenso/email/templates/document-invite';
import { prisma } from '@documenso/prisma';
import {
@@ -13,16 +13,20 @@ import {
SendStatus,
} from '@documenso/prisma/client';
+import { getI18nInstance } from '../../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../../constants/app';
import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email';
import {
- RECIPIENT_ROLES_DESCRIPTION_ENG,
+ RECIPIENT_ROLES_DESCRIPTION,
RECIPIENT_ROLE_TO_EMAIL_TYPE,
} from '../../../constants/recipient-roles';
import { DOCUMENT_AUDIT_LOG_TYPE } from '../../../types/document-audit-logs';
+import { extractDerivedDocumentEmailSettings } from '../../../types/document-email';
import { ZRequestMetadataSchema } from '../../../universal/extract-request-metadata';
import { createDocumentAuditLogData } from '../../../utils/document-audit-logs';
import { renderCustomEmailTemplate } from '../../../utils/render-custom-email-template';
+import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
import { type JobDefinition } from '../../client/_internal/job';
const SEND_SIGNING_EMAIL_JOB_DEFINITION_ID = 'send.signing.requested.email';
@@ -62,6 +66,7 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
select: {
teamEmail: true,
name: true,
+ teamGlobalSettings: true,
},
},
},
@@ -79,6 +84,14 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
return;
}
+ const isRecipientSigningRequestEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).recipientSigningRequest;
+
+ if (!isRecipientSigningRequestEmailEnabled) {
+ return;
+ }
+
const customEmail = document?.documentMeta;
const isDirectTemplate = document.source === DocumentSource.TEMPLATE_DIRECT_LINK;
const isTeamDocument = document.teamId !== null;
@@ -87,25 +100,43 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
const { email, name } = recipient;
const selfSigner = email === user.email;
- const recipientActionVerb =
- RECIPIENT_ROLES_DESCRIPTION_ENG[recipient.role].actionVerb.toLowerCase();
+
+ const i18n = await getI18nInstance(documentMeta?.language);
+
+ const recipientActionVerb = i18n
+ ._(RECIPIENT_ROLES_DESCRIPTION[recipient.role].actionVerb)
+ .toLowerCase();
let emailMessage = customEmail?.message || '';
- let emailSubject = `Please ${recipientActionVerb} this document`;
+ let emailSubject = i18n._(msg`Please ${recipientActionVerb} this document`);
if (selfSigner) {
- emailMessage = `You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`;
- emailSubject = `Please ${recipientActionVerb} your document`;
+ emailMessage = i18n._(
+ msg`You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`,
+ );
+ emailSubject = i18n._(msg`Please ${recipientActionVerb} your document`);
}
if (isDirectTemplate) {
- emailMessage = `A document was created by your direct template that requires you to ${recipientActionVerb} it.`;
- emailSubject = `Please ${recipientActionVerb} this document created by your direct template`;
+ emailMessage = i18n._(
+ msg`A document was created by your direct template that requires you to ${recipientActionVerb} it.`,
+ );
+ emailSubject = i18n._(
+ msg`Please ${recipientActionVerb} this document created by your direct template`,
+ );
}
if (isTeamDocument && team) {
- emailSubject = `${team.name} invited you to ${recipientActionVerb} a document`;
- emailMessage = `${user.name} on behalf of ${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`;
+ emailSubject = i18n._(msg`${team.name} invited you to ${recipientActionVerb} a document`);
+ emailMessage = customEmail?.message ?? '';
+
+ if (!emailMessage) {
+ emailMessage = i18n._(
+ team.teamGlobalSettings?.includeSenderDetails
+ ? msg`${user.name} on behalf of ${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`
+ : msg`${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`,
+ );
+ }
}
const customEmailTemplate = {
@@ -129,9 +160,23 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
isTeamInvite: isTeamDocument,
teamName: team?.name,
teamEmail: team?.teamEmail?.email,
+ includeSenderDetails: team?.teamGlobalSettings?.includeSenderDetails,
});
await io.runTask('send-signing-email', async () => {
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: documentMeta?.language, branding }),
+ renderEmailWithI18N(template, {
+ lang: documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
await mailer.sendMail({
to: {
name: recipient.name,
@@ -145,8 +190,8 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
documentMeta?.subject || emailSubject,
customEmailTemplate,
),
- html: render(template),
- text: render(template, { plainText: true }),
+ html,
+ text,
});
});
diff --git a/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts b/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts
index b6bd52cda..3f943b89e 100644
--- a/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts
+++ b/packages/lib/jobs/definitions/emails/send-team-deleted-email.ts
@@ -1,5 +1,7 @@
import { z } from 'zod';
+import { DocumentVisibility } from '@documenso/prisma/client';
+
import { sendTeamDeleteEmail } from '../../../server-only/team/delete-team';
import type { JobDefinition } from '../../client/_internal/job';
@@ -10,6 +12,19 @@ const SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION_SCHEMA = z.object({
name: z.string(),
url: z.string(),
ownerUserId: z.number(),
+ teamGlobalSettings: z
+ .object({
+ documentVisibility: z.nativeEnum(DocumentVisibility),
+ documentLanguage: z.string(),
+ includeSenderDetails: z.boolean(),
+ brandingEnabled: z.boolean(),
+ brandingLogo: z.string(),
+ brandingUrl: z.string(),
+ brandingCompanyDetails: z.string(),
+ brandingHidePoweredBy: z.boolean(),
+ teamId: z.number(),
+ })
+ .nullish(),
}),
members: z.array(
z.object({
@@ -35,8 +50,7 @@ export const SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION = {
await io.runTask(`send-team-deleted-email--${team.url}_${member.id}`, async () => {
await sendTeamDeleteEmail({
email: member.email,
- teamName: team.name,
- teamUrl: team.url,
+ team,
isOwner: member.id === team.ownerUserId,
});
});
diff --git a/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts b/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts
index c5afa1cd3..ff606327f 100644
--- a/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts
+++ b/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts
@@ -1,13 +1,18 @@
+import { createElement } from 'react';
+
+import { msg } from '@lingui/macro';
import { z } from 'zod';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import TeamJoinEmailTemplate from '@documenso/email/templates/team-join';
import { prisma } from '@documenso/prisma';
import { TeamMemberRole } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../../client-only/providers/i18n.server';
import { WEBAPP_BASE_URL } from '../../../constants/app';
import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email';
+import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
import type { JobDefinition } from '../../client/_internal/job';
const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION_ID = 'send.team-member-joined.email';
@@ -41,6 +46,7 @@ export const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION = {
user: true,
},
},
+ teamGlobalSettings: true,
},
});
@@ -62,7 +68,7 @@ export const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION = {
await io.runTask(
`send-team-member-joined-email--${invitedMember.id}_${member.id}`,
async () => {
- const emailContent = TeamJoinEmailTemplate({
+ const emailContent = createElement(TeamJoinEmailTemplate, {
assetBaseUrl: WEBAPP_BASE_URL,
baseUrl: WEBAPP_BASE_URL,
memberName: invitedMember.user.name || '',
@@ -71,15 +77,36 @@ export const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION = {
teamUrl: team.url,
});
+ const branding = team.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(team.teamGlobalSettings)
+ : undefined;
+
+ const lang = team.teamGlobalSettings?.documentLanguage;
+
+ // !: Replace with the actual language of the recipient later
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(emailContent, {
+ lang,
+ branding,
+ }),
+ renderEmailWithI18N(emailContent, {
+ lang,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance(lang);
+
await mailer.sendMail({
to: member.user.email,
from: {
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: 'A new member has joined your team',
- html: render(emailContent),
- text: render(emailContent, { plainText: true }),
+ subject: i18n._(msg`A new member has joined your team`),
+ html,
+ text,
});
},
);
diff --git a/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts b/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts
index 55e5ab1e6..598b79ced 100644
--- a/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts
+++ b/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts
@@ -1,13 +1,18 @@
+import { createElement } from 'react';
+
+import { msg } from '@lingui/macro';
import { z } from 'zod';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import TeamJoinEmailTemplate from '@documenso/email/templates/team-join';
import { prisma } from '@documenso/prisma';
import { TeamMemberRole } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../../client-only/providers/i18n.server';
import { WEBAPP_BASE_URL } from '../../../constants/app';
import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email';
+import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
import type { JobDefinition } from '../../client/_internal/job';
const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION_ID = 'send.team-member-left.email';
@@ -41,6 +46,7 @@ export const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION = {
user: true,
},
},
+ teamGlobalSettings: true,
},
});
@@ -52,7 +58,7 @@ export const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION = {
for (const member of team.members) {
await io.runTask(`send-team-member-left-email--${oldMember.id}_${member.id}`, async () => {
- const emailContent = TeamJoinEmailTemplate({
+ const emailContent = createElement(TeamJoinEmailTemplate, {
assetBaseUrl: WEBAPP_BASE_URL,
baseUrl: WEBAPP_BASE_URL,
memberName: oldMember.name || '',
@@ -61,15 +67,35 @@ export const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION = {
teamUrl: team.url,
});
+ const branding = team.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(team.teamGlobalSettings)
+ : undefined;
+
+ const lang = team.teamGlobalSettings?.documentLanguage;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(emailContent, {
+ lang,
+ branding,
+ }),
+ renderEmailWithI18N(emailContent, {
+ lang,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance(lang);
+
await mailer.sendMail({
to: member.user.email,
from: {
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: `A team member has left ${team.name}`,
- html: render(emailContent),
- text: render(emailContent, { plainText: true }),
+ subject: i18n._(msg`A team member has left ${team.name}`),
+ html,
+ text,
});
});
}
diff --git a/packages/lib/package.json b/packages/lib/package.json
index 5eabe4a26..0dc897f98 100644
--- a/packages/lib/package.json
+++ b/packages/lib/package.json
@@ -25,6 +25,9 @@
"@documenso/email": "*",
"@documenso/prisma": "*",
"@documenso/signing": "*",
+ "@lingui/core": "^4.11.3",
+ "@lingui/macro": "^4.11.3",
+ "@lingui/react": "^4.11.3",
"@next-auth/prisma-adapter": "1.0.7",
"@noble/ciphers": "0.4.0",
"@noble/hashes": "1.3.2",
diff --git a/packages/lib/server-only/admin/get-recipients-stats.ts b/packages/lib/server-only/admin/get-recipients-stats.ts
index 07368b5a1..f52c65024 100644
--- a/packages/lib/server-only/admin/get-recipients-stats.ts
+++ b/packages/lib/server-only/admin/get-recipients-stats.ts
@@ -13,6 +13,7 @@ export const getRecipientsStats = async () => {
[ReadStatus.NOT_OPENED]: 0,
[SigningStatus.SIGNED]: 0,
[SigningStatus.NOT_SIGNED]: 0,
+ [SigningStatus.REJECTED]: 0,
[SendStatus.SENT]: 0,
[SendStatus.NOT_SENT]: 0,
};
diff --git a/packages/lib/server-only/auth/send-confirmation-email.ts b/packages/lib/server-only/auth/send-confirmation-email.ts
index ddefa530a..5673d9603 100644
--- a/packages/lib/server-only/auth/send-confirmation-email.ts
+++ b/packages/lib/server-only/auth/send-confirmation-email.ts
@@ -1,11 +1,14 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { ConfirmEmailTemplate } from '@documenso/email/templates/confirm-email';
import { prisma } from '@documenso/prisma';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
export interface SendConfirmationEmailProps {
userId: number;
@@ -45,6 +48,13 @@ export const sendConfirmationEmail = async ({ userId }: SendConfirmationEmailPro
confirmationLink,
});
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(confirmationTemplate),
+ renderEmailWithI18N(confirmationTemplate, { plainText: true }),
+ ]);
+
+ const i18n = await getI18nInstance();
+
return mailer.sendMail({
to: {
address: user.email,
@@ -54,8 +64,8 @@ export const sendConfirmationEmail = async ({ userId }: SendConfirmationEmailPro
name: senderName,
address: senderAddress,
},
- subject: 'Please confirm your email',
- html: render(confirmationTemplate),
- text: render(confirmationTemplate, { plainText: true }),
+ subject: i18n._(msg`Please confirm your email`),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/auth/send-forgot-password.ts b/packages/lib/server-only/auth/send-forgot-password.ts
index 6e3a582a8..fef1543c3 100644
--- a/packages/lib/server-only/auth/send-forgot-password.ts
+++ b/packages/lib/server-only/auth/send-forgot-password.ts
@@ -1,11 +1,14 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { ForgotPasswordTemplate } from '@documenso/email/templates/forgot-password';
import { prisma } from '@documenso/prisma';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
export interface SendForgotPasswordOptions {
userId: number;
@@ -39,6 +42,13 @@ export const sendForgotPassword = async ({ userId }: SendForgotPasswordOptions)
resetPasswordLink,
});
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template),
+ renderEmailWithI18N(template, { plainText: true }),
+ ]);
+
+ const i18n = await getI18nInstance();
+
return await mailer.sendMail({
to: {
address: user.email,
@@ -48,8 +58,8 @@ export const sendForgotPassword = async ({ userId }: SendForgotPasswordOptions)
name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso',
address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com',
},
- subject: 'Forgot Password?',
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Forgot Password?`),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/auth/send-reset-password.ts b/packages/lib/server-only/auth/send-reset-password.ts
index 6bcd5820d..03165fcfc 100644
--- a/packages/lib/server-only/auth/send-reset-password.ts
+++ b/packages/lib/server-only/auth/send-reset-password.ts
@@ -1,11 +1,11 @@
import { createElement } from 'react';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { ResetPasswordTemplate } from '@documenso/email/templates/reset-password';
import { prisma } from '@documenso/prisma';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
export interface SendResetPasswordOptions {
userId: number;
@@ -26,6 +26,11 @@ export const sendResetPassword = async ({ userId }: SendResetPasswordOptions) =>
userName: user.name || '',
});
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template),
+ renderEmailWithI18N(template, { plainText: true }),
+ ]);
+
return await mailer.sendMail({
to: {
address: user.email,
@@ -36,7 +41,7 @@ export const sendResetPassword = async ({ userId }: SendResetPasswordOptions) =>
address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com',
},
subject: 'Password Reset Success!',
- html: render(template),
- text: render(template, { plainText: true }),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/document-meta/upsert-document-meta.ts b/packages/lib/server-only/document-meta/upsert-document-meta.ts
index 99ca7f5da..c6f4fd7a3 100644
--- a/packages/lib/server-only/document-meta/upsert-document-meta.ts
+++ b/packages/lib/server-only/document-meta/upsert-document-meta.ts
@@ -7,7 +7,10 @@ import {
diffDocumentMetaChanges,
} from '@documenso/lib/utils/document-audit-logs';
import { prisma } from '@documenso/prisma';
-import type { DocumentSigningOrder } from '@documenso/prisma/client';
+import type { DocumentDistributionMethod, DocumentSigningOrder } from '@documenso/prisma/client';
+
+import type { SupportedLanguageCodes } from '../../constants/i18n';
+import type { TDocumentEmailSettings } from '../../types/document-email';
export type CreateDocumentMetaOptions = {
documentId: number;
@@ -17,8 +20,11 @@ export type CreateDocumentMetaOptions = {
password?: string;
dateFormat?: string;
redirectUrl?: string;
+ emailSettings?: TDocumentEmailSettings;
signingOrder?: DocumentSigningOrder;
+ distributionMethod?: DocumentDistributionMethod;
typedSignatureEnabled?: boolean;
+ language?: SupportedLanguageCodes;
userId: number;
requestMetadata: RequestMetadata;
};
@@ -33,7 +39,10 @@ export const upsertDocumentMeta = async ({
userId,
redirectUrl,
signingOrder,
+ emailSettings,
+ distributionMethod,
typedSignatureEnabled,
+ language,
requestMetadata,
}: CreateDocumentMetaOptions) => {
const user = await prisma.user.findFirstOrThrow({
@@ -84,7 +93,10 @@ export const upsertDocumentMeta = async ({
documentId,
redirectUrl,
signingOrder,
+ emailSettings,
+ distributionMethod,
typedSignatureEnabled,
+ language,
},
update: {
subject,
@@ -94,7 +106,10 @@ export const upsertDocumentMeta = async ({
timezone,
redirectUrl,
signingOrder,
+ emailSettings,
+ distributionMethod,
typedSignatureEnabled,
+ language,
},
});
diff --git a/packages/lib/server-only/document/create-document.ts b/packages/lib/server-only/document/create-document.ts
index a7525d666..2d119eb7e 100644
--- a/packages/lib/server-only/document/create-document.ts
+++ b/packages/lib/server-only/document/create-document.ts
@@ -5,7 +5,9 @@ import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-log
import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs';
import { prisma } from '@documenso/prisma';
-import { DocumentSource, WebhookTriggerEvents } from '@documenso/prisma/client';
+import { DocumentSource, DocumentVisibility, WebhookTriggerEvents } from '@documenso/prisma/client';
+import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
+import { TeamMemberRole } from '@documenso/prisma/client';
import { triggerWebhook } from '../webhooks/trigger/trigger-webhook';
@@ -48,6 +50,51 @@ export const createDocument = async ({
throw new AppError(AppErrorCode.NOT_FOUND, 'Team not found');
}
+ let team: (Team & { teamGlobalSettings: TeamGlobalSettings | null }) | null = null;
+ let userTeamRole: TeamMemberRole | undefined;
+
+ if (teamId) {
+ const teamWithUserRole = await prisma.team.findFirstOrThrow({
+ where: {
+ id: teamId,
+ },
+ include: {
+ teamGlobalSettings: true,
+ members: {
+ where: {
+ userId: userId,
+ },
+ select: {
+ role: true,
+ },
+ },
+ },
+ });
+
+ team = teamWithUserRole;
+ userTeamRole = teamWithUserRole.members[0]?.role;
+ }
+
+ const determineVisibility = (
+ globalVisibility: DocumentVisibility | null | undefined,
+ userRole: TeamMemberRole,
+ ): DocumentVisibility => {
+ const defaultVisibility = globalVisibility ?? DocumentVisibility.EVERYONE;
+
+ if (userRole === TeamMemberRole.ADMIN) {
+ return defaultVisibility;
+ }
+
+ if (userRole === TeamMemberRole.MANAGER) {
+ if (defaultVisibility === DocumentVisibility.ADMIN) {
+ return DocumentVisibility.MANAGER_AND_ABOVE;
+ }
+ return defaultVisibility;
+ }
+
+ return DocumentVisibility.EVERYONE;
+ };
+
return await prisma.$transaction(async (tx) => {
const document = await tx.document.create({
data: {
@@ -56,8 +103,17 @@ export const createDocument = async ({
documentDataId,
userId,
teamId,
+ visibility: determineVisibility(
+ team?.teamGlobalSettings?.documentVisibility,
+ userTeamRole ?? TeamMemberRole.MEMBER,
+ ),
formValues,
source: DocumentSource.DOCUMENT,
+ documentMeta: {
+ create: {
+ language: team?.teamGlobalSettings?.documentLanguage,
+ },
+ },
},
});
diff --git a/packages/lib/server-only/document/delete-document.ts b/packages/lib/server-only/document/delete-document.ts
index 6ac8e1bd3..f4d1beecc 100644
--- a/packages/lib/server-only/document/delete-document.ts
+++ b/packages/lib/server-only/document/delete-document.ts
@@ -2,18 +2,30 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import DocumentCancelTemplate from '@documenso/email/templates/document-cancel';
import { prisma } from '@documenso/prisma';
-import type { Document, DocumentMeta, Recipient, User } from '@documenso/prisma/client';
+import type {
+ Document,
+ DocumentMeta,
+ Recipient,
+ Team,
+ TeamGlobalSettings,
+ User,
+} from '@documenso/prisma/client';
import { DocumentStatus, SendStatus } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
import { FROM_ADDRESS, FROM_NAME } from '../../constants/email';
import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
import type { RequestMetadata } from '../../universal/extract-request-metadata';
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
export type DeleteDocumentOptions = {
id: number;
@@ -46,8 +58,9 @@ export const deleteDocument = async ({
Recipient: true,
documentMeta: true,
team: {
- select: {
+ include: {
members: true,
+ teamGlobalSettings: true,
},
},
},
@@ -70,6 +83,7 @@ export const deleteDocument = async ({
await handleDocumentOwnerDelete({
document,
user,
+ team: document.team,
requestMetadata,
});
}
@@ -110,6 +124,11 @@ type HandleDocumentOwnerDeleteOptions = {
Recipient: Recipient[];
documentMeta: DocumentMeta | null;
};
+ team?:
+ | (Team & {
+ teamGlobalSettings?: TeamGlobalSettings | null;
+ })
+ | null;
user: User;
requestMetadata?: RequestMetadata;
};
@@ -117,6 +136,7 @@ type HandleDocumentOwnerDeleteOptions = {
const handleDocumentOwnerDelete = async ({
document,
user,
+ team,
requestMetadata,
}: HandleDocumentOwnerDeleteOptions) => {
if (document.deletedAt) {
@@ -175,6 +195,14 @@ const handleDocumentOwnerDelete = async ({
});
});
+ const isDocumentDeleteEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).documentDeleted;
+
+ if (!isDocumentDeleteEmailEnabled) {
+ return deletedDocument;
+ }
+
// Send cancellation emails to recipients.
await Promise.all(
document.Recipient.map(async (recipient) => {
@@ -191,6 +219,21 @@ const handleDocumentOwnerDelete = async ({
assetBaseUrl,
});
+ const branding = team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance(document.documentMeta?.language);
+
await mailer.sendMail({
to: {
address: recipient.email,
@@ -200,9 +243,9 @@ const handleDocumentOwnerDelete = async ({
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: 'Document Cancelled',
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Document Cancelled`),
+ html,
+ text,
});
}),
);
diff --git a/packages/lib/server-only/document/find-document-audit-logs.ts b/packages/lib/server-only/document/find-document-audit-logs.ts
index 87a215f8c..f3c850265 100644
--- a/packages/lib/server-only/document/find-document-audit-logs.ts
+++ b/packages/lib/server-only/document/find-document-audit-logs.ts
@@ -66,6 +66,7 @@ export const findDocumentAuditLogs = async ({
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_DELETED,
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED,
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_COMPLETED,
+ DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED,
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_SENT,
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_MOVED_TO_TEAM,
],
diff --git a/packages/lib/server-only/document/find-documents.ts b/packages/lib/server-only/document/find-documents.ts
index 2495973f2..a4aa4df1f 100644
--- a/packages/lib/server-only/document/find-documents.ts
+++ b/packages/lib/server-only/document/find-documents.ts
@@ -3,7 +3,14 @@ import { P, match } from 'ts-pattern';
import { prisma } from '@documenso/prisma';
import { RecipientRole, SigningStatus, TeamMemberRole } from '@documenso/prisma/client';
-import type { Document, Prisma, Team, TeamEmail, User } from '@documenso/prisma/client';
+import type {
+ Document,
+ DocumentSource,
+ Prisma,
+ Team,
+ TeamEmail,
+ User,
+} from '@documenso/prisma/client';
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
import { DocumentVisibility } from '../../types/document-visibility';
@@ -16,6 +23,8 @@ export type FindDocumentsOptions = {
userId: number;
teamId?: number;
term?: string;
+ templateId?: number;
+ source?: DocumentSource;
status?: ExtendedDocumentStatus;
page?: number;
perPage?: number;
@@ -32,6 +41,8 @@ export const findDocuments = async ({
userId,
teamId,
term,
+ templateId,
+ source,
status = ExtendedDocumentStatus.ALL,
page = 1,
perPage = 10,
@@ -40,44 +51,37 @@ export const findDocuments = async ({
senderIds,
search,
}: FindDocumentsOptions) => {
- const { user, team } = await prisma.$transaction(async (tx) => {
- const user = await tx.user.findFirstOrThrow({
+ const user = await prisma.user.findFirstOrThrow({
+ where: {
+ id: userId,
+ },
+ });
+
+ let team = null;
+
+ if (teamId !== undefined) {
+ team = await prisma.team.findFirstOrThrow({
where: {
- id: userId,
+ id: teamId,
+ members: {
+ some: {
+ userId,
+ },
+ },
+ },
+ include: {
+ teamEmail: true,
+ members: {
+ where: {
+ userId,
+ },
+ select: {
+ role: true,
+ },
+ },
},
});
-
- let team = null;
-
- if (teamId !== undefined) {
- team = await tx.team.findFirstOrThrow({
- where: {
- id: teamId,
- members: {
- some: {
- userId,
- },
- },
- },
- include: {
- teamEmail: true,
- members: {
- where: {
- userId,
- },
- select: {
- role: true,
- },
- },
- },
- });
- }
-
- return {
- user,
- team,
- };
- });
+ }
const orderByColumn = orderBy?.column ?? 'createdAt';
const orderByDirection = orderBy?.direction ?? 'desc';
@@ -120,11 +124,18 @@ export const findDocuments = async ({
}))
.otherwise(() => ({ visibility: DocumentVisibility.EVERYONE })),
{
- Recipient: {
- some: {
- email: user.email,
+ OR: [
+ {
+ Recipient: {
+ some: {
+ email: user.email,
+ },
+ },
},
- },
+ {
+ userId: user.id,
+ },
+ ],
},
];
@@ -197,8 +208,27 @@ export const findDocuments = async ({
};
}
+ const whereAndClause: Prisma.DocumentWhereInput['AND'] = [
+ { ...termFilters },
+ { ...filters },
+ { ...deletedFilter },
+ { ...searchFilter },
+ ];
+
+ if (templateId) {
+ whereAndClause.push({
+ templateId,
+ });
+ }
+
+ if (source) {
+ whereAndClause.push({
+ source,
+ });
+ }
+
const whereClause: Prisma.DocumentWhereInput = {
- AND: [{ ...termFilters }, { ...filters }, { ...deletedFilter }, { ...searchFilter }],
+ AND: whereAndClause,
};
if (period) {
diff --git a/packages/lib/server-only/document/get-document-by-id.ts b/packages/lib/server-only/document/get-document-by-id.ts
index bfe2a9a05..d9c0ae993 100644
--- a/packages/lib/server-only/document/get-document-by-id.ts
+++ b/packages/lib/server-only/document/get-document-by-id.ts
@@ -143,11 +143,18 @@ export const getDocumentWhereInput = async ({
])
.otherwise(() => [{ visibility: DocumentVisibility.EVERYONE }]),
{
- Recipient: {
- some: {
- email: user.email,
+ OR: [
+ {
+ Recipient: {
+ some: {
+ email: user.email,
+ },
+ },
},
- },
+ {
+ userId: user.id,
+ },
+ ],
},
];
diff --git a/packages/lib/server-only/document/get-stats.ts b/packages/lib/server-only/document/get-stats.ts
index 9ea58c828..e95e7d53b 100644
--- a/packages/lib/server-only/document/get-stats.ts
+++ b/packages/lib/server-only/document/get-stats.ts
@@ -6,11 +6,10 @@ import { prisma } from '@documenso/prisma';
import { TeamMemberRole } from '@documenso/prisma/client';
import type { Prisma, User } from '@documenso/prisma/client';
import { SigningStatus } from '@documenso/prisma/client';
+import { DocumentVisibility } from '@documenso/prisma/client';
import { isExtendedDocumentStatus } from '@documenso/prisma/guards/is-extended-document-status';
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
-import { DocumentVisibility } from '../../types/document-visibility';
-
export type GetStatsInput = {
user: User;
team?: Omit;
@@ -207,47 +206,45 @@ const getTeamCounts = async (options: GetTeamCountsOption) => {
let notSignedCountsGroupByArgs = null;
let hasSignedCountsGroupByArgs = null;
- const visibilityFilters = [
- ...match(options.currentTeamMemberRole)
- .with(TeamMemberRole.ADMIN, () => [
- { visibility: DocumentVisibility.EVERYONE },
- { visibility: DocumentVisibility.MANAGER_AND_ABOVE },
- { visibility: DocumentVisibility.ADMIN },
- ])
- .with(TeamMemberRole.MANAGER, () => [
- { visibility: DocumentVisibility.EVERYONE },
- { visibility: DocumentVisibility.MANAGER_AND_ABOVE },
- ])
- .otherwise(() => [{ visibility: DocumentVisibility.EVERYONE }]),
- ];
-
- ownerCountsWhereInput = {
- ...ownerCountsWhereInput,
- OR: [
+ const visibilityFiltersWhereInput: Prisma.DocumentWhereInput = {
+ AND: [
+ { deletedAt: null },
{
- AND: [
- {
- visibility: {
- in: visibilityFilters.map((filter) => filter.visibility),
- },
- },
- {
- Recipient: {
- none: {
- email: options.currentUserEmail,
+ OR: [
+ match(options.currentTeamMemberRole)
+ .with(TeamMemberRole.ADMIN, () => ({
+ visibility: {
+ in: [
+ DocumentVisibility.EVERYONE,
+ DocumentVisibility.MANAGER_AND_ABOVE,
+ DocumentVisibility.ADMIN,
+ ],
},
- },
+ }))
+ .with(TeamMemberRole.MANAGER, () => ({
+ visibility: {
+ in: [DocumentVisibility.EVERYONE, DocumentVisibility.MANAGER_AND_ABOVE],
+ },
+ }))
+ .otherwise(() => ({
+ visibility: {
+ equals: DocumentVisibility.EVERYONE,
+ },
+ })),
+ {
+ OR: [
+ { userId: options.userId },
+ { Recipient: { some: { email: options.currentUserEmail } } },
+ ],
},
],
},
- {
- Recipient: {
- some: {
- email: options.currentUserEmail,
- },
- },
- },
],
+ };
+
+ ownerCountsWhereInput = {
+ ...ownerCountsWhereInput,
+ ...visibilityFiltersWhereInput,
...searchFilter,
};
diff --git a/packages/lib/server-only/document/reject-document-with-token.ts b/packages/lib/server-only/document/reject-document-with-token.ts
new file mode 100644
index 000000000..3ad18a449
--- /dev/null
+++ b/packages/lib/server-only/document/reject-document-with-token.ts
@@ -0,0 +1,92 @@
+import { SigningStatus } from '@prisma/client';
+import { TRPCError } from '@trpc/server';
+
+import { jobs } from '@documenso/lib/jobs/client';
+import { prisma } from '@documenso/prisma';
+
+import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs';
+import type { RequestMetadata } from '../../universal/extract-request-metadata';
+import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
+
+export type RejectDocumentWithTokenOptions = {
+ token: string;
+ documentId: number;
+ reason: string;
+ requestMetadata?: RequestMetadata;
+};
+
+export async function rejectDocumentWithToken({
+ token,
+ documentId,
+ reason,
+ requestMetadata,
+}: RejectDocumentWithTokenOptions) {
+ // Find the recipient and document in a single query
+ const recipient = await prisma.recipient.findFirst({
+ where: {
+ token,
+ documentId,
+ },
+ include: {
+ Document: {
+ include: {
+ User: true,
+ },
+ },
+ },
+ });
+
+ const document = recipient?.Document;
+
+ if (!recipient || !document) {
+ throw new TRPCError({
+ code: 'NOT_FOUND',
+ message: 'Document or recipient not found',
+ });
+ }
+
+ // Add the audit log entry before updating the recipient
+
+ // Update the recipient status to rejected
+ const [updatedRecipient] = await prisma.$transaction([
+ prisma.recipient.update({
+ where: {
+ id: recipient.id,
+ },
+ data: {
+ signedAt: new Date(),
+ signingStatus: SigningStatus.REJECTED,
+ rejectionReason: reason,
+ },
+ }),
+ prisma.documentAuditLog.create({
+ data: createDocumentAuditLogData({
+ documentId,
+ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED,
+ user: {
+ name: recipient.name,
+ email: recipient.email,
+ },
+ data: {
+ recipientEmail: recipient.email,
+ recipientName: recipient.name,
+ recipientId: recipient.id,
+ recipientRole: recipient.role,
+ reason,
+ },
+ requestMetadata,
+ }),
+ }),
+ ]);
+
+ // Send email notifications
+ await jobs.triggerJob({
+ name: 'send.signing.rejected.emails',
+ payload: {
+ recipientId: recipient.id,
+ documentId,
+ },
+ });
+
+ return updatedRecipient;
+}
diff --git a/packages/lib/server-only/document/resend-document.tsx b/packages/lib/server-only/document/resend-document.tsx
index 30f104e92..d87be344d 100644
--- a/packages/lib/server-only/document/resend-document.tsx
+++ b/packages/lib/server-only/document/resend-document.tsx
@@ -1,11 +1,12 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { DocumentInviteEmailTemplate } from '@documenso/email/templates/document-invite';
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
import {
- RECIPIENT_ROLES_DESCRIPTION_ENG,
+ RECIPIENT_ROLES_DESCRIPTION,
RECIPIENT_ROLE_TO_EMAIL_TYPE,
} from '@documenso/lib/constants/recipient-roles';
import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs';
@@ -16,7 +17,11 @@ import { prisma } from '@documenso/prisma';
import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client';
import type { Prisma } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
import { getDocumentWhereInput } from './get-document-by-id';
export type ResendDocumentOptions = {
@@ -62,6 +67,7 @@ export const resendDocument = async ({
select: {
teamEmail: true,
name: true,
+ teamGlobalSettings: true,
},
},
},
@@ -86,31 +92,50 @@ export const resendDocument = async ({
throw new Error('Can not send completed document');
}
+ const isRecipientSigningRequestEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).recipientSigningRequest;
+
+ if (!isRecipientSigningRequestEmailEnabled) {
+ return;
+ }
+
await Promise.all(
document.Recipient.map(async (recipient) => {
if (recipient.role === RecipientRole.CC) {
return;
}
+ const i18n = await getI18nInstance(document.documentMeta?.language);
+
const recipientEmailType = RECIPIENT_ROLE_TO_EMAIL_TYPE[recipient.role];
const { email, name } = recipient;
const selfSigner = email === user.email;
- const recipientActionVerb =
- RECIPIENT_ROLES_DESCRIPTION_ENG[recipient.role].actionVerb.toLowerCase();
+ const recipientActionVerb = i18n
+ ._(RECIPIENT_ROLES_DESCRIPTION[recipient.role].actionVerb)
+ .toLowerCase();
let emailMessage = customEmail?.message || '';
- let emailSubject = `Reminder: Please ${recipientActionVerb} this document`;
+ let emailSubject = i18n._(msg`Reminder: Please ${recipientActionVerb} this document`);
if (selfSigner) {
- emailMessage = `You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`;
- emailSubject = `Reminder: Please ${recipientActionVerb} your document`;
+ emailMessage = i18n._(
+ msg`You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`,
+ );
+ emailSubject = i18n._(msg`Reminder: Please ${recipientActionVerb} your document`);
}
if (isTeamDocument && document.team) {
- emailSubject = `Reminder: ${document.team.name} invited you to ${recipientActionVerb} a document`;
- emailMessage = `${user.name} on behalf of ${document.team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`;
+ emailSubject = i18n._(
+ msg`Reminder: ${document.team.name} invited you to ${recipientActionVerb} a document`,
+ );
+ emailMessage =
+ customEmail?.message ||
+ i18n._(
+ msg`${user.name} on behalf of ${document.team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`,
+ );
}
const customEmailTemplate = {
@@ -135,8 +160,24 @@ export const resendDocument = async ({
teamName: document.team?.name,
});
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
await prisma.$transaction(
async (tx) => {
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ }),
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
await mailer.sendMail({
to: {
address: email,
@@ -147,10 +188,13 @@ export const resendDocument = async ({
address: FROM_ADDRESS,
},
subject: customEmail?.subject
- ? renderCustomEmailTemplate(`Reminder: ${customEmail.subject}`, customEmailTemplate)
+ ? renderCustomEmailTemplate(
+ i18n._(msg`Reminder: ${customEmail.subject}`),
+ customEmailTemplate,
+ )
: emailSubject,
- html: render(template),
- text: render(template, { plainText: true }),
+ html,
+ text,
});
await tx.documentAuditLog.create({
diff --git a/packages/lib/server-only/document/seal-document.ts b/packages/lib/server-only/document/seal-document.ts
index 7c0c3bced..31e66d25f 100644
--- a/packages/lib/server-only/document/seal-document.ts
+++ b/packages/lib/server-only/document/seal-document.ts
@@ -10,6 +10,7 @@ import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/
import { WebhookTriggerEvents } from '@documenso/prisma/client';
import { signPdf } from '@documenso/signing';
+import { ZSupportedLanguageCodeSchema } from '../../constants/i18n';
import type { RequestMetadata } from '../../universal/extract-request-metadata';
import { getFile } from '../../universal/upload/get-file';
import { putPdfFile } from '../../universal/upload/put-file';
@@ -45,6 +46,7 @@ export const sealDocument = async ({
},
include: {
documentData: true,
+ documentMeta: true,
Recipient: true,
},
});
@@ -90,7 +92,9 @@ export const sealDocument = async ({
// !: Need to write the fields onto the document as a hard copy
const pdfData = await getFile(documentData);
- const certificate = await getCertificatePdf({ documentId })
+ const documentLanguage = ZSupportedLanguageCodeSchema.parse(document.documentMeta?.language);
+
+ const certificate = await getCertificatePdf({ documentId, language: documentLanguage })
.then(async (doc) => PDFDocument.load(doc))
.catch(() => null);
diff --git a/packages/lib/server-only/document/search-documents-with-keyword.ts b/packages/lib/server-only/document/search-documents-with-keyword.ts
index a9139f5d3..98def25a4 100644
--- a/packages/lib/server-only/document/search-documents-with-keyword.ts
+++ b/packages/lib/server-only/document/search-documents-with-keyword.ts
@@ -1,6 +1,10 @@
+import { match } from 'ts-pattern';
+
+import { formatDocumentsPath } from '@documenso/lib/utils/teams';
import { prisma } from '@documenso/prisma';
import { DocumentStatus } from '@documenso/prisma/client';
import type { Document, Recipient, User } from '@documenso/prisma/client';
+import { DocumentVisibility, TeamMemberRole } from '@documenso/prisma/client';
export type SearchDocumentsWithKeywordOptions = {
query: string;
@@ -67,10 +71,40 @@ export const searchDocumentsWithKeyword = async ({
},
deletedAt: null,
},
+ {
+ title: {
+ contains: query,
+ mode: 'insensitive',
+ },
+ teamId: {
+ not: null,
+ },
+ team: {
+ members: {
+ some: {
+ userId: userId,
+ },
+ },
+ },
+ deletedAt: null,
+ },
],
},
include: {
Recipient: true,
+ team: {
+ select: {
+ url: true,
+ members: {
+ where: {
+ userId: userId,
+ },
+ select: {
+ role: true,
+ },
+ },
+ },
+ },
},
orderBy: {
createdAt: 'desc',
@@ -82,15 +116,48 @@ export const searchDocumentsWithKeyword = async ({
const getSigningLink = (recipients: Recipient[], user: User) =>
`/sign/${recipients.find((r) => r.email === user.email)?.token}`;
- const maskedDocuments = documents.map((document) => {
- const { Recipient, ...documentWithoutRecipient } = document;
+ const maskedDocuments = documents
+ .filter((document) => {
+ if (!document.teamId || isOwner(document, user)) {
+ return true;
+ }
- return {
- ...documentWithoutRecipient,
- path: isOwner(document, user) ? `/documents/${document.id}` : getSigningLink(Recipient, user),
- value: [document.id, document.title, ...document.Recipient.map((r) => r.email)].join(' '),
- };
- });
+ const teamMemberRole = document.team?.members[0]?.role;
+
+ if (!teamMemberRole) {
+ return false;
+ }
+
+ const canAccessDocument = match([document.visibility, teamMemberRole])
+ .with([DocumentVisibility.EVERYONE, TeamMemberRole.ADMIN], () => true)
+ .with([DocumentVisibility.EVERYONE, TeamMemberRole.MANAGER], () => true)
+ .with([DocumentVisibility.EVERYONE, TeamMemberRole.MEMBER], () => true)
+ .with([DocumentVisibility.MANAGER_AND_ABOVE, TeamMemberRole.ADMIN], () => true)
+ .with([DocumentVisibility.MANAGER_AND_ABOVE, TeamMemberRole.MANAGER], () => true)
+ .with([DocumentVisibility.ADMIN, TeamMemberRole.ADMIN], () => true)
+ .otherwise(() => false);
+
+ return canAccessDocument;
+ })
+ .map((document) => {
+ const { Recipient, ...documentWithoutRecipient } = document;
+
+ let documentPath;
+
+ if (isOwner(document, user)) {
+ documentPath = `${formatDocumentsPath(document.team?.url)}/${document.id}`;
+ } else if (document.teamId && document.team) {
+ documentPath = `${formatDocumentsPath(document.team.url)}/${document.id}`;
+ } else {
+ documentPath = getSigningLink(Recipient, user);
+ }
+
+ return {
+ ...documentWithoutRecipient,
+ path: documentPath,
+ value: [document.id, document.title, ...document.Recipient.map((r) => r.email)].join(' '),
+ };
+ });
return maskedDocuments;
};
diff --git a/packages/lib/server-only/document/send-completed-email.ts b/packages/lib/server-only/document/send-completed-email.ts
index cea9d5424..34ae79c0b 100644
--- a/packages/lib/server-only/document/send-completed-email.ts
+++ b/packages/lib/server-only/document/send-completed-email.ts
@@ -1,17 +1,23 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { DocumentCompletedEmailTemplate } from '@documenso/email/templates/document-completed';
import { prisma } from '@documenso/prisma';
import { DocumentSource } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
import type { RequestMetadata } from '../../universal/extract-request-metadata';
import { getFile } from '../../universal/upload/get-file';
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
import { renderCustomEmailTemplate } from '../../utils/render-custom-email-template';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
+import { formatDocumentsPath } from '../../utils/teams';
export interface SendDocumentOptions {
documentId: number;
@@ -32,6 +38,7 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
select: {
id: true,
url: true,
+ teamGlobalSettings: true,
},
},
},
@@ -53,7 +60,9 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000';
- let documentOwnerDownloadLink = `${NEXT_PUBLIC_WEBAPP_URL()}/documents/${document.id}`;
+ let documentOwnerDownloadLink = `${NEXT_PUBLIC_WEBAPP_URL()}${formatDocumentsPath(
+ document.team?.url,
+ )}/${document.id}`;
if (document.team?.url) {
documentOwnerDownloadLink = `${NEXT_PUBLIC_WEBAPP_URL()}/t/${document.team.url}/documents/${
@@ -61,14 +70,36 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
}`;
}
- // If the document owner is not a recipient then send the email to them separately
- if (!document.Recipient.find((recipient) => recipient.email === owner.email)) {
+ const i18n = await getI18nInstance(document.documentMeta?.language);
+
+ const isDocumentCompletedEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).documentCompleted;
+
+ // If the document owner is not a recipient, OR recipient emails are disabled, then send the email to them separately.
+ if (
+ !document.Recipient.find((recipient) => recipient.email === owner.email) ||
+ !isDocumentCompletedEmailEnabled
+ ) {
const template = createElement(DocumentCompletedEmailTemplate, {
documentName: document.title,
assetBaseUrl,
downloadLink: documentOwnerDownloadLink,
});
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
await mailer.sendMail({
to: [
{
@@ -80,9 +111,9 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso',
address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com',
},
- subject: 'Signing Complete!',
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Signing Complete!`),
+ html,
+ text,
attachments: [
{
filename: document.title.endsWith('.pdf') ? document.title : document.title + '.pdf',
@@ -109,6 +140,10 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
});
}
+ if (!isDocumentCompletedEmailEnabled) {
+ return;
+ }
+
await Promise.all(
document.Recipient.map(async (recipient) => {
const customEmailTemplate = {
@@ -129,6 +164,19 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
: undefined,
});
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
await mailer.sendMail({
to: [
{
@@ -143,9 +191,9 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
subject:
isDirectTemplate && document.documentMeta?.subject
? renderCustomEmailTemplate(document.documentMeta.subject, customEmailTemplate)
- : 'Signing Complete!',
- html: render(template),
- text: render(template, { plainText: true }),
+ : i18n._(msg`Signing Complete!`),
+ html,
+ text,
attachments: [
{
filename: document.title.endsWith('.pdf') ? document.title : document.title + '.pdf',
diff --git a/packages/lib/server-only/document/send-delete-email.ts b/packages/lib/server-only/document/send-delete-email.ts
index cc1101942..85f7534cd 100644
--- a/packages/lib/server-only/document/send-delete-email.ts
+++ b/packages/lib/server-only/document/send-delete-email.ts
@@ -1,11 +1,16 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { DocumentSuperDeleteEmailTemplate } from '@documenso/email/templates/document-super-delete';
import { prisma } from '@documenso/prisma';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
export interface SendDeleteEmailOptions {
documentId: number;
@@ -19,6 +24,12 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt
},
include: {
User: true,
+ documentMeta: true,
+ team: {
+ include: {
+ teamGlobalSettings: true,
+ },
+ },
},
});
@@ -26,6 +37,14 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt
throw new Error('Document not found');
}
+ const isDocumentDeletedEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).documentDeleted;
+
+ if (!isDocumentDeletedEmailEnabled) {
+ return;
+ }
+
const { email, name } = document.User;
const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000';
@@ -36,6 +55,21 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt
assetBaseUrl,
});
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance();
+
await mailer.sendMail({
to: {
address: email,
@@ -45,8 +79,8 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt
name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso',
address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com',
},
- subject: 'Document Deleted!',
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Document Deleted!`),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/document/send-document.tsx b/packages/lib/server-only/document/send-document.tsx
index 93ec12108..7266963b7 100644
--- a/packages/lib/server-only/document/send-document.tsx
+++ b/packages/lib/server-only/document/send-document.tsx
@@ -13,6 +13,7 @@ import {
import { WebhookTriggerEvents } from '@documenso/prisma/client';
import { jobs } from '../../jobs/client';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
import { getFile } from '../../universal/upload/get-file';
import { insertFormValuesInPdf } from '../pdf/insert-form-values-in-pdf';
import { triggerWebhook } from '../webhooks/trigger/trigger-webhook';
@@ -29,7 +30,7 @@ export const sendDocument = async ({
documentId,
userId,
teamId,
- sendEmail = true,
+ sendEmail,
requestMetadata,
}: SendDocumentOptions) => {
const user = await prisma.user.findFirstOrThrow({
@@ -156,7 +157,14 @@ export const sendDocument = async ({
// throw new Error('Some signers have not been assigned a signature field.');
// }
- if (sendEmail) {
+ const isRecipientSigningRequestEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).recipientSigningRequest;
+
+ // Only send email if one of the following is true:
+ // - It is explicitly set
+ // - The email is enabled for signing requests AND sendEmail is undefined
+ if (sendEmail || (isRecipientSigningRequestEmailEnabled && sendEmail === undefined)) {
await Promise.all(
recipientsToNotify.map(async (recipient) => {
if (recipient.sendStatus === SendStatus.SENT || recipient.role === RecipientRole.CC) {
diff --git a/packages/lib/server-only/document/send-pending-email.ts b/packages/lib/server-only/document/send-pending-email.ts
index 73e938a7d..2b599b256 100644
--- a/packages/lib/server-only/document/send-pending-email.ts
+++ b/packages/lib/server-only/document/send-pending-email.ts
@@ -1,11 +1,16 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { DocumentPendingEmailTemplate } from '@documenso/email/templates/document-pending';
import { prisma } from '@documenso/prisma';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
export interface SendPendingEmailOptions {
documentId: number;
@@ -28,6 +33,12 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE
id: recipientId,
},
},
+ documentMeta: true,
+ team: {
+ include: {
+ teamGlobalSettings: true,
+ },
+ },
},
});
@@ -39,6 +50,14 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE
throw new Error('Document has no recipients');
}
+ const isDocumentPendingEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).documentPending;
+
+ if (!isDocumentPendingEmailEnabled) {
+ return;
+ }
+
const [recipient] = document.Recipient;
const { email, name } = recipient;
@@ -50,6 +69,21 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE
assetBaseUrl,
});
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance(document.documentMeta?.language);
+
await mailer.sendMail({
to: {
address: email,
@@ -59,8 +93,8 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE
name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso',
address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com',
},
- subject: 'Waiting for others to complete signing.',
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Waiting for others to complete signing.`),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/document/super-delete-document.ts b/packages/lib/server-only/document/super-delete-document.ts
index 0dfc9c163..856d0365c 100644
--- a/packages/lib/server-only/document/super-delete-document.ts
+++ b/packages/lib/server-only/document/super-delete-document.ts
@@ -2,17 +2,22 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import DocumentCancelTemplate from '@documenso/email/templates/document-cancel';
import { prisma } from '@documenso/prisma';
import { DocumentStatus, SendStatus } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
import { FROM_ADDRESS, FROM_NAME } from '../../constants/email';
import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
import type { RequestMetadata } from '../../universal/extract-request-metadata';
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
export type SuperDeleteDocumentOptions = {
id: number;
@@ -28,6 +33,11 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo
Recipient: true,
documentMeta: true,
User: true,
+ team: {
+ include: {
+ teamGlobalSettings: true,
+ },
+ },
},
});
@@ -37,8 +47,16 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo
const { status, User: user } = document;
+ const isDocumentDeletedEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).documentDeleted;
+
// if the document is pending, send cancellation emails to all recipients
- if (status === DocumentStatus.PENDING && document.Recipient.length > 0) {
+ if (
+ status === DocumentStatus.PENDING &&
+ document.Recipient.length > 0 &&
+ isDocumentDeletedEmailEnabled
+ ) {
await Promise.all(
document.Recipient.map(async (recipient) => {
if (recipient.sendStatus !== SendStatus.SENT) {
@@ -53,6 +71,21 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo
assetBaseUrl,
});
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
+ renderEmailWithI18N(template, {
+ lang: document.documentMeta?.language,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance(document.documentMeta?.language);
+
await mailer.sendMail({
to: {
address: recipient.email,
@@ -62,9 +95,9 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: 'Document Cancelled',
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Document Cancelled`),
+ html,
+ text,
});
}),
);
diff --git a/packages/lib/server-only/document/update-document-settings.ts b/packages/lib/server-only/document/update-document-settings.ts
index ebf663a60..2c118c8e7 100644
--- a/packages/lib/server-only/document/update-document-settings.ts
+++ b/packages/lib/server-only/document/update-document-settings.ts
@@ -1,13 +1,15 @@
'use server';
+import { match } from 'ts-pattern';
+
import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise';
import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs';
import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
import type { CreateDocumentAuditLogDataResponse } from '@documenso/lib/utils/document-audit-logs';
import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs';
import { prisma } from '@documenso/prisma';
-import type { DocumentVisibility } from '@documenso/prisma/client';
-import { DocumentStatus } from '@documenso/prisma/client';
+import { DocumentVisibility } from '@documenso/prisma/client';
+import { DocumentStatus, TeamMemberRole } from '@documenso/prisma/client';
import { AppError, AppErrorCode } from '../../errors/app-error';
import type { TDocumentAccessAuthTypes, TDocumentActionAuthTypes } from '../../types/document-auth';
@@ -20,7 +22,7 @@ export type UpdateDocumentSettingsOptions = {
data: {
title?: string;
externalId?: string | null;
- visibility?: string | null;
+ visibility?: DocumentVisibility | null;
globalAccessAuth?: TDocumentAccessAuthTypes | null;
globalActionAuth?: TDocumentActionAuthTypes | null;
};
@@ -63,8 +65,62 @@ export const updateDocumentSettings = async ({
teamId: null,
}),
},
+ include: {
+ team: {
+ select: {
+ members: {
+ where: {
+ userId,
+ },
+ select: {
+ role: true,
+ },
+ },
+ },
+ },
+ },
});
+ if (teamId) {
+ const currentUserRole = document.team?.members[0]?.role;
+
+ match(currentUserRole)
+ .with(TeamMemberRole.ADMIN, () => true)
+ .with(TeamMemberRole.MANAGER, () => {
+ const allowedVisibilities: DocumentVisibility[] = [
+ DocumentVisibility.EVERYONE,
+ DocumentVisibility.MANAGER_AND_ABOVE,
+ ];
+
+ if (
+ !allowedVisibilities.includes(document.visibility) ||
+ (data.visibility && !allowedVisibilities.includes(data.visibility))
+ ) {
+ throw new AppError(
+ AppErrorCode.UNAUTHORIZED,
+ 'You do not have permission to update the document visibility',
+ );
+ }
+ })
+ .with(TeamMemberRole.MEMBER, () => {
+ if (
+ document.visibility !== DocumentVisibility.EVERYONE ||
+ (data.visibility && data.visibility !== DocumentVisibility.EVERYONE)
+ ) {
+ throw new AppError(
+ AppErrorCode.UNAUTHORIZED,
+ 'You do not have permission to update the document visibility',
+ );
+ }
+ })
+ .otherwise(() => {
+ throw new AppError(
+ AppErrorCode.UNAUTHORIZED,
+ 'You do not have permission to update the document',
+ );
+ });
+ }
+
const { documentAuthOption } = extractDocumentAuthMethods({
documentAuth: document.authOptions,
});
diff --git a/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts b/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts
index 56c2e32cf..e5348ae1e 100644
--- a/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts
+++ b/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts
@@ -2,13 +2,15 @@ import { DateTime } from 'luxon';
import type { Browser } from 'playwright';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
+import type { SupportedLanguageCodes } from '../../constants/i18n';
import { encryptSecondaryData } from '../crypto/encrypt';
export type GetCertificatePdfOptions = {
documentId: number;
+ language?: SupportedLanguageCodes;
};
-export const getCertificatePdf = async ({ documentId }: GetCertificatePdfOptions) => {
+export const getCertificatePdf = async ({ documentId, language }: GetCertificatePdfOptions) => {
const { chromium } = await import('playwright');
const encryptedId = encryptSecondaryData({
@@ -32,7 +34,19 @@ export const getCertificatePdf = async ({ documentId }: GetCertificatePdfOptions
);
}
- const page = await browser.newPage();
+ const browserContext = await browser.newContext();
+
+ const page = await browserContext.newPage();
+
+ if (language) {
+ await page.context().addCookies([
+ {
+ name: 'language',
+ value: language,
+ url: NEXT_PUBLIC_WEBAPP_URL(),
+ },
+ ]);
+ }
await page.goto(`${NEXT_PUBLIC_WEBAPP_URL()}/__htmltopdf/certificate?d=${encryptedId}`, {
waitUntil: 'networkidle',
@@ -43,6 +57,8 @@ export const getCertificatePdf = async ({ documentId }: GetCertificatePdfOptions
format: 'A4',
});
+ await browserContext.close();
+
void browser.close();
return result;
diff --git a/packages/lib/server-only/recipient/set-recipients-for-document.ts b/packages/lib/server-only/recipient/set-recipients-for-document.ts
index d5ab3c3d5..309995e11 100644
--- a/packages/lib/server-only/recipient/set-recipients-for-document.ts
+++ b/packages/lib/server-only/recipient/set-recipients-for-document.ts
@@ -1,8 +1,9 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import RecipientRemovedFromDocumentTemplate from '@documenso/email/templates/recipient-removed-from-document';
import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs';
import {
@@ -21,10 +22,14 @@ import type { Recipient } from '@documenso/prisma/client';
import { RecipientRole } from '@documenso/prisma/client';
import { SendStatus, SigningStatus } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
import { FROM_ADDRESS, FROM_NAME } from '../../constants/email';
import { AppError, AppErrorCode } from '../../errors/app-error';
+import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
import { canRecipientBeModified } from '../../utils/recipients';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
export interface SetRecipientsForDocumentOptions {
userId: number;
@@ -62,6 +67,12 @@ export const setRecipientsForDocument = async ({
},
include: {
Field: true,
+ documentMeta: true,
+ team: {
+ include: {
+ teamGlobalSettings: true,
+ },
+ },
},
});
@@ -276,10 +287,14 @@ export const setRecipientsForDocument = async ({
});
});
+ const isRecipientRemovedEmailEnabled = extractDerivedDocumentEmailSettings(
+ document.documentMeta,
+ ).recipientRemoved;
+
// Send emails to deleted recipients.
await Promise.all(
removedRecipients.map(async (recipient) => {
- if (recipient.sendStatus !== SendStatus.SENT) {
+ if (recipient.sendStatus !== SendStatus.SENT || !isRecipientRemovedEmailEnabled) {
return;
}
@@ -291,6 +306,17 @@ export const setRecipientsForDocument = async ({
assetBaseUrl,
});
+ const branding = document.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
+ renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }),
+ ]);
+
+ const i18n = await getI18nInstance(document.documentMeta?.language);
+
await mailer.sendMail({
to: {
address: recipient.email,
@@ -300,9 +326,9 @@ export const setRecipientsForDocument = async ({
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: 'You have been removed from a document',
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`You have been removed from a document`),
+ html,
+ text,
});
}),
);
diff --git a/packages/lib/server-only/team/accept-team-invitation.ts b/packages/lib/server-only/team/accept-team-invitation.ts
index 0a7da6d15..5004809fa 100644
--- a/packages/lib/server-only/team/accept-team-invitation.ts
+++ b/packages/lib/server-only/team/accept-team-invitation.ts
@@ -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;
@@ -81,7 +90,7 @@ export const acceptTeamInvitation = async ({ userId, teamId }: AcceptTeamInvitat
await jobs.triggerJob({
name: 'send.team-member-joined.email',
payload: {
- teamId: team.id,
+ teamId: teamMember.teamId,
memberId: teamMember.id,
},
});
diff --git a/packages/lib/server-only/team/create-team-email-verification.ts b/packages/lib/server-only/team/create-team-email-verification.ts
index 86cded7a9..61c5c9b91 100644
--- a/packages/lib/server-only/team/create-team-email-verification.ts
+++ b/packages/lib/server-only/team/create-team-email-verification.ts
@@ -1,9 +1,9 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
import { z } from 'zod';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { ConfirmTeamEmailTemplate } from '@documenso/email/templates/confirm-team-email';
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
@@ -11,8 +11,13 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { createTokenVerification } from '@documenso/lib/utils/token-verification';
import { prisma } from '@documenso/prisma';
+import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
import { Prisma } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
+
export type CreateTeamEmailVerificationOptions = {
userId: number;
teamId: number;
@@ -45,6 +50,7 @@ export const createTeamEmailVerification = async ({
include: {
teamEmail: true,
emailVerification: true,
+ teamGlobalSettings: true,
},
});
@@ -77,7 +83,7 @@ export const createTeamEmailVerification = async ({
},
});
- await sendTeamEmailVerificationEmail(data.email, token, team.name, team.url);
+ await sendTeamEmailVerificationEmail(data.email, token, team);
},
{ timeout: 30_000 },
);
@@ -109,27 +115,47 @@ export const createTeamEmailVerification = async ({
export const sendTeamEmailVerificationEmail = async (
email: string,
token: string,
- teamName: string,
- teamUrl: string,
+ team: Team & {
+ teamGlobalSettings?: TeamGlobalSettings | null;
+ },
) => {
const assetBaseUrl = process.env.NEXT_PUBLIC_WEBAPP_URL || 'http://localhost:3000';
const template = createElement(ConfirmTeamEmailTemplate, {
assetBaseUrl,
baseUrl: WEBAPP_BASE_URL,
- teamName,
- teamUrl,
+ teamName: team.name,
+ teamUrl: team.url,
token,
});
+ const branding = team.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(team.teamGlobalSettings)
+ : undefined;
+
+ const lang = team.teamGlobalSettings?.documentLanguage;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang, branding }),
+ renderEmailWithI18N(template, {
+ lang,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance(lang);
+
await mailer.sendMail({
to: email,
from: {
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: `A request to use your email has been initiated by ${teamName} on Documenso`,
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(
+ msg`A request to use your email has been initiated by ${team.name} on Documenso`,
+ ),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/team/create-team-member-invites.ts b/packages/lib/server-only/team/create-team-member-invites.ts
index f167d2112..1b473acdd 100644
--- a/packages/lib/server-only/team/create-team-member-invites.ts
+++ b/packages/lib/server-only/team/create-team-member-invites.ts
@@ -1,10 +1,9 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
import { nanoid } from 'nanoid';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
-import type { TeamInviteEmailProps } from '@documenso/email/templates/team-invite';
import { TeamInviteEmailTemplate } from '@documenso/email/templates/team-invite';
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
@@ -12,9 +11,14 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { isTeamRoleWithinUserHierarchy } from '@documenso/lib/utils/teams';
import { prisma } from '@documenso/prisma';
+import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
import { TeamMemberInviteStatus } from '@documenso/prisma/client';
import type { TCreateTeamMemberInvitesMutationSchema } from '@documenso/trpc/server/team-router/schema';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
+
export type CreateTeamMemberInvitesOptions = {
userId: number;
userName: string;
@@ -56,6 +60,7 @@ export const createTeamMemberInvites = async ({
},
},
invites: true,
+ teamGlobalSettings: true,
},
});
@@ -109,8 +114,7 @@ export const createTeamMemberInvites = async ({
sendTeamMemberInviteEmail({
email,
token,
- teamName: team.name,
- teamUrl: team.url,
+ team,
senderName: userName,
}),
),
@@ -131,8 +135,13 @@ export const createTeamMemberInvites = async ({
}
};
-type SendTeamMemberInviteEmailOptions = Omit & {
+type SendTeamMemberInviteEmailOptions = {
email: string;
+ senderName: string;
+ token: string;
+ team: Team & {
+ teamGlobalSettings?: TeamGlobalSettings | null;
+ };
};
/**
@@ -140,22 +149,42 @@ type SendTeamMemberInviteEmailOptions = Omit {
const template = createElement(TeamInviteEmailTemplate, {
assetBaseUrl: WEBAPP_BASE_URL,
baseUrl: WEBAPP_BASE_URL,
- ...emailTemplateOptions,
+ senderName,
+ token,
+ teamName: team.name,
+ teamUrl: team.url,
});
+ const branding = team.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang: team.teamGlobalSettings?.documentLanguage, branding }),
+ renderEmailWithI18N(template, {
+ lang: team.teamGlobalSettings?.documentLanguage,
+ branding,
+ plainText: true,
+ }),
+ ]);
+
+ const i18n = await getI18nInstance(team.teamGlobalSettings?.documentLanguage);
+
await mailer.sendMail({
to: email,
from: {
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: `You have been invited to join ${emailTemplateOptions.teamName} on Documenso`,
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`You have been invited to join ${team.name} on Documenso`),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/team/delete-team-email.ts b/packages/lib/server-only/team/delete-team-email.ts
index c5139a971..a15375b7c 100644
--- a/packages/lib/server-only/team/delete-team-email.ts
+++ b/packages/lib/server-only/team/delete-team-email.ts
@@ -1,13 +1,18 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { TeamEmailRemovedTemplate } from '@documenso/email/templates/team-email-removed';
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams';
import { prisma } from '@documenso/prisma';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
+
export type DeleteTeamEmailOptions = {
userId: number;
userEmail: string;
@@ -50,6 +55,7 @@ export const deleteTeamEmail = async ({ userId, userEmail, teamId }: DeleteTeamE
email: true,
},
},
+ teamGlobalSettings: true,
},
});
@@ -73,6 +79,19 @@ export const deleteTeamEmail = async ({ userId, userEmail, teamId }: DeleteTeamE
teamUrl: team.url,
});
+ const branding = team.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(team.teamGlobalSettings)
+ : undefined;
+
+ const lang = team.teamGlobalSettings?.documentLanguage;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang, branding }),
+ renderEmailWithI18N(template, { lang, branding, plainText: true }),
+ ]);
+
+ const i18n = await getI18nInstance(lang);
+
await mailer.sendMail({
to: {
address: team.owner.email,
@@ -82,9 +101,9 @@ export const deleteTeamEmail = async ({ userId, userEmail, teamId }: DeleteTeamE
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: `Team email has been revoked for ${team.name}`,
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Team email has been revoked for ${team.name}`),
+ html,
+ text,
});
} catch (e) {
// Todo: Teams - Alert us.
diff --git a/packages/lib/server-only/team/delete-team.ts b/packages/lib/server-only/team/delete-team.ts
index 57c761e72..6403c0550 100644
--- a/packages/lib/server-only/team/delete-team.ts
+++ b/packages/lib/server-only/team/delete-team.ts
@@ -1,16 +1,20 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
-import type { TeamDeleteEmailProps } from '@documenso/email/templates/team-delete';
import { TeamDeleteEmailTemplate } from '@documenso/email/templates/team-delete';
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
import { AppError } from '@documenso/lib/errors/app-error';
import { stripe } from '@documenso/lib/server-only/stripe';
import { prisma } from '@documenso/prisma';
+import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { jobs } from '../../jobs/client';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
export type DeleteTeamOptions = {
userId: number;
@@ -38,6 +42,7 @@ export const deleteTeam = async ({ userId, teamId }: DeleteTeamOptions) => {
},
},
},
+ teamGlobalSettings: true,
},
});
@@ -60,6 +65,7 @@ export const deleteTeam = async ({ userId, teamId }: DeleteTeamOptions) => {
name: team.name,
url: team.url,
ownerUserId: team.ownerUserId,
+ teamGlobalSettings: team.teamGlobalSettings,
},
members: team.members.map((member) => ({
id: member.user.id,
@@ -80,29 +86,43 @@ export const deleteTeam = async ({ userId, teamId }: DeleteTeamOptions) => {
);
};
-type SendTeamDeleteEmailOptions = Omit & {
+type SendTeamDeleteEmailOptions = {
email: string;
- teamName: string;
+ team: Pick & {
+ teamGlobalSettings?: TeamGlobalSettings | null;
+ };
+ isOwner: boolean;
};
-export const sendTeamDeleteEmail = async ({
- email,
- ...emailTemplateOptions
-}: SendTeamDeleteEmailOptions) => {
+export const sendTeamDeleteEmail = async ({ email, isOwner, team }: SendTeamDeleteEmailOptions) => {
const template = createElement(TeamDeleteEmailTemplate, {
assetBaseUrl: WEBAPP_BASE_URL,
baseUrl: WEBAPP_BASE_URL,
- ...emailTemplateOptions,
+ teamUrl: team.url,
+ isOwner,
});
+ const branding = team.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(team.teamGlobalSettings)
+ : undefined;
+
+ const lang = team.teamGlobalSettings?.documentLanguage;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template, { lang, branding }),
+ renderEmailWithI18N(template, { lang, branding, plainText: true }),
+ ]);
+
+ const i18n = await getI18nInstance(lang);
+
await mailer.sendMail({
to: email,
from: {
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: `Team "${emailTemplateOptions.teamName}" has been deleted on Documenso`,
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(msg`Team "${team.name}" has been deleted on Documenso`),
+ html,
+ text,
});
};
diff --git a/packages/lib/server-only/team/get-team.ts b/packages/lib/server-only/team/get-team.ts
index ea6247146..e26b606bd 100644
--- a/packages/lib/server-only/team/get-team.ts
+++ b/packages/lib/server-only/team/get-team.ts
@@ -30,6 +30,7 @@ export const getTeamById = async ({ userId, teamId }: GetTeamByIdOptions) => {
where: whereFilter,
include: {
teamEmail: true,
+ teamGlobalSettings: true,
members: {
where: {
userId,
@@ -89,6 +90,7 @@ export const getTeamByUrl = async ({ userId, teamUrl }: GetTeamByUrlOptions) =>
},
},
subscription: true,
+ teamGlobalSettings: true,
members: {
where: {
userId,
diff --git a/packages/lib/server-only/team/request-team-ownership-transfer.ts b/packages/lib/server-only/team/request-team-ownership-transfer.ts
index 92fd5b61e..5da2f6c5b 100644
--- a/packages/lib/server-only/team/request-team-ownership-transfer.ts
+++ b/packages/lib/server-only/team/request-team-ownership-transfer.ts
@@ -1,13 +1,17 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
+
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { TeamTransferRequestTemplate } from '@documenso/email/templates/team-transfer-request';
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
import { createTokenVerification } from '@documenso/lib/utils/token-verification';
import { prisma } from '@documenso/prisma';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+
export type RequestTeamOwnershipTransferOptions = {
/**
* The ID of the user initiating the transfer.
@@ -93,15 +97,24 @@ export const requestTeamOwnershipTransfer = async ({
token,
});
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(template),
+ renderEmailWithI18N(template, { plainText: true }),
+ ]);
+
+ const i18n = await getI18nInstance();
+
await mailer.sendMail({
to: newOwnerUser.email,
from: {
name: FROM_NAME,
address: FROM_ADDRESS,
},
- subject: `You have been requested to take ownership of team ${team.name} on Documenso`,
- html: render(template),
- text: render(template, { plainText: true }),
+ subject: i18n._(
+ msg`You have been requested to take ownership of team ${team.name} on Documenso`,
+ ),
+ html,
+ text,
});
},
{ timeout: 30_000 },
diff --git a/packages/lib/server-only/team/resend-team-email-verification.ts b/packages/lib/server-only/team/resend-team-email-verification.ts
index b1d6ffe99..23e2f2fb1 100644
--- a/packages/lib/server-only/team/resend-team-email-verification.ts
+++ b/packages/lib/server-only/team/resend-team-email-verification.ts
@@ -33,6 +33,7 @@ export const resendTeamEmailVerification = async ({
},
include: {
emailVerification: true,
+ teamGlobalSettings: true,
},
});
@@ -61,7 +62,7 @@ export const resendTeamEmailVerification = async ({
},
});
- await sendTeamEmailVerificationEmail(emailVerification.email, token, team.name, team.url);
+ await sendTeamEmailVerificationEmail(emailVerification.email, token, team);
},
{ timeout: 30_000 },
);
diff --git a/packages/lib/server-only/team/resend-team-member-invitation.ts b/packages/lib/server-only/team/resend-team-member-invitation.ts
index 897154a2a..ba849459b 100644
--- a/packages/lib/server-only/team/resend-team-member-invitation.ts
+++ b/packages/lib/server-only/team/resend-team-member-invitation.ts
@@ -49,6 +49,9 @@ export const resendTeamMemberInvitation = async ({
},
},
},
+ include: {
+ teamGlobalSettings: true,
+ },
});
if (!team) {
@@ -69,9 +72,8 @@ export const resendTeamMemberInvitation = async ({
await sendTeamMemberInviteEmail({
email: teamMemberInvite.email,
token: teamMemberInvite.token,
- teamName: team.name,
- teamUrl: team.url,
senderName: userName,
+ team,
});
},
{ timeout: 30_000 },
diff --git a/packages/lib/server-only/team/update-team-branding-settings.ts b/packages/lib/server-only/team/update-team-branding-settings.ts
new file mode 100644
index 000000000..9b33790d0
--- /dev/null
+++ b/packages/lib/server-only/team/update-team-branding-settings.ts
@@ -0,0 +1,52 @@
+import { prisma } from '@documenso/prisma';
+import { TeamMemberRole } from '@documenso/prisma/client';
+
+export type UpdateTeamBrandingSettingsOptions = {
+ userId: number;
+ teamId: number;
+
+ settings: {
+ brandingEnabled: boolean;
+ brandingLogo: string;
+ brandingUrl: string;
+ brandingCompanyDetails: string;
+ };
+};
+
+export const updateTeamBrandingSettings = async ({
+ userId,
+ teamId,
+ settings,
+}: UpdateTeamBrandingSettingsOptions) => {
+ const { brandingEnabled, brandingLogo, brandingUrl, brandingCompanyDetails } = settings;
+
+ const member = await prisma.teamMember.findFirst({
+ where: {
+ userId,
+ teamId,
+ },
+ });
+
+ if (!member || member.role !== TeamMemberRole.ADMIN) {
+ throw new Error('You do not have permission to update this team.');
+ }
+
+ return await prisma.teamGlobalSettings.upsert({
+ where: {
+ teamId,
+ },
+ create: {
+ teamId,
+ brandingEnabled,
+ brandingLogo,
+ brandingUrl,
+ brandingCompanyDetails,
+ },
+ update: {
+ brandingEnabled,
+ brandingLogo,
+ brandingUrl,
+ brandingCompanyDetails,
+ },
+ });
+};
diff --git a/packages/lib/server-only/team/update-team-document-settings.ts b/packages/lib/server-only/team/update-team-document-settings.ts
new file mode 100644
index 000000000..b57b6dbb0
--- /dev/null
+++ b/packages/lib/server-only/team/update-team-document-settings.ts
@@ -0,0 +1,52 @@
+import { prisma } from '@documenso/prisma';
+import type { DocumentVisibility } from '@documenso/prisma/client';
+import { TeamMemberRole } from '@documenso/prisma/client';
+
+import type { SupportedLanguageCodes } from '../../constants/i18n';
+
+export type UpdateTeamDocumentSettingsOptions = {
+ userId: number;
+ teamId: number;
+
+ settings: {
+ documentVisibility: DocumentVisibility;
+ documentLanguage: SupportedLanguageCodes;
+ includeSenderDetails: boolean;
+ };
+};
+
+export const updateTeamDocumentSettings = async ({
+ userId,
+ teamId,
+ settings,
+}: UpdateTeamDocumentSettingsOptions) => {
+ const { documentVisibility, documentLanguage, includeSenderDetails } = settings;
+
+ const member = await prisma.teamMember.findFirst({
+ where: {
+ userId,
+ teamId,
+ },
+ });
+
+ if (!member || member.role !== TeamMemberRole.ADMIN) {
+ throw new Error('You do not have permission to update this team.');
+ }
+
+ return await prisma.teamGlobalSettings.upsert({
+ where: {
+ teamId,
+ },
+ create: {
+ teamId,
+ documentVisibility,
+ documentLanguage,
+ includeSenderDetails,
+ },
+ update: {
+ documentVisibility,
+ documentLanguage,
+ includeSenderDetails,
+ },
+ });
+};
diff --git a/packages/lib/server-only/team/update-team.ts b/packages/lib/server-only/team/update-team.ts
index b172d3359..02f3b57ab 100644
--- a/packages/lib/server-only/team/update-team.ts
+++ b/packages/lib/server-only/team/update-team.ts
@@ -4,6 +4,7 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { prisma } from '@documenso/prisma';
import { Prisma } from '@documenso/prisma/client';
+import type { DocumentVisibility } from '@documenso/prisma/client';
export type UpdateTeamOptions = {
userId: number;
@@ -11,6 +12,8 @@ export type UpdateTeamOptions = {
data: {
name?: string;
url?: string;
+ documentVisibility?: DocumentVisibility;
+ includeSenderDetails?: boolean;
};
};
@@ -42,6 +45,18 @@ export const updateTeam = async ({ userId, teamId, data }: UpdateTeamOptions) =>
data: {
url: data.url,
name: data.name,
+ teamGlobalSettings: {
+ upsert: {
+ create: {
+ documentVisibility: data.documentVisibility,
+ includeSenderDetails: data.includeSenderDetails,
+ },
+ update: {
+ documentVisibility: data.documentVisibility,
+ includeSenderDetails: data.includeSenderDetails,
+ },
+ },
+ },
},
});
diff --git a/packages/lib/server-only/template/create-document-from-direct-template.ts b/packages/lib/server-only/template/create-document-from-direct-template.ts
index 2d90d4ff0..c82219223 100644
--- a/packages/lib/server-only/template/create-document-from-direct-template.ts
+++ b/packages/lib/server-only/template/create-document-from-direct-template.ts
@@ -1,15 +1,16 @@
import { createElement } from 'react';
+import { msg } from '@lingui/macro';
import { DateTime } from 'luxon';
import { match } from 'ts-pattern';
import { mailer } from '@documenso/email/mailer';
-import { render } from '@documenso/email/render';
import { DocumentCreatedFromDirectTemplateEmailTemplate } from '@documenso/email/templates/document-created-from-direct-template';
import { nanoid } from '@documenso/lib/universal/id';
import { prisma } from '@documenso/prisma';
import type { Field, Signature } from '@documenso/prisma/client';
import {
+ DocumentSigningOrder,
DocumentSource,
DocumentStatus,
FieldType,
@@ -21,6 +22,7 @@ import {
} from '@documenso/prisma/client';
import type { TSignFieldWithTokenMutationSchema } from '@documenso/trpc/server/field-router/schema';
+import { getI18nInstance } from '../../client-only/providers/i18n.server';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
import { DEFAULT_DOCUMENT_DATE_FORMAT } from '../../constants/date-formats';
import { DEFAULT_DOCUMENT_TIME_ZONE } from '../../constants/time-zones';
@@ -37,6 +39,8 @@ import {
createRecipientAuthOptions,
extractDocumentAuthMethods,
} from '../../utils/document-auth';
+import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
+import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
import { formatDocumentsPath } from '../../utils/teams';
import { sendDocument } from '../document/send-document';
import { validateFieldAuth } from '../document/validate-field-auth';
@@ -88,6 +92,11 @@ export const createDocumentFromDirectTemplate = async ({
templateDocumentData: true,
templateMeta: true,
User: true,
+ team: {
+ include: {
+ teamGlobalSettings: true,
+ },
+ },
},
});
@@ -142,6 +151,9 @@ export const createDocumentFromDirectTemplate = async ({
const metaDateFormat = template.templateMeta?.dateFormat || DEFAULT_DOCUMENT_DATE_FORMAT;
const metaEmailMessage = template.templateMeta?.message || '';
const metaEmailSubject = template.templateMeta?.subject || '';
+ const metaLanguage =
+ template.templateMeta?.language ?? template.team?.teamGlobalSettings?.documentLanguage;
+ const metaSigningOrder = template.templateMeta?.signingOrder || DocumentSigningOrder.PARALLEL;
// Associate, validate and map to a query every direct template recipient field with the provided fields.
const createDirectRecipientFieldArgs = await Promise.all(
@@ -232,6 +244,7 @@ export const createDocumentFromDirectTemplate = async ({
createdAt: initialRequestTime,
status: DocumentStatus.PENDING,
externalId: directTemplateExternalId,
+ visibility: template.team?.teamGlobalSettings?.documentVisibility,
documentDataId: documentData.id,
authOptions: createDocumentAuthOptions({
globalAccessAuth: templateAuthOptions.globalAccessAuth,
@@ -256,6 +269,7 @@ export const createDocumentFromDirectTemplate = async ({
recipient.role === RecipientRole.CC
? SigningStatus.SIGNED
: SigningStatus.NOT_SIGNED,
+ signingOrder: recipient.signingOrder,
token: nanoid(),
};
}),
@@ -267,6 +281,9 @@ export const createDocumentFromDirectTemplate = async ({
dateFormat: metaDateFormat,
message: metaEmailMessage,
subject: metaEmailSubject,
+ language: metaLanguage,
+ signingOrder: metaSigningOrder,
+ distributionMethod: template.templateMeta?.distributionMethod,
},
},
},
@@ -330,6 +347,7 @@ export const createDocumentFromDirectTemplate = async ({
signingStatus: SigningStatus.SIGNED,
sendStatus: SendStatus.SENT,
signedAt: initialRequestTime,
+ signingOrder: directTemplateRecipient.signingOrder,
Field: {
createMany: {
data: directTemplateNonSignatureFields.map(({ templateField, customText }) => ({
@@ -524,6 +542,17 @@ export const createDocumentFromDirectTemplate = async ({
assetBaseUrl: NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000',
});
+ const branding = template.team?.teamGlobalSettings
+ ? teamGlobalSettingsToBranding(template.team.teamGlobalSettings)
+ : undefined;
+
+ const [html, text] = await Promise.all([
+ renderEmailWithI18N(emailTemplate, { lang: metaLanguage, branding }),
+ renderEmailWithI18N(emailTemplate, { lang: metaLanguage, branding, plainText: true }),
+ ]);
+
+ const i18n = await getI18nInstance(metaLanguage);
+
await mailer.sendMail({
to: [
{
@@ -535,9 +564,9 @@ export const createDocumentFromDirectTemplate = async ({
name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso',
address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com',
},
- subject: 'Document created from direct template',
- html: render(emailTemplate),
- text: render(emailTemplate, { plainText: true }),
+ subject: i18n._(msg`Document created from direct template`),
+ html,
+ text,
});
return {
diff --git a/packages/lib/server-only/template/create-document-from-template-legacy.ts b/packages/lib/server-only/template/create-document-from-template-legacy.ts
index ea5a45760..c9ffaffc1 100644
--- a/packages/lib/server-only/template/create-document-from-template-legacy.ts
+++ b/packages/lib/server-only/template/create-document-from-template-legacy.ts
@@ -46,6 +46,12 @@ export const createDocumentFromTemplateLegacy = async ({
Recipient: true,
Field: true,
templateDocumentData: true,
+ templateMeta: true,
+ team: {
+ include: {
+ teamGlobalSettings: true,
+ },
+ },
},
});
@@ -68,6 +74,7 @@ export const createDocumentFromTemplateLegacy = async ({
userId,
teamId: template.teamId,
title: template.title,
+ visibility: template.team?.teamGlobalSettings?.documentVisibility,
documentDataId: documentData.id,
Recipient: {
create: template.Recipient.map((recipient) => ({
@@ -78,6 +85,18 @@ export const createDocumentFromTemplateLegacy = async ({
token: nanoid(),
})),
},
+ documentMeta: {
+ create: {
+ subject: template.templateMeta?.subject,
+ message: template.templateMeta?.message,
+ timezone: template.templateMeta?.timezone,
+ dateFormat: template.templateMeta?.dateFormat,
+ redirectUrl: template.templateMeta?.redirectUrl,
+ signingOrder: template.templateMeta?.signingOrder ?? undefined,
+ language:
+ template.templateMeta?.language || template.team?.teamGlobalSettings?.documentLanguage,
+ },
+ },
},
include: {
diff --git a/packages/lib/server-only/template/create-document-from-template.ts b/packages/lib/server-only/template/create-document-from-template.ts
index 8cf2e59af..4b010a409 100644
--- a/packages/lib/server-only/template/create-document-from-template.ts
+++ b/packages/lib/server-only/template/create-document-from-template.ts
@@ -1,5 +1,6 @@
import { nanoid } from '@documenso/lib/universal/id';
import { prisma } from '@documenso/prisma';
+import type { DocumentDistributionMethod } from '@documenso/prisma/client';
import {
DocumentSigningOrder,
DocumentSource,
@@ -11,6 +12,7 @@ import {
WebhookTriggerEvents,
} from '@documenso/prisma/client';
+import type { SupportedLanguageCodes } from '../../constants/i18n';
import { AppError, AppErrorCode } from '../../errors/app-error';
import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs';
import { ZRecipientAuthOptionsSchema } from '../../types/document-auth';
@@ -24,7 +26,10 @@ import {
} from '../../utils/document-auth';
import { triggerWebhook } from '../webhooks/trigger/trigger-webhook';
-type FinalRecipient = Pick & {
+type FinalRecipient = Pick<
+ Recipient,
+ 'name' | 'email' | 'role' | 'authOptions' | 'signingOrder'
+> & {
templateRecipientId: number;
fields: Field[];
};
@@ -57,6 +62,8 @@ export type CreateDocumentFromTemplateOptions = {
dateFormat?: string;
redirectUrl?: string;
signingOrder?: DocumentSigningOrder;
+ language?: SupportedLanguageCodes;
+ distributionMethod?: DocumentDistributionMethod;
};
requestMetadata?: RequestMetadata;
};
@@ -103,6 +110,11 @@ export const createDocumentFromTemplate = async ({
},
templateDocumentData: true,
templateMeta: true,
+ team: {
+ include: {
+ teamGlobalSettings: true,
+ },
+ },
},
});
@@ -164,6 +176,7 @@ export const createDocumentFromTemplate = async ({
globalAccessAuth: templateAuthOptions.globalAccessAuth,
globalActionAuth: templateAuthOptions.globalActionAuth,
}),
+ visibility: template.team?.teamGlobalSettings?.documentVisibility,
documentMeta: {
create: {
subject: override?.subject || template.templateMeta?.subject,
@@ -172,10 +185,17 @@ export const createDocumentFromTemplate = async ({
password: override?.password || template.templateMeta?.password,
dateFormat: override?.dateFormat || template.templateMeta?.dateFormat,
redirectUrl: override?.redirectUrl || template.templateMeta?.redirectUrl,
+ distributionMethod:
+ override?.distributionMethod || template.templateMeta?.distributionMethod,
+ emailSettings: template.templateMeta?.emailSettings || undefined,
signingOrder:
override?.signingOrder ||
template.templateMeta?.signingOrder ||
DocumentSigningOrder.PARALLEL,
+ language:
+ override?.language ||
+ template.templateMeta?.language ||
+ template.team?.teamGlobalSettings?.documentLanguage,
},
},
Recipient: {
@@ -197,6 +217,7 @@ export const createDocumentFromTemplate = async ({
recipient.role === RecipientRole.CC
? SigningStatus.SIGNED
: SigningStatus.NOT_SIGNED,
+ signingOrder: recipient.signingOrder,
token: nanoid(),
};
}),
diff --git a/packages/lib/server-only/template/duplicate-template.ts b/packages/lib/server-only/template/duplicate-template.ts
index 963d78bde..f4348f019 100644
--- a/packages/lib/server-only/template/duplicate-template.ts
+++ b/packages/lib/server-only/template/duplicate-template.ts
@@ -1,3 +1,5 @@
+import { omit } from 'remeda';
+
import { nanoid } from '@documenso/lib/universal/id';
import { prisma } from '@documenso/prisma';
import type { Prisma } from '@documenso/prisma/client';
@@ -38,6 +40,7 @@ export const duplicateTemplate = async ({
Recipient: true,
Field: true,
templateDocumentData: true,
+ templateMeta: true,
},
});
@@ -53,6 +56,17 @@ export const duplicateTemplate = async ({
},
});
+ let templateMeta: Prisma.TemplateCreateArgs['data']['templateMeta'] | undefined = undefined;
+
+ if (template.templateMeta) {
+ templateMeta = {
+ create: {
+ ...omit(template.templateMeta, ['id', 'templateId']),
+ emailSettings: template.templateMeta.emailSettings || undefined,
+ },
+ };
+ }
+
const duplicatedTemplate = await prisma.template.create({
data: {
userId,
@@ -66,8 +80,8 @@ export const duplicateTemplate = async ({
token: nanoid(),
})),
},
+ templateMeta,
},
-
include: {
Recipient: true,
},
diff --git a/packages/lib/server-only/template/find-templates.ts b/packages/lib/server-only/template/find-templates.ts
index 27328d6c3..a978120a7 100644
--- a/packages/lib/server-only/template/find-templates.ts
+++ b/packages/lib/server-only/template/find-templates.ts
@@ -54,6 +54,7 @@ export const findTemplates = async ({
templateMeta: {
select: {
signingOrder: true,
+ distributionMethod: true,
},
},
directLink: {
diff --git a/packages/lib/server-only/template/get-template-by-id.ts b/packages/lib/server-only/template/get-template-by-id.ts
index fbc8c48f8..fc365433e 100644
--- a/packages/lib/server-only/template/get-template-by-id.ts
+++ b/packages/lib/server-only/template/get-template-by-id.ts
@@ -42,6 +42,13 @@ export const getTemplateById = async ({ id, userId, teamId }: GetTemplateByIdOpt
templateMeta: true,
Recipient: true,
Field: true,
+ User: {
+ select: {
+ id: true,
+ name: true,
+ email: true,
+ },
+ },
},
});
diff --git a/packages/lib/server-only/template/update-template-settings.ts b/packages/lib/server-only/template/update-template-settings.ts
index 22ea56db2..c83e15242 100644
--- a/packages/lib/server-only/template/update-template-settings.ts
+++ b/packages/lib/server-only/template/update-template-settings.ts
@@ -112,9 +112,11 @@ export const updateTemplateSettings = async ({
},
create: {
...meta,
+ emailSettings: meta?.emailSettings || undefined,
},
update: {
...meta,
+ emailSettings: meta?.emailSettings || undefined,
},
},
},
diff --git a/packages/lib/server-only/user/create-user.ts b/packages/lib/server-only/user/create-user.ts
index 263fa9392..9dfe0b0b6 100644
--- a/packages/lib/server-only/user/create-user.ts
+++ b/packages/lib/server-only/user/create-user.ts
@@ -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,
},
});
diff --git a/packages/lib/server-only/user/send-confirmation-token.ts b/packages/lib/server-only/user/send-confirmation-token.ts
index ef7c4b104..d2bc0a3aa 100644
--- a/packages/lib/server-only/user/send-confirmation-token.ts
+++ b/packages/lib/server-only/user/send-confirmation-token.ts
@@ -39,7 +39,7 @@ export const sendConfirmationToken = async ({
mostRecentToken?.createdAt &&
DateTime.fromJSDate(mostRecentToken.createdAt).diffNow('minutes').minutes > -5
) {
- return;
+ // return;
}
const createdToken = await prisma.verificationToken.create({
@@ -64,6 +64,7 @@ export const sendConfirmationToken = async ({
return { success: true };
} catch (err) {
+ console.log(err);
throw new Error(`Failed to send the confirmation email`);
}
};
diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po
index c54c742fb..cc069df1a 100644
--- a/packages/lib/translations/de/common.po
+++ b/packages/lib/translations/de/common.po
@@ -8,23 +8,278 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-18 04:04\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
+#: packages/email/template-components/template-document-super-delete.tsx:27
+msgid "\"{documentName}\" has been deleted by an admin."
+msgstr "\"{documentName}\" wurde von einem Administrator gelöscht."
+
+#: packages/email/template-components/template-document-pending.tsx:37
+msgid "“{documentName}” has been signed"
+msgstr "„{documentName}“ wurde unterschrieben"
+
+#: packages/email/template-components/template-document-completed.tsx:41
+msgid "“{documentName}” was signed by all signers"
+msgstr "„{documentName}“ wurde von allen Unterzeichnern signiert"
+
+#: packages/lib/server-only/document/resend-document.tsx:109
+#~ msgid "{0}"
+#~ msgstr "{0}"
+
+#: packages/email/template-components/template-document-invite.tsx:80
+#~ msgid "{0} Document"
+#~ msgstr "{0} Document"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
+msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
+msgstr "{0} hat Sie eingeladen, das Dokument \"{1}\" {recipientActionVerb}."
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
+msgid "{0} invited you to {recipientActionVerb} a document"
+msgstr "{0} hat dich eingeladen, ein Dokument {recipientActionVerb}"
+
+#: packages/email/templates/team-join.tsx:61
+msgid "{0} joined the team {teamName} on Documenso"
+msgstr "{0} ist dem Team {teamName} bei Documenso beigetreten"
+
+#: packages/email/templates/team-leave.tsx:61
+msgid "{0} left the team {teamName} on Documenso"
+msgstr "{0} hat das Team {teamName} bei Documenso verlassen"
+
#: packages/ui/primitives/data-table-pagination.tsx:30
msgid "{0} of {1} row(s) selected."
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
+#: packages/lib/server-only/document/resend-document.tsx:137
+msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
+msgstr "{0} hat dich im Namen von {1} eingeladen, das Dokument \"{2}\" {recipientActionVerb}."
+
+#: packages/email/template-components/template-document-invite.tsx:51
+#~ msgid "{0}<0/>\"{documentName}\""
+#~ msgstr "{0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:94
+msgid "{inviterName} <0>({inviterEmail})0>"
+msgstr "{inviterName} <0>({inviterEmail})0>"
+
+#: packages/email/templates/document-cancel.tsx:21
+msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
+msgstr "{inviterName} hat das Dokument {documentName} storniert, du musst es nicht mehr unterzeichnen."
+
+#: packages/email/template-components/template-document-cancel.tsx:24
+msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
+msgstr "{inviterName} hat das Dokument<0/>\"{documentName}\" storniert"
+
+#: packages/email/template-components/template-document-invite.tsx:75
+msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
+msgstr "{inviterName} hat dich eingeladen, {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:41
+msgid "{inviterName} has invited you to {action} {documentName}"
+msgstr "{inviterName} hat dich eingeladen, {action} {documentName}"
+
+#: packages/email/templates/document-invite.tsx:106
+msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
+msgstr "{inviterName} hat Sie eingeladen, das Dokument \"{documentName}\" {action}."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:20
+msgid "{inviterName} has removed you from the document {documentName}."
+msgstr "{inviterName} hat dich aus dem Dokument {documentName} entfernt."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:49
+msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
+msgstr "{inviterName} hat dich aus dem Dokument<0/>\"{documentName}\" entfernt"
+
+#: packages/email/template-components/template-document-invite.tsx:63
+msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
+msgstr "{inviterName} im Namen von {teamName} hat Sie eingeladen, {0}"
+
+#: packages/email/template-components/template-document-invite.tsx:49
+#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:45
+msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
+msgstr "{inviterName} hat dich im Namen von {teamName} eingeladen, {action} {documentName}"
+
+#: packages/email/templates/team-join.tsx:67
+msgid "{memberEmail} joined the following team"
+msgstr "{memberEmail} ist dem folgenden Team beigetreten"
+
+#: packages/email/templates/team-leave.tsx:67
+msgid "{memberEmail} left the following team"
+msgstr "{memberEmail} hat das folgende Team verlassen"
+
+#: packages/lib/utils/document-audit-logs.ts:263
+msgid "{prefix} added a field"
+msgstr "{prefix} hat ein Feld hinzugefügt"
+
+#: packages/lib/utils/document-audit-logs.ts:275
+msgid "{prefix} added a recipient"
+msgstr "{prefix} hat einen Empfänger hinzugefügt"
+
+#: packages/lib/utils/document-audit-logs.ts:287
+msgid "{prefix} created the document"
+msgstr "{prefix} hat das Dokument erstellt"
+
+#: packages/lib/utils/document-audit-logs.ts:291
+msgid "{prefix} deleted the document"
+msgstr "{prefix} hat das Dokument gelöscht"
+
+#: packages/lib/utils/document-audit-logs.ts:335
+msgid "{prefix} moved the document to team"
+msgstr "{prefix} hat das Dokument ins Team verschoben"
+
+#: packages/lib/utils/document-audit-logs.ts:319
+msgid "{prefix} opened the document"
+msgstr "{prefix} hat das Dokument geöffnet"
+
+#: packages/lib/utils/document-audit-logs.ts:267
+msgid "{prefix} removed a field"
+msgstr "{prefix} hat ein Feld entfernt"
+
+#: packages/lib/utils/document-audit-logs.ts:279
+msgid "{prefix} removed a recipient"
+msgstr "{prefix} hat einen Empfänger entfernt"
+
+#: packages/lib/utils/document-audit-logs.ts:365
+msgid "{prefix} resent an email to {0}"
+msgstr "{prefix} hat eine E-Mail an {0} erneut gesendet"
+
+#: packages/lib/utils/document-audit-logs.ts:366
+msgid "{prefix} sent an email to {0}"
+msgstr "{prefix} hat eine E-Mail an {0} gesendet"
+
+#: packages/lib/utils/document-audit-logs.ts:331
+msgid "{prefix} sent the document"
+msgstr "{prefix} hat das Dokument gesendet"
+
+#: packages/lib/utils/document-audit-logs.ts:295
+msgid "{prefix} signed a field"
+msgstr "{prefix} hat ein Feld unterschrieben"
+
+#: packages/lib/utils/document-audit-logs.ts:299
+msgid "{prefix} unsigned a field"
+msgstr "{prefix} hat ein Feld ungültig gemacht"
+
+#: packages/lib/utils/document-audit-logs.ts:271
+msgid "{prefix} updated a field"
+msgstr "{prefix} hat ein Feld aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:283
+msgid "{prefix} updated a recipient"
+msgstr "{prefix} hat einen Empfänger aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:315
+msgid "{prefix} updated the document"
+msgstr "{prefix} hat das Dokument aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:307
+msgid "{prefix} updated the document access auth requirements"
+msgstr "{prefix} hat die Anforderungen an die Dokumentenzugriffsautorisierung aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:327
+msgid "{prefix} updated the document external ID"
+msgstr "{prefix} hat die externe ID des Dokuments aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:311
+msgid "{prefix} updated the document signing auth requirements"
+msgstr "{prefix} hat die Authentifizierungsanforderungen für die Dokumentenunterzeichnung aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:323
+msgid "{prefix} updated the document title"
+msgstr "{prefix} hat den Titel des Dokuments aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:303
+msgid "{prefix} updated the document visibility"
+msgstr "{prefix} hat die Sichtbarkeit des Dokuments aktualisiert"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:61
+msgid "{recipientName} {action} a document by using one of your direct links"
+msgstr "{recipientName} {action} ein Dokument, indem Sie einen Ihrer direkten Links verwenden"
+
+#: packages/email/templates/document-rejected.tsx:27
+msgid "{recipientName} has rejected the document '{documentName}'"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejected.tsx:25
+msgid "{signerName} has rejected the document \"{documentName}\"."
+msgstr ""
+
+#: packages/email/template-components/template-document-invite.tsx:68
+msgid "{teamName} has invited you to {0}"
+msgstr "{teamName} hat Sie eingeladen, {0}"
+
+#: packages/email/templates/document-invite.tsx:46
+msgid "{teamName} has invited you to {action} {documentName}"
+msgstr "{teamName} hat Sie eingeladen, {action} {documentName}"
+
+#: packages/email/templates/team-transfer-request.tsx:55
+msgid "{teamName} ownership transfer request"
+msgstr "Anfrage zur Übertragung des Eigentums von {teamName}"
+
+#: packages/lib/utils/document-audit-logs.ts:343
+msgid "{userName} approved the document"
+msgstr "{userName} hat das Dokument genehmigt"
+
+#: packages/lib/utils/document-audit-logs.ts:344
+msgid "{userName} CC'd the document"
+msgstr "{userName} hat das Dokument in CC gesetzt"
+
+#: packages/lib/utils/document-audit-logs.ts:345
+msgid "{userName} completed their task"
+msgstr "{userName} hat ihre Aufgabe abgeschlossen"
+
+#: packages/lib/utils/document-audit-logs.ts:355
+msgid "{userName} rejected the document"
+msgstr ""
+
+#: packages/lib/utils/document-audit-logs.ts:341
+msgid "{userName} signed the document"
+msgstr "{userName} hat das Dokument unterschrieben"
+
+#: packages/lib/utils/document-audit-logs.ts:342
+msgid "{userName} viewed the document"
+msgstr "{userName} hat das Dokument angesehen"
+
#: packages/ui/primitives/data-table-pagination.tsx:41
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
msgstr ""
+#: packages/email/templates/document-invite.tsx:100
+#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+
+#: packages/email/templates/team-transfer-request.tsx:59
+msgid "<0>{senderName}0> has requested that you take ownership of the following team"
+msgstr "<0>{senderName}0> hat angefordert, dass du das folgende Team übernimmst"
+
+#: packages/email/templates/confirm-team-email.tsx:75
+msgid "<0>{teamName}0> has requested to use your email address for their team on Documenso."
+msgstr "<0>{teamName}0> hat angefragt, Ihre E-Mail-Adresse für ihr Team bei Documenso zu verwenden."
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
+msgid "<0>Email0> - The recipient will be emailed the document to sign, approve, etc."
+msgstr "<0>E-Mail0> - Der Empfänger erhält das Dokument zur Unterschrift, Genehmigung usw."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
msgid "<0>Inherit authentication method0> - Use the global action signing authentication method configured in the \"General Settings\" step"
msgstr ""
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
+msgid "<0>Links0> - We will generate links which you can send to the recipients manually."
+msgstr "<0>Links0> - Wir generieren Links, die Sie manuell an die Empfänger senden können."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
msgid "<0>No restrictions0> - No authentication required"
msgstr ""
@@ -37,6 +292,10 @@ msgstr ""
msgid "<0>None0> - No authentication required"
msgstr ""
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
+msgid "<0>Note0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
+msgstr "<0>Hinweis0> - Wenn Sie Links in Kombination mit direkten Vorlagen verwenden, müssen Sie die Links manuell an die restlichen Empfänger senden."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
msgid "<0>Require 2FA0> - The recipient must have an account and 2FA enabled via their settings"
@@ -51,20 +310,95 @@ msgstr ""
msgid "<0>Require passkey0> - The recipient must have an account and passkey configured via their settings"
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
+msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
+msgstr "Ein Dokument wurde von deiner direkten Vorlage erstellt, das erfordert, dass du {recipientActionVerb}."
+
+#: packages/lib/utils/document-audit-logs.ts:262
+msgid "A field was added"
+msgstr "Ein Feld wurde hinzugefügt"
+
+#: packages/lib/utils/document-audit-logs.ts:266
+msgid "A field was removed"
+msgstr "Ein Feld wurde entfernt"
+
+#: packages/lib/utils/document-audit-logs.ts:270
+msgid "A field was updated"
+msgstr "Ein Feld wurde aktualisiert"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
+msgid "A new member has joined your team"
+msgstr "Ein neues Mitglied ist deinem Team beigetreten"
+
+#: packages/lib/utils/document-audit-logs.ts:274
+msgid "A recipient was added"
+msgstr "Ein Empfänger wurde hinzugefügt"
+
+#: packages/lib/utils/document-audit-logs.ts:278
+msgid "A recipient was removed"
+msgstr "Ein Empfänger wurde entfernt"
+
+#: packages/lib/utils/document-audit-logs.ts:282
+msgid "A recipient was updated"
+msgstr "Ein Empfänger wurde aktualisiert"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:156
+msgid "A request to use your email has been initiated by {0} on Documenso"
+msgstr "Eine Anfrage zur Verwendung Ihrer E-Mail wurde von {0} auf Documenso initiiert"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:142
+#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
+#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
+
+#: packages/email/templates/team-join.tsx:31
+msgid "A team member has joined a team on Documenso"
+msgstr "Ein Teammitglied ist einem Team bei Documenso beigetreten"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
+msgid "A team member has left {0}"
+msgstr "Ein Teammitglied hat {0} verlassen"
+
+#: packages/email/templates/team-leave.tsx:31
+msgid "A team member has left a team on Documenso"
+msgstr "Ein Teammitglied hat ein Team auf Documenso verlassen"
+
+#: packages/email/templates/team-delete.tsx:29
+#: packages/email/templates/team-delete.tsx:33
+msgid "A team you were a part of has been deleted"
+msgstr "Ein Team, dem du angehörtest, wurde gelöscht"
+
+#: packages/email/templates/confirm-team-email.tsx:118
+#: packages/email/templates/team-invite.tsx:94
+#: packages/email/templates/team-transfer-request.tsx:81
+msgid "Accept"
+msgstr "Akzeptieren"
+
+#: packages/email/templates/team-invite.tsx:42
+msgid "Accept invitation to join a team on Documenso"
+msgstr "Einladung annehmen, um einem Team auf Documenso beizutreten"
+
+#: packages/email/templates/confirm-team-email.tsx:41
+msgid "Accept team email request for {teamName} on Documenso"
+msgstr "Akzeptiere die Team-E-Mail-Anfrage für {teamName} bei Documenso"
+
+#: packages/email/templates/team-transfer-request.tsx:29
+msgid "Accept team transfer request on Documenso"
+msgstr "Übertragungsanfrage des Teams auf Documenso annehmen"
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "Add a document"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:336
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:339
+#: packages/ui/primitives/document-flow/add-settings.tsx:378
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
msgid "Add a URL to redirect the user to once the document is signed"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:248
+#: packages/ui/primitives/document-flow/add-settings.tsx:290
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:256
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
msgid "Add an external ID to the template. This can be used to identify in external systems."
msgstr ""
@@ -77,7 +411,7 @@ msgstr ""
msgid "Add another value"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:662
+#: packages/ui/primitives/document-flow/add-signers.tsx:691
msgid "Add myself"
msgstr ""
@@ -89,7 +423,7 @@ msgstr ""
msgid "Add Placeholder Recipient"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:651
+#: packages/ui/primitives/document-flow/add-signers.tsx:680
msgid "Add Signer"
msgstr ""
@@ -105,13 +439,13 @@ msgstr ""
msgid "Admin"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:230
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:238
+#: packages/ui/primitives/document-flow/add-settings.tsx:272
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
msgid "Advanced Options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:570
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:402
+#: packages/ui/primitives/document-flow/add-fields.tsx:573
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
msgid "Advanced settings"
msgstr ""
@@ -123,11 +457,35 @@ msgstr ""
msgid "All"
msgstr ""
+#: packages/email/template-components/template-document-cancel.tsx:31
+msgid "All signatures have been voided."
+msgstr "Alle Unterschriften wurden ungültig gemacht."
+
+#: packages/email/templates/confirm-team-email.tsx:98
+msgid "Allow document recipients to reply directly to this email address"
+msgstr "Erlauben Sie den Dokumentempfängern, direkt an diese E-Mail-Adresse zu antworten"
+
+#: packages/email/templates/document-super-delete.tsx:22
+msgid "An admin has deleted your document \"{documentName}\"."
+msgstr "Ein Administrator hat dein Dokument \"{documentName}\" gelöscht."
+
+#: packages/ui/primitives/pdf-viewer.tsx:167
+msgid "An error occurred while loading the document."
+msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten."
+
#: packages/lib/constants/recipient-roles.ts:8
#: packages/ui/components/document/next-inbox-item-button.tsx:113
msgid "Approve"
msgstr ""
+#: packages/email/template-components/template-document-invite.tsx:106
+msgid "Approve Document"
+msgstr "Dokument genehmigen"
+
+#: packages/lib/constants/recipient-roles.ts:68
+#~ msgid "APPROVE_REQUEST"
+#~ msgstr "APPROVE_REQUEST"
+
#: packages/lib/constants/recipient-roles.ts:9
msgid "Approved"
msgstr ""
@@ -136,10 +494,18 @@ msgstr ""
msgid "Approver"
msgstr ""
+#: packages/lib/constants/recipient-roles.ts:12
+msgid "Approvers"
+msgstr "Genehmigende"
+
#: packages/lib/constants/recipient-roles.ts:10
msgid "Approving"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:25
+msgid "Before you get started, please confirm your email address by clicking the button below:"
+msgstr "Bitte bestätige vor dem Start deine E-Mail-Adresse, indem du auf den Button unten klickst:"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr ""
@@ -148,6 +514,18 @@ msgstr ""
msgid "Blue"
msgstr ""
+#: packages/email/templates/team-invite.tsx:84
+msgid "by <0>{senderName}0>"
+msgstr "von <0>{senderName}0>"
+
+#: packages/email/templates/confirm-team-email.tsx:87
+msgid "By accepting this request, you will be granting <0>{teamName}0> access to:"
+msgstr "Durch die Annahme dieser Anfrage gewähren Sie <0>{teamName}0> Zugriff auf:"
+
+#: packages/email/templates/team-transfer-request.tsx:70
+msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
+msgstr "Indem du diese Anfrage annimmst, übernimmst du die Verantwortung für alle Abrechnungspunkte, die mit diesem Team verbunden sind."
+
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58
msgid "Cancel"
@@ -157,28 +535,41 @@ msgstr ""
msgid "Cannot remove signer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:17
+#: packages/lib/constants/recipient-roles.ts:18
msgid "Cc"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:14
-#: packages/lib/constants/recipient-roles.ts:16
+#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:17
msgid "CC"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:16
msgid "CC'd"
msgstr ""
+#: packages/lib/constants/recipient-roles.ts:19
+msgid "Ccers"
+msgstr "Ccers"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86
msgid "Character Limit"
msgstr ""
+<<<<<<< HEAD
#: packages/ui/primitives/document-flow/add-fields.tsx:1026
#: packages/ui/primitives/template-flow/add-template-fields.tsx:788
msgid "Checkbox"
msgstr ""
+||||||| 7fc497a64
+#: packages/ui/primitives/document-flow/add-fields.tsx:1026
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:788
+msgid "Checkbox"
+msgstr "Checkbox"
+
+=======
+>>>>>>> main
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
msgid "Checkbox values"
msgstr ""
@@ -203,20 +594,60 @@ msgstr ""
msgid "Completed"
msgstr ""
+#: packages/email/template-components/template-document-completed.tsx:35
+#: packages/email/template-components/template-document-self-signed.tsx:36
+#: packages/lib/constants/document.ts:10
+msgid "Completed"
+msgstr "Abgeschlossen"
+
+#: packages/email/templates/document-completed.tsx:23
+#: packages/email/templates/document-self-signed.tsx:19
+msgid "Completed Document"
+msgstr "Abgeschlossenes Dokument"
+
#: packages/lib/constants/template.ts:12
msgid "Configure Direct Recipient"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:571
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:403
+#: packages/ui/primitives/document-flow/add-fields.tsx:574
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
msgid "Configure the {0} field"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:35
+msgid "Confirm email"
+msgstr "E-Mail bestätigen"
+
#: packages/ui/primitives/document-flow/document-flow-root.tsx:141
msgid "Continue"
msgstr ""
+#: packages/email/template-components/template-document-invite.tsx:72
+#~ msgid "Continue by {0} the document."
+#~ msgstr "Continue by {0} the document."
+
+#: packages/email/template-components/template-document-invite.tsx:86
+msgid "Continue by approving the document."
+msgstr "Fahre fort, indem du das Dokument genehmigst."
+
+#: packages/email/template-components/template-document-completed.tsx:45
+msgid "Continue by downloading the document."
+msgstr "Fahre fort, indem du das Dokument herunterlädst."
+
+#: packages/email/template-components/template-document-invite.tsx:84
+msgid "Continue by signing the document."
+msgstr "Fahre fort, indem du das Dokument signierst."
+
+#: packages/email/template-components/template-document-invite.tsx:85
+msgid "Continue by viewing the document."
+msgstr "Fahre fort, indem du das Dokument ansiehst."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:254
+msgid "Copied"
+msgstr "Kopiert"
+
#: packages/ui/components/document/document-share-button.tsx:46
+#: packages/ui/primitives/document-flow/add-subject.tsx:241
msgid "Copied to clipboard"
msgstr ""
@@ -224,27 +655,60 @@ msgstr ""
msgid "Created {0}"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:249
+msgid "Copy"
+msgstr "Kopieren"
+
+#: packages/ui/components/document/document-share-button.tsx:194
+msgid "Copy Link"
+msgstr "Link kopieren"
+
+#: packages/email/template-components/template-document-self-signed.tsx:46
+msgid "Create a <0>free account0> to access your signed documents at any time."
+msgstr "Erstelle ein <0>kostenfreies Konto0>, um jederzeit auf deine unterzeichneten Dokumente zuzugreifen."
+
+#: packages/email/template-components/template-document-self-signed.tsx:68
+msgid "Create account"
+msgstr "Konto erstellen"
+
#: packages/ui/primitives/document-flow/add-signature.tsx:360
msgid "Custom Text"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:922
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:684
+#: packages/ui/primitives/document-flow/add-fields.tsx:927
+#: packages/ui/primitives/document-flow/types.ts:53
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
msgid "Date"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:271
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:279
+#: packages/ui/primitives/document-flow/add-settings.tsx:313
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
msgid "Date Format"
msgstr ""
+#: packages/email/templates/team-invite.tsx:100
+msgid "Decline"
+msgstr "Ablehnen"
+
+#: packages/email/templates/reset-password.tsx:71
+msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.0>"
+msgstr "Hast du keinen Passwortwechsel angefordert? Wir helfen dir, dein Konto abzusichern, kontaktiere uns einfach <0>hier.0>"
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
msgid "Direct link receiver"
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
+msgid "Document \"{0}\" - Rejected by {1}"
+msgstr ""
+
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
+msgid "Document \"{0}\" - Rejection Confirmed"
+msgstr ""
+
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
-#: packages/ui/primitives/document-flow/add-settings.tsx:174
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:151
+#: packages/ui/primitives/document-flow/add-settings.tsx:216
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
msgid "Document access"
msgstr ""
@@ -256,6 +720,33 @@ msgstr ""
msgid "Document completed"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:306
+msgid "Document access auth updated"
+msgstr "Die Authentifizierung für den Dokumentenzugriff wurde aktualisiert"
+
+#: packages/lib/server-only/document/delete-document.ts:246
+#: packages/lib/server-only/document/super-delete-document.ts:98
+msgid "Document Cancelled"
+msgstr "Dokument storniert"
+
+#: packages/lib/utils/document-audit-logs.ts:369
+#: packages/lib/utils/document-audit-logs.ts:370
+msgid "Document completed"
+msgstr "Dokument abgeschlossen"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:168
+msgid "Document completed email"
+msgstr "E-Mail zum Abschluss des Dokuments"
+
+#: packages/lib/utils/document-audit-logs.ts:286
+msgid "Document created"
+msgstr "Dokument erstellt"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:32
+#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
+msgid "Document created from direct template"
+msgstr "Dokument erstellt aus direkter Vorlage"
+
#: packages/lib/constants/template.ts:20
msgid "Document Creation"
msgstr ""
@@ -272,6 +763,64 @@ msgstr ""
msgid "Document pending"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:290
+msgid "Document deleted"
+msgstr "Dokument gelöscht"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:207
+msgid "Document deleted email"
+msgstr "E-Mail zum Löschen des Dokuments"
+
+#: packages/lib/server-only/document/send-delete-email.ts:82
+msgid "Document Deleted!"
+msgstr "Dokument gelöscht!"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
+msgid "Document Distribution Method"
+msgstr "Verteilungsmethode für Dokumente"
+
+#: packages/lib/utils/document-audit-logs.ts:326
+msgid "Document external ID updated"
+msgstr "Externe ID des Dokuments aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:334
+msgid "Document moved to team"
+msgstr "Dokument ins Team verschoben"
+
+#: packages/lib/utils/document-audit-logs.ts:318
+msgid "Document opened"
+msgstr "Dokument geöffnet"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:128
+msgid "Document pending email"
+msgstr "E-Mail über ausstehende Dokumente"
+
+#: packages/email/template-components/template-document-rejected.tsx:21
+msgid "Document Rejected"
+msgstr ""
+
+#: packages/lib/utils/document-audit-logs.ts:330
+msgid "Document sent"
+msgstr "Dokument gesendet"
+
+#: packages/lib/utils/document-audit-logs.ts:310
+msgid "Document signing auth updated"
+msgstr "Dokument unterzeichnen Authentifizierung aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:322
+msgid "Document title updated"
+msgstr "Dokumenttitel aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:314
+msgid "Document updated"
+msgstr "Dokument aktualisiert"
+
+#: packages/lib/utils/document-audit-logs.ts:302
+msgid "Document visibility updated"
+msgstr "Sichtbarkeit des Dokuments aktualisiert"
+
+#: packages/email/template-components/template-document-completed.tsx:57
#: packages/ui/components/document/document-download-button.tsx:68
msgid "Download"
msgstr ""
@@ -280,12 +829,16 @@ msgstr ""
msgid "Draft"
msgstr ""
+#: packages/lib/constants/document.ts:13
+msgid "Draft"
+msgstr "Entwurf"
+
#: packages/ui/primitives/document-dropzone.tsx:162
msgid "Drag & drop your PDF here."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1052
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:814
+#: packages/ui/primitives/document-flow/add-fields.tsx:1058
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
msgid "Dropdown"
msgstr ""
@@ -293,20 +846,35 @@ msgstr ""
msgid "Dropdown options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:870
+#: 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/template-flow/add-template-fields.tsx:632
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
msgid "Email"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:184
+#: packages/ui/primitives/document-flow/add-signature.types.ts:7
+msgid "Email is required"
+msgstr "E-Mail ist erforderlich"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
msgid "Email Options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1117
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email resent"
+msgstr "E-Mail erneut gesendet"
+
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email sent"
+msgstr "E-Mail gesendet"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1123
msgid "Empty field"
msgstr ""
@@ -319,7 +887,7 @@ msgstr ""
msgid "Enable signing order"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:790
+#: packages/ui/primitives/document-flow/add-fields.tsx:795
msgid "Enable Typed Signatures"
msgstr ""
@@ -328,11 +896,12 @@ msgid "Enter password"
msgstr ""
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257
+#: packages/ui/primitives/pdf-viewer.tsx:166
msgid "Error"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:241
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:249
+#: packages/ui/primitives/document-flow/add-settings.tsx:283
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
msgid "External ID"
msgstr ""
@@ -365,6 +934,14 @@ msgstr ""
msgid "Field placeholder"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:294
+msgid "Field signed"
+msgstr "Feld unterschrieben"
+
+#: packages/lib/utils/document-audit-logs.ts:298
+msgid "Field unsigned"
+msgstr "Feld nicht unterschrieben"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56
#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38
#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38
@@ -374,6 +951,22 @@ msgstr ""
msgid "Font Size"
msgstr ""
+#: packages/lib/server-only/auth/send-forgot-password.ts:61
+msgid "Forgot Password?"
+msgstr "Passwort vergessen?"
+
+#: packages/email/template-components/template-forgot-password.tsx:21
+msgid "Forgot your password?"
+msgstr "Hast du dein Passwort vergessen?"
+
+#: packages/ui/primitives/document-flow/types.ts:50
+msgid "Free Signature"
+msgstr "Freie Unterschrift"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:89
+msgid "Generate Links"
+msgstr "Links generieren"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
msgid "Global recipient action authentication"
msgstr ""
@@ -386,19 +979,23 @@ msgstr ""
msgid "Green"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:72
+#: packages/email/templates/reset-password.tsx:56
+msgid "Hi, {userName} <0>({userEmail})0>"
+msgstr "Hallo, {userName} <0>({userEmail})0>"
+
+#: packages/lib/constants/recipient-roles.ts:44
msgid "I am a signer of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:75
+#: packages/lib/constants/recipient-roles.ts:47
msgid "I am a viewer of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:73
+#: packages/lib/constants/recipient-roles.ts:45
msgid "I am an approver of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:74
+#: packages/lib/constants/recipient-roles.ts:46
msgid "I am required to receive a copy of this document"
msgstr ""
@@ -411,12 +1008,43 @@ msgstr ""
msgid "Inherit authentication method"
msgstr ""
+#: packages/ui/primitives/document-flow/types.ts:51
+msgid "Initials"
+msgstr "Initialen"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:17
+msgid "Invalid email"
+msgstr "Ungültige E-Mail"
+
+#: packages/ui/primitives/document-flow/add-signature.types.ts:8
+msgid "Invalid email address"
+msgstr "Ungültige E-Mail-Adresse"
+
+#: packages/email/templates/team-invite.tsx:72
+msgid "Join {teamName} on Documenso"
+msgstr "Tritt {teamName} auf Documenso bei"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48
msgid "Label"
msgstr ""
+#: packages/ui/primitives/document-flow/add-settings.tsx:176
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
+msgid "Language"
+msgstr "Sprache"
+
+#: packages/email/templates/confirm-team-email.tsx:124
+#: packages/email/templates/team-transfer-request.tsx:87
+msgid "Link expires in 1 hour."
+msgstr "Link läuft in 1 Stunde ab."
+
+#: packages/ui/primitives/lazy-pdf-viewer.tsx:15
+#: packages/ui/primitives/pdf-viewer.tsx:44
+msgid "Loading document..."
+msgstr "Lade Dokument..."
+
#: packages/lib/constants/teams.ts:11
msgid "Manager"
msgstr ""
@@ -429,8 +1057,8 @@ msgstr ""
msgid "Member"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:95
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:215
+#: packages/ui/primitives/document-flow/add-subject.tsx:160
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
msgid "Message <0>(Optional)0>"
msgstr ""
@@ -438,11 +1066,12 @@ msgstr ""
msgid "Min"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:896
+#: 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/template-flow/add-template-fields.tsx:658
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
msgid "Name"
@@ -460,13 +1089,17 @@ msgstr ""
msgid "Needs to view"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:680
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:497
+#: packages/ui/primitives/document-flow/add-fields.tsx:686
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
msgid "No recipient matching this description was found."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:696
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:513
+#: packages/ui/primitives/document-flow/add-subject.tsx:215
+msgid "No recipients"
+msgstr "Keine Empfänger"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:701
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
msgid "No recipients with this role"
msgstr ""
@@ -490,8 +1123,13 @@ msgstr ""
msgid "No value found."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:974
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:736
+#: packages/lib/constants/document.ts:32
+msgid "None"
+msgstr "Keine"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:979
+#: packages/ui/primitives/document-flow/types.ts:56
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
msgid "Number"
msgstr ""
@@ -511,6 +1149,10 @@ msgstr ""
msgid "Page {0} of {1}"
msgstr ""
+#: packages/ui/primitives/pdf-viewer.tsx:259
+msgid "Page {0} of {numPages}"
+msgstr "Seite {0} von {numPages}"
+
#: packages/ui/primitives/document-password-dialog.tsx:62
msgid "Password Required"
msgstr ""
@@ -519,6 +1161,26 @@ msgstr ""
msgid "Pending"
msgstr ""
+#: packages/email/templates/forgot-password.tsx:19
+msgid "Password Reset Requested"
+msgstr "Passwortzurücksetzung angefordert"
+
+#: packages/email/templates/reset-password.tsx:20
+msgid "Password Reset Successful"
+msgstr "Passwort erfolgreich zurückgesetzt"
+
+#: packages/email/template-components/template-reset-password.tsx:22
+msgid "Password updated!"
+msgstr "Passwort aktualisiert!"
+
+#: packages/lib/constants/document.ts:16
+msgid "Pending"
+msgstr "Ausstehend"
+
+#: packages/email/templates/document-pending.tsx:19
+msgid "Pending Document"
+msgstr "Ausstehendes Dokument"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156
msgid "Pick a number"
msgstr ""
@@ -529,8 +1191,40 @@ msgstr ""
msgid "Placeholder"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1000
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:762
+#: packages/email/template-components/template-document-invite.tsx:56
+msgid "Please {0} your document<0/>\"{documentName}\""
+msgstr "Bitte {0} dein Dokument<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:50
+msgid "Please {action} your document {documentName}"
+msgstr "Bitte {action} dein Dokument {documentName}"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
+msgid "Please {recipientActionVerb} this document"
+msgstr "Bitte {recipientActionVerb} dieses Dokument"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
+msgid "Please {recipientActionVerb} this document created by your direct template"
+msgstr "Bitte {recipientActionVerb} dieses Dokument, das von deiner direkten Vorlage erstellt wurde"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
+msgid "Please {recipientActionVerb} your document"
+msgstr "Bitte {recipientActionVerb} dein Dokument"
+
+#: packages/lib/server-only/auth/send-confirmation-email.ts:67
+msgid "Please confirm your email"
+msgstr "Bitte bestätige deine E-Mail"
+
+#: packages/email/templates/confirm-email.tsx:17
+msgid "Please confirm your email address"
+msgstr "Bitte bestätige deine E-Mail-Adresse"
+
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
+msgid "Please try again or contact our support."
+msgstr "Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support."
+
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
msgid "Radio"
msgstr ""
@@ -546,26 +1240,71 @@ msgstr ""
msgid "Read only"
msgstr ""
+#: packages/email/template-components/template-document-rejected.tsx:32
+msgid "Reason for rejection: {rejectionReason}"
+msgstr ""
+
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:338
+#: packages/lib/utils/document-audit-logs.ts:353
+msgid "Recipient"
+msgstr "Empfänger"
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
-#: packages/ui/primitives/document-flow/add-settings.tsx:215
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:169
+#: packages/ui/primitives/document-flow/add-settings.tsx:257
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
msgid "Recipient action authentication"
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:89
+msgid "Recipient removed email"
+msgstr "E-Mail des entfernten Empfängers"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:50
+msgid "Recipient signing request email"
+msgstr "E-Mail zur Unterzeichnungsanfrage des Empfängers"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:329
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:332
+#: packages/ui/primitives/document-flow/add-settings.tsx:371
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
msgid "Redirect URL"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1104
+#: packages/email/template-components/template-document-invite.tsx:96
+msgid "Reject Document"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
+msgid "Rejection Confirmed"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
+msgid "Rejection reason: {reason}"
+msgstr ""
+
+#: packages/lib/server-only/document/resend-document.tsx:192
+msgid "Reminder: {0}"
+msgstr "Erinnerung: {0}"
+
+#: packages/lib/server-only/document/resend-document.tsx:132
+msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
+msgstr "Erinnerung: {0} hat dich eingeladen, ein Dokument {recipientActionVerb}"
+
+#: packages/lib/server-only/document/resend-document.tsx:121
+msgid "Reminder: Please {recipientActionVerb} this document"
+msgstr "Erinnerung: Bitte {recipientActionVerb} dieses Dokument"
+
+#: packages/lib/server-only/document/resend-document.tsx:127
+msgid "Reminder: Please {recipientActionVerb} your document"
+msgstr "Erinnerung: Bitte {recipientActionVerb} dein Dokument"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1110
msgid "Remove"
msgstr ""
@@ -577,6 +1316,18 @@ msgstr ""
msgid "Required field"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:84
+msgid "Resend"
+msgstr "Erneut senden"
+
+#: packages/email/template-components/template-forgot-password.tsx:33
+msgid "Reset Password"
+msgstr "Passwort zurücksetzen"
+
+#: packages/ui/components/document/document-share-button.tsx:147
+msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!"
+msgstr "Seien Sie versichert, Ihr Dokument ist streng vertraulich und wird niemals geteilt. Nur Ihre Unterzeichnungserfahrung wird hervorgehoben. Teilen Sie Ihre personalisierte Unterschriftkarte, um Ihre Unterschrift zu präsentieren!"
+
#: packages/ui/primitives/data-table-pagination.tsx:55
msgid "Rows per page"
msgstr ""
@@ -585,7 +1336,7 @@ msgstr ""
msgid "Save"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:848
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
msgid "Save Template"
msgstr ""
@@ -609,7 +1360,8 @@ msgstr ""
msgid "Select default option"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:82
+#: packages/ui/primitives/document-flow/add-subject.tsx:85
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
msgid "Send"
@@ -619,6 +1371,30 @@ msgstr ""
msgid "Send Document"
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:158
+msgid "Send document completed email"
+msgstr "E-Mail über den Abschluss des Dokuments senden"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:197
+msgid "Send document deleted email"
+msgstr "E-Mail über das Löschen des Dokuments senden"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:118
+msgid "Send document pending email"
+msgstr "E-Mail über ausstehende Dokumente senden"
+
+#: packages/email/templates/confirm-team-email.tsx:101
+msgid "Send documents on behalf of the team using the email address"
+msgstr "Dokumente im Namen des Teams über die E-Mail-Adresse senden"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:79
+msgid "Send recipient removed email"
+msgstr "E-Mail über entfernten Empfänger senden"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:40
+msgid "Send recipient signing request email"
+msgstr "E-Mail über Unterzeichnungsanfrage des Empfängers senden"
+
#: packages/ui/components/document/document-share-button.tsx:135
msgid "Share Signature Card"
msgstr ""
@@ -627,13 +1403,23 @@ msgstr ""
msgid "Share the Link"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:680
+#: packages/ui/components/document/document-share-button.tsx:143
+msgid "Share your signing experience!"
+msgstr "Teilen Sie Ihre Unterzeichnungserfahrung!"
+
+#: 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 ""
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:20
#: packages/ui/components/document/next-inbox-item-button.tsx:107
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:20
+=======
+#: packages/lib/constants/recipient-roles.ts:22
+>>>>>>> main
msgid "Sign"
msgstr ""
@@ -641,25 +1427,51 @@ msgstr ""
msgid "Sign Next Document"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:818
+#: packages/email/template-components/template-document-invite.tsx:104
+msgid "Sign Document"
+msgstr "Dokument signieren"
+
+#: packages/email/template-components/template-reset-password.tsx:34
+msgid "Sign In"
+msgstr "Anmelden"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:823
#: packages/ui/primitives/document-flow/add-signature.tsx:323
#: packages/ui/primitives/document-flow/field-icon.tsx:52
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:580
+#: packages/ui/primitives/document-flow/types.ts:49
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
msgid "Signature"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:21
+#: packages/lib/constants/recipient-roles.ts:23
msgid "Signed"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:23
+#: packages/lib/constants/recipient-roles.ts:25
msgid "Signer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:22
+#: packages/lib/constants/recipient-roles.ts:26
+msgid "Signers"
+msgstr "Unterzeichner"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:36
+msgid "Signers must have unique emails"
+msgstr "Unterzeichner müssen eindeutige E-Mails haben"
+
+#: packages/lib/constants/recipient-roles.ts:24
msgid "Signing"
msgstr ""
+#: packages/lib/server-only/document/send-completed-email.ts:114
+#: packages/lib/server-only/document/send-completed-email.ts:194
+msgid "Signing Complete!"
+msgstr "Unterzeichnung abgeschlossen!"
+
+#: packages/lib/constants/recipient-roles.ts:66
+#~ msgid "SIGNING_REQUEST"
+#~ msgstr "SIGNING_REQUEST"
+
#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34
msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding."
msgstr ""
@@ -668,6 +1480,11 @@ msgstr ""
msgid "Something went wrong"
msgstr ""
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
+msgid "Something went wrong while loading the document."
+msgstr "Beim Laden des Dokuments ist ein Fehler aufgetreten."
+
#: packages/ui/primitives/data-table.tsx:136
msgid "Something went wrong."
msgstr ""
@@ -676,8 +1493,8 @@ msgstr ""
msgid "Step <0>{step} of {maxStep}0>"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:78
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:195
+#: packages/ui/primitives/document-flow/add-subject.tsx:143
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
msgid "Subject <0>(Optional)0>"
msgstr ""
@@ -685,15 +1502,36 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:134
+#: packages/lib/server-only/team/delete-team.ts:124
+msgid "Team \"{0}\" has been deleted on Documenso"
+msgstr "Team \"{0}\" wurde auf Documenso gelöscht"
+
+#: packages/lib/server-only/team/delete-team-email.ts:104
+msgid "Team email has been revoked for {0}"
+msgstr "Team-E-Mail wurde für {0} widerrufen"
+
+#: packages/email/templates/team-email-removed.tsx:59
+msgid "Team email removed"
+msgstr "Team-E-Mail entfernt"
+
+#: packages/email/templates/team-email-removed.tsx:29
+msgid "Team email removed for {teamName} on Documenso"
+msgstr "Team-E-Mail für {teamName} auf Documenso entfernt"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
msgid "Template title"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:948
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:710
+#: packages/ui/primitives/document-flow/add-fields.tsx:953
+#: packages/ui/primitives/document-flow/types.ts:52
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
msgid "Text"
msgstr ""
+#: packages/email/template-components/template-forgot-password.tsx:25
+msgid "That's okay, it happens! Click the button below to reset your password."
+msgstr "Das ist in Ordnung, das passiert! Klicke auf den Button unten, um dein Passwort zurückzusetzen."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:44
msgid "The authentication required for recipients to sign fields"
msgstr ""
@@ -706,14 +1544,30 @@ msgstr ""
msgid "The authentication required for recipients to view the document."
msgstr ""
+#: 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 ""
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
msgstr ""
+#: packages/email/templates/team-delete.tsx:37
+msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
+msgstr "Das folgende Team wurde von seinem Besitzer gelöscht. Du kannst nicht mehr auf dieses Team und seine Dokumente zugreifen"
+
+#: packages/email/templates/team-delete.tsx:36
+msgid "The following team has been deleted by you"
+msgstr "Das folgende Team wurde von dir gelöscht"
+
#: packages/ui/primitives/document-password-dialog.tsx:52
msgid "The password you have entered is incorrect. Please try again."
msgstr ""
+#: packages/email/template-components/template-document-super-delete.tsx:38
+msgid "The reason provided for deletion is the following:"
+msgstr "Der angegebene Grund für die Löschung ist folgender:"
+
#: packages/ui/components/recipient/recipient-role-select.tsx:103
msgid "The recipient is not required to take any action and receives a copy of the document after it is completed."
msgstr ""
@@ -746,11 +1600,23 @@ msgstr ""
msgid "The signer's name"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:243
+msgid "The signing link has been copied to your clipboard."
+msgstr "Der Signierlink wurde in die Zwischenablage kopiert."
+
+#: packages/email/templates/team-email-removed.tsx:63
+msgid "The team email <0>{teamEmail}0> has been removed from the following team"
+msgstr "Die Team-E-Mail <0>{teamEmail}0> wurde aus dem folgenden Team entfernt"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:72
msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:752
+#: packages/email/template-components/template-document-super-delete.tsx:31
+msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
+msgstr "Dieses Dokument kann nicht wiederhergestellt werden. Wenn du den Grund für zukünftige Dokumente anfechten möchtest, kontaktiere bitte den Support."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:757
msgid "This document has already been sent to this recipient. You can no longer edit this recipient."
msgstr ""
@@ -758,11 +1624,35 @@ msgstr ""
msgid "This document is password protected. Please enter the password to view the document."
msgstr ""
+#: packages/email/template-components/template-footer.tsx:17
+msgid "This document was sent using <0>Documenso.0>"
+msgstr "Dieses Dokument wurde mit <0>Documenso.0> gesendet"
+
+#: 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 ""
+
+#: 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 "Diese E-Mail wird an den Empfänger gesendet, wenn er von einem ausstehenden Dokument entfernt wird."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:55
+msgid "This email is sent to the recipient requesting them to sign the document."
+msgstr "Diese E-Mail wird an den Empfänger gesendet und fordert ihn auf, das Dokument zu unterschreiben."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:133
+msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
+msgstr "Diese E-Mail wird an den Empfänger gesendet, der das Dokument gerade unterschrieben hat, wenn es noch andere Empfänger gibt, die noch nicht unterschrieben haben."
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1084
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
+msgid "This is how the document will reach the recipients once the document is ready for signing."
+msgstr "So wird das Dokument die Empfänger erreichen, sobald es zum Unterschreiben bereit ist."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1090
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
msgstr ""
@@ -770,25 +1660,33 @@ msgstr ""
msgid "This signer has already signed the document."
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:212
+msgid "This will be sent to all recipients if a pending document has been deleted."
+msgstr "Dies wird an alle Empfänger gesendet, wenn ein ausstehendes Dokument gelöscht wurde."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:173
+msgid "This will be sent to all recipients once the document has been fully completed."
+msgstr "Dies wird an alle Empfänger gesendet, sobald das Dokument vollständig abgeschlossen ist."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
msgid "This will override any global settings."
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:305
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:309
+#: packages/ui/primitives/document-flow/add-settings.tsx:347
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
msgid "Time Zone"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:153
+#: packages/ui/primitives/document-flow/add-settings.tsx:155
msgid "Title"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1067
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:828
+#: packages/ui/primitives/document-flow/add-fields.tsx:1073
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
msgid "To proceed further, please set at least one value for the {0} field."
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:86
msgid "Update"
msgstr ""
@@ -814,35 +1712,168 @@ msgstr ""
msgid "Value"
msgstr ""
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:26
#: packages/ui/components/document/next-inbox-item-button.tsx:119
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:26
+=======
+#: packages/email/templates/confirm-team-email.tsx:71
+msgid "Verify your team email address"
+msgstr "Überprüfen Sie Ihre Team-E-Mail-Adresse"
+
+#: packages/lib/constants/recipient-roles.ts:29
+>>>>>>> main
msgid "View"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:27
+#: packages/email/templates/confirm-team-email.tsx:95
+msgid "View all documents sent to and from this email address"
+msgstr "Sehen Sie sich alle Dokumente an, die an diese E-Mail-Adresse gesendet wurden und von dieser E-Mail-Adresse gesendet wurden"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:75
+msgid "View document"
+msgstr "Dokument anzeigen"
+
+#: 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"
+msgstr "Dokument ansehen"
+
+#: packages/email/template-components/template-document-self-signed.tsx:79
+msgid "View plans"
+msgstr "Pläne anzeigen"
+
+#: packages/lib/constants/recipient-roles.ts:67
+#~ msgid "VIEW_REQUEST"
+#~ msgstr "VIEW_REQUEST"
+
+#: packages/lib/constants/recipient-roles.ts:30
msgid "Viewed"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:29
+#: packages/lib/constants/recipient-roles.ts:32
msgid "Viewer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:28
+#: packages/lib/constants/recipient-roles.ts:33
+msgid "Viewers"
+msgstr "Betrachter"
+
+#: packages/lib/constants/recipient-roles.ts:31
msgid "Viewing"
msgstr ""
+#: packages/email/template-components/template-document-pending.tsx:31
+msgid "Waiting for others"
+msgstr "Warten auf andere"
+
+#: packages/lib/server-only/document/send-pending-email.ts:96
+msgid "Waiting for others to complete signing."
+msgstr "Warten auf andere, um die Unterzeichnung abzuschließen."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:205
+msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
+msgstr "Wir generieren Signierlinks mit Ihnen, die Sie den Empfängern über Ihre bevorzugte Methode senden können."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:201
+msgid "We won't send anything to notify recipients."
+msgstr "Wir werden nichts senden, um die Empfänger zu benachrichtigen."
+
+#: packages/email/template-components/template-document-pending.tsx:41
+msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
+msgstr "Wir warten noch darauf, dass andere Unterzeichner dieses Dokument unterzeichnen.<0/>Wir benachrichtigen dich, sobald es bereit ist."
+
+#: packages/email/templates/reset-password.tsx:65
+msgid "We've changed your password as you asked. You can now sign in with your new password."
+msgstr "Wir haben dein Passwort wie gewünscht geändert. Du kannst dich jetzt mit deinem neuen Passwort anmelden."
+
+#: packages/email/template-components/template-confirmation-email.tsx:21
+msgid "Welcome to Documenso!"
+msgstr "Willkommen bei Documenso!"
+
+#: packages/lib/utils/document-audit-logs.ts:258
+msgid "You"
+msgstr "Du"
+
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44
msgid "You are about to send this document to the recipients. Are you sure you want to continue?"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:38
+msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
+msgstr "Du kannst diesen Link auch kopieren und in deinen Browser einfügen: {confirmationLink} (Link läuft in 1 Stunde ab)"
+
+#: packages/email/templates/confirm-team-email.tsx:106
+msgid "You can revoke access at any time in your team settings on Documenso <0>here.0>"
+msgstr "Sie können den Zugriff jederzeit in Ihren Teameinstellungen auf Documenso <0>hier.0> widerrufen"
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
msgid "You can use the following variables in your message:"
msgstr ""
+#: packages/email/template-components/template-document-rejected.tsx:37
+msgid "You can view the document and its status by clicking the button below."
+msgstr ""
+
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
msgstr ""
+#: packages/email/template-components/template-document-cancel.tsx:35
+msgid "You don't need to sign it anymore."
+msgstr "Du musst es nicht mehr unterschreiben."
+
+#: packages/lib/server-only/team/create-team-member-invites.ts:186
+msgid "You have been invited to join {0} on Documenso"
+msgstr "Du wurdest eingeladen, {0} auf Documenso beizutreten"
+
+#: packages/email/templates/team-invite.tsx:76
+msgid "You have been invited to join the following team"
+msgstr "Du wurdest eingeladen, dem folgenden Team beizutreten"
+
+#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
+msgid "You have been removed from a document"
+msgstr "Du wurdest von einem Dokument entfernt"
+
+#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114
+msgid "You have been requested to take ownership of team {0} on Documenso"
+msgstr "Du wurdest gebeten, das Team {0} auf Documenso zu übernehmen"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
+#: packages/lib/server-only/document/resend-document.tsx:125
+msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
+msgstr "Du hast das Dokument {0} initiiert, das erfordert, dass du {recipientActionVerb}."
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "You have reached your document limit."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Sie haben Ihr Dokumentenlimit erreicht."
+=======
+msgstr "Sie haben Ihr Dokumentenlimit erreicht."
+
+#: packages/email/templates/document-rejection-confirmed.tsx:27
+msgid "You have rejected the document '{documentName}'"
+msgstr ""
+
+#: packages/email/template-components/template-document-self-signed.tsx:42
+msgid "You have signed “{documentName}”"
+msgstr "Du hast „{documentName}“ unterzeichnet"
+
+#: packages/email/template-components/template-document-super-delete.tsx:23
+msgid "Your document has been deleted by an admin!"
+msgstr "Dein Dokument wurde von einem Administrator gelöscht!"
+
+#: packages/email/template-components/template-reset-password.tsx:26
+msgid "Your password has been updated."
+msgstr "Dein Passwort wurde aktualisiert."
+
+#: packages/email/templates/team-delete.tsx:28
+#: packages/email/templates/team-delete.tsx:32
+msgid "Your team has been deleted"
+msgstr "Dein Team wurde gelöscht"
+>>>>>>> main
diff --git a/packages/lib/translations/de/marketing.po b/packages/lib/translations/de/marketing.po
index 7bc1a8450..2bf77de28 100644
--- a/packages/lib/translations/de/marketing.po
+++ b/packages/lib/translations/de/marketing.po
@@ -8,7 +8,13 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-18 04:04\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po
index 492085c5d..b6da3bd0d 100644
--- a/packages/lib/translations/de/web.po
+++ b/packages/lib/translations/de/web.po
@@ -8,11 +8,21 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-18 04:04\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
+msgid "\"{0}\" has invited you to sign \"example document\"."
+msgstr "\"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
+
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
msgstr ""
@@ -21,15 +31,33 @@ msgstr ""
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr ""
-#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
+msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
+msgstr "\"{email}\" im Namen von \"{teamName}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
+
+#: 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\n"
+#~ "document\"."
+#~ msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
+
+#: 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 ""
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
+msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
+msgstr "\"{teamUrl}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
+
+#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:79
msgid "({0}) has invited you to approve this document"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -59,7 +87,7 @@ msgstr ""
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
msgstr ""
@@ -72,20 +100,42 @@ msgid "{0} direct signing templates"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:66
+<<<<<<< HEAD
msgid "{0} document"
msgstr ""
+||||||| 7fc497a64
+msgid "{0} document"
+msgstr "{0} Dokument"
+=======
+#~ msgid "{0} document"
+#~ msgstr "{0} document"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:146
msgid "{0} of {1} documents remaining this month."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
msgid "{0} Recipient(s)"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "{0} Empfänger(in) / -n"
+=======
+msgstr "{0} Empfänger(in)"
+>>>>>>> main
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+<<<<<<< HEAD
msgid "{0} the document to complete the process."
msgstr ""
+||||||| 7fc497a64
+msgid "{0} the document to complete the process."
+msgstr "{0} das Dokument, um den Prozess abzuschließen."
+=======
+#~ msgid "{0} the document to complete the process."
+#~ msgstr "{0} the document to complete the process."
+>>>>>>> main
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
@@ -99,6 +149,14 @@ msgstr ""
msgid "{numberOfSeats, plural, one {# member} other {# members}}"
msgstr ""
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+msgid "{recipientActionVerb} document"
+msgstr "{recipientActionVerb} Dokument"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
+msgid "{recipientActionVerb} the document to complete the process."
+msgstr "{recipientActionVerb} das Dokument, um den Prozess abzuschließen."
+
#: apps/web/src/components/forms/public-profile-form.tsx:231
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}"
@@ -112,6 +170,18 @@ msgstr ""
msgid "<0>Sender:0> All"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
+msgid "1 month"
+msgstr "1 Monat"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8
+msgid "12 months"
+msgstr "12 Monate"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6
+msgid "3 months"
+msgstr "3 Monate"
+
#: apps/web/src/components/partials/not-found.tsx:45
msgid "404 Page not found"
msgstr ""
@@ -128,14 +198,30 @@ msgstr ""
msgid "404 Template not found"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7
+msgid "6 months"
+msgstr "6 Monate"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4
+msgid "7 days"
+msgstr "7 Tage"
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:55
msgid "A confirmation email has been sent, and it should arrive in your inbox shortly."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70
+msgid "A device capable of accessing, opening, and reading documents"
+msgstr "Ein Gerät, das in der Lage ist, Dokumente zuzugreifen, zu öffnen und zu lesen"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
msgid "A draft document will be created"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73
+msgid "A means to print or download documents for your records"
+msgstr "Ein Mittel, um Dokumente für Ihre Unterlagen zu drucken oder herunterzuladen"
+
#: apps/web/src/components/forms/token.tsx:127
msgid "A new token was created successfully."
msgstr ""
@@ -158,12 +244,16 @@ msgstr ""
msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64
+msgid "A stable internet connection"
+msgstr "Eine stabile Internetverbindung"
+
#: apps/web/src/components/forms/public-profile-form.tsx:198
msgid "A unique URL to access your profile"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:139
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
msgid "A unique URL to identify your team"
msgstr ""
@@ -175,24 +265,42 @@ msgstr ""
msgid "Accept"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33
+msgid "Acceptance and Consent"
+msgstr "Zustimmung und Einverständnis"
+
#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26
msgid "Accepted team invitation"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:128
+msgid "Account Authentication"
+msgstr "Kontowauthentifizierung"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:48
msgid "Account deleted"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:119
+msgid "Account Re-Authentication"
+msgstr "Kontowiederauthentifizierung"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139
+msgid "Acknowledgment"
+msgstr "Bestätigung"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
msgid "Action"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:85
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142
@@ -201,7 +309,7 @@ msgstr ""
msgid "Actions"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
msgid "Active"
@@ -215,12 +323,12 @@ msgstr ""
msgid "Add"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
msgid "Add all relevant fields for each recipient."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83
msgid "Add all relevant placeholders for each recipient."
msgstr ""
@@ -236,8 +344,8 @@ msgstr ""
msgid "Add email"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
msgid "Add Fields"
msgstr ""
@@ -250,38 +358,62 @@ msgstr ""
msgid "Add passkey"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82
msgid "Add Placeholders"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
msgid "Add Signers"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179
msgid "Add Subject"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179
+msgid "Add Subject"
+msgstr "Betreff hinzufügen"
+=======
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+#~ msgid "Add Subject"
+#~ msgstr "Add Subject"
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
msgid "Add team email"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
msgid "Add the people who will sign the document."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
msgid "Add the recipients to create the document with"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
msgid "Add the subject and message you wish to send to signers."
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+msgid "Add the subject and message you wish to send to signers."
+msgstr "Fügen Sie den Betreff und die Nachricht hinzu, die Sie den Unterzeichnern senden möchten."
+=======
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+#~ msgid "Add the subject and message you wish to send to signers."
+#~ msgstr "Add the subject and message you wish to send to signers."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
msgid "Adding and removing seats will adjust your invoice accordingly."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
+msgid "Additional brand information to display at the bottom of emails"
+msgstr "Zusätzliche Markeninformationen, die am Ende von E-Mails angezeigt werden sollen"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
msgid "Admin Actions"
msgstr ""
@@ -290,6 +422,10 @@ msgstr ""
msgid "Admin panel"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129
+msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time."
+msgstr "Nach der elektronischen Unterzeichnung eines Dokuments haben Sie die Möglichkeit, das Dokument für Ihre Unterlagen anzusehen, herunterzuladen und auszudrucken. Es wird dringend empfohlen, eine Kopie aller elektronisch unterschriebenen Dokumente für Ihre persönlichen Unterlagen aufzubewahren. Wir werden ebenfalls eine Kopie des unterzeichneten Dokuments für unsere Unterlagen behalten, jedoch können wir Ihnen nach einer bestimmten Zeit möglicherweise keine Kopie des unterzeichneten Dokuments mehr zur Verfügung stellen."
+
#: apps/web/src/components/formatter/document-status.tsx:46
msgid "All"
msgstr ""
@@ -302,6 +438,10 @@ msgstr ""
msgid "All documents have been processed. Any new documents that are sent or received will show here."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81
+msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails."
+msgstr "Alle Dokumente, die mit dem elektronischen Unterzeichnungsprozess zusammenhängen, werden Ihnen elektronisch über unsere Plattform oder per E-Mail zur Verfügung gestellt. Es liegt in Ihrer Verantwortung, sicherzustellen, dass Ihre E-Mail-Adresse aktuell ist und dass Sie unsere E-Mails empfangen und öffnen können."
+
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
msgid "All inserted signatures will be voided"
msgstr ""
@@ -310,6 +450,10 @@ msgstr ""
msgid "All recipients will be notified"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
+msgid "All signing links have been copied to your clipboard."
+msgstr "Alle Signierlinks wurden in die Zwischenablage kopiert."
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
msgid "All templates"
msgstr ""
@@ -330,6 +474,14 @@ msgstr ""
msgid "Amount"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48
+msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper."
+msgstr "Eine elektronische Unterschrift, die Sie auf unserer Plattform bereitstellen, durch Klicken auf ein Dokument und Eingabe Ihres Namens oder einer anderen von uns bereitgestellten elektronischen Unterzeichnungsart, ist rechtlich bindend. Sie hat das gleiche Gewicht und die gleiche Durchsetzbarkeit wie eine handschriftliche Unterschrift auf Papier."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67
+msgid "An email account"
+msgstr "Ein E-Mail-Konto"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262
msgid "An email containing an invitation will be sent to each member."
msgstr ""
@@ -353,17 +505,17 @@ msgstr ""
msgid "An error occurred"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
msgid "An error occurred while adding signers."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
msgid "An error occurred while adding the fields."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
msgid "An error occurred while creating document from template."
msgstr ""
@@ -376,9 +528,9 @@ msgid "An error occurred while disabling direct link signing."
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:64
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:89
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:92
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:105
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:107
msgid "An error occurred while downloading your document."
msgstr ""
@@ -402,6 +554,10 @@ msgstr ""
msgid "An error occurred while moving the template."
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116
+msgid "An error occurred while removing the field."
+msgstr "Ein Fehler ist beim Entfernen des Feldes aufgetreten."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137
@@ -417,7 +573,7 @@ msgstr ""
msgid "An error occurred while removing the text."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
msgid "An error occurred while sending the document."
msgstr ""
@@ -429,6 +585,7 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150
#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102
@@ -441,11 +598,15 @@ msgstr ""
msgid "An error occurred while trying to create a checkout session."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
msgid "An error occurred while updating the document settings."
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:78
+#~ msgid "An error occurred while updating the global team settings."
+#~ msgstr "An error occurred while updating the global team settings."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
msgid "An error occurred while updating the signature."
msgstr ""
@@ -476,7 +637,7 @@ msgstr ""
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:94
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
#: apps/web/src/components/forms/avatar-image.tsx:94
#: apps/web/src/components/forms/avatar-image.tsx:122
#: apps/web/src/components/forms/password.tsx:84
@@ -505,13 +666,21 @@ msgstr ""
msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225
+msgid "Any Source"
+msgstr "Jede Quelle"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205
+msgid "Any Status"
+msgstr "Jeder Status"
+
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
msgid "API Tokens"
msgstr ""
@@ -521,12 +690,16 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
msgid "Approve"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129
+msgid "Approve Document"
+msgstr "Dokument genehmigen"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
msgid "Approved"
msgstr ""
@@ -534,6 +707,10 @@ msgstr ""
msgid "Are you sure you want to delete this token?"
msgstr ""
+#: 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 ""
+
#: 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 ""
@@ -556,10 +733,14 @@ msgstr ""
msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:127
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:130
msgid "Audit Log"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:198
+msgid "Authentication Level"
+msgstr "Authentifizierungsstufe"
+
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:41
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:52
msgid "Authentication required"
@@ -573,7 +754,7 @@ msgstr ""
msgid "Avatar Updated"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
msgid "Awaiting email confirmation"
msgstr ""
@@ -583,7 +764,7 @@ msgstr ""
msgid "Back"
msgstr ""
-#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164
msgid "Back to Documents"
msgstr ""
@@ -612,15 +793,28 @@ msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
msgid "Billing"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
+msgid "Branding Preferences"
+msgstr "Markenpräferenzen"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
+msgid "Branding preferences updated"
+msgstr "Markenpräferenzen aktualisiert"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
msgid "Browser"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
+msgid "Bulk Copy"
+msgstr "Massenkopie"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
msgid "Bulk Import"
msgstr ""
@@ -633,9 +827,22 @@ msgstr ""
msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142
+msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein."
+msgstr "Indem Sie den elektronischen Unterzeichnungsdienst von Documenso verwenden, bestätigen Sie, dass Sie diese Offenlegung gelesen und verstanden haben. Sie stimmen allen Bedingungen und Konditionen zu, die mit der Verwendung elektronischer Unterschriften und elektronischer Transaktionen verbunden sind, wie hierin dargelegt."
+
+#: apps/web/src/components/general/signing-disclosure.tsx:14
+msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions."
+msgstr "Indem Sie fortfahren, Ihre elektronische Unterschrift zu leisten, erkennen Sie an und stimmen zu, dass sie verwendet wird, um das gegebene Dokument zu unterzeichnen, und die gleiche rechtliche Gültigkeit wie eine handschriftliche Unterschrift hat. Durch den Abschluss des elektronischen Unterzeichnungsprozesses bestätigen Sie Ihr Verständnis und Ihre Akzeptanz dieser Bedingungen."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92
+msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing."
+msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Sie zu, Transaktionen durchzuführen und Offenlegungen elektronisch zu erhalten. Sie erkennen an, dass Ihre elektronische Unterschrift auf Dokumenten bindend ist und dass Sie die Bedingungen akzeptieren, die in den Dokumenten dargelegt sind, die Sie unterzeichnen."
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198
@@ -649,8 +856,10 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
+#: 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
@@ -683,6 +892,10 @@ msgstr ""
msgid "Charts"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
+#~ msgid "Check out the documentaton for the <0>global team settings0>."
+#~ msgstr "Check out the documentaton for the <0>global team settings0>."
+
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
msgid "Checkout"
msgstr ""
@@ -695,6 +908,10 @@ msgstr ""
msgid "Choose Direct Link Recipient"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
+msgid "Choose how the document will reach recipients"
+msgstr "Wählen Sie, wie das Dokument die Empfänger erreichen soll"
+
#: apps/web/src/components/forms/token.tsx:200
msgid "Choose..."
msgstr ""
@@ -721,6 +938,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68
#: apps/web/src/components/document/document-history-sheet.tsx:133
msgid "Click here to retry"
msgstr ""
@@ -736,16 +954,17 @@ msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:115
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
msgid "Click to insert field"
msgstr ""
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:140
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:180
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:102
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:319
@@ -754,8 +973,8 @@ msgid "Close"
msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
#: apps/web/src/components/forms/v2/signup.tsx:534
msgid "Complete"
msgstr ""
@@ -772,7 +991,8 @@ msgstr ""
msgid "Complete Viewing"
msgstr ""
-#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
+#: 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:77
#: apps/web/src/components/formatter/document-status.tsx:28
msgid "Completed"
msgstr ""
@@ -785,11 +1005,11 @@ msgstr ""
msgid "Completed Documents"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
msgid "Configure general settings for the document."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78
msgid "Configure general settings for the template."
msgstr ""
@@ -827,6 +1047,14 @@ msgstr ""
msgid "Confirmation email sent"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89
+msgid "Consent to Electronic Transactions"
+msgstr "Zustimmung zu elektronischen Transaktionen"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151
+msgid "Contact Information"
+msgstr "Kontaktinformationen"
+
#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189
msgid "Content"
msgstr ""
@@ -845,14 +1073,37 @@ msgstr ""
msgid "Continue to login"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
+msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
+msgstr "Steuert die Standardsprache eines hochgeladenen Dokuments. Diese wird als Sprache in der E-Mail-Kommunikation mit den Empfängern verwendet."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
+msgid "Controls the default visibility of an uploaded document."
+msgstr "Steuert die Standard-sichtbarkeit eines hochgeladenen Dokuments."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
+msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
+msgstr "Steuert das Format der Nachricht, die gesendet wird, wenn ein Empfänger eingeladen wird, ein Dokument zu unterschreiben. Wenn eine benutzerdefinierte Nachricht beim Konfigurieren des Dokuments bereitgestellt wurde, wird diese stattdessen verwendet."
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
+msgid "Copied"
+msgstr "Kopiert"
+
+#: 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
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:40
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:61
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:117
#: apps/web/src/components/forms/public-profile-form.tsx:117
msgid "Copied to clipboard"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
+msgid "Copy"
+msgstr "Kopieren"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
msgid "Copy sharable link"
msgstr ""
@@ -861,6 +1112,10 @@ msgstr ""
msgid "Copy Shareable Link"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
+msgid "Copy Signing Links"
+msgstr "Signierlinks kopieren"
+
#: apps/web/src/components/forms/token.tsx:288
msgid "Copy token"
msgstr ""
@@ -883,15 +1138,19 @@ msgstr ""
msgid "Create account"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
msgid "Create and send"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
msgid "Create as draft"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
+msgid "Create as pending"
+msgstr "Als ausstehend erstellen"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
msgid "Create Direct Link"
msgstr ""
@@ -899,7 +1158,7 @@ msgstr ""
msgid "Create Direct Signing Link"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
msgid "Create document from template"
msgstr ""
@@ -911,6 +1170,10 @@ msgstr ""
msgid "Create one automatically"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
+msgid "Create signing links"
+msgstr "Unterzeichnung Links erstellen"
+
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
@@ -922,6 +1185,10 @@ msgstr ""
msgid "Create Team"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
+msgid "Create the document as pending and ready to sign."
+msgstr "Erstellen Sie das Dokument als ausstehend und bereit zur Unterschrift."
+
#: apps/web/src/components/forms/token.tsx:250
#: apps/web/src/components/forms/token.tsx:259
msgid "Create token"
@@ -947,12 +1214,15 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:274
msgid "Created"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:35
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:111
msgid "Created At"
msgstr ""
@@ -967,14 +1237,23 @@ msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93
msgid "Created on {0}"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
msgid "Created on{0}"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
+msgid "Created on{0}"
+msgstr ">>>>>>> 4ca18b99 (fix: refactor dates)"
+
+=======
+>>>>>>> main
#: apps/web/src/components/forms/password.tsx:107
msgid "Current Password"
msgstr ""
@@ -1008,16 +1287,29 @@ msgstr ""
msgid "Declined team invitation"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
+msgid "Default Document Language"
+msgstr "Standardsprache des Dokuments"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
+msgid "Default Document Visibility"
+msgstr "Standard Sichtbarkeit des Dokuments"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
+msgid "delete"
+msgstr "löschen"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109
@@ -1026,6 +1318,15 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54
+msgid "delete {0}"
+msgstr "löschen {0}"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50
+msgid "delete {teamName}"
+msgstr "löschen {teamName}"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137
msgid "Delete account"
msgstr ""
@@ -1052,7 +1353,7 @@ msgstr ""
msgid "Delete passkey"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
msgid "Delete team"
msgstr ""
@@ -1078,6 +1379,7 @@ msgid "Delete your account and all its contents, including completed documents.
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
msgid "Deleted"
msgstr ""
@@ -1085,7 +1387,12 @@ msgstr ""
msgid "Deleting account..."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178
+msgid "Details"
+msgstr "Einzelheiten"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr ""
@@ -1094,10 +1401,16 @@ msgstr ""
msgid "direct link"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79
msgid "Direct link"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231
+msgid "Direct Link"
+msgstr "Direkter Link"
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46
msgid "direct link disabled"
msgstr ""
@@ -1153,6 +1466,10 @@ msgstr ""
msgid "Display your name and email in documents"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+msgid "Distribute Document"
+msgstr "Dokument verteilen"
+
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
msgid "Do you want to delete this template?"
msgstr ""
@@ -1166,6 +1483,7 @@ msgid "Documenso will delete <0>all of your documents0>, along with all of you
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38
msgid "Document"
msgstr ""
@@ -1189,12 +1507,20 @@ msgstr ""
msgid "Document Completed!"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
msgid "Document created"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129
+msgid "Document created by <0>{0}0>"
+msgstr "Dokument erstellt von <0>{0}0>"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134
+msgid "Document created using a <0>direct link0>"
+msgstr "Dokument erstellt mit einem <0>direkten Link0>"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr ""
@@ -1207,12 +1533,13 @@ msgstr ""
msgid "Document Duplicated"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:184
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
#: apps/web/src/components/document/document-history-sheet.tsx:104
msgid "Document history"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:71
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:81
msgid "Document ID"
msgstr ""
@@ -1220,7 +1547,7 @@ msgstr ""
msgid "Document inbox"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
msgid "Document Limit Exceeded!"
msgstr ""
@@ -1240,19 +1567,37 @@ msgstr ""
msgid "Document pending"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
+msgid "Document preferences updated"
+msgstr "Dokumentpräferenzen aktualisiert"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
msgid "Document re-sent"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
+msgid "Document Rejected"
+msgstr ""
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
msgid "Document sent"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+=======
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
+#~ msgid "Document Settings"
+#~ msgstr "Document Settings"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+>>>>>>> main
msgid "Document Signed"
msgstr ""
@@ -1286,7 +1631,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/nav.tsx:65
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:139
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:144
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:109
#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16
#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:15
@@ -1300,6 +1645,10 @@ msgstr ""
msgid "Documents"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
+msgid "Documents created from template"
+msgstr "Dokumente erstellt aus Vorlage"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113
msgid "Documents Received"
msgstr ""
@@ -1314,9 +1663,9 @@ msgid "Don't have an account? <0>Sign up0>"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:120
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107
@@ -1327,10 +1676,11 @@ msgstr ""
msgid "Download Audit Logs"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
msgid "Download Certificate"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214
#: apps/web/src/components/formatter/document-status.tsx:34
msgid "Draft"
msgstr ""
@@ -1347,41 +1697,55 @@ msgstr ""
msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:133
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91
msgid "Duplicate"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:104
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:112
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:115
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:102
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100
msgid "Edit"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
+msgid "Edit Template"
+msgstr "Vorlage bearbeiten"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100
msgid "Edit webhook"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78
+msgid "Electronic Delivery of Documents"
+msgstr "Elektronische Zustellung von Dokumenten"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17
+msgid "Electronic Signature Disclosure"
+msgstr "Offenlegung der elektronischen Unterschrift"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153
#: apps/web/src/components/forms/forgot-password.tsx:81
@@ -1401,6 +1765,10 @@ msgstr ""
msgid "Email Address"
msgstr ""
+#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80
+msgid "Email cannot already exist in the template"
+msgstr "E-Mail darf nicht bereits in der Vorlage vorhanden sein"
+
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36
msgid "Email Confirmed!"
msgstr ""
@@ -1426,6 +1794,10 @@ msgstr ""
msgid "Enable Authenticator App"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
+msgid "Enable custom branding for all documents in this team."
+msgstr "Aktivieren Sie individuelles Branding für alle Dokumente in diesem Team."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
msgid "Enable direct link signing"
msgstr ""
@@ -1443,10 +1815,18 @@ msgstr ""
msgid "Enabled"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:87
+msgid "Enclosed Document"
+msgstr "Beigefügte Dokument"
+
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:38
msgid "Ends On"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
+msgid "Enter your brand details"
+msgstr "Geben Sie Ihre Markendaten ein"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
msgid "Enter your email"
msgstr ""
@@ -1465,19 +1845,19 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
@@ -1487,6 +1867,8 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149
@@ -1502,7 +1884,21 @@ msgstr ""
msgid "Error"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:143
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+=======
+#: apps/web/src/components/forms/team-document-settings.tsx:77
+#~ msgid "Error updating global team settings"
+#~ msgstr "Error updating global team settings"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
+msgid "Everyone can access and view the document"
+msgstr "Jeder kann auf das Dokument zugreifen und es anzeigen"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+>>>>>>> main
msgid "Everyone has signed"
msgstr ""
@@ -1514,17 +1910,28 @@ msgstr ""
msgid "Exceeded timeout"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
msgid "Expired"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104
msgid "Expires on {0}"
+<<<<<<< HEAD
msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107
msgid "Expires on{0}"
msgstr ""
+||||||| 7fc497a64
+msgstr ">>>>>>> 4ca18b99 (fix: refactor dates)"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107
+msgid "Expires on{0}"
+msgstr "Läuft ab am{0}"
+=======
+msgstr "Läuft ab am {0}"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42
msgid "Failed to reseal document"
@@ -1547,28 +1954,42 @@ msgstr ""
msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154
+msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}0>"
+msgstr "Für Fragen zu dieser Offenlegung, elektronischen Unterschriften oder einem verwandten Verfahren kontaktieren Sie uns bitte unter: <0>{SUPPORT_EMAIL}0>"
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21
#: apps/web/src/components/forms/signin.tsx:370
msgid "Forgot your password?"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
#: apps/web/src/components/forms/profile.tsx:110
#: apps/web/src/components/forms/v2/signup.tsx:312
msgid "Full Name"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
msgid "General"
msgstr ""
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#~ msgid "Global Settings"
+#~ msgstr "Global Settings"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:69
+#~ msgid "Global Team Settings Updated"
+#~ msgstr "Global Team Settings Updated"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
@@ -1605,6 +2026,14 @@ msgstr ""
msgid "Here you can manage your password and security settings."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
+msgid "Here you can set preferences and defaults for branding."
+msgstr "Hier können Sie Präferenzen und Voreinstellungen für das Branding festlegen."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
+msgid "Here you can set preferences and defaults for your team."
+msgstr "Hier können Sie Präferenzen und Voreinstellungen für Ihr Team festlegen."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
msgid "Here's how it works:"
msgstr ""
@@ -1613,7 +2042,7 @@ msgstr ""
msgid "Hey I’m Timur"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
msgid "Hide"
@@ -1623,6 +2052,10 @@ msgstr ""
msgid "Hide additional information"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:43
+msgid "I am the owner of this document"
+msgstr "Ich bin der Besitzer dieses Dokuments"
+
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173
msgid "I'm sure! Delete it"
@@ -1652,10 +2085,19 @@ msgstr ""
msgid "Inbox documents"
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:132
+#~ msgid "Include Sender Details"
+#~ msgstr "Include Sender Details"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
msgid "Information"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132
+msgid "Initials"
+msgstr "Inititalen"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78
msgid "Inserted"
msgstr ""
@@ -1722,6 +2164,15 @@ msgstr ""
msgid "Invoice"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
+msgid "IP Address"
+msgstr "IP-Adresse"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118
+msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications."
+msgstr "Es ist entscheidend, dass Sie Ihre Kontaktinformationen, insbesondere Ihre E-Mail-Adresse, aktuell halten. Bitte informieren Sie uns sofort über Änderungen, damit Sie weiterhin alle notwendigen Mitteilungen erhalten."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:134
msgid "It looks like {0} hasn't added any documents to their profile yet."
msgstr ""
@@ -1759,6 +2210,7 @@ msgid "Last 7 days"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38
msgid "Last modified"
msgstr ""
@@ -1766,6 +2218,10 @@ msgstr ""
msgid "Last updated"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:121
+msgid "Last Updated"
+msgstr "Zuletzt aktualisiert"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:52
msgid "Last updated at"
msgstr ""
@@ -1783,6 +2239,10 @@ msgstr ""
msgid "Leave team"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45
+msgid "Legality of Electronic Signatures"
+msgstr "Rechtlichkeit elektronischer Unterschriften"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:264
msgid "Light Mode"
msgstr ""
@@ -1795,6 +2255,10 @@ msgstr ""
msgid "Link template"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
+msgid "Links Generated"
+msgstr "Links generiert"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
msgid "Listening to {0}"
@@ -1841,11 +2305,15 @@ msgstr ""
msgid "Manage all teams you are currently associated with."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
+msgid "Manage and view template"
+msgstr "Vorlage verwalten und anzeigen"
+
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
msgid "Manage details for this public template"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
msgid "Manage Direct Link"
msgstr ""
@@ -1915,12 +2383,13 @@ msgid "Member Since"
msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
msgid "Members"
msgstr ""
-#: 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:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
msgid "Modify recipients"
msgstr ""
@@ -1936,6 +2405,7 @@ msgstr ""
msgid "Monthly Active Users: Users that had at least one of their documents completed"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Move"
msgstr ""
@@ -1948,11 +2418,12 @@ msgstr ""
msgid "Move Template to Team"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
msgid "Move to Team"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Moving..."
msgstr ""
@@ -1966,8 +2437,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
@@ -1997,8 +2468,8 @@ msgstr ""
msgid "New Template"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
#: apps/web/src/components/forms/v2/signup.tsx:521
msgid "Next"
msgstr ""
@@ -2011,6 +2482,10 @@ msgstr ""
msgid "No active drafts"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
+msgid "No further action is required from you at this time."
+msgstr ""
+
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
msgid "No payment required"
msgstr ""
@@ -2023,7 +2498,13 @@ msgstr ""
msgid "No recent activity"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103
+msgid "No recent documents"
+msgstr "Keine aktuellen Dokumente"
+
+#: 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"
msgstr ""
@@ -2095,6 +2576,14 @@ msgstr ""
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
+msgid "Only admins can access and view the document"
+msgstr "Nur Administratoren können auf das Dokument zugreifen und es anzeigen"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
+msgid "Only managers and above can access and view the document"
+msgstr "Nur Manager und darüber können auf das Dokument zugreifen und es anzeigen"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
@@ -2103,7 +2592,7 @@ msgstr ""
msgid "Oops! Something went wrong."
msgstr ""
-#: 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 ""
@@ -2118,12 +2607,15 @@ msgstr ""
msgid "Or continue with"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
msgid "Otherwise, the document will be created as a draft."
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:103
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81
+#: 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 ""
@@ -2155,6 +2647,10 @@ msgstr ""
msgid "Passkey name"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:121
+msgid "Passkey Re-Authentication"
+msgstr "Passwortwiederauthentifizierung"
+
#: apps/web/src/app/(dashboard)/settings/security/page.tsx:106
#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:32
msgid "Passkeys"
@@ -2195,9 +2691,11 @@ msgstr ""
msgid "Payment overdue"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115
+#: 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 ""
@@ -2286,6 +2784,10 @@ msgstr ""
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
+msgid "Please provide a reason"
+msgstr ""
+
#: 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 ""
@@ -2294,6 +2796,10 @@ msgstr ""
msgid "Please provide a token from your authenticator, or a backup code."
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169
+msgid "Please review the document before signing."
+msgstr "Bitte überprüfen Sie das Dokument vor der Unterzeichnung."
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:64
msgid "Please try again and make sure you enter the correct email address."
msgstr ""
@@ -2311,13 +2817,23 @@ msgid "Please type <0>{0}0> to confirm."
msgstr ""
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
msgid "Preferences"
msgstr ""
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:61
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
+msgid "Preview"
+msgstr "Vorschau"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
msgid "Preview and configure template."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
+#~ msgid "Preview: {0}"
+#~ msgstr "Preview: {0}"
+
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
#: apps/web/src/components/formatter/template-type.tsx:22
msgid "Private"
@@ -2355,8 +2871,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
msgid "Public Profile"
msgstr ""
@@ -2376,10 +2892,26 @@ msgstr ""
msgid "Read only field"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90
+#: apps/web/src/components/general/signing-disclosure.tsx:21
+msgid "Read the full <0>signature disclosure0>."
+msgstr "Lesen Sie die vollständige <0>Offenlegung der Unterschrift0>."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
msgid "Ready"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
+msgid "Reason"
+msgstr "Grund"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
+msgid "Reason for rejection:"
+msgstr ""
+
+#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
+msgid "Reason must be less than 500 characters"
+msgstr ""
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
msgid "Reauthentication is required to sign this field"
msgstr ""
@@ -2389,7 +2921,12 @@ msgstr ""
msgid "Recent activity"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47
+msgid "Recent documents"
+msgstr "Neueste Dokumente"
+
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:69
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280
msgid "Recipient"
msgstr ""
@@ -2399,7 +2936,9 @@ msgid "Recipient updated"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:34
+#: 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"
msgstr ""
@@ -2425,6 +2964,17 @@ msgstr ""
msgid "Registration Successful"
msgstr ""
+#: 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 ""
+
+#: 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 ""
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In0>"
msgstr ""
@@ -2433,6 +2983,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
@@ -2476,7 +3027,7 @@ msgstr ""
msgid "Resend verification"
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:164
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
#: apps/web/src/components/forms/public-profile-form.tsx:267
msgid "Reset"
msgstr ""
@@ -2503,6 +3054,10 @@ msgstr ""
msgid "Resolve payment"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126
+msgid "Retention of Documents"
+msgstr "Aufbewahrung von Dokumenten"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168
msgid "Retry"
msgstr ""
@@ -2552,6 +3107,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr ""
@@ -2570,6 +3127,10 @@ msgstr ""
msgid "Search by name or email"
msgstr ""
+#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42
+msgid "Search documents..."
+msgstr "Dokumente suchen..."
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217
msgid "Secret"
@@ -2618,10 +3179,15 @@ msgstr ""
msgid "Send confirmation email"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
msgid "Send document"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
+msgid "Send on Behalf of Team"
+msgstr "Im Namen des Teams senden"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
msgid "Send reminder"
msgstr ""
@@ -2638,7 +3204,8 @@ msgstr ""
msgid "Sending..."
msgstr ""
-#: 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:101
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr ""
@@ -2657,13 +3224,13 @@ msgstr ""
msgid "Setup"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:145
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:191
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:148
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:193
msgid "Share"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:161
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:179
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:219
msgid "Share Signing Card"
msgstr ""
@@ -2685,7 +3252,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:83
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:137
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
@@ -2704,11 +3271,15 @@ msgstr ""
msgid "Sign as<0>{0} <1>({1})1>0>"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
msgid "Sign document"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128
+msgid "Sign Document"
+msgstr "Dokument unterzeichnen"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59
msgid "Sign field"
msgstr ""
@@ -2733,8 +3304,8 @@ msgstr ""
msgid "Sign Out"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
msgid "Sign the document to complete the process."
msgstr ""
@@ -2757,15 +3328,21 @@ msgid "Sign Up with OIDC"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271
#: apps/web/src/components/forms/profile.tsx:132
msgid "Signature"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
+msgid "Signature ID"
+msgstr "Signatur-ID"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:123
msgid "Signatures Collected"
msgstr ""
@@ -2774,15 +3351,38 @@ msgstr ""
msgid "Signatures will appear once the document has been completed"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:98
+#: 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"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:176
+msgid "Signer Events"
+msgstr "Signer-Ereignisse"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:168
+msgid "Signing Certificate"
+msgstr "Unterzeichnungszertifikat"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
+msgid "Signing certificate provided by"
+msgstr "Unterzeichnungszertifikat bereitgestellt von"
+
#: apps/web/src/components/forms/signin.tsx:383
#: apps/web/src/components/forms/signin.tsx:510
msgid "Signing in..."
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+msgid "Signing Links"
+msgstr "Signierlinks"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
+msgid "Signing links have been generated for this document."
+msgstr "Unterzeichnungslinks wurden für dieses Dokument erstellt."
+
#: apps/web/src/components/forms/signup.tsx:235
msgid "Signing up..."
msgstr ""
@@ -2802,11 +3402,11 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:88
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:104
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
@@ -2822,10 +3422,11 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:104
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:127
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:151
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:117
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:118
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
@@ -2862,6 +3463,10 @@ msgstr ""
msgid "Something went wrong while updating the team billing subscription, please contact support."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
+msgid "Something went wrong!"
+msgstr "Etwas ist schiefgelaufen!"
+
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
msgid "Something went wrong. Please try again or contact support."
@@ -2871,10 +3476,14 @@ msgstr ""
msgid "Sorry, we were unable to download the audit logs. Please try again later."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
msgid "Sorry, we were unable to download the certificate. Please try again later."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138
+msgid "Source"
+msgstr "Quelle"
+
#: apps/web/src/app/(dashboard)/admin/nav.tsx:37
msgid "Stats"
msgstr ""
@@ -2882,11 +3491,13 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:79
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:93
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73
msgid "Status"
msgstr ""
-#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:128
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:129
msgid "Subscribe"
msgstr ""
@@ -2920,7 +3531,7 @@ msgstr ""
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
@@ -2934,6 +3545,10 @@ msgstr ""
msgid "Successfully created passkey"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57
+msgid "System Requirements"
+msgstr "Systemanforderungen"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:266
msgid "System Theme"
msgstr ""
@@ -2947,8 +3562,8 @@ msgstr ""
msgid "Team checkout"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
msgid "Team email"
msgstr ""
@@ -2991,7 +3606,7 @@ msgid "Team Member"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:113
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr ""
@@ -3015,6 +3630,10 @@ msgstr ""
msgid "Team ownership transferred!"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
+msgid "Team Preferences"
+msgstr "Teampräferenzen"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
msgid "Team Public Profile"
msgstr ""
@@ -3040,7 +3659,7 @@ msgid "Team transfer request expired"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:129
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr ""
@@ -3056,6 +3675,11 @@ msgstr ""
msgid "Teams restricted"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
msgid "Template"
@@ -3085,11 +3709,11 @@ msgstr ""
msgid "Template moved"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
msgid "Template saved"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
#: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:208
#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22
@@ -3110,6 +3734,10 @@ msgstr ""
msgid "Text Color"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24
+msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below."
+msgstr "Vielen Dank, dass Sie Documenso zur elektronischen Unterzeichnung Ihrer Dokumente verwenden. Der Zweck dieser Offenlegung besteht darin, Sie über den Prozess, die Rechtmäßigkeit und Ihre Rechte in Bezug auf die Verwendung elektronischer Unterschriften auf unserer Plattform zu informieren. Indem Sie sich entscheiden, eine elektronische Unterschrift zu verwenden, stimmen Sie den nachfolgend dargelegten Bedingungen zu."
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52
msgid "The account has been deleted successfully."
msgstr ""
@@ -3132,279 +3760,697 @@ msgstr ""
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167
+#: 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 ""
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
msgid "The document was created but could not be sent to recipients."
msgstr ""
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161
msgid "The document will be hidden from your account"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The document will be hidden from your account"
+=======
+msgstr "Das Dokument wird von Ihrem Konto verborgen werden"
+>>>>>>> main
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
msgid "The document will be immediately sent to recipients if this is checked."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The document will be immediately sent to recipients if this is checked."
+=======
+msgstr "Das Dokument wird sofort an die Empfänger gesendet, wenn dies angehakt ist."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:175
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:179
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:203
msgid "The events that will trigger a webhook to be sent to your URL."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The events that will trigger a webhook to be sent to your URL."
+=======
+msgstr "Die Ereignisse, die einen Webhook auslösen, der an Ihre URL gesendet wird."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
+#~ msgid "The global settings for the documents in your team account."
+#~ msgstr "The global settings for the documents in your team account."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
msgid "The ownership of team <0>{0}0> has been successfully transferred to you."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The ownership of team <0>{0}0> has been successfully transferred to you."
+=======
+msgstr "Die Inhaberschaft des Teams <0>{0}0> wurde erfolgreich auf Sie übertragen."
+>>>>>>> main
#: apps/web/src/components/partials/not-found.tsx:53
msgid "The page you are looking for was moved, removed, renamed or might never have existed."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The page you are looking for was moved, removed, renamed or might never have existed."
+=======
+msgstr "Die Seite, die Sie suchen, wurde verschoben, entfernt, umbenannt oder hat möglicherweise nie existiert."
+>>>>>>> main
#: apps/web/src/components/forms/public-profile-form.tsx:118
msgid "The profile link has been copied to your clipboard"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The profile link has been copied to your clipboard"
+=======
+msgstr "Der Profil-Link wurde in die Zwischenablage kopiert"
+>>>>>>> main
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:23
msgid "The profile you are looking for could not be found."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The profile you are looking for could not be found."
+=======
+msgstr "Das Profil, nach dem Sie suchen, konnte nicht gefunden werden."
+>>>>>>> main
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:380
msgid "The public description that will be displayed with this template"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The public description that will be displayed with this template"
+=======
+msgstr "Die öffentliche Beschreibung, die mit dieser Vorlage angezeigt wird"
+>>>>>>> main
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:358
msgid "The public name for your template"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The public name for your template"
+=======
+msgstr "Der öffentliche Name für Ihre Vorlage"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119
msgid "The recipient has been updated successfully"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The recipient has been updated successfully"
+=======
+msgstr "Der Empfänger wurde erfolgreich aktualisiert"
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:267
msgid "The selected team member will receive an email which they must accept before the team is transferred"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The selected team member will receive an email which they must accept before the team is transferred"
+=======
+msgstr "Das ausgewählte Teammitglied erhält eine E-Mail, die es akzeptieren muss, bevor das Team übertragen wird"
+>>>>>>> main
+#: 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."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The signing link has been copied to your clipboard."
+=======
+msgstr "Der Signierlink wurde in die Zwischenablage kopiert."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:105
msgid "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users."
+=======
+msgstr "Das Seitenbanner ist eine Nachricht, die oben auf der Seite angezeigt wird. Es kann verwendet werden, um Ihren Nutzern wichtige Informationen anzuzeigen."
+>>>>>>> main
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:45
msgid "The team transfer invitation has been successfully deleted."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The team transfer invitation has been successfully deleted."
+=======
+msgstr "Die Einladung zur Teamübertragung wurde erfolgreich gelöscht."
+>>>>>>> main
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:86
msgid "The team transfer request to <0>{0}0> has expired."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The team transfer request to <0>{0}0> has expired."
+=======
+msgstr "Die Teamübertragungsanfrage an <0>{0}0> ist abgelaufen."
+>>>>>>> main
#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:23
msgid "The team you are looking for may have been removed, renamed or may have never existed."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The team you are looking for may have been removed, renamed or may have never existed."
+=======
+msgstr "Das Team, das Sie suchen, wurde möglicherweise entfernt, umbenannt oder hat möglicherweise nie existiert."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:49
msgid "The template has been successfully moved to the selected team."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The template has been successfully moved to the selected team."
+=======
+msgstr "Die Vorlage wurde erfolgreich in das ausgewählte Team verschoben."
+>>>>>>> main
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:443
msgid "The template will be removed from your profile"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The template will be removed from your profile"
+=======
+msgstr "Die Vorlage wird von Ihrem Profil entfernt"
+>>>>>>> main
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:23
msgid "The template you are looking for may have been disabled, deleted or may have never existed."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The template you are looking for may have been disabled, deleted or may have never existed."
+=======
+msgstr "Die Vorlage, die Sie suchen, wurde möglicherweise deaktiviert, gelöscht oder hat möglicherweise nie existiert."
+>>>>>>> main
#: apps/web/src/components/forms/token.tsx:106
msgid "The token was copied to your clipboard."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The token was copied to your clipboard."
+=======
+msgstr "Der Token wurde in die Zwischenablage kopiert."
+>>>>>>> main
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:88
msgid "The token was deleted successfully."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The token was deleted successfully."
+=======
+msgstr "Das Token wurde erfolgreich gelöscht."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:24
msgid "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link."
+=======
+msgstr "Der Token, den Sie zur Zurücksetzung Ihres Passworts verwendet haben, ist entweder abgelaufen oder hat nie existiert. Wenn Sie Ihr Passwort immer noch vergessen haben, fordern Sie bitte einen neuen Zurücksetzungslink an."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:124
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:128
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:152
msgid "The URL for Documenso to send webhook events to."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The URL for Documenso to send webhook events to."
+=======
+msgstr "Die URL für Documenso, um Webhook-Ereignisse zu senden."
+>>>>>>> main
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:79
msgid "The webhook has been successfully deleted."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The webhook has been successfully deleted."
+=======
+msgstr "Das Webhook wurde erfolgreich gelöscht."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:75
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:81
msgid "The webhook has been updated successfully."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The webhook has been updated successfully."
+=======
+msgstr "Der Webhook wurde erfolgreich aktualisiert."
+>>>>>>> main
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:93
msgid "The webhook was successfully created."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "The webhook was successfully created."
+=======
+msgstr "Der Webhook wurde erfolgreich erstellt."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:25
msgid "There are no active drafts at the current moment. You can upload a document to start drafting."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "There are no active drafts at the current moment. You can upload a document to start drafting."
+=======
+msgstr "Es gibt derzeit keine aktiven Entwürfe. Sie können ein Dokument hochladen, um mit dem Entwerfen zu beginnen."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:20
msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "There are no completed documents yet. Documents that you have created or received will appear here once completed."
+=======
+msgstr "Es gibt noch keine abgeschlossenen Dokumente. Dokumente, die Sie erstellt oder erhalten haben, werden hier angezeigt, sobald sie abgeschlossen sind."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70
msgid "They have permission on your behalf to:"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "They have permission on your behalf to:"
+=======
+msgstr "Sie haben in Ihrem Namen die Erlaubnis, zu:"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:110
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:110
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:109
msgid "This action is not reversible. Please be certain."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This action is not reversible. Please be certain."
+=======
+msgstr "Diese Aktion ist nicht umkehrbar. Bitte seien Sie sicher."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81
msgid "This document could not be deleted at this time. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This document could not be deleted at this time. Please try again."
+=======
+msgstr "Dieses Dokument konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:73
msgid "This document could not be duplicated at this time. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This document could not be duplicated at this time. Please try again."
+=======
+msgstr "Dieses Dokument konnte derzeit nicht dupliziert werden. Bitte versuche es erneut."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:106
msgid "This document could not be re-sent at this time. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This document could not be re-sent at this time. Please try again."
+=======
+msgstr "Dieses Dokument konnte zu diesem Zeitpunkt nicht erneut gesendet werden. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:181
msgid "This document has been cancelled by the owner and is no longer available for others to sign."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This document has been cancelled by the owner and is no longer available for others to sign."
+=======
+msgstr "Dieses Dokument wurde vom Eigentümer storniert und steht anderen nicht mehr zur Unterzeichnung zur Verfügung."
+>>>>>>> main
#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:52
msgid "This document has been cancelled by the owner."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This document has been cancelled by the owner."
+=======
+msgstr "Dieses Dokument wurde vom Eigentümer storniert."
+>>>>>>> main
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:219
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
msgid "This document has been signed by all recipients"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This document has been signed by all recipients"
+=======
+msgstr "Dieses Dokument wurde von allen Empfängern unterschrieben"
+>>>>>>> main
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:222
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
msgid "This document is currently a draft and has not been sent"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This document is currently a draft and has not been sent"
+=======
+msgstr "Dieses Dokument ist momentan ein Entwurf und wurde nicht gesendet"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152
+msgid "This document was created by you or a team member using the template above."
+msgstr "Dieses Dokument wurde von Ihnen oder einem Teammitglied unter Verwendung der oben genannten Vorlage erstellt."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164
+msgid "This document was created using a direct link."
+msgstr "Dieses Dokument wurde mit einem direkten Link erstellt."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93
msgid "This email is already being used by another team."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This email is already being used by another team."
+=======
+msgstr "Diese E-Mail-Adresse wird bereits von einem anderen Team verwendet."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:40
msgid "This link is invalid or has expired. Please contact your team to resend a transfer request."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This link is invalid or has expired. Please contact your team to resend a transfer request."
+=======
+msgstr "Dieser Link ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team, um eine erneute Überweisungsanfrage zu senden."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:37
msgid "This link is invalid or has expired. Please contact your team to resend a verification."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This link is invalid or has expired. Please contact your team to resend a verification."
+=======
+msgstr "Dieser Link ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team, um eine neue Bestätigungsanfrage zu senden."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:208
msgid "This passkey has already been registered."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This passkey has already been registered."
+=======
+msgstr "Dieser Zugangsschlüssel wurde bereits registriert."
+>>>>>>> main
#: apps/web/src/components/forms/signin.tsx:200
msgid "This passkey is not configured for this application. Please login and add one in the user settings."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This passkey is not configured for this application. Please login and add one in the user settings."
+=======
+msgstr "Dieser Passkey ist für diese Anwendung nicht konfiguriert. Bitte melden Sie sich an und fügen Sie einen in den Benutzereinstellungen hinzu."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:148
msgid "This price includes minimum 5 seats."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This price includes minimum 5 seats."
+=======
+msgstr "Dieser Preis beinhaltet mindestens 5 Plätze."
+>>>>>>> main
#: apps/web/src/components/forms/signin.tsx:202
msgid "This session has expired. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This session has expired. Please try again."
+=======
+msgstr "Diese Sitzung ist abgelaufen. Bitte versuchen Sie es erneut."
+>>>>>>> main
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This team, and any associated data excluding billing invoices will be permanently deleted."
+=======
+msgstr "Dieses Team und alle zugehörigen Daten, ausgenommen Rechnungen, werden permanent gelöscht."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:51
msgid "This template could not be deleted at this time. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This template could not be deleted at this time. Please try again."
+=======
+msgstr "Diese Vorlage konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:43
msgid "This token is invalid or has expired. No action is needed."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This token is invalid or has expired. No action is needed."
+=======
+msgstr "Dieses Token ist ungültig oder abgelaufen. Es sind keine weiteren Maßnahmen erforderlich."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:43
msgid "This token is invalid or has expired. Please contact your team for a new invitation."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This token is invalid or has expired. Please contact your team for a new invitation."
+=======
+msgstr "Dieser Token ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team für eine neue Einladung."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:87
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
msgid "This URL is already in use."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This URL is already in use."
+=======
+msgstr "Diese URL wird bereits verwendet."
+>>>>>>> main
#: apps/web/src/components/forms/v2/signup.tsx:145
msgid "This username has already been taken"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This username has already been taken"
+=======
+msgstr "Dieser Benutzername ist bereits vergeben"
+>>>>>>> main
#: apps/web/src/components/forms/public-profile-claim-dialog.tsx:98
msgid "This username is already taken"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "This username is already taken"
+=======
+msgstr "Dieser Benutzername ist bereits vergeben"
+>>>>>>> main
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:73
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:44
msgid "Time"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Time"
+=======
+msgstr "Zeit"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:97
msgid "Time zone"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Time zone"
+=======
+msgstr "Zeitzone"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:131
+msgid "Time Zone"
+msgstr "Zeitzone"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61
msgid "Title"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Title"
+=======
+msgstr "Titel"
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:106
msgid "To accept this invitation you must create an account."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To accept this invitation you must create an account."
+=======
+msgstr "Um diese Einladung anzunehmen, müssen Sie ein Konto erstellen."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:125
msgid "To change the email you must remove and add a new email address."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To change the email you must remove and add a new email address."
+=======
+msgstr "Um die E-Mail zu ändern, müssen Sie die aktuelle entfernen und eine neue hinzufügen."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:117
msgid "To confirm, please enter the accounts email address <0/>({0})."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To confirm, please enter the accounts email address <0/>({0})."
+=======
+msgstr "Um zu bestätigen, geben Sie bitte die E-Mail-Adresse des Kontos <0/>({0}) ein."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:117
msgid "To confirm, please enter the reason"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To confirm, please enter the reason"
+=======
+msgstr "Um zu bestätigen, geben Sie bitte den Grund ein"
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:101
msgid "To decline this invitation you must create an account."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To decline this invitation you must create an account."
+=======
+msgstr "Um diese Einladung abzulehnen, müssen Sie ein Konto erstellen."
+>>>>>>> main
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:197
msgid "To enable two-factor authentication, scan the following QR code using your authenticator app."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To enable two-factor authentication, scan the following QR code using your authenticator app."
+=======
+msgstr "Um die Zwei-Faktor-Authentifizierung zu aktivieren, scannen Sie den folgenden QR-Code mit Ihrer Authentifizierungs-App."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:23
msgid "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox."
+=======
+msgstr "Um Zugang zu Ihrem Konto zu erhalten, bestätigen Sie bitte Ihre E-Mail-Adresse, indem Sie auf den Bestätigungslink in Ihrem Posteingang klicken."
+>>>>>>> main
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:54
msgid "To mark this document as viewed, you need to be logged in as <0>{0}0>"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "To mark this document as viewed, you need to be logged in as <0>{0}0>"
+=======
+msgstr "Um dieses Dokument als angesehen zu markieren, müssen Sie als <0>{0}0> angemeldet sein"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60
+msgid "To use our electronic signature service, you must have access to:"
+msgstr "Um unseren elektronischen Signaturdienst nutzen zu können, müssen Sie Zugriff auf Folgendes haben:"
+>>>>>>> main
#: apps/web/src/app/embed/authenticate.tsx:21
msgid "To view this document you need to be signed into your account, please sign in to continue."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Um dieses Dokument anzuzeigen, müssen Sie in Ihr Konto eingeloggt sein. Bitte melden Sie sich an, um fortzufahren."
+=======
+msgstr "Um dieses Dokument anzusehen, müssen Sie in Ihr Konto eingeloggt sein. Bitte melden Sie sich an, um fortzufahren."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:178
msgid "Toggle the switch to hide your profile from the public."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Toggle the switch to hide your profile from the public."
+=======
+msgstr "Schalten Sie den Schalter um, um Ihr Profil vor der Öffentlichkeit zu verbergen."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:190
msgid "Toggle the switch to show your profile to the public."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Toggle the switch to show your profile to the public."
+=======
+msgstr "Schalten Sie den Schalter um, um Ihr Profil der Öffentlichkeit anzuzeigen."
+>>>>>>> main
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:236
msgid "Token"
@@ -3412,197 +4458,492 @@ msgstr ""
#: apps/web/src/components/forms/token.tsx:105
msgid "Token copied to clipboard"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Token copied to clipboard"
+=======
+msgstr "Token wurde in die Zwischenablage kopiert"
+>>>>>>> main
#: apps/web/src/components/forms/token.tsx:126
msgid "Token created"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Token created"
+=======
+msgstr "Token erstellt"
+>>>>>>> main
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:87
msgid "Token deleted"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Token deleted"
+=======
+msgstr "Token gelöscht"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108
msgid "Token doesn't have an expiration date"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Token doesn't have an expiration date"
+=======
+msgstr "Token hat kein Ablaufdatum"
+>>>>>>> main
#: apps/web/src/components/forms/token.tsx:193
msgid "Token expiration date"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Token expiration date"
+=======
+msgstr "Ablaufdatum des Tokens"
+>>>>>>> main
#: apps/web/src/components/forms/token.tsx:165
msgid "Token name"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Token name"
+=======
+msgstr "Token-Name"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:65
msgid "Total Documents"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Total Documents"
+=======
+msgstr "Gesamtdokumente"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:108
msgid "Total Recipients"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Total Recipients"
+=======
+msgstr "Gesamtempfänger"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150
msgid "Total Signers that Signed Up"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Total Signers that Signed Up"
+=======
+msgstr "Gesamtanzahl der Unterzeichner, die sich angemeldet haben"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:64
msgid "Total Users"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Total Users"
+=======
+msgstr "Gesamtanzahl der Benutzer"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76
+msgid "transfer {teamName}"
+msgstr "übertragen {teamName}"
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160
msgid "Transfer ownership of this team to a selected team member."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Transfer ownership of this team to a selected team member."
+=======
+msgstr "Übertragen Sie die Inhaberschaft dieses Teams auf ein ausgewähltes Teammitglied."
+>>>>>>> main
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
msgid "Transfer team"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Transfer team"
+=======
+msgstr "Team übertragen"
+>>>>>>> main
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
msgid "Transfer the ownership of the team to another team member."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Transfer the ownership of the team to another team member."
+=======
+msgstr "Übertragen Sie das Eigentum des Teams auf ein anderes Teammitglied."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:163
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:167
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:191
msgid "Triggers"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Triggers"
+=======
+msgstr "Auslöser"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/security/page.tsx:52
msgid "Two factor authentication"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Two factor authentication"
+=======
+msgstr "Zwei-Faktor-Authentifizierung"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/security/page.tsx:88
msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app."
+=======
+msgstr "Wiederherstellungscodes für die Zwei-Faktor-Authentifizierung werden verwendet, um auf Ihr Konto zuzugreifen, falls Sie den Zugang zu Ihrer Authentifizierungs-App verlieren."
+>>>>>>> main
#: apps/web/src/components/forms/signin.tsx:448
msgid "Two-Factor Authentication"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Two-Factor Authentication"
+=======
+msgstr "Zwei-Faktor-Authentifizierung"
+>>>>>>> main
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:90
msgid "Two-factor authentication disabled"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Two-factor authentication disabled"
+=======
+msgstr "Zwei-Faktor-Authentifizierung deaktiviert"
+>>>>>>> main
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:94
msgid "Two-factor authentication enabled"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Two-factor authentication enabled"
+=======
+msgstr "Zwei-Faktor-Authentifizierung aktiviert"
+>>>>>>> main
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:92
msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in."
+=======
+msgstr "Die Zwei-Faktor-Authentifizierung wurde für Ihr Konto deaktiviert. Sie müssen beim Anmelden keinen Code aus Ihrer Authentifizierungs-App mehr eingeben."
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:120
+msgid "Two-Factor Re-Authentication"
+msgstr "Zwei-Faktor-Wiederauthentifizierung"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67
msgid "Type"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Type"
+=======
+msgstr "Typ"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184
msgid "Type 'delete' to confirm"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Type 'delete' to confirm"
+=======
+msgstr "Geben Sie 'delete' ein, um zu bestätigen"
+>>>>>>> main
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:186
msgid "Type a command or search..."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Type a command or search..."
+=======
+msgstr "Geben Sie einen Befehl ein oder suchen Sie..."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26
msgid "Uh oh! Looks like you're missing a token"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Uh oh! Looks like you're missing a token"
+=======
+msgstr "Oh oh! Es sieht so aus, als fehlt Ihnen ein Token"
+>>>>>>> main
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:303
msgid "Unable to change the language at this time. Please try again later."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Derzeit kann die Sprache nicht geändert werden. Bitte versuchen Sie es später erneut."
+=======
+msgstr "Zurzeit kann die Sprache nicht geändert werden. Bitte versuchen Sie es später noch einmal."
+>>>>>>> main
#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:31
msgid "Unable to copy recovery code"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to copy recovery code"
+=======
+msgstr "Kann Code zur Wiederherstellung nicht kopieren"
+>>>>>>> main
#: apps/web/src/components/forms/token.tsx:110
msgid "Unable to copy token"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to copy token"
+=======
+msgstr "Token kann nicht kopiert werden"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:105
msgid "Unable to create direct template access. Please try again later."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to create direct template access. Please try again later."
+=======
+msgstr "Direkter Zugriff auf die Vorlage kann nicht erstellt werden. Bitte versuche es später noch einmal."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:33
msgid "Unable to decline this team invitation at this time."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to decline this team invitation at this time."
+=======
+msgstr "Zurzeit kann diese Teameinladung nicht abgelehnt werden."
+>>>>>>> main
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:86
msgid "Unable to delete invitation. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to delete invitation. Please try again."
+=======
+msgstr "Einladung kann nicht gelöscht werden. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:94
msgid "Unable to delete team"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to delete team"
+=======
+msgstr "Team konnte nicht gelöscht werden"
+>>>>>>> main
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:103
msgid "Unable to disable two-factor authentication"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to disable two-factor authentication"
+=======
+msgstr "Zwei-Faktor-Authentifizierung kann nicht deaktiviert werden"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:33
msgid "Unable to join this team at this time."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to join this team at this time."
+=======
+msgstr "Zurzeit kann diesem Team nicht beigetreten werden."
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:72
#: apps/web/src/components/document/document-history-sheet.tsx:127
msgid "Unable to load document history"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to load document history"
+=======
+msgstr "Kann den Dokumentverlauf nicht laden"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62
+msgid "Unable to load documents"
+msgstr "Dokumente können nicht geladen werden"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111
msgid "Unable to load your public profile templates at this time"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to load your public profile templates at this time"
+=======
+msgstr "Derzeit können Ihre öffentlichen Profilvorlagen nicht geladen werden"
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:84
msgid "Unable to remove email verification at this time. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to remove email verification at this time. Please try again."
+=======
+msgstr "Derzeit ist es nicht möglich, die E-Mail-Verifizierung zu entfernen. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:65
msgid "Unable to remove team email at this time. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to remove team email at this time. Please try again."
+=======
+msgstr "Das Team-E-Mail kann zurzeit nicht entfernt werden. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:69
msgid "Unable to resend invitation. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to resend invitation. Please try again."
+=======
+msgstr "Einladung kann nicht erneut gesendet werden. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:40
msgid "Unable to resend verification at this time. Please try again."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to resend verification at this time. Please try again."
+=======
+msgstr "Derzeit ist es nicht möglich, die Verifizierung erneut zu senden. Bitte versuchen Sie es erneut."
+>>>>>>> main
#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:20
msgid "Unable to reset password"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to reset password"
+=======
+msgstr "Passwort kann nicht zurückgesetzt werden"
+>>>>>>> main
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:68
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:101
msgid "Unable to setup two-factor authentication"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to setup two-factor authentication"
+=======
+msgstr "Zwei-Faktor-Authentifizierung kann nicht eingerichtet werden"
+>>>>>>> main
#: apps/web/src/components/forms/signin.tsx:247
#: apps/web/src/components/forms/signin.tsx:255
msgid "Unable to sign in"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unable to sign in"
+=======
+msgstr "Anmeldung nicht möglich"
+>>>>>>> main
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:166
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:27
msgid "Unauthorized"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unauthorized"
+=======
+msgstr "Nicht autorisiert"
+>>>>>>> main
-#: 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"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Uncompleted"
+=======
+msgstr "Unvollendet"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276
+msgid "Unknown"
+msgstr "Unbekannt"
+>>>>>>> main
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23
msgid "Unknown error"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unknown error"
+=======
+msgstr "Unbekannter Fehler"
+>>>>>>> main
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79
msgid "Unpaid"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Unpaid"
+=======
+msgstr "Unbezahlt"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:181
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:162
@@ -3611,35 +4952,83 @@ msgstr ""
#: apps/web/src/components/forms/public-profile-form.tsx:279
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:428
msgid "Update"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update"
+=======
+msgstr "Aktualisieren"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:211
msgid "Update Banner"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update Banner"
+=======
+msgstr "Banner aktualisieren"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:118
msgid "Update passkey"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update passkey"
+=======
+msgstr "Passkey aktualisieren"
+>>>>>>> main
#: apps/web/src/components/forms/password.tsx:152
msgid "Update password"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update password"
+=======
+msgstr "Passwort aktualisieren"
+>>>>>>> main
#: apps/web/src/components/forms/profile.tsx:150
msgid "Update profile"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update profile"
+=======
+msgstr "Profil aktualisieren"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:180
msgid "Update Recipient"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update Recipient"
+=======
+msgstr "Empfänger aktualisieren"
+>>>>>>> main
#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:146
msgid "Update role"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update role"
+=======
+msgstr "Rolle aktualisieren"
+>>>>>>> main
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:176
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Update team"
+=======
+msgstr "Team aktualisieren"
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:113
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:121
@@ -3668,11 +5057,20 @@ msgstr ""
msgid "Updating profile..."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115
+msgid "Updating Your Information"
+msgstr "Aktualisierung Ihrer Informationen"
+
#: apps/web/src/components/forms/avatar-image.tsx:182
msgid "Upload Avatar"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
+msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
+msgstr "Laden Sie Ihr Markenlogo hoch (max. 5MB, JPG, PNG oder WebP)"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
msgid "Uploaded by"
msgstr ""
@@ -3688,6 +5086,10 @@ msgstr ""
msgid "Uploaded file not an allowed file type"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
+msgid "Use"
+msgstr "Verwenden"
+
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187
#: apps/web/src/components/forms/signin.tsx:505
msgid "Use Authenticator"
@@ -3698,11 +5100,12 @@ msgstr ""
msgid "Use Backup Code"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
msgid "Use Template"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:82
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:78
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:45
msgid "User"
msgstr ""
@@ -3750,10 +5153,14 @@ msgstr ""
msgid "Verify your email to upload documents."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:75
+msgid "Version History"
+msgstr "Versionsverlauf"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:130
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
msgid "View"
@@ -3771,6 +5178,10 @@ msgstr ""
msgid "View all recent security activity related to your account."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157
+msgid "View all related documents"
+msgstr "Alle verwandten Dokumente anzeigen"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26
msgid "View all security activity related to your account."
msgstr ""
@@ -3779,7 +5190,11 @@ msgstr ""
msgid "View Codes"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127
+msgid "View Document"
+msgstr "Dokument anzeigen"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
msgid "View documents associated with this email"
msgstr ""
@@ -3787,6 +5202,10 @@ msgstr ""
msgid "View invites"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95
+msgid "View more"
+msgstr "Mehr anzeigen"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34
msgid "View Original Document"
msgstr ""
@@ -3800,11 +5219,12 @@ msgstr ""
msgid "View teams"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:104
+#: 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 ""
-#: 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 ""
@@ -3960,7 +5380,7 @@ msgstr ""
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:96
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
msgstr ""
@@ -4002,12 +5422,20 @@ msgstr ""
msgid "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again."
msgstr ""
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:119
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
msgid "We were unable to submit this document at this time. Please try again later."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
+msgid "We were unable to update your branding preferences at this time, please try again later"
+msgstr "Wir konnten Ihre Markenpräferenzen zu diesem Zeitpunkt nicht aktualisieren, bitte versuchen Sie es später noch einmal"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
+msgid "We were unable to update your document preferences at this time, please try again later"
+msgstr "Wir konnten Ihre Dokumentpräferenzen zu diesem Zeitpunkt nicht aktualisieren, bitte versuchen Sie es später noch einmal"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
msgid "We were unable to verify your details. Please try again or contact support"
msgstr ""
@@ -4016,6 +5444,14 @@ msgstr ""
msgid "We were unable to verify your email. If your email is not verified already, please try again."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
+msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
+msgstr "Wir werden Unterzeichnungslinks für Sie erstellen, die Sie an die Empfänger über Ihre bevorzugte Methode senden können."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
+msgid "We won't send anything to notify recipients."
+msgstr "Wir werden nichts senden, um die Empfänger zu benachrichtigen."
+
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
msgid "We're all empty"
@@ -4047,8 +5483,8 @@ msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
msgid "Webhooks"
msgstr ""
@@ -4056,6 +5492,10 @@ msgstr ""
msgid "Weekly"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21
+msgid "Welcome"
+msgstr "Willkommen"
+
#: apps/web/src/app/(unauthenticated)/signin/page.tsx:33
msgid "Welcome back, we are lucky to have you."
msgstr ""
@@ -4068,6 +5508,10 @@ msgstr ""
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
+msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
+msgstr "Wenn Sie unsere Plattform nutzen, um Ihre elektronische Unterschrift auf Dokumente anzubringen, stimmen Sie zu, dies unter dem Gesetz über elektronische Unterschriften im globalen und nationalen Handel (E-Sign-Gesetz) und anderen anwendbaren Gesetzen zu tun. Diese Handlung zeigt Ihre Zustimmung zur Verwendung elektronischer Mittel zum Unterzeichnen von Dokumenten und zum Empfang von Benachrichtigungen an."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:139
msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away."
msgstr ""
@@ -4076,6 +5520,10 @@ msgstr ""
msgid "Who do you want to remind?"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101
+msgid "Withdrawing Consent"
+msgstr "Zustimmung widerrufen"
+
#: apps/web/src/components/forms/public-profile-form.tsx:223
msgid "Write about the team"
msgstr ""
@@ -4089,6 +5537,7 @@ msgid "Yearly"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31
msgid "You"
msgstr ""
@@ -4156,11 +5605,15 @@ msgstr ""
msgid "You can claim your profile later on by going to your profile settings!"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
+msgid "You can copy and share these links to recipients so they can action the document."
+msgstr "Sie können diese Links kopieren und mit den Empfängern teilen, damit sie das Dokument bearbeiten können."
+
#: apps/web/src/components/forms/public-profile-form.tsx:154
msgid "You can update the profile URL by updating the team URL in the general settings page."
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
msgid "You can view documents associated with this email and use this identity when sending documents."
msgstr ""
@@ -4222,10 +5675,14 @@ msgstr ""
msgid "You have reached your document limit."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
msgid "You have reached your document limit. <0>Upgrade your account to continue!0>"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
+msgid "You have rejected this document"
+msgstr ""
+
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
msgstr ""
@@ -4244,6 +5701,10 @@ msgstr ""
msgid "You have successfully revoked access."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104
+msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL}0> for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service."
+msgstr "Sie haben das Recht, Ihre Zustimmung zur Verwendung elektronischer Unterschriften jederzeit vor Abschluss des Unterzeichnungsprozesses zu widerrufen. Um Ihre Zustimmung zu widerrufen, kontaktieren Sie bitte den Absender des Dokuments. Sollten Sie den Absender nicht erreichen, können Sie sich für Unterstützung an <0>{SUPPORT_EMAIL}0> wenden. Seien Sie sich bewusst, dass der Widerruf der Zustimmung den Abschluss der zugehörigen Transaktion oder Dienstleistung verzögern oder stoppen kann."
+
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93
msgid "You have updated {teamMemberName}."
msgstr ""
@@ -4306,6 +5767,14 @@ msgstr ""
msgid "Your banner has been updated successfully."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
+msgid "Your brand website URL"
+msgstr "Ihre Marken-Website-URL"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
+msgid "Your branding preferences have been updated"
+msgstr "Ihre Markenpräferenzen wurden aktualisiert"
+
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
msgid "Your current plan is past due. Please update your payment information."
msgstr ""
@@ -4318,7 +5787,7 @@ msgstr ""
msgid "Your document failed to upload."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
msgid "Your document has been created from the template successfully."
msgstr ""
@@ -4326,7 +5795,7 @@ msgstr ""
msgid "Your document has been re-sent successfully."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
msgid "Your document has been sent successfully."
msgstr ""
@@ -4342,6 +5811,10 @@ msgstr ""
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
+msgid "Your document preferences have been updated"
+msgstr "Ihre Dokumentpräferenzen wurden aktualisiert"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
msgid "Your documents"
msgstr ""
@@ -4359,6 +5832,10 @@ msgstr ""
msgid "Your existing tokens"
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:70
+#~ msgid "Your global team document settings has been updated successfully."
+#~ msgstr "Your global team document settings has been updated successfully."
+
#: apps/web/src/components/forms/password.tsx:72
#: apps/web/src/components/forms/reset-password.tsx:73
msgid "Your password has been updated successfully."
@@ -4401,7 +5878,7 @@ msgstr ""
msgid "Your team has been successfully deleted."
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:69
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
msgid "Your team has been successfully updated."
msgstr ""
@@ -4417,7 +5894,7 @@ msgstr ""
msgid "Your template will be duplicated."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
msgid "Your templates has been saved successfully."
msgstr ""
diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po
index 7a504e939..41d85ca7c 100644
--- a/packages/lib/translations/en/common.po
+++ b/packages/lib/translations/en/common.po
@@ -13,18 +13,267 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
+#: packages/email/template-components/template-document-super-delete.tsx:27
+msgid "\"{documentName}\" has been deleted by an admin."
+msgstr "\"{documentName}\" has been deleted by an admin."
+
+#: packages/email/template-components/template-document-pending.tsx:37
+msgid "“{documentName}” has been signed"
+msgstr "“{documentName}” has been signed"
+
+#: packages/email/template-components/template-document-completed.tsx:41
+msgid "“{documentName}” was signed by all signers"
+msgstr "“{documentName}” was signed by all signers"
+
+#: packages/lib/server-only/document/resend-document.tsx:109
+#~ msgid "{0}"
+#~ msgstr "{0}"
+
+#: packages/email/template-components/template-document-invite.tsx:80
+#~ msgid "{0} Document"
+#~ msgstr "{0} Document"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
+msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
+msgstr "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
+msgid "{0} invited you to {recipientActionVerb} a document"
+msgstr "{0} invited you to {recipientActionVerb} a document"
+
+#: packages/email/templates/team-join.tsx:61
+msgid "{0} joined the team {teamName} on Documenso"
+msgstr "{0} joined the team {teamName} on Documenso"
+
+#: packages/email/templates/team-leave.tsx:61
+msgid "{0} left the team {teamName} on Documenso"
+msgstr "{0} left the team {teamName} on Documenso"
+
#: packages/ui/primitives/data-table-pagination.tsx:30
msgid "{0} of {1} row(s) selected."
msgstr "{0} of {1} row(s) selected."
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
+#: packages/lib/server-only/document/resend-document.tsx:137
+msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
+msgstr "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
+
+#: packages/email/template-components/template-document-invite.tsx:51
+#~ msgid "{0}<0/>\"{documentName}\""
+#~ msgstr "{0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:94
+msgid "{inviterName} <0>({inviterEmail})0>"
+msgstr "{inviterName} <0>({inviterEmail})0>"
+
+#: packages/email/templates/document-cancel.tsx:21
+msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
+msgstr "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
+
+#: packages/email/template-components/template-document-cancel.tsx:24
+msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
+msgstr "{inviterName} has cancelled the document<0/>\"{documentName}\""
+
+#: packages/email/template-components/template-document-invite.tsx:75
+msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
+msgstr "{inviterName} has invited you to {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:41
+msgid "{inviterName} has invited you to {action} {documentName}"
+msgstr "{inviterName} has invited you to {action} {documentName}"
+
+#: packages/email/templates/document-invite.tsx:106
+msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
+msgstr "{inviterName} has invited you to {action} the document \"{documentName}\"."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:20
+msgid "{inviterName} has removed you from the document {documentName}."
+msgstr "{inviterName} has removed you from the document {documentName}."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:49
+msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
+msgstr "{inviterName} has removed you from the document<0/>\"{documentName}\""
+
+#: packages/email/template-components/template-document-invite.tsx:63
+msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
+msgstr "{inviterName} on behalf of {teamName} has invited you to {0}"
+
+#: packages/email/template-components/template-document-invite.tsx:49
+#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:45
+msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
+msgstr "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
+
+#: packages/email/templates/team-join.tsx:67
+msgid "{memberEmail} joined the following team"
+msgstr "{memberEmail} joined the following team"
+
+#: packages/email/templates/team-leave.tsx:67
+msgid "{memberEmail} left the following team"
+msgstr "{memberEmail} left the following team"
+
+#: packages/lib/utils/document-audit-logs.ts:263
+msgid "{prefix} added a field"
+msgstr "{prefix} added a field"
+
+#: packages/lib/utils/document-audit-logs.ts:275
+msgid "{prefix} added a recipient"
+msgstr "{prefix} added a recipient"
+
+#: packages/lib/utils/document-audit-logs.ts:287
+msgid "{prefix} created the document"
+msgstr "{prefix} created the document"
+
+#: packages/lib/utils/document-audit-logs.ts:291
+msgid "{prefix} deleted the document"
+msgstr "{prefix} deleted the document"
+
+#: packages/lib/utils/document-audit-logs.ts:335
+msgid "{prefix} moved the document to team"
+msgstr "{prefix} moved the document to team"
+
+#: packages/lib/utils/document-audit-logs.ts:319
+msgid "{prefix} opened the document"
+msgstr "{prefix} opened the document"
+
+#: packages/lib/utils/document-audit-logs.ts:267
+msgid "{prefix} removed a field"
+msgstr "{prefix} removed a field"
+
+#: packages/lib/utils/document-audit-logs.ts:279
+msgid "{prefix} removed a recipient"
+msgstr "{prefix} removed a recipient"
+
+#: packages/lib/utils/document-audit-logs.ts:365
+msgid "{prefix} resent an email to {0}"
+msgstr "{prefix} resent an email to {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:366
+msgid "{prefix} sent an email to {0}"
+msgstr "{prefix} sent an email to {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:331
+msgid "{prefix} sent the document"
+msgstr "{prefix} sent the document"
+
+#: packages/lib/utils/document-audit-logs.ts:295
+msgid "{prefix} signed a field"
+msgstr "{prefix} signed a field"
+
+#: packages/lib/utils/document-audit-logs.ts:299
+msgid "{prefix} unsigned a field"
+msgstr "{prefix} unsigned a field"
+
+#: packages/lib/utils/document-audit-logs.ts:271
+msgid "{prefix} updated a field"
+msgstr "{prefix} updated a field"
+
+#: packages/lib/utils/document-audit-logs.ts:283
+msgid "{prefix} updated a recipient"
+msgstr "{prefix} updated a recipient"
+
+#: packages/lib/utils/document-audit-logs.ts:315
+msgid "{prefix} updated the document"
+msgstr "{prefix} updated the document"
+
+#: packages/lib/utils/document-audit-logs.ts:307
+msgid "{prefix} updated the document access auth requirements"
+msgstr "{prefix} updated the document access auth requirements"
+
+#: packages/lib/utils/document-audit-logs.ts:327
+msgid "{prefix} updated the document external ID"
+msgstr "{prefix} updated the document external ID"
+
+#: packages/lib/utils/document-audit-logs.ts:311
+msgid "{prefix} updated the document signing auth requirements"
+msgstr "{prefix} updated the document signing auth requirements"
+
+#: packages/lib/utils/document-audit-logs.ts:323
+msgid "{prefix} updated the document title"
+msgstr "{prefix} updated the document title"
+
+#: packages/lib/utils/document-audit-logs.ts:303
+msgid "{prefix} updated the document visibility"
+msgstr "{prefix} updated the document visibility"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:61
+msgid "{recipientName} {action} a document by using one of your direct links"
+msgstr "{recipientName} {action} a document by using one of your direct links"
+
+#: packages/email/templates/document-rejected.tsx:27
+msgid "{recipientName} has rejected the document '{documentName}'"
+msgstr "{recipientName} has rejected the document '{documentName}'"
+
+#: packages/email/template-components/template-document-rejected.tsx:25
+msgid "{signerName} has rejected the document \"{documentName}\"."
+msgstr "{signerName} has rejected the document \"{documentName}\"."
+
+#: packages/email/template-components/template-document-invite.tsx:68
+msgid "{teamName} has invited you to {0}"
+msgstr "{teamName} has invited you to {0}"
+
+#: packages/email/templates/document-invite.tsx:46
+msgid "{teamName} has invited you to {action} {documentName}"
+msgstr "{teamName} has invited you to {action} {documentName}"
+
+#: packages/email/templates/team-transfer-request.tsx:55
+msgid "{teamName} ownership transfer request"
+msgstr "{teamName} ownership transfer request"
+
+#: packages/lib/utils/document-audit-logs.ts:343
+msgid "{userName} approved the document"
+msgstr "{userName} approved the document"
+
+#: packages/lib/utils/document-audit-logs.ts:344
+msgid "{userName} CC'd the document"
+msgstr "{userName} CC'd the document"
+
+#: packages/lib/utils/document-audit-logs.ts:345
+msgid "{userName} completed their task"
+msgstr "{userName} completed their task"
+
+#: packages/lib/utils/document-audit-logs.ts:355
+msgid "{userName} rejected the document"
+msgstr "{userName} rejected the document"
+
+#: packages/lib/utils/document-audit-logs.ts:341
+msgid "{userName} signed the document"
+msgstr "{userName} signed the document"
+
+#: packages/lib/utils/document-audit-logs.ts:342
+msgid "{userName} viewed the document"
+msgstr "{userName} viewed the document"
+
#: packages/ui/primitives/data-table-pagination.tsx:41
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
msgstr "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
+#: packages/email/templates/document-invite.tsx:100
+#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+
+#: packages/email/templates/team-transfer-request.tsx:59
+msgid "<0>{senderName}0> has requested that you take ownership of the following team"
+msgstr "<0>{senderName}0> has requested that you take ownership of the following team"
+
+#: packages/email/templates/confirm-team-email.tsx:75
+msgid "<0>{teamName}0> has requested to use your email address for their team on Documenso."
+msgstr "<0>{teamName}0> has requested to use your email address for their team on Documenso."
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
+msgid "<0>Email0> - The recipient will be emailed the document to sign, approve, etc."
+msgstr "<0>Email0> - The recipient will be emailed the document to sign, approve, etc."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
msgid "<0>Inherit authentication method0> - Use the global action signing authentication method configured in the \"General Settings\" step"
msgstr "<0>Inherit authentication method0> - Use the global action signing authentication method configured in the \"General Settings\" step"
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
+msgid "<0>Links0> - We will generate links which you can send to the recipients manually."
+msgstr "<0>Links0> - We will generate links which you can send to the recipients manually."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
msgid "<0>No restrictions0> - No authentication required"
msgstr "<0>No restrictions0> - No authentication required"
@@ -37,6 +286,10 @@ msgstr "<0>No restrictions0> - The document can be accessed directly by the UR
msgid "<0>None0> - No authentication required"
msgstr "<0>None0> - No authentication required"
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
+msgid "<0>Note0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
+msgstr "<0>Note0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
msgid "<0>Require 2FA0> - The recipient must have an account and 2FA enabled via their settings"
@@ -51,20 +304,95 @@ msgstr "<0>Require account0> - The recipient must be signed in to view the doc
msgid "<0>Require passkey0> - The recipient must have an account and passkey configured via their settings"
msgstr "<0>Require passkey0> - The recipient must have an account and passkey configured via their settings"
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
+msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
+msgstr "A document was created by your direct template that requires you to {recipientActionVerb} it."
+
+#: packages/lib/utils/document-audit-logs.ts:262
+msgid "A field was added"
+msgstr "A field was added"
+
+#: packages/lib/utils/document-audit-logs.ts:266
+msgid "A field was removed"
+msgstr "A field was removed"
+
+#: packages/lib/utils/document-audit-logs.ts:270
+msgid "A field was updated"
+msgstr "A field was updated"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
+msgid "A new member has joined your team"
+msgstr "A new member has joined your team"
+
+#: packages/lib/utils/document-audit-logs.ts:274
+msgid "A recipient was added"
+msgstr "A recipient was added"
+
+#: packages/lib/utils/document-audit-logs.ts:278
+msgid "A recipient was removed"
+msgstr "A recipient was removed"
+
+#: packages/lib/utils/document-audit-logs.ts:282
+msgid "A recipient was updated"
+msgstr "A recipient was updated"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:156
+msgid "A request to use your email has been initiated by {0} on Documenso"
+msgstr "A request to use your email has been initiated by {0} on Documenso"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:142
+#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
+#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
+
+#: packages/email/templates/team-join.tsx:31
+msgid "A team member has joined a team on Documenso"
+msgstr "A team member has joined a team on Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
+msgid "A team member has left {0}"
+msgstr "A team member has left {0}"
+
+#: packages/email/templates/team-leave.tsx:31
+msgid "A team member has left a team on Documenso"
+msgstr "A team member has left a team on Documenso"
+
+#: packages/email/templates/team-delete.tsx:29
+#: packages/email/templates/team-delete.tsx:33
+msgid "A team you were a part of has been deleted"
+msgstr "A team you were a part of has been deleted"
+
+#: packages/email/templates/confirm-team-email.tsx:118
+#: packages/email/templates/team-invite.tsx:94
+#: packages/email/templates/team-transfer-request.tsx:81
+msgid "Accept"
+msgstr "Accept"
+
+#: packages/email/templates/team-invite.tsx:42
+msgid "Accept invitation to join a team on Documenso"
+msgstr "Accept invitation to join a team on Documenso"
+
+#: packages/email/templates/confirm-team-email.tsx:41
+msgid "Accept team email request for {teamName} on Documenso"
+msgstr "Accept team email request for {teamName} on Documenso"
+
+#: packages/email/templates/team-transfer-request.tsx:29
+msgid "Accept team transfer request on Documenso"
+msgstr "Accept team transfer request on Documenso"
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "Add a document"
msgstr "Add a document"
-#: packages/ui/primitives/document-flow/add-settings.tsx:336
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:339
+#: packages/ui/primitives/document-flow/add-settings.tsx:378
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
msgid "Add a URL to redirect the user to once the document is signed"
msgstr "Add a URL to redirect the user to once the document is signed"
-#: packages/ui/primitives/document-flow/add-settings.tsx:248
+#: packages/ui/primitives/document-flow/add-settings.tsx:290
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
msgstr "Add an external ID to the document. This can be used to identify the document in external systems."
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:256
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
msgid "Add an external ID to the template. This can be used to identify in external systems."
msgstr "Add an external ID to the template. This can be used to identify in external systems."
@@ -77,7 +405,7 @@ msgstr "Add another option"
msgid "Add another value"
msgstr "Add another value"
-#: packages/ui/primitives/document-flow/add-signers.tsx:662
+#: packages/ui/primitives/document-flow/add-signers.tsx:691
msgid "Add myself"
msgstr "Add myself"
@@ -89,7 +417,7 @@ msgstr "Add Myself"
msgid "Add Placeholder Recipient"
msgstr "Add Placeholder Recipient"
-#: packages/ui/primitives/document-flow/add-signers.tsx:651
+#: packages/ui/primitives/document-flow/add-signers.tsx:680
msgid "Add Signer"
msgstr "Add Signer"
@@ -105,13 +433,13 @@ msgstr "Add text to the field"
msgid "Admin"
msgstr "Admin"
-#: packages/ui/primitives/document-flow/add-settings.tsx:230
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:238
+#: packages/ui/primitives/document-flow/add-settings.tsx:272
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
msgid "Advanced Options"
msgstr "Advanced Options"
-#: packages/ui/primitives/document-flow/add-fields.tsx:570
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:402
+#: packages/ui/primitives/document-flow/add-fields.tsx:573
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
msgid "Advanced settings"
msgstr "Advanced settings"
@@ -119,15 +447,43 @@ msgstr "Advanced settings"
msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email."
msgstr "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email."
+<<<<<<< HEAD
#: packages/ui/components/document/document-status.tsx:46
msgid "All"
msgstr "All"
+||||||| 7fc497a64
+=======
+#: packages/email/template-components/template-document-cancel.tsx:31
+msgid "All signatures have been voided."
+msgstr "All signatures have been voided."
+
+#: packages/email/templates/confirm-team-email.tsx:98
+msgid "Allow document recipients to reply directly to this email address"
+msgstr "Allow document recipients to reply directly to this email address"
+
+#: packages/email/templates/document-super-delete.tsx:22
+msgid "An admin has deleted your document \"{documentName}\"."
+msgstr "An admin has deleted your document \"{documentName}\"."
+
+#: packages/ui/primitives/pdf-viewer.tsx:167
+msgid "An error occurred while loading the document."
+msgstr "An error occurred while loading the document."
+
+>>>>>>> main
#: packages/lib/constants/recipient-roles.ts:8
#: packages/ui/components/document/next-inbox-item-button.tsx:113
msgid "Approve"
msgstr "Approve"
+#: packages/email/template-components/template-document-invite.tsx:106
+msgid "Approve Document"
+msgstr "Approve Document"
+
+#: packages/lib/constants/recipient-roles.ts:68
+#~ msgid "APPROVE_REQUEST"
+#~ msgstr "APPROVE_REQUEST"
+
#: packages/lib/constants/recipient-roles.ts:9
msgid "Approved"
msgstr "Approved"
@@ -136,10 +492,18 @@ msgstr "Approved"
msgid "Approver"
msgstr "Approver"
+#: packages/lib/constants/recipient-roles.ts:12
+msgid "Approvers"
+msgstr "Approvers"
+
#: packages/lib/constants/recipient-roles.ts:10
msgid "Approving"
msgstr "Approving"
+#: packages/email/template-components/template-confirmation-email.tsx:25
+msgid "Before you get started, please confirm your email address by clicking the button below:"
+msgstr "Before you get started, please confirm your email address by clicking the button below:"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr "Black"
@@ -148,6 +512,18 @@ msgstr "Black"
msgid "Blue"
msgstr "Blue"
+#: packages/email/templates/team-invite.tsx:84
+msgid "by <0>{senderName}0>"
+msgstr "by <0>{senderName}0>"
+
+#: packages/email/templates/confirm-team-email.tsx:87
+msgid "By accepting this request, you will be granting <0>{teamName}0> access to:"
+msgstr "By accepting this request, you will be granting <0>{teamName}0> access to:"
+
+#: packages/email/templates/team-transfer-request.tsx:70
+msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
+msgstr "By accepting this request, you will take responsibility for any billing items associated with this team."
+
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58
msgid "Cancel"
@@ -157,28 +533,27 @@ msgstr "Cancel"
msgid "Cannot remove signer"
msgstr "Cannot remove signer"
-#: packages/lib/constants/recipient-roles.ts:17
+#: packages/lib/constants/recipient-roles.ts:18
msgid "Cc"
msgstr "Cc"
-#: packages/lib/constants/recipient-roles.ts:14
-#: packages/lib/constants/recipient-roles.ts:16
+#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:17
msgid "CC"
msgstr "CC"
-#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:16
msgid "CC'd"
msgstr "CC'd"
+#: packages/lib/constants/recipient-roles.ts:19
+msgid "Ccers"
+msgstr "Ccers"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86
msgid "Character Limit"
msgstr "Character Limit"
-#: packages/ui/primitives/document-flow/add-fields.tsx:1026
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:788
-msgid "Checkbox"
-msgstr "Checkbox"
-
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
msgid "Checkbox values"
msgstr "Checkbox values"
@@ -199,55 +574,137 @@ msgstr "Click to insert field"
msgid "Close"
msgstr "Close"
+<<<<<<< HEAD
#: packages/ui/components/document/document-status.tsx:28
msgid "Completed"
msgstr "Completed"
+||||||| 7fc497a64
+=======
+#: packages/email/template-components/template-document-completed.tsx:35
+#: packages/email/template-components/template-document-self-signed.tsx:36
+#: packages/lib/constants/document.ts:10
+msgid "Completed"
+msgstr "Completed"
+
+#: packages/email/templates/document-completed.tsx:23
+#: packages/email/templates/document-self-signed.tsx:19
+msgid "Completed Document"
+msgstr "Completed Document"
+
+>>>>>>> main
#: packages/lib/constants/template.ts:12
msgid "Configure Direct Recipient"
msgstr "Configure Direct Recipient"
-#: packages/ui/primitives/document-flow/add-fields.tsx:571
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:403
+#: packages/ui/primitives/document-flow/add-fields.tsx:574
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
msgid "Configure the {0} field"
msgstr "Configure the {0} field"
+#: packages/email/template-components/template-confirmation-email.tsx:35
+msgid "Confirm email"
+msgstr "Confirm email"
+
#: packages/ui/primitives/document-flow/document-flow-root.tsx:141
msgid "Continue"
msgstr "Continue"
+#: packages/email/template-components/template-document-invite.tsx:72
+#~ msgid "Continue by {0} the document."
+#~ msgstr "Continue by {0} the document."
+
+#: packages/email/template-components/template-document-invite.tsx:86
+msgid "Continue by approving the document."
+msgstr "Continue by approving the document."
+
+#: packages/email/template-components/template-document-completed.tsx:45
+msgid "Continue by downloading the document."
+msgstr "Continue by downloading the document."
+
+#: packages/email/template-components/template-document-invite.tsx:84
+msgid "Continue by signing the document."
+msgstr "Continue by signing the document."
+
+#: packages/email/template-components/template-document-invite.tsx:85
+msgid "Continue by viewing the document."
+msgstr "Continue by viewing the document."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:254
+msgid "Copied"
+msgstr "Copied"
+
#: packages/ui/components/document/document-share-button.tsx:46
+#: packages/ui/primitives/document-flow/add-subject.tsx:241
msgid "Copied to clipboard"
msgstr "Copied to clipboard"
+<<<<<<< HEAD
#: packages/ui/components/document/next-inbox-item-button.tsx:93
msgid "Created {0}"
msgstr "Created {0}"
+||||||| 7fc497a64
+=======
+#: packages/ui/primitives/document-flow/add-subject.tsx:249
+msgid "Copy"
+msgstr "Copy"
+
+#: packages/ui/components/document/document-share-button.tsx:194
+msgid "Copy Link"
+msgstr "Copy Link"
+
+#: packages/email/template-components/template-document-self-signed.tsx:46
+msgid "Create a <0>free account0> to access your signed documents at any time."
+msgstr "Create a <0>free account0> to access your signed documents at any time."
+
+#: packages/email/template-components/template-document-self-signed.tsx:68
+msgid "Create account"
+msgstr "Create account"
+
+>>>>>>> main
#: packages/ui/primitives/document-flow/add-signature.tsx:360
msgid "Custom Text"
msgstr "Custom Text"
-#: packages/ui/primitives/document-flow/add-fields.tsx:922
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:684
+#: packages/ui/primitives/document-flow/add-fields.tsx:927
+#: packages/ui/primitives/document-flow/types.ts:53
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
msgid "Date"
msgstr "Date"
-#: packages/ui/primitives/document-flow/add-settings.tsx:271
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:279
+#: packages/ui/primitives/document-flow/add-settings.tsx:313
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
msgid "Date Format"
msgstr "Date Format"
+#: packages/email/templates/team-invite.tsx:100
+msgid "Decline"
+msgstr "Decline"
+
+#: packages/email/templates/reset-password.tsx:71
+msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.0>"
+msgstr "Didn't request a password change? We are here to help you secure your account, just <0>contact us.0>"
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
msgid "Direct link receiver"
msgstr "Direct link receiver"
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
+msgid "Document \"{0}\" - Rejected by {1}"
+msgstr "Document \"{0}\" - Rejected by {1}"
+
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
+msgid "Document \"{0}\" - Rejection Confirmed"
+msgstr "Document \"{0}\" - Rejection Confirmed"
+
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
-#: packages/ui/primitives/document-flow/add-settings.tsx:174
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:151
+#: packages/ui/primitives/document-flow/add-settings.tsx:216
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
msgid "Document access"
msgstr "Document access"
+<<<<<<< HEAD
#: packages/ui/components/document/document-status.tsx:47
msgid "Document All"
msgstr "Document All"
@@ -256,10 +713,41 @@ msgstr "Document All"
msgid "Document completed"
msgstr "Document completed"
+||||||| 7fc497a64
+=======
+#: packages/lib/utils/document-audit-logs.ts:306
+msgid "Document access auth updated"
+msgstr "Document access auth updated"
+
+#: packages/lib/server-only/document/delete-document.ts:246
+#: packages/lib/server-only/document/super-delete-document.ts:98
+msgid "Document Cancelled"
+msgstr "Document Cancelled"
+
+#: packages/lib/utils/document-audit-logs.ts:369
+#: packages/lib/utils/document-audit-logs.ts:370
+msgid "Document completed"
+msgstr "Document completed"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:168
+msgid "Document completed email"
+msgstr "Document completed email"
+
+#: packages/lib/utils/document-audit-logs.ts:286
+msgid "Document created"
+msgstr "Document created"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:32
+#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
+msgid "Document created from direct template"
+msgstr "Document created from direct template"
+
+>>>>>>> main
#: packages/lib/constants/template.ts:20
msgid "Document Creation"
msgstr "Document Creation"
+<<<<<<< HEAD
#: packages/ui/components/document/document-status.tsx:35
msgid "Document draft"
msgstr "Document draft"
@@ -272,20 +760,92 @@ msgstr "Document inbox"
msgid "Document pending"
msgstr "Document pending"
+||||||| 7fc497a64
+=======
+#: packages/lib/utils/document-audit-logs.ts:290
+msgid "Document deleted"
+msgstr "Document deleted"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:207
+msgid "Document deleted email"
+msgstr "Document deleted email"
+
+#: packages/lib/server-only/document/send-delete-email.ts:82
+msgid "Document Deleted!"
+msgstr "Document Deleted!"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
+msgid "Document Distribution Method"
+msgstr "Document Distribution Method"
+
+#: packages/lib/utils/document-audit-logs.ts:326
+msgid "Document external ID updated"
+msgstr "Document external ID updated"
+
+#: packages/lib/utils/document-audit-logs.ts:334
+msgid "Document moved to team"
+msgstr "Document moved to team"
+
+#: packages/lib/utils/document-audit-logs.ts:318
+msgid "Document opened"
+msgstr "Document opened"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:128
+msgid "Document pending email"
+msgstr "Document pending email"
+
+#: packages/email/template-components/template-document-rejected.tsx:21
+msgid "Document Rejected"
+msgstr "Document Rejected"
+
+#~ msgid "Document Rejection Confirmed"
+#~ msgstr "Document Rejection Confirmed"
+
+#: packages/lib/utils/document-audit-logs.ts:330
+msgid "Document sent"
+msgstr "Document sent"
+
+#: packages/lib/utils/document-audit-logs.ts:310
+msgid "Document signing auth updated"
+msgstr "Document signing auth updated"
+
+#: packages/lib/utils/document-audit-logs.ts:322
+msgid "Document title updated"
+msgstr "Document title updated"
+
+#: packages/lib/utils/document-audit-logs.ts:314
+msgid "Document updated"
+msgstr "Document updated"
+
+#: packages/lib/utils/document-audit-logs.ts:302
+msgid "Document visibility updated"
+msgstr "Document visibility updated"
+
+#: packages/email/template-components/template-document-completed.tsx:57
+>>>>>>> main
#: packages/ui/components/document/document-download-button.tsx:68
msgid "Download"
msgstr "Download"
+<<<<<<< HEAD
#: packages/ui/components/document/document-status.tsx:34
msgid "Draft"
msgstr "Draft"
+||||||| 7fc497a64
+=======
+#: packages/lib/constants/document.ts:13
+msgid "Draft"
+msgstr "Draft"
+
+>>>>>>> main
#: packages/ui/primitives/document-dropzone.tsx:162
msgid "Drag & drop your PDF here."
msgstr "Drag & drop your PDF here."
-#: packages/ui/primitives/document-flow/add-fields.tsx:1052
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:814
+#: packages/ui/primitives/document-flow/add-fields.tsx:1058
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
msgid "Dropdown"
msgstr "Dropdown"
@@ -293,20 +853,35 @@ msgstr "Dropdown"
msgid "Dropdown options"
msgstr "Dropdown options"
-#: packages/ui/primitives/document-flow/add-fields.tsx:870
+#: 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/template-flow/add-template-fields.tsx:632
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
msgid "Email"
msgstr "Email"
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:184
+#: packages/ui/primitives/document-flow/add-signature.types.ts:7
+msgid "Email is required"
+msgstr "Email is required"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
msgid "Email Options"
msgstr "Email Options"
-#: packages/ui/primitives/document-flow/add-fields.tsx:1117
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email resent"
+msgstr "Email resent"
+
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email sent"
+msgstr "Email sent"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1123
msgid "Empty field"
msgstr "Empty field"
@@ -319,7 +894,7 @@ msgstr "Enable Direct Link Signing"
msgid "Enable signing order"
msgstr "Enable signing order"
-#: packages/ui/primitives/document-flow/add-fields.tsx:790
+#: packages/ui/primitives/document-flow/add-fields.tsx:795
msgid "Enable Typed Signatures"
msgstr "Enable Typed Signatures"
@@ -328,11 +903,12 @@ msgid "Enter password"
msgstr "Enter password"
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257
+#: packages/ui/primitives/pdf-viewer.tsx:166
msgid "Error"
msgstr "Error"
-#: packages/ui/primitives/document-flow/add-settings.tsx:241
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:249
+#: packages/ui/primitives/document-flow/add-settings.tsx:283
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
msgid "External ID"
msgstr "External ID"
@@ -365,6 +941,14 @@ msgstr "Field label"
msgid "Field placeholder"
msgstr "Field placeholder"
+#: packages/lib/utils/document-audit-logs.ts:294
+msgid "Field signed"
+msgstr "Field signed"
+
+#: packages/lib/utils/document-audit-logs.ts:298
+msgid "Field unsigned"
+msgstr "Field unsigned"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56
#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38
#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38
@@ -374,6 +958,22 @@ msgstr "Field placeholder"
msgid "Font Size"
msgstr "Font Size"
+#: packages/lib/server-only/auth/send-forgot-password.ts:61
+msgid "Forgot Password?"
+msgstr "Forgot Password?"
+
+#: packages/email/template-components/template-forgot-password.tsx:21
+msgid "Forgot your password?"
+msgstr "Forgot your password?"
+
+#: packages/ui/primitives/document-flow/types.ts:50
+msgid "Free Signature"
+msgstr "Free Signature"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:89
+msgid "Generate Links"
+msgstr "Generate Links"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
msgid "Global recipient action authentication"
msgstr "Global recipient action authentication"
@@ -386,19 +986,26 @@ msgstr "Go Back"
msgid "Green"
msgstr "Green"
-#: packages/lib/constants/recipient-roles.ts:72
+#~ msgid "Hello {recipientName},"
+#~ msgstr "Hello {recipientName},"
+
+#: packages/email/templates/reset-password.tsx:56
+msgid "Hi, {userName} <0>({userEmail})0>"
+msgstr "Hi, {userName} <0>({userEmail})0>"
+
+#: packages/lib/constants/recipient-roles.ts:44
msgid "I am a signer of this document"
msgstr "I am a signer of this document"
-#: packages/lib/constants/recipient-roles.ts:75
+#: packages/lib/constants/recipient-roles.ts:47
msgid "I am a viewer of this document"
msgstr "I am a viewer of this document"
-#: packages/lib/constants/recipient-roles.ts:73
+#: packages/lib/constants/recipient-roles.ts:45
msgid "I am an approver of this document"
msgstr "I am an approver of this document"
-#: packages/lib/constants/recipient-roles.ts:74
+#: packages/lib/constants/recipient-roles.ts:46
msgid "I am required to receive a copy of this document"
msgstr "I am required to receive a copy of this document"
@@ -411,12 +1018,43 @@ msgstr "Inbox"
msgid "Inherit authentication method"
msgstr "Inherit authentication method"
+#: packages/ui/primitives/document-flow/types.ts:51
+msgid "Initials"
+msgstr "Initials"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:17
+msgid "Invalid email"
+msgstr "Invalid email"
+
+#: packages/ui/primitives/document-flow/add-signature.types.ts:8
+msgid "Invalid email address"
+msgstr "Invalid email address"
+
+#: packages/email/templates/team-invite.tsx:72
+msgid "Join {teamName} on Documenso"
+msgstr "Join {teamName} on Documenso"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48
msgid "Label"
msgstr "Label"
+#: packages/ui/primitives/document-flow/add-settings.tsx:176
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
+msgid "Language"
+msgstr "Language"
+
+#: packages/email/templates/confirm-team-email.tsx:124
+#: packages/email/templates/team-transfer-request.tsx:87
+msgid "Link expires in 1 hour."
+msgstr "Link expires in 1 hour."
+
+#: packages/ui/primitives/lazy-pdf-viewer.tsx:15
+#: packages/ui/primitives/pdf-viewer.tsx:44
+msgid "Loading document..."
+msgstr "Loading document..."
+
#: packages/lib/constants/teams.ts:11
msgid "Manager"
msgstr "Manager"
@@ -429,8 +1067,8 @@ msgstr "Max"
msgid "Member"
msgstr "Member"
-#: packages/ui/primitives/document-flow/add-subject.tsx:95
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:215
+#: packages/ui/primitives/document-flow/add-subject.tsx:160
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
msgid "Message <0>(Optional)0>"
msgstr "Message <0>(Optional)0>"
@@ -438,11 +1076,12 @@ msgstr "Message <0>(Optional)0>"
msgid "Min"
msgstr "Min"
-#: packages/ui/primitives/document-flow/add-fields.tsx:896
+#: 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/template-flow/add-template-fields.tsx:658
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
msgid "Name"
@@ -460,13 +1099,17 @@ msgstr "Needs to sign"
msgid "Needs to view"
msgstr "Needs to view"
-#: packages/ui/primitives/document-flow/add-fields.tsx:680
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:497
+#: packages/ui/primitives/document-flow/add-fields.tsx:686
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
msgid "No recipient matching this description was found."
msgstr "No recipient matching this description was found."
-#: packages/ui/primitives/document-flow/add-fields.tsx:696
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:513
+#: packages/ui/primitives/document-flow/add-subject.tsx:215
+msgid "No recipients"
+msgstr "No recipients"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:701
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
msgid "No recipients with this role"
msgstr "No recipients with this role"
@@ -490,8 +1133,13 @@ msgstr "No signature field found"
msgid "No value found."
msgstr "No value found."
-#: packages/ui/primitives/document-flow/add-fields.tsx:974
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:736
+#: packages/lib/constants/document.ts:32
+msgid "None"
+msgstr "None"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:979
+#: packages/ui/primitives/document-flow/types.ts:56
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
msgid "Number"
msgstr "Number"
@@ -511,14 +1159,42 @@ msgstr "Once your template is set up, share the link anywhere you want. The pers
msgid "Page {0} of {1}"
msgstr "Page {0} of {1}"
+#: packages/ui/primitives/pdf-viewer.tsx:259
+msgid "Page {0} of {numPages}"
+msgstr "Page {0} of {numPages}"
+
#: packages/ui/primitives/document-password-dialog.tsx:62
msgid "Password Required"
msgstr "Password Required"
+<<<<<<< HEAD
#: packages/ui/components/document/document-status.tsx:22
msgid "Pending"
msgstr "Pending"
+||||||| 7fc497a64
+=======
+#: packages/email/templates/forgot-password.tsx:19
+msgid "Password Reset Requested"
+msgstr "Password Reset Requested"
+
+#: packages/email/templates/reset-password.tsx:20
+msgid "Password Reset Successful"
+msgstr "Password Reset Successful"
+
+#: packages/email/template-components/template-reset-password.tsx:22
+msgid "Password updated!"
+msgstr "Password updated!"
+
+#: packages/lib/constants/document.ts:16
+msgid "Pending"
+msgstr "Pending"
+
+#: packages/email/templates/document-pending.tsx:19
+msgid "Pending Document"
+msgstr "Pending Document"
+
+>>>>>>> main
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156
msgid "Pick a number"
msgstr "Pick a number"
@@ -529,8 +1205,40 @@ msgstr "Pick a number"
msgid "Placeholder"
msgstr "Placeholder"
-#: packages/ui/primitives/document-flow/add-fields.tsx:1000
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:762
+#: packages/email/template-components/template-document-invite.tsx:56
+msgid "Please {0} your document<0/>\"{documentName}\""
+msgstr "Please {0} your document<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:50
+msgid "Please {action} your document {documentName}"
+msgstr "Please {action} your document {documentName}"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
+msgid "Please {recipientActionVerb} this document"
+msgstr "Please {recipientActionVerb} this document"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
+msgid "Please {recipientActionVerb} this document created by your direct template"
+msgstr "Please {recipientActionVerb} this document created by your direct template"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
+msgid "Please {recipientActionVerb} your document"
+msgstr "Please {recipientActionVerb} your document"
+
+#: packages/lib/server-only/auth/send-confirmation-email.ts:67
+msgid "Please confirm your email"
+msgstr "Please confirm your email"
+
+#: packages/email/templates/confirm-email.tsx:17
+msgid "Please confirm your email address"
+msgstr "Please confirm your email address"
+
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
+msgid "Please try again or contact our support."
+msgstr "Please try again or contact our support."
+
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
msgid "Radio"
msgstr "Radio"
@@ -546,26 +1254,71 @@ msgstr "Radio values"
msgid "Read only"
msgstr "Read only"
+#: packages/email/template-components/template-document-rejected.tsx:32
+msgid "Reason for rejection: {rejectionReason}"
+msgstr "Reason for rejection: {rejectionReason}"
+
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
msgstr "Receives copy"
+#: packages/lib/utils/document-audit-logs.ts:338
+#: packages/lib/utils/document-audit-logs.ts:353
+msgid "Recipient"
+msgstr "Recipient"
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
-#: packages/ui/primitives/document-flow/add-settings.tsx:215
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:169
+#: packages/ui/primitives/document-flow/add-settings.tsx:257
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
msgid "Recipient action authentication"
msgstr "Recipient action authentication"
+#: packages/ui/components/document/document-email-checkboxes.tsx:89
+msgid "Recipient removed email"
+msgstr "Recipient removed email"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:50
+msgid "Recipient signing request email"
+msgstr "Recipient signing request email"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr "Red"
-#: packages/ui/primitives/document-flow/add-settings.tsx:329
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:332
+#: packages/ui/primitives/document-flow/add-settings.tsx:371
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
msgid "Redirect URL"
msgstr "Redirect URL"
-#: packages/ui/primitives/document-flow/add-fields.tsx:1104
+#: packages/email/template-components/template-document-invite.tsx:96
+msgid "Reject Document"
+msgstr "Reject Document"
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
+msgid "Rejection Confirmed"
+msgstr "Rejection Confirmed"
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
+msgid "Rejection reason: {reason}"
+msgstr "Rejection reason: {reason}"
+
+#: packages/lib/server-only/document/resend-document.tsx:192
+msgid "Reminder: {0}"
+msgstr "Reminder: {0}"
+
+#: packages/lib/server-only/document/resend-document.tsx:132
+msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
+msgstr "Reminder: {0} invited you to {recipientActionVerb} a document"
+
+#: packages/lib/server-only/document/resend-document.tsx:121
+msgid "Reminder: Please {recipientActionVerb} this document"
+msgstr "Reminder: Please {recipientActionVerb} this document"
+
+#: packages/lib/server-only/document/resend-document.tsx:127
+msgid "Reminder: Please {recipientActionVerb} your document"
+msgstr "Reminder: Please {recipientActionVerb} your document"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1110
msgid "Remove"
msgstr "Remove"
@@ -577,6 +1330,18 @@ msgstr "Remove"
msgid "Required field"
msgstr "Required field"
+#: packages/ui/primitives/document-flow/add-subject.tsx:84
+msgid "Resend"
+msgstr "Resend"
+
+#: packages/email/template-components/template-forgot-password.tsx:33
+msgid "Reset Password"
+msgstr "Reset Password"
+
+#: packages/ui/components/document/document-share-button.tsx:147
+msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!"
+msgstr "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!"
+
#: packages/ui/primitives/data-table-pagination.tsx:55
msgid "Rows per page"
msgstr "Rows per page"
@@ -585,7 +1350,7 @@ msgstr "Rows per page"
msgid "Save"
msgstr "Save"
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:848
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
msgid "Save Template"
msgstr "Save Template"
@@ -609,7 +1374,8 @@ msgstr "Select at least"
msgid "Select default option"
msgstr "Select default option"
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:82
+#: packages/ui/primitives/document-flow/add-subject.tsx:85
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
msgid "Send"
@@ -619,6 +1385,30 @@ msgstr "Send"
msgid "Send Document"
msgstr "Send Document"
+#: packages/ui/components/document/document-email-checkboxes.tsx:158
+msgid "Send document completed email"
+msgstr "Send document completed email"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:197
+msgid "Send document deleted email"
+msgstr "Send document deleted email"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:118
+msgid "Send document pending email"
+msgstr "Send document pending email"
+
+#: packages/email/templates/confirm-team-email.tsx:101
+msgid "Send documents on behalf of the team using the email address"
+msgstr "Send documents on behalf of the team using the email address"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:79
+msgid "Send recipient removed email"
+msgstr "Send recipient removed email"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:40
+msgid "Send recipient signing request email"
+msgstr "Send recipient signing request email"
+
#: packages/ui/components/document/document-share-button.tsx:135
msgid "Share Signature Card"
msgstr "Share Signature Card"
@@ -627,39 +1417,81 @@ msgstr "Share Signature Card"
msgid "Share the Link"
msgstr "Share the Link"
-#: packages/ui/primitives/document-flow/add-signers.tsx:680
+#: packages/ui/components/document/document-share-button.tsx:143
+msgid "Share your signing experience!"
+msgstr "Share your signing experience!"
+
+#: 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 "Show advanced settings"
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:20
#: packages/ui/components/document/next-inbox-item-button.tsx:107
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:20
+=======
+#: packages/lib/constants/recipient-roles.ts:22
+>>>>>>> main
msgid "Sign"
msgstr "Sign"
+<<<<<<< HEAD
#: packages/ui/components/document/next-inbox-item-button.tsx:70
msgid "Sign Next Document"
msgstr "Sign Next Document"
#: packages/ui/primitives/document-flow/add-fields.tsx:818
+||||||| 7fc497a64
+#: packages/ui/primitives/document-flow/add-fields.tsx:818
+=======
+#: packages/email/template-components/template-document-invite.tsx:104
+msgid "Sign Document"
+msgstr "Sign Document"
+
+#: packages/email/template-components/template-reset-password.tsx:34
+msgid "Sign In"
+msgstr "Sign In"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:823
+>>>>>>> main
#: packages/ui/primitives/document-flow/add-signature.tsx:323
#: packages/ui/primitives/document-flow/field-icon.tsx:52
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:580
+#: packages/ui/primitives/document-flow/types.ts:49
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
msgid "Signature"
msgstr "Signature"
-#: packages/lib/constants/recipient-roles.ts:21
+#: packages/lib/constants/recipient-roles.ts:23
msgid "Signed"
msgstr "Signed"
-#: packages/lib/constants/recipient-roles.ts:23
+#: packages/lib/constants/recipient-roles.ts:25
msgid "Signer"
msgstr "Signer"
-#: packages/lib/constants/recipient-roles.ts:22
+#: packages/lib/constants/recipient-roles.ts:26
+msgid "Signers"
+msgstr "Signers"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:36
+msgid "Signers must have unique emails"
+msgstr "Signers must have unique emails"
+
+#: packages/lib/constants/recipient-roles.ts:24
msgid "Signing"
msgstr "Signing"
+#: packages/lib/server-only/document/send-completed-email.ts:114
+#: packages/lib/server-only/document/send-completed-email.ts:194
+msgid "Signing Complete!"
+msgstr "Signing Complete!"
+
+#: packages/lib/constants/recipient-roles.ts:66
+#~ msgid "SIGNING_REQUEST"
+#~ msgstr "SIGNING_REQUEST"
+
#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34
msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding."
msgstr "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding."
@@ -668,6 +1500,11 @@ msgstr "Some signers have not been assigned a signature field. Please assign at
msgid "Something went wrong"
msgstr "Something went wrong"
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
+msgid "Something went wrong while loading the document."
+msgstr "Something went wrong while loading the document."
+
#: packages/ui/primitives/data-table.tsx:136
msgid "Something went wrong."
msgstr "Something went wrong."
@@ -676,8 +1513,8 @@ msgstr "Something went wrong."
msgid "Step <0>{step} of {maxStep}0>"
msgstr "Step <0>{step} of {maxStep}0>"
-#: packages/ui/primitives/document-flow/add-subject.tsx:78
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:195
+#: packages/ui/primitives/document-flow/add-subject.tsx:143
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
msgid "Subject <0>(Optional)0>"
msgstr "Subject <0>(Optional)0>"
@@ -685,15 +1522,36 @@ msgstr "Subject <0>(Optional)0>"
msgid "Submit"
msgstr "Submit"
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:134
+#: packages/lib/server-only/team/delete-team.ts:124
+msgid "Team \"{0}\" has been deleted on Documenso"
+msgstr "Team \"{0}\" has been deleted on Documenso"
+
+#: packages/lib/server-only/team/delete-team-email.ts:104
+msgid "Team email has been revoked for {0}"
+msgstr "Team email has been revoked for {0}"
+
+#: packages/email/templates/team-email-removed.tsx:59
+msgid "Team email removed"
+msgstr "Team email removed"
+
+#: packages/email/templates/team-email-removed.tsx:29
+msgid "Team email removed for {teamName} on Documenso"
+msgstr "Team email removed for {teamName} on Documenso"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
msgid "Template title"
msgstr "Template title"
-#: packages/ui/primitives/document-flow/add-fields.tsx:948
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:710
+#: packages/ui/primitives/document-flow/add-fields.tsx:953
+#: packages/ui/primitives/document-flow/types.ts:52
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
msgid "Text"
msgstr "Text"
+#: packages/email/template-components/template-forgot-password.tsx:25
+msgid "That's okay, it happens! Click the button below to reset your password."
+msgstr "That's okay, it happens! Click the button below to reset your password."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:44
msgid "The authentication required for recipients to sign fields"
msgstr "The authentication required for recipients to sign fields"
@@ -706,14 +1564,33 @@ msgstr "The authentication required for recipients to sign the signature field."
msgid "The authentication required for recipients to view the document."
msgstr "The authentication required for recipients to view the 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 "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."
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
msgstr "The document's name"
+#: packages/email/templates/team-delete.tsx:37
+msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
+msgstr "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
+
+#: packages/email/templates/team-delete.tsx:36
+msgid "The following team has been deleted by you"
+msgstr "The following team has been deleted by you"
+
#: packages/ui/primitives/document-password-dialog.tsx:52
msgid "The password you have entered is incorrect. Please try again."
msgstr "The password you have entered is incorrect. Please try again."
+#: packages/email/template-components/template-document-super-delete.tsx:38
+msgid "The reason provided for deletion is the following:"
+msgstr "The reason provided for deletion is the following:"
+
#: packages/ui/components/recipient/recipient-role-select.tsx:103
msgid "The recipient is not required to take any action and receives a copy of the document after it is completed."
msgstr "The recipient is not required to take any action and receives a copy of the document after it is completed."
@@ -746,11 +1623,23 @@ msgstr "The signer's email"
msgid "The signer's name"
msgstr "The signer's name"
+#: packages/ui/primitives/document-flow/add-subject.tsx:243
+msgid "The signing link has been copied to your clipboard."
+msgstr "The signing link has been copied to your clipboard."
+
+#: packages/email/templates/team-email-removed.tsx:63
+msgid "The team email <0>{teamEmail}0> has been removed from the following team"
+msgstr "The team email <0>{teamEmail}0> has been removed from the following team"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:72
msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step."
msgstr "This can be overriden by setting the authentication requirements directly on each recipient in the next step."
-#: packages/ui/primitives/document-flow/add-fields.tsx:752
+#: packages/email/template-components/template-document-super-delete.tsx:31
+msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
+msgstr "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:757
msgid "This document has already been sent to this recipient. You can no longer edit this recipient."
msgstr "This document has already been sent to this recipient. You can no longer edit this recipient."
@@ -758,11 +1647,38 @@ msgstr "This document has already been sent to this recipient. You can no longer
msgid "This document is password protected. Please enter the password to view the document."
msgstr "This document is password protected. Please enter the password to view the document."
+#: packages/email/template-components/template-footer.tsx:17
+msgid "This document was sent using <0>Documenso.0>"
+msgstr "This document was sent using <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 "This email confirms that you have rejected the document <0>\"{documentName}\"0> sent by {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 "This email is sent to the recipient if they are removed from a pending document."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:55
+msgid "This email is sent to the recipient requesting them to sign the document."
+msgstr "This email is sent to the recipient requesting them to sign the document."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:133
+msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
+msgstr "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
msgstr "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
-#: packages/ui/primitives/document-flow/add-fields.tsx:1084
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
+msgid "This is how the document will reach the recipients once the document is ready for signing."
+msgstr "This is how the document will reach the recipients once the document is ready for signing."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1090
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
msgstr "This recipient can no longer be modified as they have signed a field, or completed the document."
@@ -770,25 +1686,33 @@ msgstr "This recipient can no longer be modified as they have signed a field, or
msgid "This signer has already signed the document."
msgstr "This signer has already signed the document."
+#: packages/ui/components/document/document-email-checkboxes.tsx:212
+msgid "This will be sent to all recipients if a pending document has been deleted."
+msgstr "This will be sent to all recipients if a pending document has been deleted."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:173
+msgid "This will be sent to all recipients once the document has been fully completed."
+msgstr "This will be sent to all recipients once the document has been fully completed."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
msgid "This will override any global settings."
msgstr "This will override any global settings."
-#: packages/ui/primitives/document-flow/add-settings.tsx:305
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:309
+#: packages/ui/primitives/document-flow/add-settings.tsx:347
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
msgid "Time Zone"
msgstr "Time Zone"
-#: packages/ui/primitives/document-flow/add-settings.tsx:153
+#: packages/ui/primitives/document-flow/add-settings.tsx:155
msgid "Title"
msgstr "Title"
-#: packages/ui/primitives/document-flow/add-fields.tsx:1067
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:828
+#: packages/ui/primitives/document-flow/add-fields.tsx:1073
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
msgid "To proceed further, please set at least one value for the {0} field."
msgstr "To proceed further, please set at least one value for the {0} field."
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:86
msgid "Update"
msgstr "Update"
@@ -814,35 +1738,165 @@ msgstr "Validation"
msgid "Value"
msgstr "Value"
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:26
#: packages/ui/components/document/next-inbox-item-button.tsx:119
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:26
+=======
+#: packages/email/templates/confirm-team-email.tsx:71
+msgid "Verify your team email address"
+msgstr "Verify your team email address"
+
+#: packages/lib/constants/recipient-roles.ts:29
+>>>>>>> main
msgid "View"
msgstr "View"
-#: packages/lib/constants/recipient-roles.ts:27
+#: packages/email/templates/confirm-team-email.tsx:95
+msgid "View all documents sent to and from this email address"
+msgstr "View all documents sent to and from this email address"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:75
+msgid "View document"
+msgstr "View document"
+
+#: 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"
+msgstr "View Document"
+
+#: packages/email/template-components/template-document-self-signed.tsx:79
+msgid "View plans"
+msgstr "View plans"
+
+#: packages/lib/constants/recipient-roles.ts:67
+#~ msgid "VIEW_REQUEST"
+#~ msgstr "VIEW_REQUEST"
+
+#: packages/lib/constants/recipient-roles.ts:30
msgid "Viewed"
msgstr "Viewed"
-#: packages/lib/constants/recipient-roles.ts:29
+#: packages/lib/constants/recipient-roles.ts:32
msgid "Viewer"
msgstr "Viewer"
-#: packages/lib/constants/recipient-roles.ts:28
+#: packages/lib/constants/recipient-roles.ts:33
+msgid "Viewers"
+msgstr "Viewers"
+
+#: packages/lib/constants/recipient-roles.ts:31
msgid "Viewing"
msgstr "Viewing"
+#: packages/email/template-components/template-document-pending.tsx:31
+msgid "Waiting for others"
+msgstr "Waiting for others"
+
+#: packages/lib/server-only/document/send-pending-email.ts:96
+msgid "Waiting for others to complete signing."
+msgstr "Waiting for others to complete signing."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:205
+msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
+msgstr "We will generate signing links for with you, which you can send to the recipients through your method of choice."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:201
+msgid "We won't send anything to notify recipients."
+msgstr "We won't send anything to notify recipients."
+
+#: packages/email/template-components/template-document-pending.tsx:41
+msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
+msgstr "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
+
+#: packages/email/templates/reset-password.tsx:65
+msgid "We've changed your password as you asked. You can now sign in with your new password."
+msgstr "We've changed your password as you asked. You can now sign in with your new password."
+
+#: packages/email/template-components/template-confirmation-email.tsx:21
+msgid "Welcome to Documenso!"
+msgstr "Welcome to Documenso!"
+
+#: packages/lib/utils/document-audit-logs.ts:258
+msgid "You"
+msgstr "You"
+
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44
msgid "You are about to send this document to the recipients. Are you sure you want to continue?"
msgstr "You are about to send this document to the recipients. Are you sure you want to continue?"
+#: packages/email/template-components/template-confirmation-email.tsx:38
+msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
+msgstr "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
+
+#: packages/email/templates/confirm-team-email.tsx:106
+msgid "You can revoke access at any time in your team settings on Documenso <0>here.0>"
+msgstr "You can revoke access at any time in your team settings on Documenso <0>here.0>"
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
msgid "You can use the following variables in your message:"
msgstr "You can use the following variables in your 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 "You can view the document and its status by clicking the button below."
+
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
msgstr "You cannot upload documents at this time."
+#: packages/email/template-components/template-document-cancel.tsx:35
+msgid "You don't need to sign it anymore."
+msgstr "You don't need to sign it anymore."
+
+#: packages/lib/server-only/team/create-team-member-invites.ts:186
+msgid "You have been invited to join {0} on Documenso"
+msgstr "You have been invited to join {0} on Documenso"
+
+#: packages/email/templates/team-invite.tsx:76
+msgid "You have been invited to join the following team"
+msgstr "You have been invited to join the following team"
+
+#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
+msgid "You have been removed from a document"
+msgstr "You have been removed from a document"
+
+#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114
+msgid "You have been requested to take ownership of team {0} on Documenso"
+msgstr "You have been requested to take ownership of team {0} on Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
+#: packages/lib/server-only/document/resend-document.tsx:125
+msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
+msgstr "You have initiated the document {0} that requires you to {recipientActionVerb} it."
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "You have reached your document limit."
msgstr "You have reached your document limit."
+
+#: packages/email/templates/document-rejection-confirmed.tsx:27
+msgid "You have rejected the document '{documentName}'"
+msgstr "You have rejected the 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}”"
+msgstr "You have signed “{documentName}”"
+
+#: packages/email/template-components/template-document-super-delete.tsx:23
+msgid "Your document has been deleted by an admin!"
+msgstr "Your document has been deleted by an admin!"
+
+#: packages/email/template-components/template-reset-password.tsx:26
+msgid "Your password has been updated."
+msgstr "Your password has been updated."
+
+#: packages/email/templates/team-delete.tsx:28
+#: packages/email/templates/team-delete.tsx:32
+msgid "Your team has been deleted"
+msgstr "Your team has been deleted"
diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po
index 0755c3b8f..b12ffdc19 100644
--- a/packages/lib/translations/en/web.po
+++ b/packages/lib/translations/en/web.po
@@ -13,6 +13,10 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
+msgid "\"{0}\" has invited you to sign \"example document\"."
+msgstr "\"{0}\" has invited you to sign \"example document\"."
+
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
msgstr "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
@@ -21,15 +25,35 @@ msgstr "\"{0}\" will appear on the document as it has a timezone of \"{timezone}
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr "\"{documentTitle}\" has been successfully deleted"
-#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
+msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
+msgstr "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example 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\n"
+#~ "document\"."
+#~ 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 "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
+msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
+msgstr "\"{teamUrl}\" has invited you to sign \"example document\"."
+
+#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:79
msgid "({0}) has invited you to approve this document"
msgstr "({0}) has invited you to approve this document"
-#: 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}) has invited you to sign this document"
-#: 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}) has invited you to view this document"
@@ -59,7 +83,7 @@ msgstr "{0, plural, one {<0>You have <1>11> pending team invitation0>} other
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
msgstr "{0, plural, one {1 Recipient} other {# Recipients}}"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
msgstr "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
@@ -72,20 +96,20 @@ msgid "{0} direct signing templates"
msgstr "{0} direct signing templates"
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:66
-msgid "{0} document"
-msgstr "{0} document"
+#~ msgid "{0} document"
+#~ msgstr "{0} document"
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:146
msgid "{0} of {1} documents remaining this month."
msgstr "{0} of {1} documents remaining this month."
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
msgid "{0} Recipient(s)"
msgstr "{0} Recipient(s)"
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
-msgid "{0} the document to complete the process."
-msgstr "{0} the document to complete the process."
+#~ msgid "{0} the document to complete the process."
+#~ msgstr "{0} the document to complete the process."
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
@@ -99,6 +123,14 @@ msgstr "{formattedTeamMemberQuanity} • Monthly • Renews: {formattedDate}"
msgid "{numberOfSeats, plural, one {# member} other {# members}}"
msgstr "{numberOfSeats, plural, one {# member} other {# members}}"
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+msgid "{recipientActionVerb} document"
+msgstr "{recipientActionVerb} document"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
+msgid "{recipientActionVerb} the document to complete the process."
+msgstr "{recipientActionVerb} the document to complete the process."
+
#: apps/web/src/components/forms/public-profile-form.tsx:231
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}"
@@ -112,6 +144,18 @@ msgstr "<0>\"{0}\"0>is no longer available to sign"
msgid "<0>Sender:0> All"
msgstr "<0>Sender:0> All"
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
+msgid "1 month"
+msgstr "1 month"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8
+msgid "12 months"
+msgstr "12 months"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6
+msgid "3 months"
+msgstr "3 months"
+
#: apps/web/src/components/partials/not-found.tsx:45
msgid "404 Page not found"
msgstr "404 Page not found"
@@ -128,14 +172,30 @@ msgstr "404 Team not found"
msgid "404 Template not found"
msgstr "404 Template not found"
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7
+msgid "6 months"
+msgstr "6 months"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4
+msgid "7 days"
+msgstr "7 days"
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:55
msgid "A confirmation email has been sent, and it should arrive in your inbox shortly."
msgstr "A confirmation email has been sent, and it should arrive in your inbox shortly."
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70
+msgid "A device capable of accessing, opening, and reading documents"
+msgstr "A device capable of accessing, opening, and reading documents"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
msgid "A draft document will be created"
msgstr "A draft document will be created"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73
+msgid "A means to print or download documents for your records"
+msgstr "A means to print or download documents for your records"
+
#: apps/web/src/components/forms/token.tsx:127
msgid "A new token was created successfully."
msgstr "A new token was created successfully."
@@ -158,12 +218,16 @@ msgstr "A secret that will be sent to your URL so you can verify that the reques
msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso."
msgstr "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso."
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64
+msgid "A stable internet connection"
+msgstr "A stable internet connection"
+
#: apps/web/src/components/forms/public-profile-form.tsx:198
msgid "A unique URL to access your profile"
msgstr "A unique URL to access your profile"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:139
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
msgid "A unique URL to identify your team"
msgstr "A unique URL to identify your team"
@@ -175,24 +239,42 @@ msgstr "A verification email will be sent to the provided email."
msgid "Accept"
msgstr "Accept"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33
+msgid "Acceptance and Consent"
+msgstr "Acceptance and Consent"
+
#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26
msgid "Accepted team invitation"
msgstr "Accepted team invitation"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:128
+msgid "Account Authentication"
+msgstr "Account Authentication"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:48
msgid "Account deleted"
msgstr "Account deleted"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:119
+msgid "Account Re-Authentication"
+msgstr "Account Re-Authentication"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139
+msgid "Acknowledgment"
+msgstr "Acknowledgment"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
msgid "Action"
msgstr "Action"
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:85
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142
@@ -201,7 +283,7 @@ msgstr "Action"
msgid "Actions"
msgstr "Actions"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
msgid "Active"
@@ -215,12 +297,12 @@ msgstr "Active Subscriptions"
msgid "Add"
msgstr "Add"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
msgid "Add all relevant fields for each recipient."
msgstr "Add all relevant fields for each recipient."
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83
msgid "Add all relevant placeholders for each recipient."
msgstr "Add all relevant placeholders for each recipient."
@@ -236,8 +318,8 @@ msgstr "Add an authenticator to serve as a secondary authentication method when
msgid "Add email"
msgstr "Add email"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
msgid "Add Fields"
msgstr "Add Fields"
@@ -250,38 +332,42 @@ msgstr "Add more"
msgid "Add passkey"
msgstr "Add passkey"
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82
msgid "Add Placeholders"
msgstr "Add Placeholders"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
msgid "Add Signers"
msgstr "Add Signers"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179
-msgid "Add Subject"
-msgstr "Add Subject"
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+#~ msgid "Add Subject"
+#~ msgstr "Add Subject"
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
msgid "Add team email"
msgstr "Add team email"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
msgid "Add the people who will sign the document."
msgstr "Add the people who will sign the document."
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
msgid "Add the recipients to create the document with"
msgstr "Add the recipients to create the document with"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
-msgid "Add the subject and message you wish to send to signers."
-msgstr "Add the subject and message you wish to send to signers."
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+#~ msgid "Add the subject and message you wish to send to signers."
+#~ msgstr "Add the subject and message you wish to send to signers."
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
msgid "Adding and removing seats will adjust your invoice accordingly."
msgstr "Adding and removing seats will adjust your invoice accordingly."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
+msgid "Additional brand information to display at the bottom of emails"
+msgstr "Additional brand information to display at the bottom of emails"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
msgid "Admin Actions"
msgstr "Admin Actions"
@@ -290,6 +376,10 @@ msgstr "Admin Actions"
msgid "Admin panel"
msgstr "Admin panel"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129
+msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time."
+msgstr "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time."
+
#: apps/web/src/components/formatter/document-status.tsx:46
msgid "All"
msgstr "All"
@@ -302,6 +392,10 @@ msgstr "All documents"
msgid "All documents have been processed. Any new documents that are sent or received will show here."
msgstr "All documents have been processed. Any new documents that are sent or received will show here."
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81
+msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails."
+msgstr "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails."
+
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
msgid "All inserted signatures will be voided"
msgstr "All inserted signatures will be voided"
@@ -310,6 +404,10 @@ msgstr "All inserted signatures will be voided"
msgid "All recipients will be notified"
msgstr "All recipients will be notified"
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
+msgid "All signing links have been copied to your clipboard."
+msgstr "All signing links have been copied to your clipboard."
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
msgid "All templates"
msgstr "All templates"
@@ -330,6 +428,14 @@ msgstr "Already have an account? <0>Sign in instead0>"
msgid "Amount"
msgstr "Amount"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48
+msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper."
+msgstr "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67
+msgid "An email account"
+msgstr "An email account"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262
msgid "An email containing an invitation will be sent to each member."
msgstr "An email containing an invitation will be sent to each member."
@@ -353,17 +459,17 @@ msgstr "An email requesting the transfer of this team has been sent."
msgid "An error occurred"
msgstr "An error occurred"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
msgid "An error occurred while adding signers."
msgstr "An error occurred while adding signers."
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
msgid "An error occurred while adding the fields."
msgstr "An error occurred while adding the fields."
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
msgid "An error occurred while creating document from template."
msgstr "An error occurred while creating document from template."
@@ -376,9 +482,9 @@ msgid "An error occurred while disabling direct link signing."
msgstr "An error occurred while disabling direct link signing."
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:64
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:89
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:92
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:105
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:107
msgid "An error occurred while downloading your document."
msgstr "An error occurred while downloading your document."
@@ -402,6 +508,10 @@ msgstr "An error occurred while moving the document."
msgid "An error occurred while moving the template."
msgstr "An error occurred while moving the template."
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116
+msgid "An error occurred while removing the field."
+msgstr "An error occurred while removing the field."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137
@@ -417,7 +527,7 @@ msgstr "An error occurred while removing the signature."
msgid "An error occurred while removing the text."
msgstr "An error occurred while removing the text."
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
msgid "An error occurred while sending the document."
msgstr "An error occurred while sending the document."
@@ -429,6 +539,7 @@ msgstr "An error occurred while sending your confirmation email"
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150
#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102
@@ -441,11 +552,15 @@ msgstr "An error occurred while signing the document."
msgid "An error occurred while trying to create a checkout session."
msgstr "An error occurred while trying to create a checkout session."
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
msgid "An error occurred while updating the document settings."
msgstr "An error occurred while updating the document settings."
+#: apps/web/src/components/forms/team-document-settings.tsx:78
+#~ msgid "An error occurred while updating the global team settings."
+#~ msgstr "An error occurred while updating the global team settings."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
msgid "An error occurred while updating the signature."
msgstr "An error occurred while updating the signature."
@@ -476,7 +591,7 @@ msgstr "An error occurred while uploading your document."
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:94
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
#: apps/web/src/components/forms/avatar-image.tsx:94
#: apps/web/src/components/forms/avatar-image.tsx:122
#: apps/web/src/components/forms/password.tsx:84
@@ -505,13 +620,21 @@ msgstr "An unknown error occurred"
msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information."
msgstr "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information."
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225
+msgid "Any Source"
+msgstr "Any Source"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205
+msgid "Any Status"
+msgstr "Any Status"
+
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
msgid "API Tokens"
msgstr "API Tokens"
@@ -521,12 +644,16 @@ msgstr "App Version"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
msgid "Approve"
msgstr "Approve"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129
+msgid "Approve Document"
+msgstr "Approve Document"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
msgid "Approved"
msgstr "Approved"
@@ -534,6 +661,10 @@ msgstr "Approved"
msgid "Are you sure you want to delete this token?"
msgstr "Are you sure you want to delete this 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 "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."
msgstr "Are you sure you want to remove the <0>{passkeyName}0> passkey."
@@ -556,10 +687,14 @@ msgstr "Are you sure?"
msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document."
msgstr "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document."
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:127
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:130
msgid "Audit Log"
msgstr "Audit Log"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:198
+msgid "Authentication Level"
+msgstr "Authentication Level"
+
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:41
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:52
msgid "Authentication required"
@@ -573,7 +708,7 @@ msgstr "Avatar"
msgid "Avatar Updated"
msgstr "Avatar Updated"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
msgid "Awaiting email confirmation"
msgstr "Awaiting email confirmation"
@@ -583,7 +718,7 @@ msgstr "Awaiting email confirmation"
msgid "Back"
msgstr "Back"
-#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164
msgid "Back to Documents"
msgstr "Back to Documents"
@@ -612,15 +747,28 @@ msgstr "Basic details"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
msgid "Billing"
msgstr "Billing"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
+msgid "Branding Preferences"
+msgstr "Branding Preferences"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
+msgid "Branding preferences updated"
+msgstr "Branding preferences updated"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
msgid "Browser"
msgstr "Browser"
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
+msgid "Bulk Copy"
+msgstr "Bulk Copy"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
msgid "Bulk Import"
msgstr "Bulk Import"
@@ -633,9 +781,22 @@ msgstr "By deleting this document, the following will occur:"
msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in."
msgstr "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in."
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142
+msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein."
+msgstr "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein."
+
+#: apps/web/src/components/general/signing-disclosure.tsx:14
+msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions."
+msgstr "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92
+msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing."
+msgstr "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing."
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198
@@ -649,8 +810,10 @@ msgstr "By enabling 2FA, you will be required to enter a code from your authenti
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
+#: 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
@@ -683,6 +846,10 @@ msgstr "Cancelled by user"
msgid "Charts"
msgstr "Charts"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
+#~ msgid "Check out the documentaton for the <0>global team settings0>."
+#~ msgstr "Check out the documentaton for the <0>global team settings0>."
+
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
msgid "Checkout"
msgstr "Checkout"
@@ -695,6 +862,10 @@ msgstr "Choose an existing recipient from below to continue"
msgid "Choose Direct Link Recipient"
msgstr "Choose Direct Link Recipient"
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
+msgid "Choose how the document will reach recipients"
+msgstr "Choose how the document will reach recipients"
+
#: apps/web/src/components/forms/token.tsx:200
msgid "Choose..."
msgstr "Choose..."
@@ -721,6 +892,7 @@ msgstr "Click here to get started"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68
#: apps/web/src/components/document/document-history-sheet.tsx:133
msgid "Click here to retry"
msgstr "Click here to retry"
@@ -736,16 +908,17 @@ msgstr "Click to copy signing link for sending to recipient"
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:115
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
msgid "Click to insert field"
msgstr "Click to insert field"
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:140
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:180
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:102
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:319
@@ -754,8 +927,8 @@ msgid "Close"
msgstr "Close"
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
#: apps/web/src/components/forms/v2/signup.tsx:534
msgid "Complete"
msgstr "Complete"
@@ -772,7 +945,8 @@ msgstr "Complete Signing"
msgid "Complete Viewing"
msgstr "Complete Viewing"
-#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
+#: 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:77
#: apps/web/src/components/formatter/document-status.tsx:28
msgid "Completed"
msgstr "Completed"
@@ -785,11 +959,11 @@ msgstr "Completed documents"
msgid "Completed Documents"
msgstr "Completed Documents"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
msgid "Configure general settings for the document."
msgstr "Configure general settings for the document."
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78
msgid "Configure general settings for the template."
msgstr "Configure general settings for the template."
@@ -827,6 +1001,14 @@ msgstr "Confirm email"
msgid "Confirmation email sent"
msgstr "Confirmation email sent"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89
+msgid "Consent to Electronic Transactions"
+msgstr "Consent to Electronic Transactions"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151
+msgid "Contact Information"
+msgstr "Contact Information"
+
#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189
msgid "Content"
msgstr "Content"
@@ -845,14 +1027,37 @@ msgstr "Continue"
msgid "Continue to login"
msgstr "Continue to login"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
+msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
+msgstr "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
+msgid "Controls the default visibility of an uploaded document."
+msgstr "Controls the default visibility of an uploaded document."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
+msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
+msgstr "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
+msgid "Copied"
+msgstr "Copied"
+
+#: 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
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:40
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:61
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:117
#: apps/web/src/components/forms/public-profile-form.tsx:117
msgid "Copied to clipboard"
msgstr "Copied to clipboard"
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
+msgid "Copy"
+msgstr "Copy"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
msgid "Copy sharable link"
msgstr "Copy sharable link"
@@ -861,6 +1066,10 @@ msgstr "Copy sharable link"
msgid "Copy Shareable Link"
msgstr "Copy Shareable Link"
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
+msgid "Copy Signing Links"
+msgstr "Copy Signing Links"
+
#: apps/web/src/components/forms/token.tsx:288
msgid "Copy token"
msgstr "Copy token"
@@ -883,15 +1092,19 @@ msgstr "Create a team to collaborate with your team members."
msgid "Create account"
msgstr "Create account"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
msgid "Create and send"
msgstr "Create and send"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
msgid "Create as draft"
msgstr "Create as draft"
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
+msgid "Create as pending"
+msgstr "Create as pending"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
msgid "Create Direct Link"
msgstr "Create Direct Link"
@@ -899,7 +1112,7 @@ msgstr "Create Direct Link"
msgid "Create Direct Signing Link"
msgstr "Create Direct Signing Link"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
msgid "Create document from template"
msgstr "Create document from template"
@@ -911,6 +1124,10 @@ msgstr "Create now"
msgid "Create one automatically"
msgstr "Create one automatically"
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
+msgid "Create signing links"
+msgstr "Create signing links"
+
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
@@ -922,6 +1139,10 @@ msgstr "Create team"
msgid "Create Team"
msgstr "Create Team"
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
+msgid "Create the document as pending and ready to sign."
+msgstr "Create the document as pending and ready to sign."
+
#: apps/web/src/components/forms/token.tsx:250
#: apps/web/src/components/forms/token.tsx:259
msgid "Create token"
@@ -947,12 +1168,15 @@ msgstr "Create your account and start using state-of-the-art document signing. O
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:274
msgid "Created"
msgstr "Created"
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:35
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:111
msgid "Created At"
msgstr "Created At"
@@ -967,14 +1191,11 @@ msgstr "Created on"
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93
msgid "Created on {0}"
msgstr "Created on {0}"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
-msgid "Created on{0}"
-msgstr "Created on{0}"
-
#: apps/web/src/components/forms/password.tsx:107
msgid "Current Password"
msgstr "Current Password"
@@ -1008,16 +1229,29 @@ msgstr "Decline"
msgid "Declined team invitation"
msgstr "Declined team invitation"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
+msgid "Default Document Language"
+msgstr "Default Document Language"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
+msgid "Default Document Visibility"
+msgstr "Default Document Visibility"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
+msgid "delete"
+msgstr "delete"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109
@@ -1026,6 +1260,15 @@ msgstr "Declined team invitation"
msgid "Delete"
msgstr "Delete"
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54
+msgid "delete {0}"
+msgstr "delete {0}"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50
+msgid "delete {teamName}"
+msgstr "delete {teamName}"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137
msgid "Delete account"
msgstr "Delete account"
@@ -1052,7 +1295,7 @@ msgstr "Delete Document"
msgid "Delete passkey"
msgstr "Delete passkey"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
msgid "Delete team"
msgstr "Delete team"
@@ -1078,6 +1321,7 @@ msgid "Delete your account and all its contents, including completed documents.
msgstr "Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution."
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
msgid "Deleted"
msgstr "Deleted"
@@ -1085,7 +1329,12 @@ msgstr "Deleted"
msgid "Deleting account..."
msgstr "Deleting account..."
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178
+msgid "Details"
+msgstr "Details"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr "Device"
@@ -1094,10 +1343,16 @@ msgstr "Device"
msgid "direct link"
msgstr "direct link"
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79
msgid "Direct link"
msgstr "Direct link"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231
+msgid "Direct Link"
+msgstr "Direct Link"
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46
msgid "direct link disabled"
msgstr "direct link disabled"
@@ -1153,6 +1408,10 @@ msgstr "Disabling direct link signing will prevent anyone from accessing the lin
msgid "Display your name and email in documents"
msgstr "Display your name and email in documents"
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+msgid "Distribute Document"
+msgstr "Distribute Document"
+
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
msgid "Do you want to delete this template?"
msgstr "Do you want to delete this template?"
@@ -1166,6 +1425,7 @@ msgid "Documenso will delete <0>all of your documents0>, along with all of you
msgstr "Documenso will delete <0>all of your documents0>, along with all of your completed documents, signatures, and all other resources belonging to your Account."
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38
msgid "Document"
msgstr "Document"
@@ -1189,12 +1449,20 @@ msgstr "Document completed"
msgid "Document Completed!"
msgstr "Document Completed!"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
msgid "Document created"
msgstr "Document created"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129
+msgid "Document created by <0>{0}0>"
+msgstr "Document created by <0>{0}0>"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134
+msgid "Document created using a <0>direct link0>"
+msgstr "Document created using a <0>direct link0>"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr "Document deleted"
@@ -1207,12 +1475,13 @@ msgstr "Document draft"
msgid "Document Duplicated"
msgstr "Document Duplicated"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:184
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
#: apps/web/src/components/document/document-history-sheet.tsx:104
msgid "Document history"
msgstr "Document history"
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:71
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:81
msgid "Document ID"
msgstr "Document ID"
@@ -1220,7 +1489,7 @@ msgstr "Document ID"
msgid "Document inbox"
msgstr "Document inbox"
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
msgid "Document Limit Exceeded!"
msgstr "Document Limit Exceeded!"
@@ -1240,19 +1509,37 @@ msgstr "Document no longer available to sign"
msgid "Document pending"
msgstr "Document pending"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
+msgid "Document preferences updated"
+msgstr "Document preferences updated"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
msgid "Document re-sent"
msgstr "Document re-sent"
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
+msgid "Document Rejected"
+msgstr "Document Rejected"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
msgstr "Document resealed"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
msgid "Document sent"
msgstr "Document sent"
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+=======
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
+#~ msgid "Document Settings"
+#~ msgstr "Document Settings"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+>>>>>>> main
msgid "Document Signed"
msgstr "Document Signed"
@@ -1286,7 +1573,7 @@ msgstr "Document will be permanently deleted"
#: apps/web/src/app/(dashboard)/admin/nav.tsx:65
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:139
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:144
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:109
#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16
#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:15
@@ -1300,6 +1587,10 @@ msgstr "Document will be permanently deleted"
msgid "Documents"
msgstr "Documents"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
+msgid "Documents created from template"
+msgstr "Documents created from template"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113
msgid "Documents Received"
msgstr "Documents Received"
@@ -1314,9 +1605,9 @@ msgid "Don't have an account? <0>Sign up0>"
msgstr "Don't have an account? <0>Sign up0>"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:120
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107
@@ -1327,10 +1618,11 @@ msgstr "Download"
msgid "Download Audit Logs"
msgstr "Download Audit Logs"
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
msgid "Download Certificate"
msgstr "Download Certificate"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214
#: apps/web/src/components/formatter/document-status.tsx:34
msgid "Draft"
msgstr "Draft"
@@ -1347,41 +1639,55 @@ msgstr "Drafted Documents"
msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team."
msgstr "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team."
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:133
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91
msgid "Duplicate"
msgstr "Duplicate"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:104
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:112
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:115
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:102
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100
msgid "Edit"
msgstr "Edit"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
+msgid "Edit Template"
+msgstr "Edit Template"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100
msgid "Edit webhook"
msgstr "Edit webhook"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78
+msgid "Electronic Delivery of Documents"
+msgstr "Electronic Delivery of Documents"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17
+msgid "Electronic Signature Disclosure"
+msgstr "Electronic Signature Disclosure"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153
#: apps/web/src/components/forms/forgot-password.tsx:81
@@ -1401,6 +1707,10 @@ msgstr "Email address"
msgid "Email Address"
msgstr "Email Address"
+#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80
+msgid "Email cannot already exist in the template"
+msgstr "Email cannot already exist in the template"
+
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36
msgid "Email Confirmed!"
msgstr "Email Confirmed!"
@@ -1426,6 +1736,10 @@ msgstr "Enable 2FA"
msgid "Enable Authenticator App"
msgstr "Enable Authenticator App"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
+msgid "Enable custom branding for all documents in this team."
+msgstr "Enable custom branding for all documents in this team."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
msgid "Enable direct link signing"
msgstr "Enable direct link signing"
@@ -1443,10 +1757,18 @@ msgstr "Enable Direct Link Signing"
msgid "Enabled"
msgstr "Enabled"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:87
+msgid "Enclosed Document"
+msgstr "Enclosed Document"
+
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:38
msgid "Ends On"
msgstr "Ends On"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
+msgid "Enter your brand details"
+msgstr "Enter your brand details"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
msgid "Enter your email"
msgstr "Enter your email"
@@ -1465,19 +1787,19 @@ msgstr "Enter your text here"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
@@ -1487,6 +1809,8 @@ msgstr "Enter your text here"
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149
@@ -1502,7 +1826,21 @@ msgstr "Enter your text here"
msgid "Error"
msgstr "Error"
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:143
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+=======
+#: apps/web/src/components/forms/team-document-settings.tsx:77
+#~ msgid "Error updating global team settings"
+#~ msgstr "Error updating global team settings"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
+msgid "Everyone can access and view the document"
+msgstr "Everyone can access and view the document"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+>>>>>>> main
msgid "Everyone has signed"
msgstr "Everyone has signed"
@@ -1514,18 +1852,15 @@ msgstr "Everyone has signed! You will receive an Email copy of the signed docume
msgid "Exceeded timeout"
msgstr "Exceeded timeout"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
msgid "Expired"
msgstr "Expired"
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104
msgid "Expires on {0}"
msgstr "Expires on {0}"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107
-msgid "Expires on{0}"
-msgstr "Expires on{0}"
-
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42
msgid "Failed to reseal document"
msgstr "Failed to reseal document"
@@ -1547,28 +1882,42 @@ msgstr "Fields"
msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB"
msgstr "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154
+msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}0>"
+msgstr "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}0>"
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21
#: apps/web/src/components/forms/signin.tsx:370
msgid "Forgot your password?"
msgstr "Forgot your password?"
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
#: apps/web/src/components/forms/profile.tsx:110
#: apps/web/src/components/forms/v2/signup.tsx:312
msgid "Full Name"
msgstr "Full Name"
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
msgid "General"
msgstr "General"
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#~ msgid "Global Settings"
+#~ msgstr "Global Settings"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:69
+#~ msgid "Global Team Settings Updated"
+#~ msgstr "Global Team Settings Updated"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
@@ -1605,6 +1954,14 @@ msgstr "Here you can edit your personal details."
msgid "Here you can manage your password and security settings."
msgstr "Here you can manage your password and security settings."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
+msgid "Here you can set preferences and defaults for branding."
+msgstr "Here you can set preferences and defaults for branding."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
+msgid "Here you can set preferences and defaults for your team."
+msgstr "Here you can set preferences and defaults for your team."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
msgid "Here's how it works:"
msgstr "Here's how it works:"
@@ -1613,7 +1970,7 @@ msgstr "Here's how it works:"
msgid "Hey I’m Timur"
msgstr "Hey I’m Timur"
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
msgid "Hide"
@@ -1623,6 +1980,10 @@ msgstr "Hide"
msgid "Hide additional information"
msgstr "Hide additional information"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:43
+msgid "I am the owner of this document"
+msgstr "I am the owner of this document"
+
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173
msgid "I'm sure! Delete it"
@@ -1652,10 +2013,19 @@ msgstr "Inbox"
msgid "Inbox documents"
msgstr "Inbox documents"
+#: apps/web/src/components/forms/team-document-settings.tsx:132
+#~ msgid "Include Sender Details"
+#~ msgstr "Include Sender Details"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
msgid "Information"
msgstr "Information"
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132
+msgid "Initials"
+msgstr "Initials"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78
msgid "Inserted"
msgstr "Inserted"
@@ -1722,6 +2092,15 @@ msgstr "Invited At"
msgid "Invoice"
msgstr "Invoice"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
+msgid "IP Address"
+msgstr "IP Address"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118
+msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications."
+msgstr "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:134
msgid "It looks like {0} hasn't added any documents to their profile yet."
msgstr "It looks like {0} hasn't added any documents to their profile yet."
@@ -1759,6 +2138,7 @@ msgid "Last 7 days"
msgstr "Last 7 days"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38
msgid "Last modified"
msgstr "Last modified"
@@ -1766,6 +2146,10 @@ msgstr "Last modified"
msgid "Last updated"
msgstr "Last updated"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:121
+msgid "Last Updated"
+msgstr "Last Updated"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:52
msgid "Last updated at"
msgstr "Last updated at"
@@ -1783,6 +2167,10 @@ msgstr "Leave"
msgid "Leave team"
msgstr "Leave team"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45
+msgid "Legality of Electronic Signatures"
+msgstr "Legality of Electronic Signatures"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:264
msgid "Light Mode"
msgstr "Light Mode"
@@ -1795,6 +2183,10 @@ msgstr "Like to have your own public profile with agreements?"
msgid "Link template"
msgstr "Link template"
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
+msgid "Links Generated"
+msgstr "Links Generated"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
msgid "Listening to {0}"
@@ -1841,11 +2233,15 @@ msgstr "Manage {0}'s profile"
msgid "Manage all teams you are currently associated with."
msgstr "Manage all teams you are currently associated with."
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
+msgid "Manage and view template"
+msgstr "Manage and view template"
+
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
msgid "Manage details for this public template"
msgstr "Manage details for this public template"
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
msgid "Manage Direct Link"
msgstr "Manage Direct Link"
@@ -1915,12 +2311,13 @@ msgid "Member Since"
msgstr "Member Since"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
msgid "Members"
msgstr "Members"
-#: 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:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
msgid "Modify recipients"
msgstr "Modify recipients"
@@ -1936,6 +2333,7 @@ msgstr "Monthly Active Users: Users that created at least one Document"
msgid "Monthly Active Users: Users that had at least one of their documents completed"
msgstr "Monthly Active Users: Users that had at least one of their documents completed"
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Move"
msgstr "Move"
@@ -1948,11 +2346,12 @@ msgstr "Move Document to Team"
msgid "Move Template to Team"
msgstr "Move Template to Team"
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
msgid "Move to Team"
msgstr "Move to Team"
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Moving..."
msgstr "Moving..."
@@ -1966,8 +2365,8 @@ msgstr "My templates"
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
@@ -1997,8 +2396,8 @@ msgstr "New team owner"
msgid "New Template"
msgstr "New Template"
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
#: apps/web/src/components/forms/v2/signup.tsx:521
msgid "Next"
msgstr "Next"
@@ -2011,6 +2410,10 @@ msgstr "Next field"
msgid "No active drafts"
msgstr "No active drafts"
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
+msgid "No further action is required from you at this time."
+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"
msgstr "No payment required"
@@ -2023,7 +2426,13 @@ msgstr "No public profile templates found"
msgid "No recent activity"
msgstr "No recent activity"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103
+msgid "No recent documents"
+msgstr "No recent documents"
+
+#: 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"
msgstr "No recipients"
@@ -2095,6 +2504,14 @@ msgstr "Once confirmed, the following will occur:"
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
msgstr "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
+msgid "Only admins can access and view the document"
+msgstr "Only admins can access and view the document"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
+msgid "Only managers and above can access and view the document"
+msgstr "Only managers and above can access and view the document"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
@@ -2103,7 +2520,7 @@ msgstr "Once you have scanned the QR code or entered the code manually, enter th
msgid "Oops! Something went wrong."
msgstr "Oops! Something went wrong."
-#: 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 "Opened"
@@ -2118,12 +2535,15 @@ msgstr "Or"
msgid "Or continue with"
msgstr "Or continue with"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324
+#: 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."
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:103
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81
+#: 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 "Owner"
@@ -2155,6 +2575,10 @@ msgstr "Passkey has been updated"
msgid "Passkey name"
msgstr "Passkey name"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:121
+msgid "Passkey Re-Authentication"
+msgstr "Passkey Re-Authentication"
+
#: apps/web/src/app/(dashboard)/settings/security/page.tsx:106
#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:32
msgid "Passkeys"
@@ -2195,9 +2619,11 @@ msgstr "Payment is required to finalise the creation of your team."
msgid "Payment overdue"
msgstr "Payment overdue"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115
+#: 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 "Pending"
@@ -2286,6 +2712,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 "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."
msgstr "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
@@ -2294,6 +2724,10 @@ msgstr "Please provide a token from the authenticator, or a backup code. If you
msgid "Please provide a token from your authenticator, or a backup code."
msgstr "Please provide a token from your authenticator, or a backup code."
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169
+msgid "Please review the document before signing."
+msgstr "Please review the document before signing."
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:64
msgid "Please try again and make sure you enter the correct email address."
msgstr "Please try again and make sure you enter the correct email address."
@@ -2311,13 +2745,23 @@ msgid "Please type <0>{0}0> to confirm."
msgstr "Please type <0>{0}0> to confirm."
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
msgid "Preferences"
msgstr "Preferences"
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:61
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
+msgid "Preview"
+msgstr "Preview"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
msgid "Preview and configure template."
msgstr "Preview and configure template."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
+#~ msgid "Preview: {0}"
+#~ msgstr "Preview: {0}"
+
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
#: apps/web/src/components/formatter/template-type.tsx:22
msgid "Private"
@@ -2355,8 +2799,8 @@ msgstr "Public"
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
msgid "Public Profile"
msgstr "Public Profile"
@@ -2376,10 +2820,26 @@ msgstr "Public templates are connected to your public profile. Any modifications
msgid "Read only field"
msgstr "Read only field"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90
+#: apps/web/src/components/general/signing-disclosure.tsx:21
+msgid "Read the full <0>signature disclosure0>."
+msgstr "Read the full <0>signature disclosure0>."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
msgid "Ready"
msgstr "Ready"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
+msgid "Reason"
+msgstr "Reason"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
+msgid "Reason for rejection:"
+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 "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"
msgstr "Reauthentication is required to sign this field"
@@ -2389,7 +2849,12 @@ msgstr "Reauthentication is required to sign this field"
msgid "Recent activity"
msgstr "Recent activity"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47
+msgid "Recent documents"
+msgstr "Recent documents"
+
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:69
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280
msgid "Recipient"
msgstr "Recipient"
@@ -2399,7 +2864,9 @@ msgid "Recipient updated"
msgstr "Recipient updated"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:34
+#: 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"
msgstr "Recipients"
@@ -2425,6 +2892,17 @@ msgstr "Recovery codes"
msgid "Registration Successful"
msgstr "Registration Successful"
+#: 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 "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 "Rejected"
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In0>"
msgstr "Remembered your password? <0>Sign In0>"
@@ -2433,6 +2911,7 @@ msgstr "Remembered your password? <0>Sign In0>"
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
@@ -2476,7 +2955,7 @@ msgstr "Resend Confirmation Email"
msgid "Resend verification"
msgstr "Resend verification"
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:164
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
#: apps/web/src/components/forms/public-profile-form.tsx:267
msgid "Reset"
msgstr "Reset"
@@ -2503,6 +2982,10 @@ msgstr "Resolve"
msgid "Resolve payment"
msgstr "Resolve payment"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126
+msgid "Retention of Documents"
+msgstr "Retention of Documents"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168
msgid "Retry"
msgstr "Retry"
@@ -2552,6 +3035,8 @@ msgstr "Roles"
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr "Save"
@@ -2570,6 +3055,10 @@ msgstr "Search by document title"
msgid "Search by name or email"
msgstr "Search by name or email"
+#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42
+msgid "Search documents..."
+msgstr "Search documents..."
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217
msgid "Secret"
@@ -2618,10 +3107,15 @@ msgstr "Select passkey"
msgid "Send confirmation email"
msgstr "Send confirmation email"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
msgid "Send document"
msgstr "Send document"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
+msgid "Send on Behalf of Team"
+msgstr "Send on Behalf of Team"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
msgid "Send reminder"
msgstr "Send reminder"
@@ -2638,7 +3132,8 @@ msgstr "Sending Reset Email..."
msgid "Sending..."
msgstr "Sending..."
-#: 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:101
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr "Sent"
@@ -2657,13 +3152,13 @@ msgstr "Settings"
msgid "Setup"
msgstr "Setup"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:145
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:191
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:148
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:193
msgid "Share"
msgstr "Share"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:161
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:179
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:219
msgid "Share Signing Card"
msgstr "Share Signing Card"
@@ -2685,7 +3180,7 @@ msgstr "Show templates in your team public profile for your audience to sign and
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:83
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:137
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
@@ -2704,11 +3199,15 @@ msgstr "Sign as {0} <0>({1})0>"
msgid "Sign as<0>{0} <1>({1})1>0>"
msgstr "Sign as<0>{0} <1>({1})1>0>"
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
msgid "Sign document"
msgstr "Sign document"
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128
+msgid "Sign Document"
+msgstr "Sign Document"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59
msgid "Sign field"
msgstr "Sign field"
@@ -2733,8 +3232,8 @@ msgstr "Sign in to your account"
msgid "Sign Out"
msgstr "Sign Out"
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
msgid "Sign the document to complete the process."
msgstr "Sign the document to complete the process."
@@ -2757,15 +3256,21 @@ msgid "Sign Up with OIDC"
msgstr "Sign Up with OIDC"
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271
#: apps/web/src/components/forms/profile.tsx:132
msgid "Signature"
msgstr "Signature"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
+msgid "Signature ID"
+msgstr "Signature ID"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:123
msgid "Signatures Collected"
msgstr "Signatures Collected"
@@ -2774,15 +3279,38 @@ msgstr "Signatures Collected"
msgid "Signatures will appear once the document has been completed"
msgstr "Signatures will appear once the document has been completed"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:98
+#: 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"
msgstr "Signed"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:176
+msgid "Signer Events"
+msgstr "Signer Events"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:168
+msgid "Signing Certificate"
+msgstr "Signing Certificate"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
+msgid "Signing certificate provided by"
+msgstr "Signing certificate provided by"
+
#: apps/web/src/components/forms/signin.tsx:383
#: apps/web/src/components/forms/signin.tsx:510
msgid "Signing in..."
msgstr "Signing in..."
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+msgid "Signing Links"
+msgstr "Signing Links"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
+msgid "Signing links have been generated for this document."
+msgstr "Signing links have been generated for this document."
+
#: apps/web/src/components/forms/signup.tsx:235
msgid "Signing up..."
msgstr "Signing up..."
@@ -2802,11 +3330,11 @@ msgstr "Site Settings"
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:88
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:104
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
@@ -2822,10 +3350,11 @@ msgstr "Site Settings"
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:104
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:127
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:151
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:117
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:118
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
@@ -2862,6 +3391,10 @@ msgstr "Something went wrong while sending the confirmation email."
msgid "Something went wrong while updating the team billing subscription, please contact support."
msgstr "Something went wrong while updating the team billing subscription, please contact support."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
+msgid "Something went wrong!"
+msgstr "Something went wrong!"
+
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
msgid "Something went wrong. Please try again or contact support."
@@ -2871,10 +3404,14 @@ msgstr "Something went wrong. Please try again or contact support."
msgid "Sorry, we were unable to download the audit logs. Please try again later."
msgstr "Sorry, we were unable to download the audit logs. Please try again later."
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
msgid "Sorry, we were unable to download the certificate. Please try again later."
msgstr "Sorry, we were unable to download the certificate. Please try again later."
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138
+msgid "Source"
+msgstr "Source"
+
#: apps/web/src/app/(dashboard)/admin/nav.tsx:37
msgid "Stats"
msgstr "Stats"
@@ -2882,11 +3419,13 @@ msgstr "Stats"
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:79
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:93
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73
msgid "Status"
msgstr "Status"
-#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:128
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:129
msgid "Subscribe"
msgstr "Subscribe"
@@ -2920,7 +3459,7 @@ msgstr "Subscriptions"
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
@@ -2934,6 +3473,10 @@ msgstr "Success"
msgid "Successfully created passkey"
msgstr "Successfully created passkey"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57
+msgid "System Requirements"
+msgstr "System Requirements"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:266
msgid "System Theme"
msgstr "System Theme"
@@ -2947,8 +3490,8 @@ msgstr "Team"
msgid "Team checkout"
msgstr "Team checkout"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
msgid "Team email"
msgstr "Team email"
@@ -2991,7 +3534,7 @@ msgid "Team Member"
msgstr "Team Member"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:113
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr "Team Name"
@@ -3015,6 +3558,10 @@ msgstr "Team ownership transfer already completed!"
msgid "Team ownership transferred!"
msgstr "Team ownership transferred!"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
+msgid "Team Preferences"
+msgstr "Team Preferences"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
msgid "Team Public Profile"
msgstr "Team Public Profile"
@@ -3040,7 +3587,7 @@ msgid "Team transfer request expired"
msgstr "Team transfer request expired"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:129
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr "Team URL"
@@ -3056,6 +3603,11 @@ msgstr "Teams"
msgid "Teams restricted"
msgstr "Teams restricted"
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
msgid "Template"
@@ -3085,11 +3637,11 @@ msgstr "Template has been updated."
msgid "Template moved"
msgstr "Template moved"
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
msgid "Template saved"
msgstr "Template saved"
-#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
#: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:208
#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22
@@ -3110,6 +3662,10 @@ msgstr "Text"
msgid "Text Color"
msgstr "Text Color"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24
+msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below."
+msgstr "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below."
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52
msgid "The account has been deleted successfully."
msgstr "The account has been deleted successfully."
@@ -3132,7 +3688,11 @@ msgstr "The document has been successfully moved to the selected team."
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr "The document is now completed, please follow any instructions provided within the parent application."
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167
+#: 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 "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."
msgstr "The document was created but could not be sent to recipients."
@@ -3140,7 +3700,7 @@ msgstr "The document was created but could not be sent to recipients."
msgid "The document will be hidden from your account"
msgstr "The document will be hidden from your account"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
msgid "The document will be immediately sent to recipients if this is checked."
msgstr "The document will be immediately sent to recipients if this is checked."
@@ -3150,6 +3710,10 @@ msgstr "The document will be immediately sent to recipients if this is checked."
msgid "The events that will trigger a webhook to be sent to your URL."
msgstr "The events that will trigger a webhook to be sent to your URL."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
+#~ msgid "The global settings for the documents in your team account."
+#~ msgstr "The global settings for the documents in your team account."
+
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
msgid "The ownership of team <0>{0}0> has been successfully transferred to you."
msgstr "The ownership of team <0>{0}0> has been successfully transferred to you."
@@ -3182,7 +3746,9 @@ msgstr "The recipient has been updated successfully"
msgid "The selected team member will receive an email which they must accept before the team is transferred"
msgstr "The selected team member will receive an email which they must accept before the team is transferred"
+#: 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."
msgstr "The signing link has been copied to your clipboard."
@@ -3283,14 +3849,22 @@ msgstr "This document has been cancelled by the owner and is no longer available
msgid "This document has been cancelled by the owner."
msgstr "This document has been cancelled by the owner."
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:219
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
msgid "This document has been signed by all recipients"
msgstr "This document has been signed by all recipients"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:222
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
msgid "This document is currently a draft and has not been sent"
msgstr "This document is currently a draft and has not been sent"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152
+msgid "This document was created by you or a team member using the template above."
+msgstr "This document was created by you or a team member using the template above."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164
+msgid "This document was created using a direct link."
+msgstr "This document was created using a direct link."
+
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93
msgid "This email is already being used by another team."
msgstr "This email is already being used by another team."
@@ -3319,7 +3893,7 @@ msgstr "This price includes minimum 5 seats."
msgid "This session has expired. Please try again."
msgstr "This session has expired. Please try again."
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
msgstr "This team, and any associated data excluding billing invoices will be permanently deleted."
@@ -3336,7 +3910,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new
msgstr "This token is invalid or has expired. Please contact your team for a new invitation."
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:87
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
msgid "This URL is already in use."
msgstr "This URL is already in use."
@@ -3348,7 +3922,8 @@ msgstr "This username has already been taken"
msgid "This username is already taken"
msgstr "This username is already taken"
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:73
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:44
msgid "Time"
msgstr "Time"
@@ -3356,8 +3931,13 @@ msgstr "Time"
msgid "Time zone"
msgstr "Time zone"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:131
+msgid "Time Zone"
+msgstr "Time Zone"
+
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61
msgid "Title"
msgstr "Title"
@@ -3394,6 +3974,10 @@ msgstr "To gain access to your account, please confirm your email address by cli
msgid "To mark this document as viewed, you need to be logged in as <0>{0}0>"
msgstr "To mark this document as viewed, you need to be logged in as <0>{0}0>"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60
+msgid "To use our electronic signature service, you must have access to:"
+msgstr "To use our electronic signature service, you must have access to:"
+
#: apps/web/src/app/embed/authenticate.tsx:21
msgid "To view this document you need to be signed into your account, please sign in to continue."
msgstr "To view this document you need to be signed into your account, please sign in to continue."
@@ -3423,7 +4007,7 @@ msgid "Token deleted"
msgstr "Token deleted"
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108
msgid "Token doesn't have an expiration date"
msgstr "Token doesn't have an expiration date"
@@ -3451,17 +4035,21 @@ msgstr "Total Signers that Signed Up"
msgid "Total Users"
msgstr "Total Users"
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76
+msgid "transfer {teamName}"
+msgstr "transfer {teamName}"
+
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160
msgid "Transfer ownership of this team to a selected team member."
msgstr "Transfer ownership of this team to a selected team member."
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
msgid "Transfer team"
msgstr "Transfer team"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
msgid "Transfer the ownership of the team to another team member."
msgstr "Transfer the ownership of the team to another team member."
@@ -3495,6 +4083,10 @@ msgstr "Two-factor authentication enabled"
msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in."
msgstr "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in."
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:120
+msgid "Two-Factor Re-Authentication"
+msgstr "Two-Factor Re-Authentication"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67
msgid "Type"
@@ -3553,6 +4145,10 @@ msgstr "Unable to join this team at this time."
msgid "Unable to load document history"
msgstr "Unable to load document history"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62
+msgid "Unable to load documents"
+msgstr "Unable to load documents"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111
msgid "Unable to load your public profile templates at this time"
msgstr "Unable to load your public profile templates at this time"
@@ -3592,10 +4188,17 @@ msgstr "Unable to sign in"
msgid "Unauthorized"
msgstr "Unauthorized"
-#: 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 "Uncompleted"
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276
+msgid "Unknown"
+msgstr "Unknown"
+
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23
msgid "Unknown error"
msgstr "Unknown error"
@@ -3637,7 +4240,7 @@ msgstr "Update Recipient"
msgid "Update role"
msgstr "Update role"
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:176
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
msgstr "Update team"
@@ -3668,11 +4271,20 @@ msgstr "Updating password..."
msgid "Updating profile..."
msgstr "Updating profile..."
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115
+msgid "Updating Your Information"
+msgstr "Updating Your Information"
+
#: apps/web/src/components/forms/avatar-image.tsx:182
msgid "Upload Avatar"
msgstr "Upload Avatar"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
+msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
+msgstr "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
msgid "Uploaded by"
msgstr "Uploaded by"
@@ -3688,6 +4300,10 @@ msgstr "Uploaded file is too small"
msgid "Uploaded file not an allowed file type"
msgstr "Uploaded file not an allowed file type"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
+msgid "Use"
+msgstr "Use"
+
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187
#: apps/web/src/components/forms/signin.tsx:505
msgid "Use Authenticator"
@@ -3698,11 +4314,12 @@ msgstr "Use Authenticator"
msgid "Use Backup Code"
msgstr "Use Backup Code"
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
msgid "Use Template"
msgstr "Use Template"
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:82
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:78
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:45
msgid "User"
msgstr "User"
@@ -3750,10 +4367,14 @@ msgstr "Verify your email address to unlock all features."
msgid "Verify your email to upload documents."
msgstr "Verify your email to upload documents."
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:75
+msgid "Version History"
+msgstr "Version History"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:130
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
msgid "View"
@@ -3771,6 +4392,10 @@ msgstr "View all documents sent to your account"
msgid "View all recent security activity related to your account."
msgstr "View all recent security activity related to your account."
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157
+msgid "View all related documents"
+msgstr "View all related documents"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26
msgid "View all security activity related to your account."
msgstr "View all security activity related to your account."
@@ -3779,7 +4404,11 @@ msgstr "View all security activity related to your account."
msgid "View Codes"
msgstr "View Codes"
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127
+msgid "View Document"
+msgstr "View Document"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
msgid "View documents associated with this email"
msgstr "View documents associated with this email"
@@ -3787,6 +4416,10 @@ msgstr "View documents associated with this email"
msgid "View invites"
msgstr "View invites"
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95
+msgid "View more"
+msgstr "View more"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34
msgid "View Original Document"
msgstr "View Original Document"
@@ -3800,11 +4433,12 @@ msgstr "View Recovery Codes"
msgid "View teams"
msgstr "View teams"
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:104
+#: 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 "Viewed"
-#: 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 "Waiting"
@@ -3960,7 +4594,7 @@ msgstr "We encountered an unknown error while attempting to update your password
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
msgstr "We encountered an unknown error while attempting to update your public profile. Please try again later."
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:96
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
msgstr "We encountered an unknown error while attempting to update your team. Please try again later."
@@ -4002,12 +4636,20 @@ msgstr "We were unable to set your public profile to public. Please try again."
msgid "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again."
msgstr "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again."
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:119
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
msgid "We were unable to submit this document at this time. Please try again later."
msgstr "We were unable to submit this document at this time. Please try again later."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
+msgid "We were unable to update your branding preferences at this time, please try again later"
+msgstr "We were unable to update your branding preferences at this time, please try again later"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
+msgid "We were unable to update your document preferences at this time, please try again later"
+msgstr "We were unable to update your document preferences at this time, please try again later"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
msgid "We were unable to verify your details. Please try again or contact support"
msgstr "We were unable to verify your details. Please try again or contact support"
@@ -4016,6 +4658,14 @@ msgstr "We were unable to verify your details. Please try again or contact suppo
msgid "We were unable to verify your email. If your email is not verified already, please try again."
msgstr "We were unable to verify your email. If your email is not verified already, please try again."
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
+msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
+msgstr "We will generate signing links for you, which you can send to the recipients through your method of choice."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
+msgid "We won't send anything to notify recipients."
+msgstr "We won't send anything to notify recipients."
+
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
msgid "We're all empty"
@@ -4047,8 +4697,8 @@ msgstr "Webhook URL"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
msgid "Webhooks"
msgstr "Webhooks"
@@ -4056,6 +4706,10 @@ msgstr "Webhooks"
msgid "Weekly"
msgstr "Weekly"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21
+msgid "Welcome"
+msgstr "Welcome"
+
#: apps/web/src/app/(unauthenticated)/signin/page.tsx:33
msgid "Welcome back, we are lucky to have you."
msgstr "Welcome back, we are lucky to have you."
@@ -4068,6 +4722,10 @@ msgstr "Were you trying to edit this document instead?"
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
msgstr "When you click continue, you will be prompted to add the first available authenticator on your system."
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
+msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
+msgstr "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:139
msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away."
msgstr "While waiting for them to do so you can create your own Documenso account and get started with document signing right away."
@@ -4076,6 +4734,10 @@ msgstr "While waiting for them to do so you can create your own Documenso accoun
msgid "Who do you want to remind?"
msgstr "Who do you want to remind?"
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101
+msgid "Withdrawing Consent"
+msgstr "Withdrawing Consent"
+
#: apps/web/src/components/forms/public-profile-form.tsx:223
msgid "Write about the team"
msgstr "Write about the team"
@@ -4089,6 +4751,7 @@ msgid "Yearly"
msgstr "Yearly"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31
msgid "You"
msgstr "You"
@@ -4156,11 +4819,15 @@ msgstr "You can choose to enable or disable your team profile for public view."
msgid "You can claim your profile later on by going to your profile settings!"
msgstr "You can claim your profile later on by going to your profile settings!"
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
+msgid "You can copy and share these links to recipients so they can action the document."
+msgstr "You can copy and share these links to recipients so they can action the document."
+
#: apps/web/src/components/forms/public-profile-form.tsx:154
msgid "You can update the profile URL by updating the team URL in the general settings page."
msgstr "You can update the profile URL by updating the team URL in the general settings page."
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
msgid "You can view documents associated with this email and use this identity when sending documents."
msgstr "You can view documents associated with this email and use this identity when sending documents."
@@ -4222,10 +4889,14 @@ msgstr "You have reached the maximum limit of {0} direct templates. <0>Upgrade y
msgid "You have reached your document limit."
msgstr "You have reached your document limit."
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
msgid "You have reached your document limit. <0>Upgrade your account to continue!0>"
msgstr "You have reached your document limit. <0>Upgrade your account to continue!0>"
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
+msgid "You have rejected this document"
+msgstr "You have rejected this document"
+
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
msgstr "You have successfully left this team."
@@ -4244,6 +4915,10 @@ msgstr "You have successfully removed this user from the team."
msgid "You have successfully revoked access."
msgstr "You have successfully revoked access."
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104
+msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL}0> for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service."
+msgstr "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL}0> for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service."
+
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93
msgid "You have updated {teamMemberName}."
msgstr "You have updated {teamMemberName}."
@@ -4306,6 +4981,14 @@ msgstr "Your avatar has been updated successfully."
msgid "Your banner has been updated successfully."
msgstr "Your banner has been updated successfully."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
+msgid "Your brand website URL"
+msgstr "Your brand website URL"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
+msgid "Your branding preferences have been updated"
+msgstr "Your branding preferences have been updated"
+
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
msgid "Your current plan is past due. Please update your payment information."
msgstr "Your current plan is past due. Please update your payment information."
@@ -4318,7 +5001,7 @@ msgstr "Your direct signing templates"
msgid "Your document failed to upload."
msgstr "Your document failed to upload."
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
msgid "Your document has been created from the template successfully."
msgstr "Your document has been created from the template successfully."
@@ -4326,7 +5009,7 @@ msgstr "Your document has been created from the template successfully."
msgid "Your document has been re-sent successfully."
msgstr "Your document has been re-sent successfully."
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
msgid "Your document has been sent successfully."
msgstr "Your document has been sent successfully."
@@ -4342,6 +5025,10 @@ msgstr "Your document has been uploaded successfully."
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
msgstr "Your document has been uploaded successfully. You will be redirected to the template page."
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
+msgid "Your document preferences have been updated"
+msgstr "Your document preferences have been updated"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
msgid "Your documents"
msgstr "Your documents"
@@ -4359,6 +5046,10 @@ msgstr "Your email is currently being used by team <0>{0}0> ({1})."
msgid "Your existing tokens"
msgstr "Your existing tokens"
+#: apps/web/src/components/forms/team-document-settings.tsx:70
+#~ msgid "Your global team document settings has been updated successfully."
+#~ msgstr "Your global team document settings has been updated successfully."
+
#: apps/web/src/components/forms/password.tsx:72
#: apps/web/src/components/forms/reset-password.tsx:73
msgid "Your password has been updated successfully."
@@ -4401,7 +5092,7 @@ msgstr "Your team has been created."
msgid "Your team has been successfully deleted."
msgstr "Your team has been successfully deleted."
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:69
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
msgid "Your team has been successfully updated."
msgstr "Your team has been successfully updated."
@@ -4417,7 +5108,7 @@ msgstr "Your template has been successfully deleted."
msgid "Your template will be duplicated."
msgstr "Your template will be duplicated."
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
msgid "Your templates has been saved successfully."
msgstr "Your templates has been saved successfully."
diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po
index 86e001481..fbaa99074 100644
--- a/packages/lib/translations/es/common.po
+++ b/packages/lib/translations/es/common.po
@@ -8,23 +8,278 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-22 02:25\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
+#: packages/email/template-components/template-document-super-delete.tsx:27
+msgid "\"{documentName}\" has been deleted by an admin."
+msgstr "\"{documentName}\" ha sido eliminado por un admin."
+
+#: packages/email/template-components/template-document-pending.tsx:37
+msgid "“{documentName}” has been signed"
+msgstr "“{documentName}” ha sido firmado"
+
+#: packages/email/template-components/template-document-completed.tsx:41
+msgid "“{documentName}” was signed by all signers"
+msgstr "\"{documentName}\" fue firmado por todos los firmantes"
+
+#: packages/lib/server-only/document/resend-document.tsx:109
+#~ msgid "{0}"
+#~ msgstr "{0}"
+
+#: packages/email/template-components/template-document-invite.tsx:80
+#~ msgid "{0} Document"
+#~ msgstr "{0} Document"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
+msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
+msgstr "{0} te ha invitado a {recipientActionVerb} el documento \"{1}\"."
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
+msgid "{0} invited you to {recipientActionVerb} a document"
+msgstr "{0} te invitó a {recipientActionVerb} un documento"
+
+#: packages/email/templates/team-join.tsx:61
+msgid "{0} joined the team {teamName} on Documenso"
+msgstr "{0} se unió al equipo {teamName} en Documenso"
+
+#: packages/email/templates/team-leave.tsx:61
+msgid "{0} left the team {teamName} on Documenso"
+msgstr "{0} dejó el equipo {teamName} en Documenso"
+
#: packages/ui/primitives/data-table-pagination.tsx:30
msgid "{0} of {1} row(s) selected."
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
+#: packages/lib/server-only/document/resend-document.tsx:137
+msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
+msgstr "{0} en nombre de {1} te ha invitado a {recipientActionVerb} el documento \"{2}\"."
+
+#: packages/email/template-components/template-document-invite.tsx:51
+#~ msgid "{0}<0/>\"{documentName}\""
+#~ msgstr "{0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:94
+msgid "{inviterName} <0>({inviterEmail})0>"
+msgstr "{inviterName} <0>({inviterEmail})0>"
+
+#: packages/email/templates/document-cancel.tsx:21
+msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
+msgstr "{inviterName} ha cancelado el documento {documentName}, ya no necesitas firmarlo."
+
+#: packages/email/template-components/template-document-cancel.tsx:24
+msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
+msgstr "{inviterName} ha cancelado el documento<0/>\"{documentName}\""
+
+#: packages/email/template-components/template-document-invite.tsx:75
+msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
+msgstr "{inviterName} te ha invitado a {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:41
+msgid "{inviterName} has invited you to {action} {documentName}"
+msgstr "{inviterName} te ha invitado a {action} {documentName}"
+
+#: packages/email/templates/document-invite.tsx:106
+msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
+msgstr "{inviterName} te ha invitado a {action} el documento \"{documentName}\"."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:20
+msgid "{inviterName} has removed you from the document {documentName}."
+msgstr "{inviterName} te ha eliminado del documento {documentName}."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:49
+msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
+msgstr "{inviterName} te ha eliminado del documento<0/>\"{documentName}\""
+
+#: packages/email/template-components/template-document-invite.tsx:63
+msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
+msgstr "{inviterName} en nombre de {teamName} te ha invitado a {0}"
+
+#: packages/email/template-components/template-document-invite.tsx:49
+#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:45
+msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
+msgstr "{inviterName} en nombre de {teamName} te ha invitado a {action} {documentName}"
+
+#: packages/email/templates/team-join.tsx:67
+msgid "{memberEmail} joined the following team"
+msgstr "{memberEmail} se unió al siguiente equipo"
+
+#: packages/email/templates/team-leave.tsx:67
+msgid "{memberEmail} left the following team"
+msgstr "{memberEmail} dejó el siguiente equipo"
+
+#: packages/lib/utils/document-audit-logs.ts:263
+msgid "{prefix} added a field"
+msgstr "{prefix} agregó un campo"
+
+#: packages/lib/utils/document-audit-logs.ts:275
+msgid "{prefix} added a recipient"
+msgstr "{prefix} agregó un destinatario"
+
+#: packages/lib/utils/document-audit-logs.ts:287
+msgid "{prefix} created the document"
+msgstr "{prefix} creó el documento"
+
+#: packages/lib/utils/document-audit-logs.ts:291
+msgid "{prefix} deleted the document"
+msgstr "{prefix} eliminó el documento"
+
+#: packages/lib/utils/document-audit-logs.ts:335
+msgid "{prefix} moved the document to team"
+msgstr "{prefix} movió el documento al equipo"
+
+#: packages/lib/utils/document-audit-logs.ts:319
+msgid "{prefix} opened the document"
+msgstr "{prefix} abrió el documento"
+
+#: packages/lib/utils/document-audit-logs.ts:267
+msgid "{prefix} removed a field"
+msgstr "{prefix} eliminó un campo"
+
+#: packages/lib/utils/document-audit-logs.ts:279
+msgid "{prefix} removed a recipient"
+msgstr "{prefix} eliminó un destinatario"
+
+#: packages/lib/utils/document-audit-logs.ts:365
+msgid "{prefix} resent an email to {0}"
+msgstr "{prefix} reenviaron un correo electrónico a {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:366
+msgid "{prefix} sent an email to {0}"
+msgstr "{prefix} envió un correo electrónico a {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:331
+msgid "{prefix} sent the document"
+msgstr "{prefix} envió el documento"
+
+#: packages/lib/utils/document-audit-logs.ts:295
+msgid "{prefix} signed a field"
+msgstr "{prefix} firmó un campo"
+
+#: packages/lib/utils/document-audit-logs.ts:299
+msgid "{prefix} unsigned a field"
+msgstr "{prefix} no firmó un campo"
+
+#: packages/lib/utils/document-audit-logs.ts:271
+msgid "{prefix} updated a field"
+msgstr "{prefix} actualizó un campo"
+
+#: packages/lib/utils/document-audit-logs.ts:283
+msgid "{prefix} updated a recipient"
+msgstr "{prefix} actualizó un destinatario"
+
+#: packages/lib/utils/document-audit-logs.ts:315
+msgid "{prefix} updated the document"
+msgstr "{prefix} actualizó el documento"
+
+#: packages/lib/utils/document-audit-logs.ts:307
+msgid "{prefix} updated the document access auth requirements"
+msgstr "{prefix} actualizó los requisitos de autorización de acceso al documento"
+
+#: packages/lib/utils/document-audit-logs.ts:327
+msgid "{prefix} updated the document external ID"
+msgstr "{prefix} actualizó el ID externo del documento"
+
+#: packages/lib/utils/document-audit-logs.ts:311
+msgid "{prefix} updated the document signing auth requirements"
+msgstr "{prefix} actualizó los requisitos de autenticación para la firma del documento"
+
+#: packages/lib/utils/document-audit-logs.ts:323
+msgid "{prefix} updated the document title"
+msgstr "{prefix} actualizó el título del documento"
+
+#: packages/lib/utils/document-audit-logs.ts:303
+msgid "{prefix} updated the document visibility"
+msgstr "{prefix} actualizó la visibilidad del documento"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:61
+msgid "{recipientName} {action} a document by using one of your direct links"
+msgstr "{recipientName} {action} un documento utilizando uno de tus enlaces directos"
+
+#: packages/email/templates/document-rejected.tsx:27
+msgid "{recipientName} has rejected the document '{documentName}'"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejected.tsx:25
+msgid "{signerName} has rejected the document \"{documentName}\"."
+msgstr ""
+
+#: packages/email/template-components/template-document-invite.tsx:68
+msgid "{teamName} has invited you to {0}"
+msgstr "{teamName} te ha invitado a {0}"
+
+#: packages/email/templates/document-invite.tsx:46
+msgid "{teamName} has invited you to {action} {documentName}"
+msgstr "{teamName} te ha invitado a {action} {documentName}"
+
+#: packages/email/templates/team-transfer-request.tsx:55
+msgid "{teamName} ownership transfer request"
+msgstr "solicitud de transferencia de propiedad de {teamName}"
+
+#: packages/lib/utils/document-audit-logs.ts:343
+msgid "{userName} approved the document"
+msgstr "{userName} aprobó el documento"
+
+#: packages/lib/utils/document-audit-logs.ts:344
+msgid "{userName} CC'd the document"
+msgstr "{userName} envió una copia del documento"
+
+#: packages/lib/utils/document-audit-logs.ts:345
+msgid "{userName} completed their task"
+msgstr "{userName} completó su tarea"
+
+#: packages/lib/utils/document-audit-logs.ts:355
+msgid "{userName} rejected the document"
+msgstr ""
+
+#: packages/lib/utils/document-audit-logs.ts:341
+msgid "{userName} signed the document"
+msgstr "{userName} firmó el documento"
+
+#: packages/lib/utils/document-audit-logs.ts:342
+msgid "{userName} viewed the document"
+msgstr "{userName} vio el documento"
+
#: packages/ui/primitives/data-table-pagination.tsx:41
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
msgstr ""
+#: packages/email/templates/document-invite.tsx:100
+#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+
+#: packages/email/templates/team-transfer-request.tsx:59
+msgid "<0>{senderName}0> has requested that you take ownership of the following team"
+msgstr "<0>{senderName}0> ha solicitado que asumas la propiedad del siguiente equipo"
+
+#: packages/email/templates/confirm-team-email.tsx:75
+msgid "<0>{teamName}0> has requested to use your email address for their team on Documenso."
+msgstr "<0>{teamName}0> ha solicitado usar tu dirección de correo electrónico para su equipo en Documenso."
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
+msgid "<0>Email0> - The recipient will be emailed the document to sign, approve, etc."
+msgstr "<0>Correo electrónico0> - Al destinatario se le enviará el documento para firmar, aprobar, etc."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
msgid "<0>Inherit authentication method0> - Use the global action signing authentication method configured in the \"General Settings\" step"
msgstr ""
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
+msgid "<0>Links0> - We will generate links which you can send to the recipients manually."
+msgstr "<0>Enlaces0> - Generaremos enlaces que puedes enviar a los destinatarios manualmente."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
msgid "<0>No restrictions0> - No authentication required"
msgstr ""
@@ -37,6 +292,10 @@ msgstr ""
msgid "<0>None0> - No authentication required"
msgstr ""
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
+msgid "<0>Note0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
+msgstr "<0>Nota0> - Si usas Enlaces en combinación con plantillas directas, necesitarás enviar manualmente los enlaces a los destinatarios restantes."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
msgid "<0>Require 2FA0> - The recipient must have an account and 2FA enabled via their settings"
@@ -51,20 +310,95 @@ msgstr ""
msgid "<0>Require passkey0> - The recipient must have an account and passkey configured via their settings"
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
+msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
+msgstr "Se creó un documento a partir de tu plantilla directa que requiere que {recipientActionVerb}."
+
+#: packages/lib/utils/document-audit-logs.ts:262
+msgid "A field was added"
+msgstr "Se añadió un campo"
+
+#: packages/lib/utils/document-audit-logs.ts:266
+msgid "A field was removed"
+msgstr "Se eliminó un campo"
+
+#: packages/lib/utils/document-audit-logs.ts:270
+msgid "A field was updated"
+msgstr "Se actualizó un campo"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
+msgid "A new member has joined your team"
+msgstr "Un nuevo miembro se ha unido a tu equipo"
+
+#: packages/lib/utils/document-audit-logs.ts:274
+msgid "A recipient was added"
+msgstr "Se añadió un destinatario"
+
+#: packages/lib/utils/document-audit-logs.ts:278
+msgid "A recipient was removed"
+msgstr "Se eliminó un destinatario"
+
+#: packages/lib/utils/document-audit-logs.ts:282
+msgid "A recipient was updated"
+msgstr "Se actualizó un destinatario"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:156
+msgid "A request to use your email has been initiated by {0} on Documenso"
+msgstr "Se ha iniciado una solicitud para usar tu correo electrónico por {0} en Documenso"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:142
+#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
+#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
+
+#: packages/email/templates/team-join.tsx:31
+msgid "A team member has joined a team on Documenso"
+msgstr "Un miembro del equipo se ha unido a un equipo en Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
+msgid "A team member has left {0}"
+msgstr "Un miembro del equipo ha dejado {0}"
+
+#: packages/email/templates/team-leave.tsx:31
+msgid "A team member has left a team on Documenso"
+msgstr "Un miembro del equipo ha dejado un equipo en Documenso"
+
+#: packages/email/templates/team-delete.tsx:29
+#: packages/email/templates/team-delete.tsx:33
+msgid "A team you were a part of has been deleted"
+msgstr "Un equipo del que formabas parte ha sido eliminado"
+
+#: packages/email/templates/confirm-team-email.tsx:118
+#: packages/email/templates/team-invite.tsx:94
+#: packages/email/templates/team-transfer-request.tsx:81
+msgid "Accept"
+msgstr "Aceptar"
+
+#: packages/email/templates/team-invite.tsx:42
+msgid "Accept invitation to join a team on Documenso"
+msgstr "Aceptar invitación para unirse a un equipo en Documenso"
+
+#: packages/email/templates/confirm-team-email.tsx:41
+msgid "Accept team email request for {teamName} on Documenso"
+msgstr "Aceptar la solicitud de correo electrónico del equipo para {teamName} en Documenso"
+
+#: packages/email/templates/team-transfer-request.tsx:29
+msgid "Accept team transfer request on Documenso"
+msgstr "Aceptar solicitud de transferencia de equipo en Documenso"
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "Add a document"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:336
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:339
+#: packages/ui/primitives/document-flow/add-settings.tsx:378
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
msgid "Add a URL to redirect the user to once the document is signed"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:248
+#: packages/ui/primitives/document-flow/add-settings.tsx:290
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:256
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
msgid "Add an external ID to the template. This can be used to identify in external systems."
msgstr ""
@@ -77,7 +411,7 @@ msgstr ""
msgid "Add another value"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:662
+#: packages/ui/primitives/document-flow/add-signers.tsx:691
msgid "Add myself"
msgstr ""
@@ -89,7 +423,7 @@ msgstr ""
msgid "Add Placeholder Recipient"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:651
+#: packages/ui/primitives/document-flow/add-signers.tsx:680
msgid "Add Signer"
msgstr ""
@@ -105,13 +439,13 @@ msgstr ""
msgid "Admin"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:230
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:238
+#: packages/ui/primitives/document-flow/add-settings.tsx:272
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
msgid "Advanced Options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:570
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:402
+#: packages/ui/primitives/document-flow/add-fields.tsx:573
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
msgid "Advanced settings"
msgstr ""
@@ -123,11 +457,35 @@ msgstr ""
msgid "All"
msgstr ""
+#: packages/email/template-components/template-document-cancel.tsx:31
+msgid "All signatures have been voided."
+msgstr "Todas las firmas han sido anuladas."
+
+#: packages/email/templates/confirm-team-email.tsx:98
+msgid "Allow document recipients to reply directly to this email address"
+msgstr "Permitir que los destinatarios del documento respondan directamente a esta dirección de correo electrónico"
+
+#: packages/email/templates/document-super-delete.tsx:22
+msgid "An admin has deleted your document \"{documentName}\"."
+msgstr "Un administrador ha eliminado tu documento \"{documentName}\"."
+
+#: packages/ui/primitives/pdf-viewer.tsx:167
+msgid "An error occurred while loading the document."
+msgstr "Se produjo un error al cargar el documento."
+
#: packages/lib/constants/recipient-roles.ts:8
#: packages/ui/components/document/next-inbox-item-button.tsx:113
msgid "Approve"
msgstr ""
+#: packages/email/template-components/template-document-invite.tsx:106
+msgid "Approve Document"
+msgstr "Aprobar Documento"
+
+#: packages/lib/constants/recipient-roles.ts:68
+#~ msgid "APPROVE_REQUEST"
+#~ msgstr "APPROVE_REQUEST"
+
#: packages/lib/constants/recipient-roles.ts:9
msgid "Approved"
msgstr ""
@@ -136,10 +494,18 @@ msgstr ""
msgid "Approver"
msgstr ""
+#: packages/lib/constants/recipient-roles.ts:12
+msgid "Approvers"
+msgstr "Aprobadores"
+
#: packages/lib/constants/recipient-roles.ts:10
msgid "Approving"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:25
+msgid "Before you get started, please confirm your email address by clicking the button below:"
+msgstr "Antes de comenzar, por favor confirma tu dirección de correo electrónico haciendo clic en el botón de abajo:"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr ""
@@ -148,6 +514,18 @@ msgstr ""
msgid "Blue"
msgstr ""
+#: packages/email/templates/team-invite.tsx:84
+msgid "by <0>{senderName}0>"
+msgstr "por <0>{senderName}0>"
+
+#: packages/email/templates/confirm-team-email.tsx:87
+msgid "By accepting this request, you will be granting <0>{teamName}0> access to:"
+msgstr "Al aceptar esta solicitud, estarás concediendo a <0>{teamName}0> acceso a:"
+
+#: packages/email/templates/team-transfer-request.tsx:70
+msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
+msgstr "Al aceptar esta solicitud, asumirás la responsabilidad de cualquier ítem de facturación asociado con este equipo."
+
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58
msgid "Cancel"
@@ -157,28 +535,41 @@ msgstr ""
msgid "Cannot remove signer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:17
+#: packages/lib/constants/recipient-roles.ts:18
msgid "Cc"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:14
-#: packages/lib/constants/recipient-roles.ts:16
+#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:17
msgid "CC"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:16
msgid "CC'd"
msgstr ""
+#: packages/lib/constants/recipient-roles.ts:19
+msgid "Ccers"
+msgstr "Ccers"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86
msgid "Character Limit"
msgstr ""
+<<<<<<< HEAD
#: packages/ui/primitives/document-flow/add-fields.tsx:1026
#: packages/ui/primitives/template-flow/add-template-fields.tsx:788
msgid "Checkbox"
msgstr ""
+||||||| 7fc497a64
+#: packages/ui/primitives/document-flow/add-fields.tsx:1026
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:788
+msgid "Checkbox"
+msgstr "Caja de verificación"
+
+=======
+>>>>>>> main
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
msgid "Checkbox values"
msgstr ""
@@ -203,20 +594,60 @@ msgstr ""
msgid "Completed"
msgstr ""
+#: packages/email/template-components/template-document-completed.tsx:35
+#: packages/email/template-components/template-document-self-signed.tsx:36
+#: packages/lib/constants/document.ts:10
+msgid "Completed"
+msgstr "Completado"
+
+#: packages/email/templates/document-completed.tsx:23
+#: packages/email/templates/document-self-signed.tsx:19
+msgid "Completed Document"
+msgstr "Documento completado"
+
#: packages/lib/constants/template.ts:12
msgid "Configure Direct Recipient"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:571
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:403
+#: packages/ui/primitives/document-flow/add-fields.tsx:574
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
msgid "Configure the {0} field"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:35
+msgid "Confirm email"
+msgstr "Confirmar correo electrónico"
+
#: packages/ui/primitives/document-flow/document-flow-root.tsx:141
msgid "Continue"
msgstr ""
+#: packages/email/template-components/template-document-invite.tsx:72
+#~ msgid "Continue by {0} the document."
+#~ msgstr "Continue by {0} the document."
+
+#: packages/email/template-components/template-document-invite.tsx:86
+msgid "Continue by approving the document."
+msgstr "Continúa aprobando el documento."
+
+#: packages/email/template-components/template-document-completed.tsx:45
+msgid "Continue by downloading the document."
+msgstr "Continúa descargando el documento."
+
+#: packages/email/template-components/template-document-invite.tsx:84
+msgid "Continue by signing the document."
+msgstr "Continúa firmando el documento."
+
+#: packages/email/template-components/template-document-invite.tsx:85
+msgid "Continue by viewing the document."
+msgstr "Continúa viendo el documento."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:254
+msgid "Copied"
+msgstr "Copiado"
+
#: packages/ui/components/document/document-share-button.tsx:46
+#: packages/ui/primitives/document-flow/add-subject.tsx:241
msgid "Copied to clipboard"
msgstr ""
@@ -224,27 +655,60 @@ msgstr ""
msgid "Created {0}"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:249
+msgid "Copy"
+msgstr "Copiar"
+
+#: packages/ui/components/document/document-share-button.tsx:194
+msgid "Copy Link"
+msgstr "Copiar enlace"
+
+#: packages/email/template-components/template-document-self-signed.tsx:46
+msgid "Create a <0>free account0> to access your signed documents at any time."
+msgstr "Crea una <0>cuenta gratuita0> para acceder a tus documentos firmados en cualquier momento."
+
+#: packages/email/template-components/template-document-self-signed.tsx:68
+msgid "Create account"
+msgstr "Crear cuenta"
+
#: packages/ui/primitives/document-flow/add-signature.tsx:360
msgid "Custom Text"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:922
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:684
+#: packages/ui/primitives/document-flow/add-fields.tsx:927
+#: packages/ui/primitives/document-flow/types.ts:53
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
msgid "Date"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:271
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:279
+#: packages/ui/primitives/document-flow/add-settings.tsx:313
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
msgid "Date Format"
msgstr ""
+#: packages/email/templates/team-invite.tsx:100
+msgid "Decline"
+msgstr "Rechazar"
+
+#: packages/email/templates/reset-password.tsx:71
+msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.0>"
+msgstr "¿No solicitaste un cambio de contraseña? Estamos aquí para ayudarte a asegurar tu cuenta, solo <0>contáctanos.0>"
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
msgid "Direct link receiver"
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
+msgid "Document \"{0}\" - Rejected by {1}"
+msgstr ""
+
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
+msgid "Document \"{0}\" - Rejection Confirmed"
+msgstr ""
+
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
-#: packages/ui/primitives/document-flow/add-settings.tsx:174
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:151
+#: packages/ui/primitives/document-flow/add-settings.tsx:216
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
msgid "Document access"
msgstr ""
@@ -256,6 +720,33 @@ msgstr ""
msgid "Document completed"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:306
+msgid "Document access auth updated"
+msgstr "Se actualizó la autenticación de acceso al documento"
+
+#: packages/lib/server-only/document/delete-document.ts:246
+#: packages/lib/server-only/document/super-delete-document.ts:98
+msgid "Document Cancelled"
+msgstr "Documento cancelado"
+
+#: packages/lib/utils/document-audit-logs.ts:369
+#: packages/lib/utils/document-audit-logs.ts:370
+msgid "Document completed"
+msgstr "Documento completado"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:168
+msgid "Document completed email"
+msgstr "Correo electrónico de documento completado"
+
+#: packages/lib/utils/document-audit-logs.ts:286
+msgid "Document created"
+msgstr "Documento creado"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:32
+#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
+msgid "Document created from direct template"
+msgstr "Documento creado a partir de plantilla directa"
+
#: packages/lib/constants/template.ts:20
msgid "Document Creation"
msgstr ""
@@ -272,6 +763,64 @@ msgstr ""
msgid "Document pending"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:290
+msgid "Document deleted"
+msgstr "Documento eliminado"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:207
+msgid "Document deleted email"
+msgstr "Correo electrónico de documento eliminado"
+
+#: packages/lib/server-only/document/send-delete-email.ts:82
+msgid "Document Deleted!"
+msgstr "¡Documento eliminado!"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
+msgid "Document Distribution Method"
+msgstr "Método de distribución de documentos"
+
+#: packages/lib/utils/document-audit-logs.ts:326
+msgid "Document external ID updated"
+msgstr "ID externo del documento actualizado"
+
+#: packages/lib/utils/document-audit-logs.ts:334
+msgid "Document moved to team"
+msgstr "Documento movido al equipo"
+
+#: packages/lib/utils/document-audit-logs.ts:318
+msgid "Document opened"
+msgstr "Documento abierto"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:128
+msgid "Document pending email"
+msgstr "Correo electrónico de documento pendiente"
+
+#: packages/email/template-components/template-document-rejected.tsx:21
+msgid "Document Rejected"
+msgstr ""
+
+#: packages/lib/utils/document-audit-logs.ts:330
+msgid "Document sent"
+msgstr "Documento enviado"
+
+#: packages/lib/utils/document-audit-logs.ts:310
+msgid "Document signing auth updated"
+msgstr "Se actualizó la autenticación de firma del documento"
+
+#: packages/lib/utils/document-audit-logs.ts:322
+msgid "Document title updated"
+msgstr "Título del documento actualizado"
+
+#: packages/lib/utils/document-audit-logs.ts:314
+msgid "Document updated"
+msgstr "Documento actualizado"
+
+#: packages/lib/utils/document-audit-logs.ts:302
+msgid "Document visibility updated"
+msgstr "Visibilidad del documento actualizada"
+
+#: packages/email/template-components/template-document-completed.tsx:57
#: packages/ui/components/document/document-download-button.tsx:68
msgid "Download"
msgstr ""
@@ -280,12 +829,16 @@ msgstr ""
msgid "Draft"
msgstr ""
+#: packages/lib/constants/document.ts:13
+msgid "Draft"
+msgstr "Borrador"
+
#: packages/ui/primitives/document-dropzone.tsx:162
msgid "Drag & drop your PDF here."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1052
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:814
+#: packages/ui/primitives/document-flow/add-fields.tsx:1058
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
msgid "Dropdown"
msgstr ""
@@ -293,20 +846,35 @@ msgstr ""
msgid "Dropdown options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:870
+#: 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/template-flow/add-template-fields.tsx:632
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
msgid "Email"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:184
+#: packages/ui/primitives/document-flow/add-signature.types.ts:7
+msgid "Email is required"
+msgstr "Se requiere email"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
msgid "Email Options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1117
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email resent"
+msgstr "Correo electrónico reeenviado"
+
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email sent"
+msgstr "Correo electrónico enviado"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1123
msgid "Empty field"
msgstr ""
@@ -319,7 +887,7 @@ msgstr ""
msgid "Enable signing order"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:790
+#: packages/ui/primitives/document-flow/add-fields.tsx:795
msgid "Enable Typed Signatures"
msgstr ""
@@ -328,11 +896,12 @@ msgid "Enter password"
msgstr ""
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257
+#: packages/ui/primitives/pdf-viewer.tsx:166
msgid "Error"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:241
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:249
+#: packages/ui/primitives/document-flow/add-settings.tsx:283
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
msgid "External ID"
msgstr ""
@@ -365,6 +934,14 @@ msgstr ""
msgid "Field placeholder"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:294
+msgid "Field signed"
+msgstr "Campo firmado"
+
+#: packages/lib/utils/document-audit-logs.ts:298
+msgid "Field unsigned"
+msgstr "Campo no firmado"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56
#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38
#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38
@@ -374,6 +951,22 @@ msgstr ""
msgid "Font Size"
msgstr ""
+#: packages/lib/server-only/auth/send-forgot-password.ts:61
+msgid "Forgot Password?"
+msgstr "¿Olvidaste tu contraseña?"
+
+#: packages/email/template-components/template-forgot-password.tsx:21
+msgid "Forgot your password?"
+msgstr "¿Olvidaste tu contraseña?"
+
+#: packages/ui/primitives/document-flow/types.ts:50
+msgid "Free Signature"
+msgstr "Firma gratuita"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:89
+msgid "Generate Links"
+msgstr "Generar enlaces"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
msgid "Global recipient action authentication"
msgstr ""
@@ -386,19 +979,23 @@ msgstr ""
msgid "Green"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:72
+#: packages/email/templates/reset-password.tsx:56
+msgid "Hi, {userName} <0>({userEmail})0>"
+msgstr "Hola, {userName} <0>({userEmail})0>"
+
+#: packages/lib/constants/recipient-roles.ts:44
msgid "I am a signer of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:75
+#: packages/lib/constants/recipient-roles.ts:47
msgid "I am a viewer of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:73
+#: packages/lib/constants/recipient-roles.ts:45
msgid "I am an approver of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:74
+#: packages/lib/constants/recipient-roles.ts:46
msgid "I am required to receive a copy of this document"
msgstr ""
@@ -411,12 +1008,43 @@ msgstr ""
msgid "Inherit authentication method"
msgstr ""
+#: packages/ui/primitives/document-flow/types.ts:51
+msgid "Initials"
+msgstr "Iniciales"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:17
+msgid "Invalid email"
+msgstr "Email inválido"
+
+#: packages/ui/primitives/document-flow/add-signature.types.ts:8
+msgid "Invalid email address"
+msgstr "Dirección de email inválida"
+
+#: packages/email/templates/team-invite.tsx:72
+msgid "Join {teamName} on Documenso"
+msgstr "Únete a {teamName} en Documenso"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48
msgid "Label"
msgstr ""
+#: packages/ui/primitives/document-flow/add-settings.tsx:176
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
+msgid "Language"
+msgstr "Idioma"
+
+#: packages/email/templates/confirm-team-email.tsx:124
+#: packages/email/templates/team-transfer-request.tsx:87
+msgid "Link expires in 1 hour."
+msgstr "El enlace expira en 1 hora."
+
+#: packages/ui/primitives/lazy-pdf-viewer.tsx:15
+#: packages/ui/primitives/pdf-viewer.tsx:44
+msgid "Loading document..."
+msgstr "Cargando documento..."
+
#: packages/lib/constants/teams.ts:11
msgid "Manager"
msgstr ""
@@ -429,8 +1057,8 @@ msgstr ""
msgid "Member"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:95
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:215
+#: packages/ui/primitives/document-flow/add-subject.tsx:160
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
msgid "Message <0>(Optional)0>"
msgstr ""
@@ -438,11 +1066,12 @@ msgstr ""
msgid "Min"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:896
+#: 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/template-flow/add-template-fields.tsx:658
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
msgid "Name"
@@ -460,13 +1089,17 @@ msgstr ""
msgid "Needs to view"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:680
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:497
+#: packages/ui/primitives/document-flow/add-fields.tsx:686
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
msgid "No recipient matching this description was found."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:696
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:513
+#: packages/ui/primitives/document-flow/add-subject.tsx:215
+msgid "No recipients"
+msgstr "Sin destinatarios"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:701
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
msgid "No recipients with this role"
msgstr ""
@@ -490,8 +1123,13 @@ msgstr ""
msgid "No value found."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:974
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:736
+#: packages/lib/constants/document.ts:32
+msgid "None"
+msgstr "Ninguno"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:979
+#: packages/ui/primitives/document-flow/types.ts:56
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
msgid "Number"
msgstr ""
@@ -511,6 +1149,10 @@ msgstr ""
msgid "Page {0} of {1}"
msgstr ""
+#: packages/ui/primitives/pdf-viewer.tsx:259
+msgid "Page {0} of {numPages}"
+msgstr "Página {0} de {numPages}"
+
#: packages/ui/primitives/document-password-dialog.tsx:62
msgid "Password Required"
msgstr ""
@@ -519,6 +1161,26 @@ msgstr ""
msgid "Pending"
msgstr ""
+#: packages/email/templates/forgot-password.tsx:19
+msgid "Password Reset Requested"
+msgstr "Solicitud de restablecimiento de contraseña"
+
+#: packages/email/templates/reset-password.tsx:20
+msgid "Password Reset Successful"
+msgstr "Restablecimiento de contraseña exitoso"
+
+#: packages/email/template-components/template-reset-password.tsx:22
+msgid "Password updated!"
+msgstr "¡Contraseña actualizada!"
+
+#: packages/lib/constants/document.ts:16
+msgid "Pending"
+msgstr "Pendiente"
+
+#: packages/email/templates/document-pending.tsx:19
+msgid "Pending Document"
+msgstr "Documento pendiente"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156
msgid "Pick a number"
msgstr ""
@@ -529,8 +1191,40 @@ msgstr ""
msgid "Placeholder"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1000
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:762
+#: packages/email/template-components/template-document-invite.tsx:56
+msgid "Please {0} your document<0/>\"{documentName}\""
+msgstr "Por favor {0} tu documento<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:50
+msgid "Please {action} your document {documentName}"
+msgstr "Por favor {action} tu documento {documentName}"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
+msgid "Please {recipientActionVerb} this document"
+msgstr "Por favor {recipientActionVerb} este documento"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
+msgid "Please {recipientActionVerb} this document created by your direct template"
+msgstr "Por favor {recipientActionVerb} este documento creado a partir de tu plantilla directa"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
+msgid "Please {recipientActionVerb} your document"
+msgstr "Por favor {recipientActionVerb} tu documento"
+
+#: packages/lib/server-only/auth/send-confirmation-email.ts:67
+msgid "Please confirm your email"
+msgstr "Por favor confirma tu correo electrónico"
+
+#: packages/email/templates/confirm-email.tsx:17
+msgid "Please confirm your email address"
+msgstr "Por favor confirma tu dirección de correo electrónico"
+
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
+msgid "Please try again or contact our support."
+msgstr "Por favor, inténtalo de nuevo o contacta a nuestro soporte."
+
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
msgid "Radio"
msgstr ""
@@ -546,26 +1240,71 @@ msgstr ""
msgid "Read only"
msgstr ""
+#: packages/email/template-components/template-document-rejected.tsx:32
+msgid "Reason for rejection: {rejectionReason}"
+msgstr ""
+
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:338
+#: packages/lib/utils/document-audit-logs.ts:353
+msgid "Recipient"
+msgstr "Destinatario"
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
-#: packages/ui/primitives/document-flow/add-settings.tsx:215
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:169
+#: packages/ui/primitives/document-flow/add-settings.tsx:257
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
msgid "Recipient action authentication"
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:89
+msgid "Recipient removed email"
+msgstr "Correo electrónico de destinatario eliminado"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:50
+msgid "Recipient signing request email"
+msgstr "Correo electrónico de solicitud de firma de destinatario"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:329
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:332
+#: packages/ui/primitives/document-flow/add-settings.tsx:371
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
msgid "Redirect URL"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1104
+#: packages/email/template-components/template-document-invite.tsx:96
+msgid "Reject Document"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
+msgid "Rejection Confirmed"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
+msgid "Rejection reason: {reason}"
+msgstr ""
+
+#: packages/lib/server-only/document/resend-document.tsx:192
+msgid "Reminder: {0}"
+msgstr "Recordatorio: {0}"
+
+#: packages/lib/server-only/document/resend-document.tsx:132
+msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
+msgstr "Recordatorio: {0} te invitó a {recipientActionVerb} un documento"
+
+#: packages/lib/server-only/document/resend-document.tsx:121
+msgid "Reminder: Please {recipientActionVerb} this document"
+msgstr "Recordatorio: Por favor {recipientActionVerb} este documento"
+
+#: packages/lib/server-only/document/resend-document.tsx:127
+msgid "Reminder: Please {recipientActionVerb} your document"
+msgstr "Recordatorio: Por favor {recipientActionVerb} tu documento"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1110
msgid "Remove"
msgstr ""
@@ -577,6 +1316,18 @@ msgstr ""
msgid "Required field"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:84
+msgid "Resend"
+msgstr "Reenviar"
+
+#: packages/email/template-components/template-forgot-password.tsx:33
+msgid "Reset Password"
+msgstr "Restablecer contraseña"
+
+#: packages/ui/components/document/document-share-button.tsx:147
+msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!"
+msgstr "Ten la seguridad de que tu documento es estrictamente confidencial y nunca será compartido. Solo se destacará tu experiencia de firma. ¡Comparte tu tarjeta de firma personalizada para mostrar tu firma!"
+
#: packages/ui/primitives/data-table-pagination.tsx:55
msgid "Rows per page"
msgstr ""
@@ -585,7 +1336,7 @@ msgstr ""
msgid "Save"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:848
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
msgid "Save Template"
msgstr ""
@@ -609,7 +1360,8 @@ msgstr ""
msgid "Select default option"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:82
+#: packages/ui/primitives/document-flow/add-subject.tsx:85
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
msgid "Send"
@@ -619,6 +1371,30 @@ msgstr ""
msgid "Send Document"
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:158
+msgid "Send document completed email"
+msgstr "Enviar correo electrónico de documento completado"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:197
+msgid "Send document deleted email"
+msgstr "Enviar correo electrónico de documento eliminado"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:118
+msgid "Send document pending email"
+msgstr "Enviar correo electrónico de documento pendiente"
+
+#: packages/email/templates/confirm-team-email.tsx:101
+msgid "Send documents on behalf of the team using the email address"
+msgstr "Enviar documentos en nombre del equipo usando la dirección de correo electrónico"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:79
+msgid "Send recipient removed email"
+msgstr "Enviar correo electrónico de destinatario eliminado"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:40
+msgid "Send recipient signing request email"
+msgstr "Enviar correo electrónico de solicitud de firma de destinatario"
+
#: packages/ui/components/document/document-share-button.tsx:135
msgid "Share Signature Card"
msgstr ""
@@ -627,13 +1403,23 @@ msgstr ""
msgid "Share the Link"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:680
+#: packages/ui/components/document/document-share-button.tsx:143
+msgid "Share your signing experience!"
+msgstr "¡Comparte tu experiencia de firma!"
+
+#: 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 ""
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:20
#: packages/ui/components/document/next-inbox-item-button.tsx:107
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:20
+=======
+#: packages/lib/constants/recipient-roles.ts:22
+>>>>>>> main
msgid "Sign"
msgstr ""
@@ -641,25 +1427,51 @@ msgstr ""
msgid "Sign Next Document"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:818
+#: packages/email/template-components/template-document-invite.tsx:104
+msgid "Sign Document"
+msgstr "Firmar Documento"
+
+#: packages/email/template-components/template-reset-password.tsx:34
+msgid "Sign In"
+msgstr "Iniciar sesión"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:823
#: packages/ui/primitives/document-flow/add-signature.tsx:323
#: packages/ui/primitives/document-flow/field-icon.tsx:52
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:580
+#: packages/ui/primitives/document-flow/types.ts:49
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
msgid "Signature"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:21
+#: packages/lib/constants/recipient-roles.ts:23
msgid "Signed"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:23
+#: packages/lib/constants/recipient-roles.ts:25
msgid "Signer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:22
+#: packages/lib/constants/recipient-roles.ts:26
+msgid "Signers"
+msgstr "Firmantes"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:36
+msgid "Signers must have unique emails"
+msgstr "Los firmantes deben tener correos electrónicos únicos"
+
+#: packages/lib/constants/recipient-roles.ts:24
msgid "Signing"
msgstr ""
+#: packages/lib/server-only/document/send-completed-email.ts:114
+#: packages/lib/server-only/document/send-completed-email.ts:194
+msgid "Signing Complete!"
+msgstr "¡Firma completa!"
+
+#: packages/lib/constants/recipient-roles.ts:66
+#~ msgid "SIGNING_REQUEST"
+#~ msgstr "SIGNING_REQUEST"
+
#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34
msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding."
msgstr ""
@@ -668,6 +1480,11 @@ msgstr ""
msgid "Something went wrong"
msgstr ""
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
+msgid "Something went wrong while loading the document."
+msgstr "Algo salió mal al cargar el documento."
+
#: packages/ui/primitives/data-table.tsx:136
msgid "Something went wrong."
msgstr ""
@@ -676,8 +1493,8 @@ msgstr ""
msgid "Step <0>{step} of {maxStep}0>"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:78
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:195
+#: packages/ui/primitives/document-flow/add-subject.tsx:143
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
msgid "Subject <0>(Optional)0>"
msgstr ""
@@ -685,15 +1502,36 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:134
+#: packages/lib/server-only/team/delete-team.ts:124
+msgid "Team \"{0}\" has been deleted on Documenso"
+msgstr "El equipo \"{0}\" ha sido eliminado en Documenso"
+
+#: packages/lib/server-only/team/delete-team-email.ts:104
+msgid "Team email has been revoked for {0}"
+msgstr "El correo electrónico del equipo ha sido revocado para {0}"
+
+#: packages/email/templates/team-email-removed.tsx:59
+msgid "Team email removed"
+msgstr "Correo electrónico del equipo eliminado"
+
+#: packages/email/templates/team-email-removed.tsx:29
+msgid "Team email removed for {teamName} on Documenso"
+msgstr "Correo electrónico del equipo eliminado para {teamName} en Documenso"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
msgid "Template title"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:948
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:710
+#: packages/ui/primitives/document-flow/add-fields.tsx:953
+#: packages/ui/primitives/document-flow/types.ts:52
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
msgid "Text"
msgstr ""
+#: packages/email/template-components/template-forgot-password.tsx:25
+msgid "That's okay, it happens! Click the button below to reset your password."
+msgstr "Está bien, ¡sucede! Haz clic en el botón de abajo para restablecer tu contraseña."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:44
msgid "The authentication required for recipients to sign fields"
msgstr ""
@@ -706,14 +1544,30 @@ msgstr ""
msgid "The authentication required for recipients to view the document."
msgstr ""
+#: 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 ""
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
msgstr ""
+#: packages/email/templates/team-delete.tsx:37
+msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
+msgstr "El siguiente equipo ha sido eliminado por su propietario. Ya no podrás acceder a este equipo y sus documentos"
+
+#: packages/email/templates/team-delete.tsx:36
+msgid "The following team has been deleted by you"
+msgstr "El siguiente equipo ha sido eliminado por ti"
+
#: packages/ui/primitives/document-password-dialog.tsx:52
msgid "The password you have entered is incorrect. Please try again."
msgstr ""
+#: packages/email/template-components/template-document-super-delete.tsx:38
+msgid "The reason provided for deletion is the following:"
+msgstr "La razón proporcionada para la eliminación es la siguiente:"
+
#: packages/ui/components/recipient/recipient-role-select.tsx:103
msgid "The recipient is not required to take any action and receives a copy of the document after it is completed."
msgstr ""
@@ -746,11 +1600,23 @@ msgstr ""
msgid "The signer's name"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:243
+msgid "The signing link has been copied to your clipboard."
+msgstr "El enlace de firma ha sido copiado a tu portapapeles."
+
+#: packages/email/templates/team-email-removed.tsx:63
+msgid "The team email <0>{teamEmail}0> has been removed from the following team"
+msgstr "El correo electrónico del equipo <0>{teamEmail}0> ha sido eliminado del siguiente equipo"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:72
msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:752
+#: packages/email/template-components/template-document-super-delete.tsx:31
+msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
+msgstr "Este documento no se puede recuperar, si deseas impugnar la razón para documentos futuros, por favor contacta con el soporte."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:757
msgid "This document has already been sent to this recipient. You can no longer edit this recipient."
msgstr ""
@@ -758,11 +1624,35 @@ msgstr ""
msgid "This document is password protected. Please enter the password to view the document."
msgstr ""
+#: packages/email/template-components/template-footer.tsx:17
+msgid "This document was sent using <0>Documenso.0>"
+msgstr "Este documento fue enviado usando <0>Documenso.0>"
+
+#: 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 ""
+
+#: 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 "Este correo electrónico se envía al destinatario si es eliminado de un documento pendiente."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:55
+msgid "This email is sent to the recipient requesting them to sign the document."
+msgstr "Este correo electrónico se envía al destinatario solicitando que firme el documento."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:133
+msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
+msgstr "Este correo electrónico se enviará al destinatario que acaba de firmar el documento, si todavía hay otros destinatarios que no han firmado."
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1084
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
+msgid "This is how the document will reach the recipients once the document is ready for signing."
+msgstr "Así es como el documento llegará a los destinatarios una vez que esté listo para firmarse."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1090
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
msgstr ""
@@ -770,25 +1660,33 @@ msgstr ""
msgid "This signer has already signed the document."
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:212
+msgid "This will be sent to all recipients if a pending document has been deleted."
+msgstr "Esto se enviará a todos los destinatarios si un documento pendiente ha sido eliminado."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:173
+msgid "This will be sent to all recipients once the document has been fully completed."
+msgstr "Esto se enviará a todos los destinatarios una vez que el documento esté completamente completado."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
msgid "This will override any global settings."
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:305
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:309
+#: packages/ui/primitives/document-flow/add-settings.tsx:347
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
msgid "Time Zone"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:153
+#: packages/ui/primitives/document-flow/add-settings.tsx:155
msgid "Title"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1067
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:828
+#: packages/ui/primitives/document-flow/add-fields.tsx:1073
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
msgid "To proceed further, please set at least one value for the {0} field."
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:86
msgid "Update"
msgstr ""
@@ -814,35 +1712,168 @@ msgstr ""
msgid "Value"
msgstr ""
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:26
#: packages/ui/components/document/next-inbox-item-button.tsx:119
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:26
+=======
+#: packages/email/templates/confirm-team-email.tsx:71
+msgid "Verify your team email address"
+msgstr "Verifica tu dirección de correo electrónico del equipo"
+
+#: packages/lib/constants/recipient-roles.ts:29
+>>>>>>> main
msgid "View"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:27
+#: packages/email/templates/confirm-team-email.tsx:95
+msgid "View all documents sent to and from this email address"
+msgstr "Ver todos los documentos enviados hacia y desde esta dirección de correo electrónico"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:75
+msgid "View document"
+msgstr "Ver documento"
+
+#: 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"
+msgstr "Ver Documento"
+
+#: packages/email/template-components/template-document-self-signed.tsx:79
+msgid "View plans"
+msgstr "Ver planes"
+
+#: packages/lib/constants/recipient-roles.ts:67
+#~ msgid "VIEW_REQUEST"
+#~ msgstr "VIEW_REQUEST"
+
+#: packages/lib/constants/recipient-roles.ts:30
msgid "Viewed"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:29
+#: packages/lib/constants/recipient-roles.ts:32
msgid "Viewer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:28
+#: packages/lib/constants/recipient-roles.ts:33
+msgid "Viewers"
+msgstr "Espectadores"
+
+#: packages/lib/constants/recipient-roles.ts:31
msgid "Viewing"
msgstr ""
+#: packages/email/template-components/template-document-pending.tsx:31
+msgid "Waiting for others"
+msgstr "Esperando a otros"
+
+#: packages/lib/server-only/document/send-pending-email.ts:96
+msgid "Waiting for others to complete signing."
+msgstr "Esperando a que otros completen la firma."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:205
+msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
+msgstr "Generaremos enlaces de firma para ti, que podrás enviar a los destinatarios a través de tu método preferido."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:201
+msgid "We won't send anything to notify recipients."
+msgstr "No enviaremos nada para notificar a los destinatarios."
+
+#: packages/email/template-components/template-document-pending.tsx:41
+msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
+msgstr "Aún estamos esperando a que otros firmantes firmen este documento.<0/>Te notificaremos tan pronto como esté listo."
+
+#: packages/email/templates/reset-password.tsx:65
+msgid "We've changed your password as you asked. You can now sign in with your new password."
+msgstr "Hemos cambiado tu contraseña como solicitaste. Ahora puedes iniciar sesión con tu nueva contraseña."
+
+#: packages/email/template-components/template-confirmation-email.tsx:21
+msgid "Welcome to Documenso!"
+msgstr "¡Bienvenido a Documenso!"
+
+#: packages/lib/utils/document-audit-logs.ts:258
+msgid "You"
+msgstr "Tú"
+
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44
msgid "You are about to send this document to the recipients. Are you sure you want to continue?"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:38
+msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
+msgstr "También puedes copiar y pegar este enlace en tu navegador: {confirmationLink} (el enlace expira en 1 hora)"
+
+#: packages/email/templates/confirm-team-email.tsx:106
+msgid "You can revoke access at any time in your team settings on Documenso <0>here.0>"
+msgstr "Puedes revocar el acceso en cualquier momento en la configuración de tu equipo en Documenso <0>aquí.0>"
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
msgid "You can use the following variables in your message:"
msgstr ""
+#: packages/email/template-components/template-document-rejected.tsx:37
+msgid "You can view the document and its status by clicking the button below."
+msgstr ""
+
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
msgstr ""
+#: packages/email/template-components/template-document-cancel.tsx:35
+msgid "You don't need to sign it anymore."
+msgstr "Ya no necesitas firmarlo."
+
+#: packages/lib/server-only/team/create-team-member-invites.ts:186
+msgid "You have been invited to join {0} on Documenso"
+msgstr "Te han invitado a unirte a {0} en Documenso"
+
+#: packages/email/templates/team-invite.tsx:76
+msgid "You have been invited to join the following team"
+msgstr "Te han invitado a unirte al siguiente equipo"
+
+#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
+msgid "You have been removed from a document"
+msgstr "Te han eliminado de un documento"
+
+#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114
+msgid "You have been requested to take ownership of team {0} on Documenso"
+msgstr "Se te ha solicitado asumir la propiedad del equipo {0} en Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
+#: packages/lib/server-only/document/resend-document.tsx:125
+msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
+msgstr "Has iniciado el documento {0} que requiere que {recipientActionVerb}."
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "You have reached your document limit."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Ha alcanzado su límite de documentos."
+=======
+msgstr "Ha alcanzado su límite de documentos."
+
+#: packages/email/templates/document-rejection-confirmed.tsx:27
+msgid "You have rejected the document '{documentName}'"
+msgstr ""
+
+#: packages/email/template-components/template-document-self-signed.tsx:42
+msgid "You have signed “{documentName}”"
+msgstr "Has firmado “{documentName}”"
+
+#: packages/email/template-components/template-document-super-delete.tsx:23
+msgid "Your document has been deleted by an admin!"
+msgstr "¡Tu documento ha sido eliminado por un administrador!"
+
+#: packages/email/template-components/template-reset-password.tsx:26
+msgid "Your password has been updated."
+msgstr "Tu contraseña ha sido actualizada."
+
+#: packages/email/templates/team-delete.tsx:28
+#: packages/email/templates/team-delete.tsx:32
+msgid "Your team has been deleted"
+msgstr "Tu equipo ha sido eliminado"
+>>>>>>> main
diff --git a/packages/lib/translations/es/marketing.po b/packages/lib/translations/es/marketing.po
index 55fedb4d9..dc416ad7a 100644
--- a/packages/lib/translations/es/marketing.po
+++ b/packages/lib/translations/es/marketing.po
@@ -8,7 +8,13 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-22 02:25\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po
index 4882d512b..59b0a94cf 100644
--- a/packages/lib/translations/es/web.po
+++ b/packages/lib/translations/es/web.po
@@ -8,11 +8,21 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-22 02:26\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
+msgid "\"{0}\" has invited you to sign \"example document\"."
+msgstr "\"{0}\" te ha invitado a firmar \"ejemplo de documento\"."
+
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
msgstr ""
@@ -21,15 +31,35 @@ msgstr ""
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr ""
-#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
+msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
+msgstr "\"{email}\" en nombre de \"{teamName}\" te ha invitado a firmar \"ejemplo de documento\"."
+
+#: 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\n"
+#~ "document\"."
+#~ msgstr ""
+#~ "\"{placeholderEmail}\" en nombre de \"{0}\" te ha invitado a firmar \"ejemplo\n"
+#~ "documento\"."
+
+#: 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 ""
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
+msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
+msgstr "\"{teamUrl}\" te ha invitado a firmar \"ejemplo de documento\"."
+
+#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:79
msgid "({0}) has invited you to approve this document"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -59,7 +89,7 @@ msgstr ""
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
msgstr ""
@@ -72,20 +102,36 @@ msgid "{0} direct signing templates"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:66
+<<<<<<< HEAD
msgid "{0} document"
msgstr ""
+||||||| 7fc497a64
+msgid "{0} document"
+msgstr "{0} documento"
+=======
+#~ msgid "{0} document"
+#~ msgstr "{0} document"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:146
msgid "{0} of {1} documents remaining this month."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
msgid "{0} Recipient(s)"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+<<<<<<< HEAD
msgid "{0} the document to complete the process."
msgstr ""
+||||||| 7fc497a64
+msgid "{0} the document to complete the process."
+msgstr "{0} el documento para completar el proceso."
+=======
+#~ msgid "{0} the document to complete the process."
+#~ msgstr "{0} the document to complete the process."
+>>>>>>> main
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
@@ -99,6 +145,14 @@ msgstr ""
msgid "{numberOfSeats, plural, one {# member} other {# members}}"
msgstr ""
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+msgid "{recipientActionVerb} document"
+msgstr "{recipientActionVerb} documento"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
+msgid "{recipientActionVerb} the document to complete the process."
+msgstr "{recipientActionVerb} el documento para completar el proceso."
+
#: apps/web/src/components/forms/public-profile-form.tsx:231
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}"
@@ -112,6 +166,18 @@ msgstr ""
msgid "<0>Sender:0> All"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
+msgid "1 month"
+msgstr "1 mes"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8
+msgid "12 months"
+msgstr "12 meses"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6
+msgid "3 months"
+msgstr "3 meses"
+
#: apps/web/src/components/partials/not-found.tsx:45
msgid "404 Page not found"
msgstr ""
@@ -128,14 +194,30 @@ msgstr ""
msgid "404 Template not found"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7
+msgid "6 months"
+msgstr "6 meses"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4
+msgid "7 days"
+msgstr "7 días"
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:55
msgid "A confirmation email has been sent, and it should arrive in your inbox shortly."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70
+msgid "A device capable of accessing, opening, and reading documents"
+msgstr "Un dispositivo capaz de acceder, abrir y leer documentos"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
msgid "A draft document will be created"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73
+msgid "A means to print or download documents for your records"
+msgstr "Un medio para imprimir o descargar documentos para sus registros"
+
#: apps/web/src/components/forms/token.tsx:127
msgid "A new token was created successfully."
msgstr ""
@@ -158,12 +240,16 @@ msgstr ""
msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64
+msgid "A stable internet connection"
+msgstr "Una conexión a Internet estable"
+
#: apps/web/src/components/forms/public-profile-form.tsx:198
msgid "A unique URL to access your profile"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:139
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
msgid "A unique URL to identify your team"
msgstr ""
@@ -175,24 +261,42 @@ msgstr ""
msgid "Accept"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33
+msgid "Acceptance and Consent"
+msgstr "Aceptación y Consentimiento"
+
#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26
msgid "Accepted team invitation"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:128
+msgid "Account Authentication"
+msgstr "Autenticación de Cuenta"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:48
msgid "Account deleted"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:119
+msgid "Account Re-Authentication"
+msgstr "Re-autenticación de Cuenta"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139
+msgid "Acknowledgment"
+msgstr "Reconocimiento"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
msgid "Action"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:85
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142
@@ -201,7 +305,7 @@ msgstr ""
msgid "Actions"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
msgid "Active"
@@ -215,12 +319,12 @@ msgstr ""
msgid "Add"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
msgid "Add all relevant fields for each recipient."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83
msgid "Add all relevant placeholders for each recipient."
msgstr ""
@@ -236,8 +340,8 @@ msgstr ""
msgid "Add email"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
msgid "Add Fields"
msgstr ""
@@ -250,38 +354,62 @@ msgstr ""
msgid "Add passkey"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82
msgid "Add Placeholders"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
msgid "Add Signers"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179
msgid "Add Subject"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179
+msgid "Add Subject"
+msgstr "Agregar Asunto"
+=======
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+#~ msgid "Add Subject"
+#~ msgstr "Add Subject"
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
msgid "Add team email"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
msgid "Add the people who will sign the document."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
msgid "Add the recipients to create the document with"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
msgid "Add the subject and message you wish to send to signers."
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+msgid "Add the subject and message you wish to send to signers."
+msgstr "Agrega el asunto y el mensaje que deseas enviar a los firmantes."
+=======
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+#~ msgid "Add the subject and message you wish to send to signers."
+#~ msgstr "Add the subject and message you wish to send to signers."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
msgid "Adding and removing seats will adjust your invoice accordingly."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
+msgid "Additional brand information to display at the bottom of emails"
+msgstr "Información adicional de la marca para mostrar al final de los correos electrónicos"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
msgid "Admin Actions"
msgstr ""
@@ -290,6 +418,10 @@ msgstr ""
msgid "Admin panel"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129
+msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time."
+msgstr "Después de firmar un documento electrónicamente, se le dará la oportunidad de ver, descargar e imprimir el documento para sus registros. Se recomienda encarecidamente que conserve una copia de todos los documentos firmados electrónicamente para sus registros personales. También mantendremos una copia del documento firmado para nuestros registros, sin embargo, es posible que no podamos proporcionarle una copia del documento firmado después de un cierto período de tiempo."
+
#: apps/web/src/components/formatter/document-status.tsx:46
msgid "All"
msgstr ""
@@ -302,6 +434,10 @@ msgstr ""
msgid "All documents have been processed. Any new documents that are sent or received will show here."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81
+msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails."
+msgstr "Todos los documentos relacionados con el proceso de firma electrónica se le proporcionarán electrónicamente a través de nuestra plataforma o por correo electrónico. Es su responsabilidad asegurarse de que su dirección de correo electrónico esté actualizada y que pueda recibir y abrir nuestros correos electrónicos."
+
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
msgid "All inserted signatures will be voided"
msgstr ""
@@ -310,6 +446,10 @@ msgstr ""
msgid "All recipients will be notified"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
+msgid "All signing links have been copied to your clipboard."
+msgstr "Todos los enlaces de firma se han copiado en su portapapeles."
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
msgid "All templates"
msgstr ""
@@ -330,6 +470,14 @@ msgstr ""
msgid "Amount"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48
+msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper."
+msgstr "Una firma electrónica proporcionada por usted en nuestra plataforma, lograda mediante el clic en un documento e ingresando su nombre, o cualquier otro método de firma electrónica que proporcionemos, es legalmente vinculante. Tiene el mismo peso y exigibilidad que una firma manual escrita con tinta en papel."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67
+msgid "An email account"
+msgstr "Una cuenta de correo electrónico"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262
msgid "An email containing an invitation will be sent to each member."
msgstr ""
@@ -353,17 +501,17 @@ msgstr ""
msgid "An error occurred"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
msgid "An error occurred while adding signers."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
msgid "An error occurred while adding the fields."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
msgid "An error occurred while creating document from template."
msgstr ""
@@ -376,9 +524,9 @@ msgid "An error occurred while disabling direct link signing."
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:64
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:89
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:92
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:105
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:107
msgid "An error occurred while downloading your document."
msgstr ""
@@ -402,6 +550,10 @@ msgstr ""
msgid "An error occurred while moving the template."
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116
+msgid "An error occurred while removing the field."
+msgstr "Ocurrió un error mientras se eliminaba el campo."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137
@@ -417,7 +569,7 @@ msgstr ""
msgid "An error occurred while removing the text."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
msgid "An error occurred while sending the document."
msgstr ""
@@ -429,6 +581,7 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150
#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102
@@ -441,11 +594,15 @@ msgstr ""
msgid "An error occurred while trying to create a checkout session."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
msgid "An error occurred while updating the document settings."
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:78
+#~ msgid "An error occurred while updating the global team settings."
+#~ msgstr "An error occurred while updating the global team settings."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
msgid "An error occurred while updating the signature."
msgstr ""
@@ -476,7 +633,7 @@ msgstr ""
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:94
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
#: apps/web/src/components/forms/avatar-image.tsx:94
#: apps/web/src/components/forms/avatar-image.tsx:122
#: apps/web/src/components/forms/password.tsx:84
@@ -505,13 +662,21 @@ msgstr ""
msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225
+msgid "Any Source"
+msgstr "Cualquier fuente"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205
+msgid "Any Status"
+msgstr "Cualquier estado"
+
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
msgid "API Tokens"
msgstr ""
@@ -521,12 +686,16 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
msgid "Approve"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129
+msgid "Approve Document"
+msgstr "Aprobar Documento"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
msgid "Approved"
msgstr ""
@@ -534,6 +703,10 @@ msgstr ""
msgid "Are you sure you want to delete this token?"
msgstr ""
+#: 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 ""
+
#: 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 ""
@@ -556,10 +729,14 @@ msgstr ""
msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:127
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:130
msgid "Audit Log"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:198
+msgid "Authentication Level"
+msgstr "Nivel de Autenticación"
+
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:41
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:52
msgid "Authentication required"
@@ -573,7 +750,7 @@ msgstr ""
msgid "Avatar Updated"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
msgid "Awaiting email confirmation"
msgstr ""
@@ -583,7 +760,7 @@ msgstr ""
msgid "Back"
msgstr ""
-#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164
msgid "Back to Documents"
msgstr ""
@@ -612,15 +789,28 @@ msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
msgid "Billing"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
+msgid "Branding Preferences"
+msgstr "Preferencias de marca"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
+msgid "Branding preferences updated"
+msgstr "Preferencias de marca actualizadas"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
msgid "Browser"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
+msgid "Bulk Copy"
+msgstr "Copia masiva"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
msgid "Bulk Import"
msgstr ""
@@ -633,9 +823,22 @@ msgstr ""
msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142
+msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein."
+msgstr "Al continuar utilizando el servicio de firma electrónica proporcionado por Documenso, usted afirma que ha leído y entendido esta divulgación. Acepta todos los términos y condiciones relacionados con el uso de firmas electrónicas y transacciones electrónicas según lo detallado aquí."
+
+#: apps/web/src/components/general/signing-disclosure.tsx:14
+msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions."
+msgstr "Al continuar con su firma electrónica, usted reconoce y consiente que se utilizará para firmar el documento dado y tiene la misma validez legal que una firma manuscrita. Al completar el proceso de firma electrónica, usted afirma su comprensión y aceptación de estas condiciones."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92
+msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing."
+msgstr "Al utilizar la función de firma electrónica, usted está consintiendo realizar transacciones y recibir divulgaciones electrónicamente. Reconoce que su firma electrónica en los documentos es vinculante y que acepta los términos esbozados en los documentos que está firmando."
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198
@@ -649,8 +852,10 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
+#: 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
@@ -683,6 +888,10 @@ msgstr ""
msgid "Charts"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
+#~ msgid "Check out the documentaton for the <0>global team settings0>."
+#~ msgstr "Check out the documentaton for the <0>global team settings0>."
+
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
msgid "Checkout"
msgstr ""
@@ -695,6 +904,10 @@ msgstr ""
msgid "Choose Direct Link Recipient"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
+msgid "Choose how the document will reach recipients"
+msgstr "Elige cómo el documento llegará a los destinatarios"
+
#: apps/web/src/components/forms/token.tsx:200
msgid "Choose..."
msgstr ""
@@ -721,6 +934,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68
#: apps/web/src/components/document/document-history-sheet.tsx:133
msgid "Click here to retry"
msgstr ""
@@ -736,16 +950,17 @@ msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:115
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
msgid "Click to insert field"
msgstr ""
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:140
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:180
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:102
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:319
@@ -754,8 +969,8 @@ msgid "Close"
msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
#: apps/web/src/components/forms/v2/signup.tsx:534
msgid "Complete"
msgstr ""
@@ -772,7 +987,8 @@ msgstr ""
msgid "Complete Viewing"
msgstr ""
-#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
+#: 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:77
#: apps/web/src/components/formatter/document-status.tsx:28
msgid "Completed"
msgstr ""
@@ -785,11 +1001,11 @@ msgstr ""
msgid "Completed Documents"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
msgid "Configure general settings for the document."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78
msgid "Configure general settings for the template."
msgstr ""
@@ -827,6 +1043,14 @@ msgstr ""
msgid "Confirmation email sent"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89
+msgid "Consent to Electronic Transactions"
+msgstr "Consentimiento para Transacciones Electrónicas"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151
+msgid "Contact Information"
+msgstr "Información de Contacto"
+
#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189
msgid "Content"
msgstr ""
@@ -845,14 +1069,37 @@ msgstr ""
msgid "Continue to login"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
+msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
+msgstr "Controla el idioma predeterminado de un documento cargado. Este se utilizará como el idioma en las comunicaciones por correo electrónico con los destinatarios."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
+msgid "Controls the default visibility of an uploaded document."
+msgstr "Controla la visibilidad predeterminada de un documento cargado."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
+msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
+msgstr "Controla el formato del mensaje que se enviará al invitar a un destinatario a firmar un documento. Si se ha proporcionado un mensaje personalizado al configurar el documento, se usará en su lugar."
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
+msgid "Copied"
+msgstr "Copiado"
+
+#: 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
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:40
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:61
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:117
#: apps/web/src/components/forms/public-profile-form.tsx:117
msgid "Copied to clipboard"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
+msgid "Copy"
+msgstr "Copiar"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
msgid "Copy sharable link"
msgstr ""
@@ -861,6 +1108,10 @@ msgstr ""
msgid "Copy Shareable Link"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
+msgid "Copy Signing Links"
+msgstr "Copiar enlaces de firma"
+
#: apps/web/src/components/forms/token.tsx:288
msgid "Copy token"
msgstr ""
@@ -883,15 +1134,19 @@ msgstr ""
msgid "Create account"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
msgid "Create and send"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
msgid "Create as draft"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
+msgid "Create as pending"
+msgstr "Crear como pendiente"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
msgid "Create Direct Link"
msgstr ""
@@ -899,7 +1154,7 @@ msgstr ""
msgid "Create Direct Signing Link"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
msgid "Create document from template"
msgstr ""
@@ -911,6 +1166,10 @@ msgstr ""
msgid "Create one automatically"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
+msgid "Create signing links"
+msgstr "Crear enlaces de firma"
+
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
@@ -922,6 +1181,10 @@ msgstr ""
msgid "Create Team"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
+msgid "Create the document as pending and ready to sign."
+msgstr "Crear el documento como pendiente y listo para firmar."
+
#: apps/web/src/components/forms/token.tsx:250
#: apps/web/src/components/forms/token.tsx:259
msgid "Create token"
@@ -947,12 +1210,15 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:274
msgid "Created"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:35
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:111
msgid "Created At"
msgstr ""
@@ -967,14 +1233,23 @@ msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93
msgid "Created on {0}"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
msgid "Created on{0}"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
+msgid "Created on{0}"
+msgstr "Creado el{0}"
+
+=======
+>>>>>>> main
#: apps/web/src/components/forms/password.tsx:107
msgid "Current Password"
msgstr ""
@@ -1008,16 +1283,29 @@ msgstr ""
msgid "Declined team invitation"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
+msgid "Default Document Language"
+msgstr "Idioma predeterminado del documento"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
+msgid "Default Document Visibility"
+msgstr "Visibilidad predeterminada del documento"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
+msgid "delete"
+msgstr "eliminar"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109
@@ -1026,6 +1314,15 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54
+msgid "delete {0}"
+msgstr "eliminar {0}"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50
+msgid "delete {teamName}"
+msgstr "eliminar {teamName}"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137
msgid "Delete account"
msgstr ""
@@ -1052,7 +1349,7 @@ msgstr ""
msgid "Delete passkey"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
msgid "Delete team"
msgstr ""
@@ -1078,6 +1375,7 @@ msgid "Delete your account and all its contents, including completed documents.
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
msgid "Deleted"
msgstr ""
@@ -1085,7 +1383,12 @@ msgstr ""
msgid "Deleting account..."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178
+msgid "Details"
+msgstr "Detalles"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr ""
@@ -1094,10 +1397,16 @@ msgstr ""
msgid "direct link"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79
msgid "Direct link"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231
+msgid "Direct Link"
+msgstr "Enlace directo"
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46
msgid "direct link disabled"
msgstr ""
@@ -1153,6 +1462,10 @@ msgstr ""
msgid "Display your name and email in documents"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+msgid "Distribute Document"
+msgstr "Distribuir documento"
+
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
msgid "Do you want to delete this template?"
msgstr ""
@@ -1166,6 +1479,7 @@ msgid "Documenso will delete <0>all of your documents0>, along with all of you
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38
msgid "Document"
msgstr ""
@@ -1189,12 +1503,20 @@ msgstr ""
msgid "Document Completed!"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
msgid "Document created"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129
+msgid "Document created by <0>{0}0>"
+msgstr "Documento creado por <0>{0}0>"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134
+msgid "Document created using a <0>direct link0>"
+msgstr "Documento creado usando un <0>enlace directo0>"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr ""
@@ -1207,12 +1529,13 @@ msgstr ""
msgid "Document Duplicated"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:184
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
#: apps/web/src/components/document/document-history-sheet.tsx:104
msgid "Document history"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:71
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:81
msgid "Document ID"
msgstr ""
@@ -1220,7 +1543,7 @@ msgstr ""
msgid "Document inbox"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
msgid "Document Limit Exceeded!"
msgstr ""
@@ -1240,19 +1563,37 @@ msgstr ""
msgid "Document pending"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
+msgid "Document preferences updated"
+msgstr "Preferencias del documento actualizadas"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
msgid "Document re-sent"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
+msgid "Document Rejected"
+msgstr ""
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
msgid "Document sent"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+=======
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
+#~ msgid "Document Settings"
+#~ msgstr "Document Settings"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+>>>>>>> main
msgid "Document Signed"
msgstr ""
@@ -1286,7 +1627,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/nav.tsx:65
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:139
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:144
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:109
#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16
#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:15
@@ -1300,6 +1641,10 @@ msgstr ""
msgid "Documents"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
+msgid "Documents created from template"
+msgstr "Documentos creados a partir de la plantilla"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113
msgid "Documents Received"
msgstr ""
@@ -1314,9 +1659,9 @@ msgid "Don't have an account? <0>Sign up0>"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:120
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107
@@ -1327,10 +1672,11 @@ msgstr ""
msgid "Download Audit Logs"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
msgid "Download Certificate"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214
#: apps/web/src/components/formatter/document-status.tsx:34
msgid "Draft"
msgstr ""
@@ -1347,41 +1693,55 @@ msgstr ""
msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:133
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91
msgid "Duplicate"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:104
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:112
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:115
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:102
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100
msgid "Edit"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
+msgid "Edit Template"
+msgstr "Editar plantilla"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100
msgid "Edit webhook"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78
+msgid "Electronic Delivery of Documents"
+msgstr "Entrega Electrónica de Documentos"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17
+msgid "Electronic Signature Disclosure"
+msgstr "Divulgación de Firma Electrónica"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153
#: apps/web/src/components/forms/forgot-password.tsx:81
@@ -1401,6 +1761,10 @@ msgstr ""
msgid "Email Address"
msgstr ""
+#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80
+msgid "Email cannot already exist in the template"
+msgstr "El correo electrónico no puede existir ya en la plantilla"
+
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36
msgid "Email Confirmed!"
msgstr ""
@@ -1426,6 +1790,10 @@ msgstr ""
msgid "Enable Authenticator App"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
+msgid "Enable custom branding for all documents in this team."
+msgstr "Habilitar branding personalizado para todos los documentos en este equipo."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
msgid "Enable direct link signing"
msgstr ""
@@ -1443,10 +1811,18 @@ msgstr ""
msgid "Enabled"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:87
+msgid "Enclosed Document"
+msgstr "Documento Adjunto"
+
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:38
msgid "Ends On"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
+msgid "Enter your brand details"
+msgstr "Ingresa los detalles de tu marca"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
msgid "Enter your email"
msgstr ""
@@ -1465,19 +1841,19 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
@@ -1487,6 +1863,8 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149
@@ -1502,7 +1880,21 @@ msgstr ""
msgid "Error"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:143
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+=======
+#: apps/web/src/components/forms/team-document-settings.tsx:77
+#~ msgid "Error updating global team settings"
+#~ msgstr "Error updating global team settings"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
+msgid "Everyone can access and view the document"
+msgstr "Todos pueden acceder y ver el documento"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+>>>>>>> main
msgid "Everyone has signed"
msgstr ""
@@ -1514,18 +1906,27 @@ msgstr ""
msgid "Exceeded timeout"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
msgid "Expired"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104
msgid "Expires on {0}"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107
msgid "Expires on{0}"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107
+msgid "Expires on{0}"
+msgstr "Expira el{0}"
+
+=======
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42
msgid "Failed to reseal document"
msgstr ""
@@ -1547,28 +1948,42 @@ msgstr ""
msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154
+msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}0>"
+msgstr "Si tiene alguna pregunta sobre esta divulgación, firmas electrónicas o cualquier proceso relacionado, comuníquese con nosotros en: <0>{SUPPORT_EMAIL}0>"
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21
#: apps/web/src/components/forms/signin.tsx:370
msgid "Forgot your password?"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
#: apps/web/src/components/forms/profile.tsx:110
#: apps/web/src/components/forms/v2/signup.tsx:312
msgid "Full Name"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
msgid "General"
msgstr ""
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#~ msgid "Global Settings"
+#~ msgstr "Global Settings"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:69
+#~ msgid "Global Team Settings Updated"
+#~ msgstr "Global Team Settings Updated"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
@@ -1605,6 +2020,14 @@ msgstr ""
msgid "Here you can manage your password and security settings."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
+msgid "Here you can set preferences and defaults for branding."
+msgstr "Aquí puedes establecer preferencias y valores predeterminados para la marca."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
+msgid "Here you can set preferences and defaults for your team."
+msgstr "Aquí puedes establecer preferencias y valores predeterminados para tu equipo."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
msgid "Here's how it works:"
msgstr ""
@@ -1613,7 +2036,7 @@ msgstr ""
msgid "Hey I’m Timur"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
msgid "Hide"
@@ -1623,6 +2046,10 @@ msgstr ""
msgid "Hide additional information"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:43
+msgid "I am the owner of this document"
+msgstr "Soy el propietario de este documento"
+
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173
msgid "I'm sure! Delete it"
@@ -1652,10 +2079,19 @@ msgstr ""
msgid "Inbox documents"
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:132
+#~ msgid "Include Sender Details"
+#~ msgstr "Include Sender Details"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
msgid "Information"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132
+msgid "Initials"
+msgstr "Iniciales"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78
msgid "Inserted"
msgstr ""
@@ -1722,6 +2158,15 @@ msgstr ""
msgid "Invoice"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
+msgid "IP Address"
+msgstr "Dirección IP"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118
+msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications."
+msgstr "Es crucial mantener su información de contacto, especialmente su dirección de correo electrónico, actual con nosotros. Por favor, notifíquenos inmediatamente sobre cualquier cambio para asegurarse de seguir recibiendo todas las comunicaciones necesarias."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:134
msgid "It looks like {0} hasn't added any documents to their profile yet."
msgstr ""
@@ -1759,6 +2204,7 @@ msgid "Last 7 days"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38
msgid "Last modified"
msgstr ""
@@ -1766,6 +2212,10 @@ msgstr ""
msgid "Last updated"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:121
+msgid "Last Updated"
+msgstr "Última Actualización"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:52
msgid "Last updated at"
msgstr ""
@@ -1783,6 +2233,10 @@ msgstr ""
msgid "Leave team"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45
+msgid "Legality of Electronic Signatures"
+msgstr "Legalidad de las Firmas Electrónicas"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:264
msgid "Light Mode"
msgstr ""
@@ -1795,6 +2249,10 @@ msgstr ""
msgid "Link template"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
+msgid "Links Generated"
+msgstr "Enlaces generados"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
msgid "Listening to {0}"
@@ -1841,11 +2299,15 @@ msgstr ""
msgid "Manage all teams you are currently associated with."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
+msgid "Manage and view template"
+msgstr "Gestionar y ver plantilla"
+
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
msgid "Manage details for this public template"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
msgid "Manage Direct Link"
msgstr ""
@@ -1915,12 +2377,13 @@ msgid "Member Since"
msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
msgid "Members"
msgstr ""
-#: 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:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
msgid "Modify recipients"
msgstr ""
@@ -1936,6 +2399,7 @@ msgstr ""
msgid "Monthly Active Users: Users that had at least one of their documents completed"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Move"
msgstr ""
@@ -1948,11 +2412,12 @@ msgstr ""
msgid "Move Template to Team"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
msgid "Move to Team"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Moving..."
msgstr ""
@@ -1966,8 +2431,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
@@ -1997,8 +2462,8 @@ msgstr ""
msgid "New Template"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
#: apps/web/src/components/forms/v2/signup.tsx:521
msgid "Next"
msgstr ""
@@ -2011,6 +2476,10 @@ msgstr ""
msgid "No active drafts"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
+msgid "No further action is required from you at this time."
+msgstr ""
+
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
msgid "No payment required"
msgstr ""
@@ -2023,7 +2492,13 @@ msgstr ""
msgid "No recent activity"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103
+msgid "No recent documents"
+msgstr "No hay documentos recientes"
+
+#: 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"
msgstr ""
@@ -2095,6 +2570,14 @@ msgstr ""
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
+msgid "Only admins can access and view the document"
+msgstr "Solo los administradores pueden acceder y ver el documento"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
+msgid "Only managers and above can access and view the document"
+msgstr "Solo los gerentes y superiores pueden acceder y ver el documento"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
@@ -2103,7 +2586,7 @@ msgstr ""
msgid "Oops! Something went wrong."
msgstr ""
-#: 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 ""
@@ -2118,12 +2601,15 @@ msgstr ""
msgid "Or continue with"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
msgid "Otherwise, the document will be created as a draft."
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:103
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81
+#: 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 ""
@@ -2155,6 +2641,10 @@ msgstr ""
msgid "Passkey name"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:121
+msgid "Passkey Re-Authentication"
+msgstr "Re-autenticación de Passkey"
+
#: apps/web/src/app/(dashboard)/settings/security/page.tsx:106
#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:32
msgid "Passkeys"
@@ -2195,9 +2685,11 @@ msgstr ""
msgid "Payment overdue"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115
+#: 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 ""
@@ -2286,6 +2778,10 @@ msgstr ""
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
+msgid "Please provide a reason"
+msgstr ""
+
#: 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 ""
@@ -2294,6 +2790,10 @@ msgstr ""
msgid "Please provide a token from your authenticator, or a backup code."
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169
+msgid "Please review the document before signing."
+msgstr "Por favor, revise el documento antes de firmar."
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:64
msgid "Please try again and make sure you enter the correct email address."
msgstr ""
@@ -2311,13 +2811,23 @@ msgid "Please type <0>{0}0> to confirm."
msgstr ""
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
msgid "Preferences"
msgstr ""
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:61
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
+msgid "Preview"
+msgstr "Vista previa"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
msgid "Preview and configure template."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
+#~ msgid "Preview: {0}"
+#~ msgstr "Preview: {0}"
+
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
#: apps/web/src/components/formatter/template-type.tsx:22
msgid "Private"
@@ -2355,8 +2865,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
msgid "Public Profile"
msgstr ""
@@ -2376,10 +2886,26 @@ msgstr ""
msgid "Read only field"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90
+#: apps/web/src/components/general/signing-disclosure.tsx:21
+msgid "Read the full <0>signature disclosure0>."
+msgstr "Lea la <0>divulgación de firma0> completa."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
msgid "Ready"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
+msgid "Reason"
+msgstr "Razón"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
+msgid "Reason for rejection:"
+msgstr ""
+
+#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
+msgid "Reason must be less than 500 characters"
+msgstr ""
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
msgid "Reauthentication is required to sign this field"
msgstr ""
@@ -2389,7 +2915,12 @@ msgstr ""
msgid "Recent activity"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47
+msgid "Recent documents"
+msgstr "Documentos recientes"
+
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:69
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280
msgid "Recipient"
msgstr ""
@@ -2399,7 +2930,9 @@ msgid "Recipient updated"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:34
+#: 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"
msgstr ""
@@ -2425,6 +2958,17 @@ msgstr ""
msgid "Registration Successful"
msgstr ""
+#: 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 ""
+
+#: 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 ""
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In0>"
msgstr ""
@@ -2433,6 +2977,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
@@ -2476,7 +3021,7 @@ msgstr ""
msgid "Resend verification"
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:164
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
#: apps/web/src/components/forms/public-profile-form.tsx:267
msgid "Reset"
msgstr ""
@@ -2503,6 +3048,10 @@ msgstr ""
msgid "Resolve payment"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126
+msgid "Retention of Documents"
+msgstr "Retención de Documentos"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168
msgid "Retry"
msgstr ""
@@ -2552,6 +3101,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr ""
@@ -2570,6 +3121,10 @@ msgstr ""
msgid "Search by name or email"
msgstr ""
+#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42
+msgid "Search documents..."
+msgstr "Buscar documentos..."
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217
msgid "Secret"
@@ -2618,10 +3173,15 @@ msgstr ""
msgid "Send confirmation email"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
msgid "Send document"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
+msgid "Send on Behalf of Team"
+msgstr "Enviar en nombre del equipo"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
msgid "Send reminder"
msgstr ""
@@ -2638,7 +3198,8 @@ msgstr ""
msgid "Sending..."
msgstr ""
-#: 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:101
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr ""
@@ -2657,13 +3218,13 @@ msgstr ""
msgid "Setup"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:145
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:191
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:148
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:193
msgid "Share"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:161
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:179
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:219
msgid "Share Signing Card"
msgstr ""
@@ -2685,7 +3246,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:83
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:137
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
@@ -2704,11 +3265,15 @@ msgstr ""
msgid "Sign as<0>{0} <1>({1})1>0>"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
msgid "Sign document"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128
+msgid "Sign Document"
+msgstr "Firmar Documento"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59
msgid "Sign field"
msgstr ""
@@ -2733,8 +3298,8 @@ msgstr ""
msgid "Sign Out"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
msgid "Sign the document to complete the process."
msgstr ""
@@ -2757,15 +3322,21 @@ msgid "Sign Up with OIDC"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271
#: apps/web/src/components/forms/profile.tsx:132
msgid "Signature"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
+msgid "Signature ID"
+msgstr "ID de Firma"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:123
msgid "Signatures Collected"
msgstr ""
@@ -2774,15 +3345,38 @@ msgstr ""
msgid "Signatures will appear once the document has been completed"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:98
+#: 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"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:176
+msgid "Signer Events"
+msgstr "Eventos del Firmante"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:168
+msgid "Signing Certificate"
+msgstr "Certificado de Firma"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
+msgid "Signing certificate provided by"
+msgstr "Certificado de firma proporcionado por"
+
#: apps/web/src/components/forms/signin.tsx:383
#: apps/web/src/components/forms/signin.tsx:510
msgid "Signing in..."
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+msgid "Signing Links"
+msgstr "Enlaces de firma"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
+msgid "Signing links have been generated for this document."
+msgstr "Se han generado enlaces de firma para este documento."
+
#: apps/web/src/components/forms/signup.tsx:235
msgid "Signing up..."
msgstr ""
@@ -2802,11 +3396,11 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:88
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:104
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
@@ -2822,10 +3416,11 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:104
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:127
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:151
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:117
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:118
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
@@ -2862,6 +3457,10 @@ msgstr ""
msgid "Something went wrong while updating the team billing subscription, please contact support."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
+msgid "Something went wrong!"
+msgstr "¡Algo salió mal!"
+
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
msgid "Something went wrong. Please try again or contact support."
@@ -2871,10 +3470,14 @@ msgstr ""
msgid "Sorry, we were unable to download the audit logs. Please try again later."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
msgid "Sorry, we were unable to download the certificate. Please try again later."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138
+msgid "Source"
+msgstr "Fuente"
+
#: apps/web/src/app/(dashboard)/admin/nav.tsx:37
msgid "Stats"
msgstr ""
@@ -2882,11 +3485,13 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:79
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:93
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73
msgid "Status"
msgstr ""
-#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:128
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:129
msgid "Subscribe"
msgstr ""
@@ -2920,7 +3525,7 @@ msgstr ""
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
@@ -2934,6 +3539,10 @@ msgstr ""
msgid "Successfully created passkey"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57
+msgid "System Requirements"
+msgstr "Requisitos del Sistema"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:266
msgid "System Theme"
msgstr ""
@@ -2947,8 +3556,8 @@ msgstr ""
msgid "Team checkout"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
msgid "Team email"
msgstr ""
@@ -2991,7 +3600,7 @@ msgid "Team Member"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:113
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr ""
@@ -3015,6 +3624,10 @@ msgstr ""
msgid "Team ownership transferred!"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
+msgid "Team Preferences"
+msgstr "Preferencias del equipo"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
msgid "Team Public Profile"
msgstr ""
@@ -3040,7 +3653,7 @@ msgid "Team transfer request expired"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:129
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr ""
@@ -3056,6 +3669,11 @@ msgstr ""
msgid "Teams restricted"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
msgid "Template"
@@ -3085,11 +3703,11 @@ msgstr ""
msgid "Template moved"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
msgid "Template saved"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
#: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:208
#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22
@@ -3110,6 +3728,10 @@ msgstr ""
msgid "Text Color"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24
+msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below."
+msgstr "Gracias por usar Documenso para realizar su firma electrónica de documentos. El propósito de esta divulgación es informarle sobre el proceso, la legalidad y sus derechos con respecto al uso de firmas electrónicas en nuestra plataforma. Al optar por usar una firma electrónica, usted está aceptando los términos y condiciones descritos a continuación."
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52
msgid "The account has been deleted successfully."
msgstr ""
@@ -3132,7 +3754,11 @@ msgstr ""
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167
+#: 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 ""
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
msgid "The document was created but could not be sent to recipients."
msgstr ""
@@ -3140,7 +3766,7 @@ msgstr ""
msgid "The document will be hidden from your account"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
msgid "The document will be immediately sent to recipients if this is checked."
msgstr ""
@@ -3150,6 +3776,10 @@ msgstr ""
msgid "The events that will trigger a webhook to be sent to your URL."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
+#~ msgid "The global settings for the documents in your team account."
+#~ msgstr "The global settings for the documents in your team account."
+
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
msgid "The ownership of team <0>{0}0> has been successfully transferred to you."
msgstr ""
@@ -3182,7 +3812,9 @@ msgstr ""
msgid "The selected team member will receive an email which they must accept before the team is transferred"
msgstr ""
+#: 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."
msgstr ""
@@ -3283,14 +3915,22 @@ msgstr ""
msgid "This document has been cancelled by the owner."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:219
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
msgid "This document has been signed by all recipients"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:222
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
msgid "This document is currently a draft and has not been sent"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152
+msgid "This document was created by you or a team member using the template above."
+msgstr "Este documento fue creado por ti o un miembro del equipo usando la plantilla anterior."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164
+msgid "This document was created using a direct link."
+msgstr "Este documento fue creado usando un enlace directo."
+
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93
msgid "This email is already being used by another team."
msgstr ""
@@ -3319,7 +3959,7 @@ msgstr ""
msgid "This session has expired. Please try again."
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
msgstr ""
@@ -3336,7 +3976,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:87
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
msgid "This URL is already in use."
msgstr ""
@@ -3348,7 +3988,8 @@ msgstr ""
msgid "This username is already taken"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:73
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:44
msgid "Time"
msgstr ""
@@ -3356,8 +3997,13 @@ msgstr ""
msgid "Time zone"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:131
+msgid "Time Zone"
+msgstr "Zona Horaria"
+
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61
msgid "Title"
msgstr ""
@@ -3394,6 +4040,10 @@ msgstr ""
msgid "To mark this document as viewed, you need to be logged in as <0>{0}0>"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60
+msgid "To use our electronic signature service, you must have access to:"
+msgstr "Para usar nuestro servicio de firma electrónica, debe tener acceso a:"
+
#: apps/web/src/app/embed/authenticate.tsx:21
msgid "To view this document you need to be signed into your account, please sign in to continue."
msgstr ""
@@ -3423,7 +4073,7 @@ msgid "Token deleted"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108
msgid "Token doesn't have an expiration date"
msgstr ""
@@ -3451,17 +4101,21 @@ msgstr ""
msgid "Total Users"
msgstr ""
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76
+msgid "transfer {teamName}"
+msgstr "transferir {teamName}"
+
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160
msgid "Transfer ownership of this team to a selected team member."
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
msgid "Transfer team"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
msgid "Transfer the ownership of the team to another team member."
msgstr ""
@@ -3495,6 +4149,10 @@ msgstr ""
msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:120
+msgid "Two-Factor Re-Authentication"
+msgstr "Re-autenticación de Doble Factor"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67
msgid "Type"
@@ -3553,6 +4211,10 @@ msgstr ""
msgid "Unable to load document history"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62
+msgid "Unable to load documents"
+msgstr "No se pueden cargar documentos"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111
msgid "Unable to load your public profile templates at this time"
msgstr ""
@@ -3592,10 +4254,17 @@ msgstr ""
msgid "Unauthorized"
msgstr ""
-#: 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 ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276
+msgid "Unknown"
+msgstr "Desconocido"
+
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23
msgid "Unknown error"
msgstr ""
@@ -3637,7 +4306,7 @@ msgstr ""
msgid "Update role"
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:176
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
msgstr ""
@@ -3668,11 +4337,20 @@ msgstr ""
msgid "Updating profile..."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115
+msgid "Updating Your Information"
+msgstr "Actualizando Su Información"
+
#: apps/web/src/components/forms/avatar-image.tsx:182
msgid "Upload Avatar"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
+msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
+msgstr "Carga el logo de tu marca (máx 5MB, JPG, PNG o WebP)"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
msgid "Uploaded by"
msgstr ""
@@ -3688,6 +4366,10 @@ msgstr ""
msgid "Uploaded file not an allowed file type"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
+msgid "Use"
+msgstr "Usar"
+
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187
#: apps/web/src/components/forms/signin.tsx:505
msgid "Use Authenticator"
@@ -3698,11 +4380,12 @@ msgstr ""
msgid "Use Backup Code"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
msgid "Use Template"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:82
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:78
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:45
msgid "User"
msgstr ""
@@ -3750,10 +4433,14 @@ msgstr ""
msgid "Verify your email to upload documents."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:75
+msgid "Version History"
+msgstr "Historial de Versiones"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:130
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
msgid "View"
@@ -3771,6 +4458,10 @@ msgstr ""
msgid "View all recent security activity related to your account."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157
+msgid "View all related documents"
+msgstr "Ver todos los documentos relacionados"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26
msgid "View all security activity related to your account."
msgstr ""
@@ -3779,7 +4470,11 @@ msgstr ""
msgid "View Codes"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127
+msgid "View Document"
+msgstr "Ver Documento"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
msgid "View documents associated with this email"
msgstr ""
@@ -3787,6 +4482,10 @@ msgstr ""
msgid "View invites"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95
+msgid "View more"
+msgstr "Ver más"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34
msgid "View Original Document"
msgstr ""
@@ -3800,11 +4499,12 @@ msgstr ""
msgid "View teams"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:104
+#: 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 ""
-#: 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 ""
@@ -3960,7 +4660,7 @@ msgstr ""
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:96
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
msgstr ""
@@ -4002,12 +4702,20 @@ msgstr ""
msgid "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again."
msgstr ""
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:119
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
msgid "We were unable to submit this document at this time. Please try again later."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
+msgid "We were unable to update your branding preferences at this time, please try again later"
+msgstr "No pudimos actualizar tus preferencias de marca en este momento, por favor intenta de nuevo más tarde"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
+msgid "We were unable to update your document preferences at this time, please try again later"
+msgstr "No pudimos actualizar tus preferencias de documento en este momento, por favor intenta de nuevo más tarde"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
msgid "We were unable to verify your details. Please try again or contact support"
msgstr ""
@@ -4016,6 +4724,14 @@ msgstr ""
msgid "We were unable to verify your email. If your email is not verified already, please try again."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
+msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
+msgstr "Generaremos enlaces de firma para ti, que podrás enviar a los destinatarios a través de tu método preferido."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
+msgid "We won't send anything to notify recipients."
+msgstr "No enviaremos nada para notificar a los destinatarios."
+
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
msgid "We're all empty"
@@ -4047,8 +4763,8 @@ msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
msgid "Webhooks"
msgstr ""
@@ -4056,6 +4772,10 @@ msgstr ""
msgid "Weekly"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21
+msgid "Welcome"
+msgstr "Bienvenido"
+
#: apps/web/src/app/(unauthenticated)/signin/page.tsx:33
msgid "Welcome back, we are lucky to have you."
msgstr ""
@@ -4068,6 +4788,10 @@ msgstr ""
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
+msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
+msgstr "Cuando utilice nuestra plataforma para colocar su firma electrónica en documentos, está consintiendo hacerlo bajo la Ley de Firmas Electrónicas en el Comercio Global y Nacional (Ley E-Sign) y otras leyes aplicables. Esta acción indica su aceptación de usar medios electrónicos para firmar documentos y recibir notificaciones."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:139
msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away."
msgstr ""
@@ -4076,6 +4800,10 @@ msgstr ""
msgid "Who do you want to remind?"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101
+msgid "Withdrawing Consent"
+msgstr "Retirar Consentimiento"
+
#: apps/web/src/components/forms/public-profile-form.tsx:223
msgid "Write about the team"
msgstr ""
@@ -4089,6 +4817,7 @@ msgid "Yearly"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31
msgid "You"
msgstr ""
@@ -4156,11 +4885,15 @@ msgstr ""
msgid "You can claim your profile later on by going to your profile settings!"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
+msgid "You can copy and share these links to recipients so they can action the document."
+msgstr "Puede copiar y compartir estos enlaces con los destinatarios para que puedan gestionar el documento."
+
#: apps/web/src/components/forms/public-profile-form.tsx:154
msgid "You can update the profile URL by updating the team URL in the general settings page."
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
msgid "You can view documents associated with this email and use this identity when sending documents."
msgstr ""
@@ -4222,10 +4955,14 @@ msgstr ""
msgid "You have reached your document limit."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
msgid "You have reached your document limit. <0>Upgrade your account to continue!0>"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
+msgid "You have rejected this document"
+msgstr ""
+
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
msgstr ""
@@ -4244,6 +4981,10 @@ msgstr ""
msgid "You have successfully revoked access."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104
+msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL}0> for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service."
+msgstr "Usted tiene el derecho de retirar su consentimiento para usar firmas electrónicas en cualquier momento antes de completar el proceso de firma. Para retirar su consentimiento, comuníquese con el remitente del documento. Si no se comunica con el remitente, puede comunicarse con <0>{SUPPORT_EMAIL}0> para obtener asistencia. Tenga en cuenta que retirar el consentimiento puede retrasar o detener la finalización de la transacción o servicio relacionado."
+
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93
msgid "You have updated {teamMemberName}."
msgstr ""
@@ -4306,6 +5047,14 @@ msgstr ""
msgid "Your banner has been updated successfully."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
+msgid "Your brand website URL"
+msgstr "La URL de tu sitio web de marca"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
+msgid "Your branding preferences have been updated"
+msgstr "Tus preferencias de marca han sido actualizadas"
+
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
msgid "Your current plan is past due. Please update your payment information."
msgstr ""
@@ -4318,7 +5067,7 @@ msgstr ""
msgid "Your document failed to upload."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
msgid "Your document has been created from the template successfully."
msgstr ""
@@ -4326,7 +5075,7 @@ msgstr ""
msgid "Your document has been re-sent successfully."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
msgid "Your document has been sent successfully."
msgstr ""
@@ -4342,6 +5091,10 @@ msgstr ""
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
+msgid "Your document preferences have been updated"
+msgstr "Tus preferencias de documento han sido actualizadas"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
msgid "Your documents"
msgstr ""
@@ -4359,6 +5112,10 @@ msgstr ""
msgid "Your existing tokens"
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:70
+#~ msgid "Your global team document settings has been updated successfully."
+#~ msgstr "Your global team document settings has been updated successfully."
+
#: apps/web/src/components/forms/password.tsx:72
#: apps/web/src/components/forms/reset-password.tsx:73
msgid "Your password has been updated successfully."
@@ -4401,7 +5158,7 @@ msgstr ""
msgid "Your team has been successfully deleted."
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:69
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
msgid "Your team has been successfully updated."
msgstr ""
@@ -4417,7 +5174,7 @@ msgstr ""
msgid "Your template will be duplicated."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
msgid "Your templates has been saved successfully."
msgstr ""
diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po
index c8c496536..4900e6073 100644
--- a/packages/lib/translations/fr/common.po
+++ b/packages/lib/translations/fr/common.po
@@ -8,23 +8,278 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-18 04:04\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
+#: packages/email/template-components/template-document-super-delete.tsx:27
+msgid "\"{documentName}\" has been deleted by an admin."
+msgstr "\"{documentName}\" a été supprimé par un admin."
+
+#: packages/email/template-components/template-document-pending.tsx:37
+msgid "“{documentName}” has been signed"
+msgstr "« {documentName} » a été signé"
+
+#: packages/email/template-components/template-document-completed.tsx:41
+msgid "“{documentName}” was signed by all signers"
+msgstr "“{documentName}” a été signé par tous les signataires"
+
+#: packages/lib/server-only/document/resend-document.tsx:109
+#~ msgid "{0}"
+#~ msgstr "{0}"
+
+#: packages/email/template-components/template-document-invite.tsx:80
+#~ msgid "{0} Document"
+#~ msgstr "{0} Document"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
+msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
+msgstr "{0} vous a invité à {recipientActionVerb} le document \"{1}\"."
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
+msgid "{0} invited you to {recipientActionVerb} a document"
+msgstr "{0} vous a invité à {recipientActionVerb} un document"
+
+#: packages/email/templates/team-join.tsx:61
+msgid "{0} joined the team {teamName} on Documenso"
+msgstr "{0} a rejoint l'équipe {teamName} sur Documenso"
+
+#: packages/email/templates/team-leave.tsx:61
+msgid "{0} left the team {teamName} on Documenso"
+msgstr "{0} a quitté l'équipe {teamName} sur Documenso"
+
#: packages/ui/primitives/data-table-pagination.tsx:30
msgid "{0} of {1} row(s) selected."
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
+#: packages/lib/server-only/document/resend-document.tsx:137
+msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
+msgstr "{0} au nom de {1} vous a invité à {recipientActionVerb} le document \"{2}\"."
+
+#: packages/email/template-components/template-document-invite.tsx:51
+#~ msgid "{0}<0/>\"{documentName}\""
+#~ msgstr "{0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:94
+msgid "{inviterName} <0>({inviterEmail})0>"
+msgstr "{inviterName} <0>({inviterEmail})0>"
+
+#: packages/email/templates/document-cancel.tsx:21
+msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
+msgstr "{inviterName} a annulé le document {documentName}, vous n'avez plus besoin de le signer."
+
+#: packages/email/template-components/template-document-cancel.tsx:24
+msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
+msgstr "{inviterName} a annulé le document<0/>\"{documentName}\""
+
+#: packages/email/template-components/template-document-invite.tsx:75
+msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
+msgstr "{inviterName} vous a invité à {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:41
+msgid "{inviterName} has invited you to {action} {documentName}"
+msgstr "{inviterName} vous a invité à {action} {documentName}"
+
+#: packages/email/templates/document-invite.tsx:106
+msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
+msgstr "{inviterName} vous a invité à {action} le document \"{documentName}\"."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:20
+msgid "{inviterName} has removed you from the document {documentName}."
+msgstr "{inviterName} vous a retiré du document {documentName}."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:49
+msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
+msgstr "{inviterName} vous a retiré du document<0/>\"{documentName}\""
+
+#: packages/email/template-components/template-document-invite.tsx:63
+msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
+msgstr "{inviterName} au nom de {teamName} vous a invité à {0}"
+
+#: packages/email/template-components/template-document-invite.tsx:49
+#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:45
+msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
+msgstr "{inviterName} au nom de {teamName} vous a invité à {action} {documentName}"
+
+#: packages/email/templates/team-join.tsx:67
+msgid "{memberEmail} joined the following team"
+msgstr "{memberEmail} a rejoint l'équipe suivante"
+
+#: packages/email/templates/team-leave.tsx:67
+msgid "{memberEmail} left the following team"
+msgstr "{memberEmail} a quitté l'équipe suivante"
+
+#: packages/lib/utils/document-audit-logs.ts:263
+msgid "{prefix} added a field"
+msgstr "{prefix} a ajouté un champ"
+
+#: packages/lib/utils/document-audit-logs.ts:275
+msgid "{prefix} added a recipient"
+msgstr "{prefix} a ajouté un destinataire"
+
+#: packages/lib/utils/document-audit-logs.ts:287
+msgid "{prefix} created the document"
+msgstr "{prefix} a créé le document"
+
+#: packages/lib/utils/document-audit-logs.ts:291
+msgid "{prefix} deleted the document"
+msgstr "{prefix} a supprimé le document"
+
+#: packages/lib/utils/document-audit-logs.ts:335
+msgid "{prefix} moved the document to team"
+msgstr "{prefix} a déplacé le document vers l'équipe"
+
+#: packages/lib/utils/document-audit-logs.ts:319
+msgid "{prefix} opened the document"
+msgstr "{prefix} a ouvert le document"
+
+#: packages/lib/utils/document-audit-logs.ts:267
+msgid "{prefix} removed a field"
+msgstr "{prefix} a supprimé un champ"
+
+#: packages/lib/utils/document-audit-logs.ts:279
+msgid "{prefix} removed a recipient"
+msgstr "{prefix} a supprimé un destinataire"
+
+#: packages/lib/utils/document-audit-logs.ts:365
+msgid "{prefix} resent an email to {0}"
+msgstr "{prefix} a renvoyé un e-mail à {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:366
+msgid "{prefix} sent an email to {0}"
+msgstr "{prefix} a envoyé un email à {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:331
+msgid "{prefix} sent the document"
+msgstr "{prefix} a envoyé le document"
+
+#: packages/lib/utils/document-audit-logs.ts:295
+msgid "{prefix} signed a field"
+msgstr "{prefix} a signé un champ"
+
+#: packages/lib/utils/document-audit-logs.ts:299
+msgid "{prefix} unsigned a field"
+msgstr "{prefix} n'a pas signé un champ"
+
+#: packages/lib/utils/document-audit-logs.ts:271
+msgid "{prefix} updated a field"
+msgstr "{prefix} a mis à jour un champ"
+
+#: packages/lib/utils/document-audit-logs.ts:283
+msgid "{prefix} updated a recipient"
+msgstr "{prefix} a mis à jour un destinataire"
+
+#: packages/lib/utils/document-audit-logs.ts:315
+msgid "{prefix} updated the document"
+msgstr "{prefix} a mis à jour le document"
+
+#: packages/lib/utils/document-audit-logs.ts:307
+msgid "{prefix} updated the document access auth requirements"
+msgstr "{prefix} a mis à jour les exigences d'authentification d'accès au document"
+
+#: packages/lib/utils/document-audit-logs.ts:327
+msgid "{prefix} updated the document external ID"
+msgstr "{prefix} a mis à jour l'ID externe du document"
+
+#: packages/lib/utils/document-audit-logs.ts:311
+msgid "{prefix} updated the document signing auth requirements"
+msgstr "{prefix} a mis à jour les exigences d'authentification pour la signature du document"
+
+#: packages/lib/utils/document-audit-logs.ts:323
+msgid "{prefix} updated the document title"
+msgstr "{prefix} a mis à jour le titre du document"
+
+#: packages/lib/utils/document-audit-logs.ts:303
+msgid "{prefix} updated the document visibility"
+msgstr "{prefix} a mis à jour la visibilité du document"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:61
+msgid "{recipientName} {action} a document by using one of your direct links"
+msgstr "{recipientName} {action} un document en utilisant l'un de vos liens directs"
+
+#: packages/email/templates/document-rejected.tsx:27
+msgid "{recipientName} has rejected the document '{documentName}'"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejected.tsx:25
+msgid "{signerName} has rejected the document \"{documentName}\"."
+msgstr ""
+
+#: packages/email/template-components/template-document-invite.tsx:68
+msgid "{teamName} has invited you to {0}"
+msgstr "{teamName} vous a invité à {0}"
+
+#: packages/email/templates/document-invite.tsx:46
+msgid "{teamName} has invited you to {action} {documentName}"
+msgstr "{teamName} vous a invité à {action} {documentName}"
+
+#: packages/email/templates/team-transfer-request.tsx:55
+msgid "{teamName} ownership transfer request"
+msgstr "Demande de transfert de propriété de {teamName}"
+
+#: packages/lib/utils/document-audit-logs.ts:343
+msgid "{userName} approved the document"
+msgstr "{userName} a approuvé le document"
+
+#: packages/lib/utils/document-audit-logs.ts:344
+msgid "{userName} CC'd the document"
+msgstr "{userName} a mis en copie le document"
+
+#: packages/lib/utils/document-audit-logs.ts:345
+msgid "{userName} completed their task"
+msgstr "{userName} a complété sa tâche"
+
+#: packages/lib/utils/document-audit-logs.ts:355
+msgid "{userName} rejected the document"
+msgstr ""
+
+#: packages/lib/utils/document-audit-logs.ts:341
+msgid "{userName} signed the document"
+msgstr "{userName} a signé le document"
+
+#: packages/lib/utils/document-audit-logs.ts:342
+msgid "{userName} viewed the document"
+msgstr "{userName} a consulté le document"
+
#: packages/ui/primitives/data-table-pagination.tsx:41
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
msgstr ""
+#: packages/email/templates/document-invite.tsx:100
+#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+
+#: packages/email/templates/team-transfer-request.tsx:59
+msgid "<0>{senderName}0> has requested that you take ownership of the following team"
+msgstr "<0>{senderName}0> a demandé que vous preniez possession de l'équipe suivante"
+
+#: packages/email/templates/confirm-team-email.tsx:75
+msgid "<0>{teamName}0> has requested to use your email address for their team on Documenso."
+msgstr "<0>{teamName}0> a demandé à utiliser votre adresse e-mail pour leur équipe sur Documenso."
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
+msgid "<0>Email0> - The recipient will be emailed the document to sign, approve, etc."
+msgstr "<0>E-mail0> - Le destinataire recevra le document par e-mail pour signer, approuver, etc."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
msgid "<0>Inherit authentication method0> - Use the global action signing authentication method configured in the \"General Settings\" step"
msgstr ""
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
+msgid "<0>Links0> - We will generate links which you can send to the recipients manually."
+msgstr "<0>Liens0> - Nous générerons des liens que vous pourrez envoyer manuellement aux destinataires."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
msgid "<0>No restrictions0> - No authentication required"
msgstr ""
@@ -37,6 +292,10 @@ msgstr ""
msgid "<0>None0> - No authentication required"
msgstr ""
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
+msgid "<0>Note0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
+msgstr "<0>Remarque0> - Si vous utilisez des liens en combinaison avec des modèles directs, vous devrez envoyer manuellement les liens aux autres destinataires."
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
msgid "<0>Require 2FA0> - The recipient must have an account and 2FA enabled via their settings"
@@ -51,20 +310,95 @@ msgstr ""
msgid "<0>Require passkey0> - The recipient must have an account and passkey configured via their settings"
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
+msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
+msgstr "Un document a été créé par votre modèle direct qui nécessite que vous {recipientActionVerb} celui-ci."
+
+#: packages/lib/utils/document-audit-logs.ts:262
+msgid "A field was added"
+msgstr "Un champ a été ajouté"
+
+#: packages/lib/utils/document-audit-logs.ts:266
+msgid "A field was removed"
+msgstr "Un champ a été supprimé"
+
+#: packages/lib/utils/document-audit-logs.ts:270
+msgid "A field was updated"
+msgstr "Un champ a été mis à jour"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
+msgid "A new member has joined your team"
+msgstr "Un nouveau membre a rejoint votre équipe"
+
+#: packages/lib/utils/document-audit-logs.ts:274
+msgid "A recipient was added"
+msgstr "Un destinataire a été ajouté"
+
+#: packages/lib/utils/document-audit-logs.ts:278
+msgid "A recipient was removed"
+msgstr "Un destinataire a été supprimé"
+
+#: packages/lib/utils/document-audit-logs.ts:282
+msgid "A recipient was updated"
+msgstr "Un destinataire a été mis à jour"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:156
+msgid "A request to use your email has been initiated by {0} on Documenso"
+msgstr "Une demande d'utilisation de votre e-mail a été initiée par {0} sur Documenso"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:142
+#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
+#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
+
+#: packages/email/templates/team-join.tsx:31
+msgid "A team member has joined a team on Documenso"
+msgstr "Un membre de l'équipe a rejoint une équipe sur Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
+msgid "A team member has left {0}"
+msgstr "Un membre de l'équipe a quitté {0}"
+
+#: packages/email/templates/team-leave.tsx:31
+msgid "A team member has left a team on Documenso"
+msgstr "Un membre de l'équipe a quitté une équipe sur Documenso"
+
+#: packages/email/templates/team-delete.tsx:29
+#: packages/email/templates/team-delete.tsx:33
+msgid "A team you were a part of has been deleted"
+msgstr "Une équipe dont vous faisiez partie a été supprimée"
+
+#: packages/email/templates/confirm-team-email.tsx:118
+#: packages/email/templates/team-invite.tsx:94
+#: packages/email/templates/team-transfer-request.tsx:81
+msgid "Accept"
+msgstr "Accepter"
+
+#: packages/email/templates/team-invite.tsx:42
+msgid "Accept invitation to join a team on Documenso"
+msgstr "Accepter l'invitation à rejoindre une équipe sur Documenso"
+
+#: packages/email/templates/confirm-team-email.tsx:41
+msgid "Accept team email request for {teamName} on Documenso"
+msgstr "Accepter la demande d'email d'équipe pour {teamName} sur Documenso"
+
+#: packages/email/templates/team-transfer-request.tsx:29
+msgid "Accept team transfer request on Documenso"
+msgstr "Accepter la demande de transfert d'équipe sur Documenso"
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "Add a document"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:336
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:339
+#: packages/ui/primitives/document-flow/add-settings.tsx:378
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
msgid "Add a URL to redirect the user to once the document is signed"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:248
+#: packages/ui/primitives/document-flow/add-settings.tsx:290
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:256
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
msgid "Add an external ID to the template. This can be used to identify in external systems."
msgstr ""
@@ -77,7 +411,7 @@ msgstr ""
msgid "Add another value"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:662
+#: packages/ui/primitives/document-flow/add-signers.tsx:691
msgid "Add myself"
msgstr ""
@@ -89,7 +423,7 @@ msgstr ""
msgid "Add Placeholder Recipient"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:651
+#: packages/ui/primitives/document-flow/add-signers.tsx:680
msgid "Add Signer"
msgstr ""
@@ -105,13 +439,13 @@ msgstr ""
msgid "Admin"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:230
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:238
+#: packages/ui/primitives/document-flow/add-settings.tsx:272
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
msgid "Advanced Options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:570
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:402
+#: packages/ui/primitives/document-flow/add-fields.tsx:573
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
msgid "Advanced settings"
msgstr ""
@@ -123,11 +457,35 @@ msgstr ""
msgid "All"
msgstr ""
+#: packages/email/template-components/template-document-cancel.tsx:31
+msgid "All signatures have been voided."
+msgstr "Toutes les signatures ont été annulées."
+
+#: packages/email/templates/confirm-team-email.tsx:98
+msgid "Allow document recipients to reply directly to this email address"
+msgstr "Autoriser les destinataires des documents à répondre directement à cette adresse e-mail"
+
+#: packages/email/templates/document-super-delete.tsx:22
+msgid "An admin has deleted your document \"{documentName}\"."
+msgstr "Un administrateur a supprimé votre document \"{documentName}\"."
+
+#: packages/ui/primitives/pdf-viewer.tsx:167
+msgid "An error occurred while loading the document."
+msgstr "Une erreur s'est produite lors du chargement du document."
+
#: packages/lib/constants/recipient-roles.ts:8
#: packages/ui/components/document/next-inbox-item-button.tsx:113
msgid "Approve"
msgstr ""
+#: packages/email/template-components/template-document-invite.tsx:106
+msgid "Approve Document"
+msgstr "Approuver le document"
+
+#: packages/lib/constants/recipient-roles.ts:68
+#~ msgid "APPROVE_REQUEST"
+#~ msgstr "APPROVE_REQUEST"
+
#: packages/lib/constants/recipient-roles.ts:9
msgid "Approved"
msgstr ""
@@ -136,10 +494,18 @@ msgstr ""
msgid "Approver"
msgstr ""
+#: packages/lib/constants/recipient-roles.ts:12
+msgid "Approvers"
+msgstr "Approbateurs"
+
#: packages/lib/constants/recipient-roles.ts:10
msgid "Approving"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:25
+msgid "Before you get started, please confirm your email address by clicking the button below:"
+msgstr "Avant de commencer, veuillez confirmer votre adresse email en cliquant sur le bouton ci-dessous :"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr ""
@@ -148,6 +514,18 @@ msgstr ""
msgid "Blue"
msgstr ""
+#: packages/email/templates/team-invite.tsx:84
+msgid "by <0>{senderName}0>"
+msgstr "par <0>{senderName}0>"
+
+#: packages/email/templates/confirm-team-email.tsx:87
+msgid "By accepting this request, you will be granting <0>{teamName}0> access to:"
+msgstr "En acceptant cette demande, vous accorderez à <0>{teamName}0> l'accès à :"
+
+#: packages/email/templates/team-transfer-request.tsx:70
+msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
+msgstr "En acceptant cette demande, vous serez responsable de tous les éléments de facturation associés à cette équipe."
+
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58
msgid "Cancel"
@@ -157,28 +535,41 @@ msgstr ""
msgid "Cannot remove signer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:17
+#: packages/lib/constants/recipient-roles.ts:18
msgid "Cc"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:14
-#: packages/lib/constants/recipient-roles.ts:16
+#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:17
msgid "CC"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:16
msgid "CC'd"
msgstr ""
+#: packages/lib/constants/recipient-roles.ts:19
+msgid "Ccers"
+msgstr "Ccers"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86
msgid "Character Limit"
msgstr ""
+<<<<<<< HEAD
#: packages/ui/primitives/document-flow/add-fields.tsx:1026
#: packages/ui/primitives/template-flow/add-template-fields.tsx:788
msgid "Checkbox"
msgstr ""
+||||||| 7fc497a64
+#: packages/ui/primitives/document-flow/add-fields.tsx:1026
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:788
+msgid "Checkbox"
+msgstr "Case à cocher"
+
+=======
+>>>>>>> main
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
msgid "Checkbox values"
msgstr ""
@@ -203,20 +594,60 @@ msgstr ""
msgid "Completed"
msgstr ""
+#: packages/email/template-components/template-document-completed.tsx:35
+#: packages/email/template-components/template-document-self-signed.tsx:36
+#: packages/lib/constants/document.ts:10
+msgid "Completed"
+msgstr "Terminé"
+
+#: packages/email/templates/document-completed.tsx:23
+#: packages/email/templates/document-self-signed.tsx:19
+msgid "Completed Document"
+msgstr "Document Terminé"
+
#: packages/lib/constants/template.ts:12
msgid "Configure Direct Recipient"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:571
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:403
+#: packages/ui/primitives/document-flow/add-fields.tsx:574
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
msgid "Configure the {0} field"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:35
+msgid "Confirm email"
+msgstr "Confirmer l'email"
+
#: packages/ui/primitives/document-flow/document-flow-root.tsx:141
msgid "Continue"
msgstr ""
+#: packages/email/template-components/template-document-invite.tsx:72
+#~ msgid "Continue by {0} the document."
+#~ msgstr "Continue by {0} the document."
+
+#: packages/email/template-components/template-document-invite.tsx:86
+msgid "Continue by approving the document."
+msgstr "Continuez en approuvant le document."
+
+#: packages/email/template-components/template-document-completed.tsx:45
+msgid "Continue by downloading the document."
+msgstr "Continuez en téléchargeant le document."
+
+#: packages/email/template-components/template-document-invite.tsx:84
+msgid "Continue by signing the document."
+msgstr "Continuez en signant le document."
+
+#: packages/email/template-components/template-document-invite.tsx:85
+msgid "Continue by viewing the document."
+msgstr "Continuez en visualisant le document."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:254
+msgid "Copied"
+msgstr "Copié"
+
#: packages/ui/components/document/document-share-button.tsx:46
+#: packages/ui/primitives/document-flow/add-subject.tsx:241
msgid "Copied to clipboard"
msgstr ""
@@ -224,27 +655,60 @@ msgstr ""
msgid "Created {0}"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:249
+msgid "Copy"
+msgstr "Copier"
+
+#: packages/ui/components/document/document-share-button.tsx:194
+msgid "Copy Link"
+msgstr "Copier le lien"
+
+#: packages/email/template-components/template-document-self-signed.tsx:46
+msgid "Create a <0>free account0> to access your signed documents at any time."
+msgstr "Créez un <0>compte gratuit0> pour accéder à vos documents signés à tout moment."
+
+#: packages/email/template-components/template-document-self-signed.tsx:68
+msgid "Create account"
+msgstr "Créer un compte"
+
#: packages/ui/primitives/document-flow/add-signature.tsx:360
msgid "Custom Text"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:922
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:684
+#: packages/ui/primitives/document-flow/add-fields.tsx:927
+#: packages/ui/primitives/document-flow/types.ts:53
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
msgid "Date"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:271
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:279
+#: packages/ui/primitives/document-flow/add-settings.tsx:313
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
msgid "Date Format"
msgstr ""
+#: packages/email/templates/team-invite.tsx:100
+msgid "Decline"
+msgstr "Décliner"
+
+#: packages/email/templates/reset-password.tsx:71
+msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.0>"
+msgstr "Vous n'avez pas demandé de changement de mot de passe ? Nous sommes ici pour vous aider à sécuriser votre compte, il suffit de <0>nous contacter.0>"
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
msgid "Direct link receiver"
msgstr ""
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
+msgid "Document \"{0}\" - Rejected by {1}"
+msgstr ""
+
+#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
+msgid "Document \"{0}\" - Rejection Confirmed"
+msgstr ""
+
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
-#: packages/ui/primitives/document-flow/add-settings.tsx:174
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:151
+#: packages/ui/primitives/document-flow/add-settings.tsx:216
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
msgid "Document access"
msgstr ""
@@ -256,6 +720,33 @@ msgstr ""
msgid "Document completed"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:306
+msgid "Document access auth updated"
+msgstr "L'authentification d'accès au document a été mise à jour"
+
+#: packages/lib/server-only/document/delete-document.ts:246
+#: packages/lib/server-only/document/super-delete-document.ts:98
+msgid "Document Cancelled"
+msgstr "Document Annulé"
+
+#: packages/lib/utils/document-audit-logs.ts:369
+#: packages/lib/utils/document-audit-logs.ts:370
+msgid "Document completed"
+msgstr "Document terminé"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:168
+msgid "Document completed email"
+msgstr "E-mail de document complété"
+
+#: packages/lib/utils/document-audit-logs.ts:286
+msgid "Document created"
+msgstr "Document créé"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:32
+#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
+msgid "Document created from direct template"
+msgstr "Document créé à partir d'un modèle direct"
+
#: packages/lib/constants/template.ts:20
msgid "Document Creation"
msgstr ""
@@ -272,6 +763,64 @@ msgstr ""
msgid "Document pending"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:290
+msgid "Document deleted"
+msgstr "Document supprimé"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:207
+msgid "Document deleted email"
+msgstr "E-mail de document supprimé"
+
+#: packages/lib/server-only/document/send-delete-email.ts:82
+msgid "Document Deleted!"
+msgstr "Document Supprimé !"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
+msgid "Document Distribution Method"
+msgstr "Méthode de distribution du document"
+
+#: packages/lib/utils/document-audit-logs.ts:326
+msgid "Document external ID updated"
+msgstr "ID externe du document mis à jour"
+
+#: packages/lib/utils/document-audit-logs.ts:334
+msgid "Document moved to team"
+msgstr "Document déplacé vers l'équipe"
+
+#: packages/lib/utils/document-audit-logs.ts:318
+msgid "Document opened"
+msgstr "Document ouvert"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:128
+msgid "Document pending email"
+msgstr "E-mail de document en attente"
+
+#: packages/email/template-components/template-document-rejected.tsx:21
+msgid "Document Rejected"
+msgstr ""
+
+#: packages/lib/utils/document-audit-logs.ts:330
+msgid "Document sent"
+msgstr "Document envoyé"
+
+#: packages/lib/utils/document-audit-logs.ts:310
+msgid "Document signing auth updated"
+msgstr "Authentification de signature de document mise à jour"
+
+#: packages/lib/utils/document-audit-logs.ts:322
+msgid "Document title updated"
+msgstr "Titre du document mis à jour"
+
+#: packages/lib/utils/document-audit-logs.ts:314
+msgid "Document updated"
+msgstr "Document mis à jour"
+
+#: packages/lib/utils/document-audit-logs.ts:302
+msgid "Document visibility updated"
+msgstr "Visibilité du document mise à jour"
+
+#: packages/email/template-components/template-document-completed.tsx:57
#: packages/ui/components/document/document-download-button.tsx:68
msgid "Download"
msgstr ""
@@ -280,12 +829,16 @@ msgstr ""
msgid "Draft"
msgstr ""
+#: packages/lib/constants/document.ts:13
+msgid "Draft"
+msgstr "Brouillon"
+
#: packages/ui/primitives/document-dropzone.tsx:162
msgid "Drag & drop your PDF here."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1052
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:814
+#: packages/ui/primitives/document-flow/add-fields.tsx:1058
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
msgid "Dropdown"
msgstr ""
@@ -293,20 +846,35 @@ msgstr ""
msgid "Dropdown options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:870
+#: 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/template-flow/add-template-fields.tsx:632
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
msgid "Email"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:184
+#: packages/ui/primitives/document-flow/add-signature.types.ts:7
+msgid "Email is required"
+msgstr "L'email est requis"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
msgid "Email Options"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1117
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email resent"
+msgstr "Email renvoyé"
+
+#: packages/lib/utils/document-audit-logs.ts:363
+msgid "Email sent"
+msgstr "Email envoyé"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1123
msgid "Empty field"
msgstr ""
@@ -319,7 +887,7 @@ msgstr ""
msgid "Enable signing order"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:790
+#: packages/ui/primitives/document-flow/add-fields.tsx:795
msgid "Enable Typed Signatures"
msgstr ""
@@ -328,11 +896,12 @@ msgid "Enter password"
msgstr ""
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257
+#: packages/ui/primitives/pdf-viewer.tsx:166
msgid "Error"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:241
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:249
+#: packages/ui/primitives/document-flow/add-settings.tsx:283
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
msgid "External ID"
msgstr ""
@@ -365,6 +934,14 @@ msgstr ""
msgid "Field placeholder"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:294
+msgid "Field signed"
+msgstr "Champ signé"
+
+#: packages/lib/utils/document-audit-logs.ts:298
+msgid "Field unsigned"
+msgstr "Champ non signé"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56
#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38
#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38
@@ -374,6 +951,22 @@ msgstr ""
msgid "Font Size"
msgstr ""
+#: packages/lib/server-only/auth/send-forgot-password.ts:61
+msgid "Forgot Password?"
+msgstr "Mot de passe oublié ?"
+
+#: packages/email/template-components/template-forgot-password.tsx:21
+msgid "Forgot your password?"
+msgstr "Vous avez oublié votre mot de passe ?"
+
+#: packages/ui/primitives/document-flow/types.ts:50
+msgid "Free Signature"
+msgstr "Signature gratuite"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:89
+msgid "Generate Links"
+msgstr "Générer des liens"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
msgid "Global recipient action authentication"
msgstr ""
@@ -386,19 +979,23 @@ msgstr ""
msgid "Green"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:72
+#: packages/email/templates/reset-password.tsx:56
+msgid "Hi, {userName} <0>({userEmail})0>"
+msgstr "Bonjour, {userName} <0>({userEmail})0>"
+
+#: packages/lib/constants/recipient-roles.ts:44
msgid "I am a signer of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:75
+#: packages/lib/constants/recipient-roles.ts:47
msgid "I am a viewer of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:73
+#: packages/lib/constants/recipient-roles.ts:45
msgid "I am an approver of this document"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:74
+#: packages/lib/constants/recipient-roles.ts:46
msgid "I am required to receive a copy of this document"
msgstr ""
@@ -411,12 +1008,43 @@ msgstr ""
msgid "Inherit authentication method"
msgstr ""
+#: packages/ui/primitives/document-flow/types.ts:51
+msgid "Initials"
+msgstr "Initiales"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:17
+msgid "Invalid email"
+msgstr "Email invalide"
+
+#: packages/ui/primitives/document-flow/add-signature.types.ts:8
+msgid "Invalid email address"
+msgstr "Adresse email invalide"
+
+#: packages/email/templates/team-invite.tsx:72
+msgid "Join {teamName} on Documenso"
+msgstr "Rejoindre {teamName} sur Documenso"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67
#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72
#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48
msgid "Label"
msgstr ""
+#: packages/ui/primitives/document-flow/add-settings.tsx:176
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
+msgid "Language"
+msgstr "Langue"
+
+#: packages/email/templates/confirm-team-email.tsx:124
+#: packages/email/templates/team-transfer-request.tsx:87
+msgid "Link expires in 1 hour."
+msgstr "Le lien expire dans 1 heure."
+
+#: packages/ui/primitives/lazy-pdf-viewer.tsx:15
+#: packages/ui/primitives/pdf-viewer.tsx:44
+msgid "Loading document..."
+msgstr "Chargement du document..."
+
#: packages/lib/constants/teams.ts:11
msgid "Manager"
msgstr ""
@@ -429,8 +1057,8 @@ msgstr ""
msgid "Member"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:95
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:215
+#: packages/ui/primitives/document-flow/add-subject.tsx:160
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
msgid "Message <0>(Optional)0>"
msgstr ""
@@ -438,11 +1066,12 @@ msgstr ""
msgid "Min"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:896
+#: 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/template-flow/add-template-fields.tsx:658
+#: 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
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
msgid "Name"
@@ -460,13 +1089,17 @@ msgstr ""
msgid "Needs to view"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:680
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:497
+#: packages/ui/primitives/document-flow/add-fields.tsx:686
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
msgid "No recipient matching this description was found."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:696
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:513
+#: packages/ui/primitives/document-flow/add-subject.tsx:215
+msgid "No recipients"
+msgstr "Aucun destinataire"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:701
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
msgid "No recipients with this role"
msgstr ""
@@ -490,8 +1123,13 @@ msgstr ""
msgid "No value found."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:974
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:736
+#: packages/lib/constants/document.ts:32
+msgid "None"
+msgstr "Aucun"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:979
+#: packages/ui/primitives/document-flow/types.ts:56
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
msgid "Number"
msgstr ""
@@ -511,6 +1149,10 @@ msgstr ""
msgid "Page {0} of {1}"
msgstr ""
+#: packages/ui/primitives/pdf-viewer.tsx:259
+msgid "Page {0} of {numPages}"
+msgstr "Page {0} sur {numPages}"
+
#: packages/ui/primitives/document-password-dialog.tsx:62
msgid "Password Required"
msgstr ""
@@ -519,6 +1161,26 @@ msgstr ""
msgid "Pending"
msgstr ""
+#: packages/email/templates/forgot-password.tsx:19
+msgid "Password Reset Requested"
+msgstr "Réinitialisation du mot de passe demandée"
+
+#: packages/email/templates/reset-password.tsx:20
+msgid "Password Reset Successful"
+msgstr "Réinitialisation du mot de passe réussie"
+
+#: packages/email/template-components/template-reset-password.tsx:22
+msgid "Password updated!"
+msgstr "Mot de passe mis à jour !"
+
+#: packages/lib/constants/document.ts:16
+msgid "Pending"
+msgstr "En attente"
+
+#: packages/email/templates/document-pending.tsx:19
+msgid "Pending Document"
+msgstr "Document En Attente"
+
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156
msgid "Pick a number"
msgstr ""
@@ -529,8 +1191,40 @@ msgstr ""
msgid "Placeholder"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1000
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:762
+#: packages/email/template-components/template-document-invite.tsx:56
+msgid "Please {0} your document<0/>\"{documentName}\""
+msgstr "Veuillez {0} votre document<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:50
+msgid "Please {action} your document {documentName}"
+msgstr "Veuillez {action} votre document {documentName}"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
+msgid "Please {recipientActionVerb} this document"
+msgstr "Veuillez {recipientActionVerb} ce document"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
+msgid "Please {recipientActionVerb} this document created by your direct template"
+msgstr "Veuillez {recipientActionVerb} ce document créé par votre modèle direct"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
+msgid "Please {recipientActionVerb} your document"
+msgstr "Veuillez {recipientActionVerb} votre document"
+
+#: packages/lib/server-only/auth/send-confirmation-email.ts:67
+msgid "Please confirm your email"
+msgstr "Veuillez confirmer votre email"
+
+#: packages/email/templates/confirm-email.tsx:17
+msgid "Please confirm your email address"
+msgstr "Veuillez confirmer votre adresse email"
+
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
+msgid "Please try again or contact our support."
+msgstr "Veuillez réessayer ou contacter notre support."
+
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
msgid "Radio"
msgstr ""
@@ -546,26 +1240,71 @@ msgstr ""
msgid "Read only"
msgstr ""
+#: packages/email/template-components/template-document-rejected.tsx:32
+msgid "Reason for rejection: {rejectionReason}"
+msgstr ""
+
#: packages/ui/components/recipient/recipient-role-select.tsx:95
msgid "Receives copy"
msgstr ""
+#: packages/lib/utils/document-audit-logs.ts:338
+#: packages/lib/utils/document-audit-logs.ts:353
+msgid "Recipient"
+msgstr "Destinataire"
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
-#: packages/ui/primitives/document-flow/add-settings.tsx:215
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:169
+#: packages/ui/primitives/document-flow/add-settings.tsx:257
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
msgid "Recipient action authentication"
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:89
+msgid "Recipient removed email"
+msgstr "E-mail de destinataire supprimé"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:50
+msgid "Recipient signing request email"
+msgstr "E-mail de demande de signature de destinataire"
+
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:329
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:332
+#: packages/ui/primitives/document-flow/add-settings.tsx:371
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
msgid "Redirect URL"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1104
+#: packages/email/template-components/template-document-invite.tsx:96
+msgid "Reject Document"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
+msgid "Rejection Confirmed"
+msgstr ""
+
+#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
+msgid "Rejection reason: {reason}"
+msgstr ""
+
+#: packages/lib/server-only/document/resend-document.tsx:192
+msgid "Reminder: {0}"
+msgstr "Rappel : {0}"
+
+#: packages/lib/server-only/document/resend-document.tsx:132
+msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
+msgstr "Rappel : {0} vous a invité à {recipientActionVerb} un document"
+
+#: packages/lib/server-only/document/resend-document.tsx:121
+msgid "Reminder: Please {recipientActionVerb} this document"
+msgstr "Rappel : Veuillez {recipientActionVerb} ce document"
+
+#: packages/lib/server-only/document/resend-document.tsx:127
+msgid "Reminder: Please {recipientActionVerb} your document"
+msgstr "Rappel : Veuillez {recipientActionVerb} votre document"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1110
msgid "Remove"
msgstr ""
@@ -577,6 +1316,18 @@ msgstr ""
msgid "Required field"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:84
+msgid "Resend"
+msgstr "Renvoyer"
+
+#: packages/email/template-components/template-forgot-password.tsx:33
+msgid "Reset Password"
+msgstr "Réinitialiser le mot de passe"
+
+#: packages/ui/components/document/document-share-button.tsx:147
+msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!"
+msgstr "Soyez assuré, votre document eststrictement confidentiel et ne sera jamais partagé. Seule votre expérience de signature sera mise en avant. Partagez votre carte de signature personnalisée pour mettre en valeur votre signature !"
+
#: packages/ui/primitives/data-table-pagination.tsx:55
msgid "Rows per page"
msgstr ""
@@ -585,7 +1336,7 @@ msgstr ""
msgid "Save"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:848
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
msgid "Save Template"
msgstr ""
@@ -609,7 +1360,8 @@ msgstr ""
msgid "Select default option"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:82
+#: packages/ui/primitives/document-flow/add-subject.tsx:85
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
msgid "Send"
@@ -619,6 +1371,30 @@ msgstr ""
msgid "Send Document"
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:158
+msgid "Send document completed email"
+msgstr "Envoyer l'e-mail de document complété"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:197
+msgid "Send document deleted email"
+msgstr "Envoyer l'e-mail de document supprimé"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:118
+msgid "Send document pending email"
+msgstr "Envoyer l'e-mail de document en attente"
+
+#: packages/email/templates/confirm-team-email.tsx:101
+msgid "Send documents on behalf of the team using the email address"
+msgstr "Envoyer des documents au nom de l'équipe en utilisant l'adresse e-mail"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:79
+msgid "Send recipient removed email"
+msgstr "Envoyer l'e-mail de destinataire supprimé"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:40
+msgid "Send recipient signing request email"
+msgstr "Envoyer l'e-mail de demande de signature de destinataire"
+
#: packages/ui/components/document/document-share-button.tsx:135
msgid "Share Signature Card"
msgstr ""
@@ -627,13 +1403,23 @@ msgstr ""
msgid "Share the Link"
msgstr ""
-#: packages/ui/primitives/document-flow/add-signers.tsx:680
+#: packages/ui/components/document/document-share-button.tsx:143
+msgid "Share your signing experience!"
+msgstr "Partagez votre expérience de signature !"
+
+#: 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 ""
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:20
#: packages/ui/components/document/next-inbox-item-button.tsx:107
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:20
+=======
+#: packages/lib/constants/recipient-roles.ts:22
+>>>>>>> main
msgid "Sign"
msgstr ""
@@ -641,25 +1427,51 @@ msgstr ""
msgid "Sign Next Document"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:818
+#: packages/email/template-components/template-document-invite.tsx:104
+msgid "Sign Document"
+msgstr "Signer le document"
+
+#: packages/email/template-components/template-reset-password.tsx:34
+msgid "Sign In"
+msgstr "Se connecter"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:823
#: packages/ui/primitives/document-flow/add-signature.tsx:323
#: packages/ui/primitives/document-flow/field-icon.tsx:52
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:580
+#: packages/ui/primitives/document-flow/types.ts:49
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
msgid "Signature"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:21
+#: packages/lib/constants/recipient-roles.ts:23
msgid "Signed"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:23
+#: packages/lib/constants/recipient-roles.ts:25
msgid "Signer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:22
+#: packages/lib/constants/recipient-roles.ts:26
+msgid "Signers"
+msgstr "Signataires"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:36
+msgid "Signers must have unique emails"
+msgstr "Les signataires doivent avoir des e-mails uniques"
+
+#: packages/lib/constants/recipient-roles.ts:24
msgid "Signing"
msgstr ""
+#: packages/lib/server-only/document/send-completed-email.ts:114
+#: packages/lib/server-only/document/send-completed-email.ts:194
+msgid "Signing Complete!"
+msgstr "Signature Complète !"
+
+#: packages/lib/constants/recipient-roles.ts:66
+#~ msgid "SIGNING_REQUEST"
+#~ msgstr "SIGNING_REQUEST"
+
#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34
msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding."
msgstr ""
@@ -668,6 +1480,11 @@ msgstr ""
msgid "Something went wrong"
msgstr ""
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
+msgid "Something went wrong while loading the document."
+msgstr "Une erreur s'est produite lors du chargement du document."
+
#: packages/ui/primitives/data-table.tsx:136
msgid "Something went wrong."
msgstr ""
@@ -676,8 +1493,8 @@ msgstr ""
msgid "Step <0>{step} of {maxStep}0>"
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:78
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:195
+#: packages/ui/primitives/document-flow/add-subject.tsx:143
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
msgid "Subject <0>(Optional)0>"
msgstr ""
@@ -685,15 +1502,36 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:134
+#: packages/lib/server-only/team/delete-team.ts:124
+msgid "Team \"{0}\" has been deleted on Documenso"
+msgstr "L'équipe \"{0}\" a été supprimée sur Documenso"
+
+#: packages/lib/server-only/team/delete-team-email.ts:104
+msgid "Team email has been revoked for {0}"
+msgstr "L'email d'équipe a été révoqué pour {0}"
+
+#: packages/email/templates/team-email-removed.tsx:59
+msgid "Team email removed"
+msgstr "Email d'équipe supprimé"
+
+#: packages/email/templates/team-email-removed.tsx:29
+msgid "Team email removed for {teamName} on Documenso"
+msgstr "Email d'équipe supprimé pour {teamName} sur Documenso"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
msgid "Template title"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:948
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:710
+#: packages/ui/primitives/document-flow/add-fields.tsx:953
+#: packages/ui/primitives/document-flow/types.ts:52
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
msgid "Text"
msgstr ""
+#: packages/email/template-components/template-forgot-password.tsx:25
+msgid "That's okay, it happens! Click the button below to reset your password."
+msgstr "C'est d'accord, cela arrive ! Cliquez sur le bouton ci-dessous pour réinitialiser votre mot de passe."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:44
msgid "The authentication required for recipients to sign fields"
msgstr ""
@@ -706,14 +1544,30 @@ msgstr ""
msgid "The authentication required for recipients to view the document."
msgstr ""
+#: 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 ""
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
msgid "The document's name"
msgstr ""
+#: packages/email/templates/team-delete.tsx:37
+msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
+msgstr "L'équipe suivante a été supprimée par son propriétaire. Vous ne pourrez plus accéder à cette équipe et à ses documents"
+
+#: packages/email/templates/team-delete.tsx:36
+msgid "The following team has been deleted by you"
+msgstr "L'équipe suivante a été supprimée par vous"
+
#: packages/ui/primitives/document-password-dialog.tsx:52
msgid "The password you have entered is incorrect. Please try again."
msgstr ""
+#: packages/email/template-components/template-document-super-delete.tsx:38
+msgid "The reason provided for deletion is the following:"
+msgstr "La raison fournie pour la suppression est la suivante :"
+
#: packages/ui/components/recipient/recipient-role-select.tsx:103
msgid "The recipient is not required to take any action and receives a copy of the document after it is completed."
msgstr ""
@@ -746,11 +1600,23 @@ msgstr ""
msgid "The signer's name"
msgstr ""
+#: packages/ui/primitives/document-flow/add-subject.tsx:243
+msgid "The signing link has been copied to your clipboard."
+msgstr "Le lien de signature a été copié dans votre presse-papiers."
+
+#: packages/email/templates/team-email-removed.tsx:63
+msgid "The team email <0>{teamEmail}0> has been removed from the following team"
+msgstr "L'email d'équipe <0>{teamEmail}0> a été supprimé de l'équipe suivante"
+
#: packages/ui/components/document/document-global-auth-action-select.tsx:72
msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:752
+#: packages/email/template-components/template-document-super-delete.tsx:31
+msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
+msgstr "Ce document ne peut pas être récupéré, si vous souhaitez contester la raison des documents futurs, veuillez contacter le support."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:757
msgid "This document has already been sent to this recipient. You can no longer edit this recipient."
msgstr ""
@@ -758,11 +1624,35 @@ msgstr ""
msgid "This document is password protected. Please enter the password to view the document."
msgstr ""
+#: packages/email/template-components/template-footer.tsx:17
+msgid "This document was sent using <0>Documenso.0>"
+msgstr "Ce document a été envoyé via <0>Documenso.0>"
+
+#: 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 ""
+
+#: 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 "Cet e-mail est envoyé au destinataire s'il est retiré d'un document en attente."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:55
+msgid "This email is sent to the recipient requesting them to sign the document."
+msgstr "Cet e-mail est envoyé au destinataire lui demandant de signer le document."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:133
+msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
+msgstr "Cet e-mail sera envoyé au destinataire qui vient de signer le document, s'il y a encore d'autres destinataires qui n'ont pas signé."
+
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1084
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
+msgid "This is how the document will reach the recipients once the document is ready for signing."
+msgstr "Voici comment le document atteindra les destinataires une fois qu'il sera prêt à être signé."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1090
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
msgstr ""
@@ -770,25 +1660,33 @@ msgstr ""
msgid "This signer has already signed the document."
msgstr ""
+#: packages/ui/components/document/document-email-checkboxes.tsx:212
+msgid "This will be sent to all recipients if a pending document has been deleted."
+msgstr "Cela sera envoyé à tous les destinataires si un document en attente a été supprimé."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:173
+msgid "This will be sent to all recipients once the document has been fully completed."
+msgstr "Cela sera envoyé à tous les destinataires une fois que le document aura été entièrement complété."
+
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
msgid "This will override any global settings."
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:305
-#: packages/ui/primitives/template-flow/add-template-settings.tsx:309
+#: packages/ui/primitives/document-flow/add-settings.tsx:347
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
msgid "Time Zone"
msgstr ""
-#: packages/ui/primitives/document-flow/add-settings.tsx:153
+#: packages/ui/primitives/document-flow/add-settings.tsx:155
msgid "Title"
msgstr ""
-#: packages/ui/primitives/document-flow/add-fields.tsx:1067
-#: packages/ui/primitives/template-flow/add-template-fields.tsx:828
+#: packages/ui/primitives/document-flow/add-fields.tsx:1073
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
msgid "To proceed further, please set at least one value for the {0} field."
msgstr ""
-#: packages/ui/primitives/document-flow/add-subject.tsx:124
+#: packages/ui/primitives/document-flow/add-subject.tsx:86
msgid "Update"
msgstr ""
@@ -814,35 +1712,178 @@ msgstr ""
msgid "Value"
msgstr ""
+<<<<<<< HEAD
#: packages/lib/constants/recipient-roles.ts:26
#: packages/ui/components/document/next-inbox-item-button.tsx:119
msgid "View"
msgstr ""
+||||||| 7fc497a64
+#: packages/lib/constants/recipient-roles.ts:26
+msgid "View"
+msgstr "Vue"
+=======
+#: packages/email/templates/confirm-team-email.tsx:71
+msgid "Verify your team email address"
+msgstr "Vérifiez votre adresse e-mail d'équipe"
+>>>>>>> main
-#: packages/lib/constants/recipient-roles.ts:27
+#: packages/lib/constants/recipient-roles.ts:29
+msgid "View"
+msgstr "Voir"
+
+#: packages/email/templates/confirm-team-email.tsx:95
+msgid "View all documents sent to and from this email address"
+msgstr "Voir tous les documents envoyés à et depuis cette adresse e-mail"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:75
+msgid "View document"
+msgstr "Voir le document"
+
+#: 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"
+msgstr "Voir le document"
+
+#: packages/email/template-components/template-document-self-signed.tsx:79
+msgid "View plans"
+msgstr "Voir les forfaits"
+
+#: packages/lib/constants/recipient-roles.ts:67
+#~ msgid "VIEW_REQUEST"
+#~ msgstr "VIEW_REQUEST"
+
+#: packages/lib/constants/recipient-roles.ts:30
msgid "Viewed"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:29
+#: packages/lib/constants/recipient-roles.ts:32
msgid "Viewer"
msgstr ""
-#: packages/lib/constants/recipient-roles.ts:28
+#: packages/lib/constants/recipient-roles.ts:33
+msgid "Viewers"
+msgstr "Spectateurs"
+
+#: packages/lib/constants/recipient-roles.ts:31
msgid "Viewing"
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Visionnage"
+=======
+msgstr "Consultation"
+
+#: packages/email/template-components/template-document-pending.tsx:31
+msgid "Waiting for others"
+msgstr "En attente des autres"
+
+#: packages/lib/server-only/document/send-pending-email.ts:96
+msgid "Waiting for others to complete signing."
+msgstr "En attente que d'autres terminent la signature."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:205
+msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
+msgstr "Nous générerons des liens de signature pour vous, que vous pourrez envoyer aux destinataires par votre méthode de choix."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:201
+msgid "We won't send anything to notify recipients."
+msgstr "Nous n'enverrons rien pour notifier les destinataires."
+
+#: packages/email/template-components/template-document-pending.tsx:41
+msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
+msgstr "Nous attendons encore que d'autres signataires signent ce document.<0/>Nous vous préviendrons dès qu'il sera prêt."
+
+#: packages/email/templates/reset-password.tsx:65
+msgid "We've changed your password as you asked. You can now sign in with your new password."
+msgstr "Nous avons changé votre mot de passe comme demandé. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe."
+
+#: packages/email/template-components/template-confirmation-email.tsx:21
+msgid "Welcome to Documenso!"
+msgstr "Bienvenue sur Documenso !"
+
+#: packages/lib/utils/document-audit-logs.ts:258
+msgid "You"
+msgstr "Vous"
+>>>>>>> main
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44
msgid "You are about to send this document to the recipients. Are you sure you want to continue?"
msgstr ""
+#: packages/email/template-components/template-confirmation-email.tsx:38
+msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
+msgstr "Vous pouvez également copier et coller ce lien dans votre navigateur : {confirmationLink} (le lien expire dans 1 heure)"
+
+#: packages/email/templates/confirm-team-email.tsx:106
+msgid "You can revoke access at any time in your team settings on Documenso <0>here.0>"
+msgstr "Vous pouvez révoquer l'accès à tout moment dans les paramètres de votre équipe sur Documenso <0>ici.0>"
+
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
msgid "You can use the following variables in your message:"
msgstr ""
+#: packages/email/template-components/template-document-rejected.tsx:37
+msgid "You can view the document and its status by clicking the button below."
+msgstr ""
+
#: packages/ui/primitives/document-dropzone.tsx:43
msgid "You cannot upload documents at this time."
msgstr ""
+#: packages/email/template-components/template-document-cancel.tsx:35
+msgid "You don't need to sign it anymore."
+msgstr "Vous n'avez plus besoin de le signer."
+
+#: packages/lib/server-only/team/create-team-member-invites.ts:186
+msgid "You have been invited to join {0} on Documenso"
+msgstr "Vous avez été invité à rejoindre {0} sur Documenso"
+
+#: packages/email/templates/team-invite.tsx:76
+msgid "You have been invited to join the following team"
+msgstr "Vous avez été invité à rejoindre l'équipe suivante"
+
+#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
+msgid "You have been removed from a document"
+msgstr "Vous avez été supprimé d'un document"
+
+#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114
+msgid "You have been requested to take ownership of team {0} on Documenso"
+msgstr "On vous a demandé de prendre possession de l'équipe {0} sur Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
+#: packages/lib/server-only/document/resend-document.tsx:125
+msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
+msgstr "Vous avez initié le document {0} qui nécessite que vous {recipientActionVerb} celui-ci."
+
#: packages/ui/primitives/document-dropzone.tsx:69
msgid "You have reached your document limit."
+<<<<<<< HEAD
msgstr ""
+||||||| 7fc497a64
+msgstr "Vous avez atteint votre limite de documents."
+=======
+msgstr "Vous avez atteint votre limite de documents."
+
+#: packages/email/templates/document-rejection-confirmed.tsx:27
+msgid "You have rejected the document '{documentName}'"
+msgstr ""
+
+#: packages/email/template-components/template-document-self-signed.tsx:42
+msgid "You have signed “{documentName}”"
+msgstr "Vous avez signé “{documentName}”"
+
+#: packages/email/template-components/template-document-super-delete.tsx:23
+msgid "Your document has been deleted by an admin!"
+msgstr "Votre document a été supprimé par un administrateur !"
+
+#: packages/email/template-components/template-reset-password.tsx:26
+msgid "Your password has been updated."
+msgstr "Votre mot de passe a été mis à jour."
+
+#: packages/email/templates/team-delete.tsx:28
+#: packages/email/templates/team-delete.tsx:32
+msgid "Your team has been deleted"
+msgstr "Votre équipe a été supprimée"
+>>>>>>> main
diff --git a/packages/lib/translations/fr/marketing.po b/packages/lib/translations/fr/marketing.po
index a44e37c72..717a68b7c 100644
--- a/packages/lib/translations/fr/marketing.po
+++ b/packages/lib/translations/fr/marketing.po
@@ -8,7 +8,13 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-18 04:04\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po
index 6a71772a2..1ea95efc7 100644
--- a/packages/lib/translations/fr/web.po
+++ b/packages/lib/translations/fr/web.po
@@ -8,11 +8,21 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
+<<<<<<< HEAD
"PO-Revision-Date: \n"
+||||||| 7fc497a64
+"PO-Revision-Date: 2024-10-18 04:04\n"
+=======
+"PO-Revision-Date: 2024-11-12 05:45\n"
+>>>>>>> main
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: \n"
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
+msgid "\"{0}\" has invited you to sign \"example document\"."
+msgstr "\"{0}\" vous a invité à signer \"example document\"."
+
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
msgstr ""
@@ -21,15 +31,35 @@ msgstr ""
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr ""
-#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
+msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
+msgstr "\"{email}\" au nom de \"{teamName}\" vous a invité à signer \"example 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\n"
+#~ "document\"."
+#~ msgstr ""
+#~ "\"{placeholderEmail}\" au nom de \"{0}\" vous a invité à signer \"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 ""
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
+msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
+msgstr "\"{teamUrl}\" vous a invité à signer \"example document\"."
+
+#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:79
msgid "({0}) has invited you to approve this document"
msgstr ""
-#: 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 ""
-#: 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 ""
@@ -59,7 +89,7 @@ msgstr ""
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
msgstr ""
@@ -72,20 +102,36 @@ msgid "{0} direct signing templates"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:66
+<<<<<<< HEAD
msgid "{0} document"
msgstr ""
+||||||| 7fc497a64
+msgid "{0} document"
+msgstr "{0} document"
+=======
+#~ msgid "{0} document"
+#~ msgstr "{0} document"
+>>>>>>> main
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:146
msgid "{0} of {1} documents remaining this month."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
msgid "{0} Recipient(s)"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+<<<<<<< HEAD
msgid "{0} the document to complete the process."
msgstr ""
+||||||| 7fc497a64
+msgid "{0} the document to complete the process."
+msgstr "{0} le document pour compléter le processus."
+=======
+#~ msgid "{0} the document to complete the process."
+#~ msgstr "{0} the document to complete the process."
+>>>>>>> main
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
@@ -99,6 +145,14 @@ msgstr ""
msgid "{numberOfSeats, plural, one {# member} other {# members}}"
msgstr ""
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+msgid "{recipientActionVerb} document"
+msgstr "{recipientActionVerb} document"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
+msgid "{recipientActionVerb} the document to complete the process."
+msgstr "{recipientActionVerb} the document to complete the process."
+
#: apps/web/src/components/forms/public-profile-form.tsx:231
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}"
@@ -112,6 +166,18 @@ msgstr ""
msgid "<0>Sender:0> All"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
+msgid "1 month"
+msgstr "1 mois"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8
+msgid "12 months"
+msgstr "12 mois"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6
+msgid "3 months"
+msgstr "3 mois"
+
#: apps/web/src/components/partials/not-found.tsx:45
msgid "404 Page not found"
msgstr ""
@@ -128,14 +194,30 @@ msgstr ""
msgid "404 Template not found"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7
+msgid "6 months"
+msgstr "6 mois"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4
+msgid "7 days"
+msgstr "7 jours"
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:55
msgid "A confirmation email has been sent, and it should arrive in your inbox shortly."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70
+msgid "A device capable of accessing, opening, and reading documents"
+msgstr "Un appareil capable d'accéder, d'ouvrir et de lire des documents"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
msgid "A draft document will be created"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73
+msgid "A means to print or download documents for your records"
+msgstr "Un moyen d'imprimer ou de télécharger des documents pour vos dossiers"
+
#: apps/web/src/components/forms/token.tsx:127
msgid "A new token was created successfully."
msgstr ""
@@ -158,12 +240,16 @@ msgstr ""
msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64
+msgid "A stable internet connection"
+msgstr "Une connexion Internet stable"
+
#: apps/web/src/components/forms/public-profile-form.tsx:198
msgid "A unique URL to access your profile"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:139
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
msgid "A unique URL to identify your team"
msgstr ""
@@ -175,24 +261,42 @@ msgstr ""
msgid "Accept"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33
+msgid "Acceptance and Consent"
+msgstr "Acceptation et consentement"
+
#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26
msgid "Accepted team invitation"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:128
+msgid "Account Authentication"
+msgstr "Authentification de compte"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:48
msgid "Account deleted"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:119
+msgid "Account Re-Authentication"
+msgstr "Ré-authentification de compte"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139
+msgid "Acknowledgment"
+msgstr "Reconnaissance"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
msgid "Action"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:85
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142
@@ -201,7 +305,7 @@ msgstr ""
msgid "Actions"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
msgid "Active"
@@ -215,12 +319,12 @@ msgstr ""
msgid "Add"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
msgid "Add all relevant fields for each recipient."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83
msgid "Add all relevant placeholders for each recipient."
msgstr ""
@@ -236,8 +340,8 @@ msgstr ""
msgid "Add email"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
msgid "Add Fields"
msgstr ""
@@ -250,38 +354,62 @@ msgstr ""
msgid "Add passkey"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82
msgid "Add Placeholders"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
msgid "Add Signers"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179
msgid "Add Subject"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179
+msgid "Add Subject"
+msgstr "Ajouter un sujet"
+=======
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+#~ msgid "Add Subject"
+#~ msgstr "Add Subject"
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
msgid "Add team email"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
msgid "Add the people who will sign the document."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
msgid "Add the recipients to create the document with"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
msgid "Add the subject and message you wish to send to signers."
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+msgid "Add the subject and message you wish to send to signers."
+msgstr "Ajouter le sujet et le message que vous souhaitez envoyer aux signataires."
+=======
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+#~ msgid "Add the subject and message you wish to send to signers."
+#~ msgstr "Add the subject and message you wish to send to signers."
+>>>>>>> main
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
msgid "Adding and removing seats will adjust your invoice accordingly."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
+msgid "Additional brand information to display at the bottom of emails"
+msgstr "Informations supplémentaires sur la marque à afficher en bas des e-mails"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
msgid "Admin Actions"
msgstr ""
@@ -290,6 +418,10 @@ msgstr ""
msgid "Admin panel"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129
+msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time."
+msgstr "Après avoir signé un document électroniquement, vous aurez l'occasion de visualiser, télécharger et imprimer le document pour vos dossiers. Il est fortement recommandé de conserver une copie de tous les documents signés électroniquement pour vos dossiers personnels. Nous conserverons également une copie du document signé pour nos dossiers, mais nous pourrions ne pas être en mesure de vous fournir une copie du document signé après une certaine période."
+
#: apps/web/src/components/formatter/document-status.tsx:46
msgid "All"
msgstr ""
@@ -302,6 +434,10 @@ msgstr ""
msgid "All documents have been processed. Any new documents that are sent or received will show here."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81
+msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails."
+msgstr "Tous les documents relatifs au processus de signature électronique vous seront fournis électroniquement via notre plateforme ou par e-mail. Il est de votre responsabilité de vous assurer que votre adresse e-mail est à jour et que vous pouvez recevoir et ouvrir nos e-mails."
+
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
msgid "All inserted signatures will be voided"
msgstr ""
@@ -310,6 +446,10 @@ msgstr ""
msgid "All recipients will be notified"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
+msgid "All signing links have been copied to your clipboard."
+msgstr "Tous les liens de signature ont été copiés dans votre presse-papiers."
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
msgid "All templates"
msgstr ""
@@ -330,6 +470,14 @@ msgstr ""
msgid "Amount"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48
+msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper."
+msgstr "Une signature électronique fournie par vous sur notre plateforme, obtenue en cliquant sur un document et en saisissant votre nom, ou toute autre méthode de signature électronique que nous fournis, est juridiquement contraignante. Elle a le même poids et la même force exécutoire qu'une signature manuelle écrite à l'encre sur papier."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67
+msgid "An email account"
+msgstr "Un compte e-mail"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262
msgid "An email containing an invitation will be sent to each member."
msgstr ""
@@ -353,17 +501,17 @@ msgstr ""
msgid "An error occurred"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
msgid "An error occurred while adding signers."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
msgid "An error occurred while adding the fields."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
msgid "An error occurred while creating document from template."
msgstr ""
@@ -376,9 +524,9 @@ msgid "An error occurred while disabling direct link signing."
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:64
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:89
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:92
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:105
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:107
msgid "An error occurred while downloading your document."
msgstr ""
@@ -402,6 +550,10 @@ msgstr ""
msgid "An error occurred while moving the template."
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116
+msgid "An error occurred while removing the field."
+msgstr "Une erreur est survenue lors de la suppression du champ."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137
@@ -417,7 +569,7 @@ msgstr ""
msgid "An error occurred while removing the text."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
msgid "An error occurred while sending the document."
msgstr ""
@@ -429,6 +581,7 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150
#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102
@@ -441,11 +594,15 @@ msgstr ""
msgid "An error occurred while trying to create a checkout session."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
msgid "An error occurred while updating the document settings."
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:78
+#~ msgid "An error occurred while updating the global team settings."
+#~ msgstr "An error occurred while updating the global team settings."
+
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
msgid "An error occurred while updating the signature."
msgstr ""
@@ -476,7 +633,7 @@ msgstr ""
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:94
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
#: apps/web/src/components/forms/avatar-image.tsx:94
#: apps/web/src/components/forms/avatar-image.tsx:122
#: apps/web/src/components/forms/password.tsx:84
@@ -505,13 +662,21 @@ msgstr ""
msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225
+msgid "Any Source"
+msgstr "Toute source"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205
+msgid "Any Status"
+msgstr "Tout statut"
+
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
msgid "API Tokens"
msgstr ""
@@ -521,12 +686,16 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
msgid "Approve"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129
+msgid "Approve Document"
+msgstr "Approuver le document"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
msgid "Approved"
msgstr ""
@@ -534,6 +703,10 @@ msgstr ""
msgid "Are you sure you want to delete this token?"
msgstr ""
+#: 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 ""
+
#: 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 ""
@@ -556,10 +729,14 @@ msgstr ""
msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:127
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:130
msgid "Audit Log"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:198
+msgid "Authentication Level"
+msgstr "Niveau d'authentification"
+
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:41
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:52
msgid "Authentication required"
@@ -573,7 +750,7 @@ msgstr ""
msgid "Avatar Updated"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
msgid "Awaiting email confirmation"
msgstr ""
@@ -583,7 +760,7 @@ msgstr ""
msgid "Back"
msgstr ""
-#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164
msgid "Back to Documents"
msgstr ""
@@ -612,15 +789,28 @@ msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
msgid "Billing"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
+msgid "Branding Preferences"
+msgstr "Préférences de branding"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
+msgid "Branding preferences updated"
+msgstr "Préférences de branding mises à jour"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
msgid "Browser"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
+msgid "Bulk Copy"
+msgstr "Copie groupée"
+
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
msgid "Bulk Import"
msgstr ""
@@ -633,9 +823,22 @@ msgstr ""
msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142
+msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein."
+msgstr "En procédant à l'utilisation du service de signature électronique fourni par Documenso, vous affirmez avoir lu et compris cette divulgation. Vous acceptez tous les termes et conditions liés à l'utilisation des signatures électroniques et des transactions électroniques comme décrit ici."
+
+#: apps/web/src/components/general/signing-disclosure.tsx:14
+msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions."
+msgstr "En procédant avec votre signature électronique, vous reconnaissez et consentez à ce qu'elle soit utilisée pour signer le document donné et a la même validité légale qu'une signature manuscrite. En complétant le processus de signature électronique, vous affirmez votre compréhension et votre acceptation de ces conditions."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92
+msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing."
+msgstr "En utilisant la fonctionnalité de signature électronique, vous consentez à effectuer des transactions et à recevoir des divulgations électroniquement. Vous reconnaissez que votre signature électronique sur les documents est contraignante et que vous acceptez les termes énoncés dans les documents que vous signez."
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198
@@ -649,8 +852,10 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
+#: 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
@@ -683,6 +888,10 @@ msgstr ""
msgid "Charts"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
+#~ msgid "Check out the documentaton for the <0>global team settings0>."
+#~ msgstr "Check out the documentaton for the <0>global team settings0>."
+
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
msgid "Checkout"
msgstr ""
@@ -695,6 +904,10 @@ msgstr ""
msgid "Choose Direct Link Recipient"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
+msgid "Choose how the document will reach recipients"
+msgstr "Choisissez comment le document atteindra les destinataires"
+
#: apps/web/src/components/forms/token.tsx:200
msgid "Choose..."
msgstr ""
@@ -721,6 +934,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68
#: apps/web/src/components/document/document-history-sheet.tsx:133
msgid "Click here to retry"
msgstr ""
@@ -736,16 +950,17 @@ msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:115
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
msgid "Click to insert field"
msgstr ""
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:140
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:180
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:102
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:319
@@ -754,8 +969,8 @@ msgid "Close"
msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
#: apps/web/src/components/forms/v2/signup.tsx:534
msgid "Complete"
msgstr ""
@@ -772,7 +987,8 @@ msgstr ""
msgid "Complete Viewing"
msgstr ""
-#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
+#: 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:77
#: apps/web/src/components/formatter/document-status.tsx:28
msgid "Completed"
msgstr ""
@@ -785,11 +1001,11 @@ msgstr ""
msgid "Completed Documents"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
msgid "Configure general settings for the document."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78
msgid "Configure general settings for the template."
msgstr ""
@@ -827,6 +1043,14 @@ msgstr ""
msgid "Confirmation email sent"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89
+msgid "Consent to Electronic Transactions"
+msgstr "Consentement aux transactions électroniques"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151
+msgid "Contact Information"
+msgstr "Coordonnées"
+
#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189
msgid "Content"
msgstr ""
@@ -845,14 +1069,37 @@ msgstr ""
msgid "Continue to login"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
+msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
+msgstr "Contrôle la langue par défaut d'un document téléchargé. Cela sera utilisé comme langue dans les communications par e-mail avec les destinataires."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
+msgid "Controls the default visibility of an uploaded document."
+msgstr "Contrôle la visibilité par défaut d'un document téléchargé."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
+msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
+msgstr "Contrôle le formatage du message qui sera envoyé lors de l'invitation d'un destinataire à signer un document. Si un message personnalisé a été fourni lors de la configuration du document, il sera utilisé à la place."
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
+msgid "Copied"
+msgstr "Copié"
+
+#: 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
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:40
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:61
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:117
#: apps/web/src/components/forms/public-profile-form.tsx:117
msgid "Copied to clipboard"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
+msgid "Copy"
+msgstr "Copier"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
msgid "Copy sharable link"
msgstr ""
@@ -861,6 +1108,10 @@ msgstr ""
msgid "Copy Shareable Link"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
+msgid "Copy Signing Links"
+msgstr "Copier les liens de signature"
+
#: apps/web/src/components/forms/token.tsx:288
msgid "Copy token"
msgstr ""
@@ -883,15 +1134,19 @@ msgstr ""
msgid "Create account"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
msgid "Create and send"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
msgid "Create as draft"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
+msgid "Create as pending"
+msgstr "Créer comme en attente"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
msgid "Create Direct Link"
msgstr ""
@@ -899,7 +1154,7 @@ msgstr ""
msgid "Create Direct Signing Link"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
msgid "Create document from template"
msgstr ""
@@ -911,6 +1166,10 @@ msgstr ""
msgid "Create one automatically"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
+msgid "Create signing links"
+msgstr "Créer des liens de signature"
+
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
@@ -922,6 +1181,10 @@ msgstr ""
msgid "Create Team"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
+msgid "Create the document as pending and ready to sign."
+msgstr "Créer le document comme en attente et prêt à signer."
+
#: apps/web/src/components/forms/token.tsx:250
#: apps/web/src/components/forms/token.tsx:259
msgid "Create token"
@@ -947,12 +1210,15 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:274
msgid "Created"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:35
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:111
msgid "Created At"
msgstr ""
@@ -967,14 +1233,23 @@ msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93
msgid "Created on {0}"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
msgid "Created on{0}"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
+msgid "Created on{0}"
+msgstr "Créé le{0}"
+
+=======
+>>>>>>> main
#: apps/web/src/components/forms/password.tsx:107
msgid "Current Password"
msgstr ""
@@ -1008,16 +1283,29 @@ msgstr ""
msgid "Declined team invitation"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
+msgid "Default Document Language"
+msgstr "Langue par défaut du document"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
+msgid "Default Document Visibility"
+msgstr "Visibilité par défaut du document"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
+msgid "delete"
+msgstr "supprimer"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109
@@ -1026,6 +1314,15 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54
+msgid "delete {0}"
+msgstr "supprimer {0}"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50
+msgid "delete {teamName}"
+msgstr "supprimer {teamName}"
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137
msgid "Delete account"
msgstr ""
@@ -1052,7 +1349,7 @@ msgstr ""
msgid "Delete passkey"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
msgid "Delete team"
msgstr ""
@@ -1078,6 +1375,7 @@ msgid "Delete your account and all its contents, including completed documents.
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
msgid "Deleted"
msgstr ""
@@ -1085,7 +1383,12 @@ msgstr ""
msgid "Deleting account..."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178
+msgid "Details"
+msgstr "Détails"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr ""
@@ -1094,10 +1397,16 @@ msgstr ""
msgid "direct link"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79
msgid "Direct link"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231
+msgid "Direct Link"
+msgstr "Lien direct"
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46
msgid "direct link disabled"
msgstr ""
@@ -1153,6 +1462,10 @@ msgstr ""
msgid "Display your name and email in documents"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+msgid "Distribute Document"
+msgstr "Distribuer le document"
+
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
msgid "Do you want to delete this template?"
msgstr ""
@@ -1166,6 +1479,7 @@ msgid "Documenso will delete <0>all of your documents0>, along with all of you
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38
msgid "Document"
msgstr ""
@@ -1189,12 +1503,20 @@ msgstr ""
msgid "Document Completed!"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
msgid "Document created"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129
+msgid "Document created by <0>{0}0>"
+msgstr "Document créé par <0>{0}0>"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134
+msgid "Document created using a <0>direct link0>"
+msgstr "Document créé en utilisant un <0>lien direct0>"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr ""
@@ -1207,12 +1529,13 @@ msgstr ""
msgid "Document Duplicated"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:184
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
#: apps/web/src/components/document/document-history-sheet.tsx:104
msgid "Document history"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:71
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:81
msgid "Document ID"
msgstr ""
@@ -1220,7 +1543,7 @@ msgstr ""
msgid "Document inbox"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
msgid "Document Limit Exceeded!"
msgstr ""
@@ -1240,19 +1563,37 @@ msgstr ""
msgid "Document pending"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
+msgid "Document preferences updated"
+msgstr "Préférences de document mises à jour"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
msgid "Document re-sent"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
+msgid "Document Rejected"
+msgstr ""
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
msgid "Document resealed"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
msgid "Document sent"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+=======
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
+#~ msgid "Document Settings"
+#~ msgstr "Document Settings"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+>>>>>>> main
msgid "Document Signed"
msgstr ""
@@ -1286,7 +1627,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/nav.tsx:65
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:139
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:144
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:109
#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16
#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:15
@@ -1300,6 +1641,10 @@ msgstr ""
msgid "Documents"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
+msgid "Documents created from template"
+msgstr "Documents créés à partir du modèle"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113
msgid "Documents Received"
msgstr ""
@@ -1314,9 +1659,9 @@ msgid "Don't have an account? <0>Sign up0>"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:120
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110
#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107
@@ -1327,10 +1672,11 @@ msgstr ""
msgid "Download Audit Logs"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
msgid "Download Certificate"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214
#: apps/web/src/components/formatter/document-status.tsx:34
msgid "Draft"
msgstr ""
@@ -1347,41 +1693,55 @@ msgstr ""
msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:133
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91
msgid "Duplicate"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:104
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:112
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:115
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:102
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100
msgid "Edit"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
+msgid "Edit Template"
+msgstr "Modifier le modèle"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100
msgid "Edit webhook"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78
+msgid "Electronic Delivery of Documents"
+msgstr "Remise électronique de documents"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17
+msgid "Electronic Signature Disclosure"
+msgstr "Divulgation de signature électronique"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153
#: apps/web/src/components/forms/forgot-password.tsx:81
@@ -1401,6 +1761,10 @@ msgstr ""
msgid "Email Address"
msgstr ""
+#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80
+msgid "Email cannot already exist in the template"
+msgstr "L'e-mail ne peut déjà exister dans le modèle"
+
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36
msgid "Email Confirmed!"
msgstr ""
@@ -1426,6 +1790,10 @@ msgstr ""
msgid "Enable Authenticator App"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
+msgid "Enable custom branding for all documents in this team."
+msgstr "Activer la personnalisation de la marque pour tous les documents de cette équipe."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
msgid "Enable direct link signing"
msgstr ""
@@ -1443,10 +1811,18 @@ msgstr ""
msgid "Enabled"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:87
+msgid "Enclosed Document"
+msgstr "Document joint"
+
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:38
msgid "Ends On"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
+msgid "Enter your brand details"
+msgstr "Entrez les détails de votre marque"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
msgid "Enter your email"
msgstr ""
@@ -1465,19 +1841,19 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
@@ -1487,6 +1863,8 @@ msgstr ""
#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83
#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149
@@ -1502,7 +1880,21 @@ msgstr ""
msgid "Error"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:143
+||||||| 7fc497a64
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+=======
+#: apps/web/src/components/forms/team-document-settings.tsx:77
+#~ msgid "Error updating global team settings"
+#~ msgstr "Error updating global team settings"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
+msgid "Everyone can access and view the document"
+msgstr "Tout le monde peut accéder et voir le document"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+>>>>>>> main
msgid "Everyone has signed"
msgstr ""
@@ -1514,18 +1906,27 @@ msgstr ""
msgid "Exceeded timeout"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
msgid "Expired"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104
msgid "Expires on {0}"
msgstr ""
+<<<<<<< HEAD
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107
msgid "Expires on{0}"
msgstr ""
+||||||| 7fc497a64
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107
+msgid "Expires on{0}"
+msgstr "Expire le{0}"
+
+=======
+>>>>>>> main
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42
msgid "Failed to reseal document"
msgstr ""
@@ -1547,28 +1948,42 @@ msgstr ""
msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154
+msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}0>"
+msgstr "Pour toute question concernant cette divulgation, les signatures électroniques ou tout processus y afférent, veuillez nous contacter à : <0>{SUPPORT_EMAIL}0>"
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21
#: apps/web/src/components/forms/signin.tsx:370
msgid "Forgot your password?"
msgstr ""
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
#: apps/web/src/components/forms/profile.tsx:110
#: apps/web/src/components/forms/v2/signup.tsx:312
msgid "Full Name"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
msgid "General"
msgstr ""
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#~ msgid "Global Settings"
+#~ msgstr "Global Settings"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:69
+#~ msgid "Global Team Settings Updated"
+#~ msgstr "Global Team Settings Updated"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
@@ -1605,6 +2020,14 @@ msgstr ""
msgid "Here you can manage your password and security settings."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
+msgid "Here you can set preferences and defaults for branding."
+msgstr "Ici, vous pouvez définir des préférences et des valeurs par défaut pour le branding."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
+msgid "Here you can set preferences and defaults for your team."
+msgstr "Ici, vous pouvez définir des préférences et des valeurs par défaut pour votre équipe."
+
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
msgid "Here's how it works:"
msgstr ""
@@ -1613,7 +2036,7 @@ msgstr ""
msgid "Hey I’m Timur"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
msgid "Hide"
@@ -1623,6 +2046,10 @@ msgstr ""
msgid "Hide additional information"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:43
+msgid "I am the owner of this document"
+msgstr "Je suis le propriétaire de ce document"
+
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186
#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173
msgid "I'm sure! Delete it"
@@ -1652,10 +2079,19 @@ msgstr ""
msgid "Inbox documents"
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:132
+#~ msgid "Include Sender Details"
+#~ msgstr "Include Sender Details"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
msgid "Information"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132
+msgid "Initials"
+msgstr "Initiales"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78
msgid "Inserted"
msgstr ""
@@ -1722,6 +2158,15 @@ msgstr ""
msgid "Invoice"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
+msgid "IP Address"
+msgstr "Adresse IP"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118
+msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications."
+msgstr "Il est crucial de maintenir vos coordonnées, en particulier votre adresse e-mail, à jour avec nous. Veuillez nous informer immédiatement de tout changement pour vous assurer que vous continuez à recevoir toutes les communications nécessaires."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:134
msgid "It looks like {0} hasn't added any documents to their profile yet."
msgstr ""
@@ -1759,6 +2204,7 @@ msgid "Last 7 days"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38
msgid "Last modified"
msgstr ""
@@ -1766,6 +2212,10 @@ msgstr ""
msgid "Last updated"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:121
+msgid "Last Updated"
+msgstr "Dernière mise à jour"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:52
msgid "Last updated at"
msgstr ""
@@ -1783,6 +2233,10 @@ msgstr ""
msgid "Leave team"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45
+msgid "Legality of Electronic Signatures"
+msgstr "Légalité des signatures électroniques"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:264
msgid "Light Mode"
msgstr ""
@@ -1795,6 +2249,10 @@ msgstr ""
msgid "Link template"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
+msgid "Links Generated"
+msgstr "Liens générés"
+
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
msgid "Listening to {0}"
@@ -1841,11 +2299,15 @@ msgstr ""
msgid "Manage all teams you are currently associated with."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
+msgid "Manage and view template"
+msgstr "Gérer et afficher le modèle"
+
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
msgid "Manage details for this public template"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
msgid "Manage Direct Link"
msgstr ""
@@ -1915,12 +2377,13 @@ msgid "Member Since"
msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
msgid "Members"
msgstr ""
-#: 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:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
msgid "Modify recipients"
msgstr ""
@@ -1936,6 +2399,7 @@ msgstr ""
msgid "Monthly Active Users: Users that had at least one of their documents completed"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Move"
msgstr ""
@@ -1948,11 +2412,12 @@ msgstr ""
msgid "Move Template to Team"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172
-#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
msgid "Move to Team"
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
msgid "Moving..."
msgstr ""
@@ -1966,8 +2431,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
@@ -1997,8 +2462,8 @@ msgstr ""
msgid "New Template"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
#: apps/web/src/components/forms/v2/signup.tsx:521
msgid "Next"
msgstr ""
@@ -2011,6 +2476,10 @@ msgstr ""
msgid "No active drafts"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
+msgid "No further action is required from you at this time."
+msgstr ""
+
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
msgid "No payment required"
msgstr ""
@@ -2023,7 +2492,13 @@ msgstr ""
msgid "No recent activity"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103
+msgid "No recent documents"
+msgstr "Aucun document récent"
+
+#: 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"
msgstr ""
@@ -2095,6 +2570,14 @@ msgstr ""
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
+msgid "Only admins can access and view the document"
+msgstr "Seules les administrateurs peuvent accéder et voir le document"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
+msgid "Only managers and above can access and view the document"
+msgstr "Seuls les responsables et au-dessus peuvent accéder et voir le document"
+
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
@@ -2103,7 +2586,7 @@ msgstr ""
msgid "Oops! Something went wrong."
msgstr ""
-#: 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 ""
@@ -2118,12 +2601,15 @@ msgstr ""
msgid "Or continue with"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
msgid "Otherwise, the document will be created as a draft."
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:103
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81
+#: 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 ""
@@ -2155,6 +2641,10 @@ msgstr ""
msgid "Passkey name"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:121
+msgid "Passkey Re-Authentication"
+msgstr "Ré-authentification par clé d'accès"
+
#: apps/web/src/app/(dashboard)/settings/security/page.tsx:106
#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:32
msgid "Passkeys"
@@ -2195,9 +2685,11 @@ msgstr ""
msgid "Payment overdue"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115
+#: 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 ""
@@ -2286,6 +2778,10 @@ msgstr ""
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
+msgid "Please provide a reason"
+msgstr ""
+
#: 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 ""
@@ -2294,6 +2790,10 @@ msgstr ""
msgid "Please provide a token from your authenticator, or a backup code."
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169
+msgid "Please review the document before signing."
+msgstr "Veuillez examiner le document avant de signer."
+
#: apps/web/src/components/forms/send-confirmation-email.tsx:64
msgid "Please try again and make sure you enter the correct email address."
msgstr ""
@@ -2311,13 +2811,23 @@ msgid "Please type <0>{0}0> to confirm."
msgstr ""
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
msgid "Preferences"
msgstr ""
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:61
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
+msgid "Preview"
+msgstr "Aperçu"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
msgid "Preview and configure template."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
+#~ msgid "Preview: {0}"
+#~ msgstr "Preview: {0}"
+
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
#: apps/web/src/components/formatter/template-type.tsx:22
msgid "Private"
@@ -2355,8 +2865,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
msgid "Public Profile"
msgstr ""
@@ -2376,10 +2886,26 @@ msgstr ""
msgid "Read only field"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90
+#: apps/web/src/components/general/signing-disclosure.tsx:21
+msgid "Read the full <0>signature disclosure0>."
+msgstr "Lisez l'intégralité de la <0>divulgation de signature0>."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
msgid "Ready"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
+msgid "Reason"
+msgstr "Raison"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
+msgid "Reason for rejection:"
+msgstr ""
+
+#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
+msgid "Reason must be less than 500 characters"
+msgstr ""
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
msgid "Reauthentication is required to sign this field"
msgstr ""
@@ -2389,7 +2915,12 @@ msgstr ""
msgid "Recent activity"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47
+msgid "Recent documents"
+msgstr "Documents récents"
+
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:69
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280
msgid "Recipient"
msgstr ""
@@ -2399,7 +2930,9 @@ msgid "Recipient updated"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:34
+#: 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"
msgstr ""
@@ -2425,6 +2958,17 @@ msgstr ""
msgid "Registration Successful"
msgstr ""
+#: 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 ""
+
+#: 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 ""
+
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
msgid "Remembered your password? <0>Sign In0>"
msgstr ""
@@ -2433,6 +2977,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
@@ -2476,7 +3021,7 @@ msgstr ""
msgid "Resend verification"
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:164
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
#: apps/web/src/components/forms/public-profile-form.tsx:267
msgid "Reset"
msgstr ""
@@ -2503,6 +3048,10 @@ msgstr ""
msgid "Resolve payment"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126
+msgid "Retention of Documents"
+msgstr "Conservation des documents"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168
msgid "Retry"
msgstr ""
@@ -2552,6 +3101,8 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr ""
@@ -2570,6 +3121,10 @@ msgstr ""
msgid "Search by name or email"
msgstr ""
+#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42
+msgid "Search documents..."
+msgstr "Rechercher des documents..."
+
#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217
msgid "Secret"
@@ -2618,10 +3173,15 @@ msgstr ""
msgid "Send confirmation email"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
msgid "Send document"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
+msgid "Send on Behalf of Team"
+msgstr "Envoyer au nom de l'équipe"
+
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
msgid "Send reminder"
msgstr ""
@@ -2638,7 +3198,8 @@ msgstr ""
msgid "Sending..."
msgstr ""
-#: 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:101
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr ""
@@ -2657,13 +3218,13 @@ msgstr ""
msgid "Setup"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:145
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:191
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:148
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:193
msgid "Share"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:161
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:179
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:219
msgid "Share Signing Card"
msgstr ""
@@ -2685,7 +3246,7 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:83
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:137
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
@@ -2704,11 +3265,15 @@ msgstr ""
msgid "Sign as<0>{0} <1>({1})1>0>"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
msgid "Sign document"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128
+msgid "Sign Document"
+msgstr "Signer le document"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59
msgid "Sign field"
msgstr ""
@@ -2733,8 +3298,8 @@ msgstr ""
msgid "Sign Out"
msgstr ""
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
msgid "Sign the document to complete the process."
msgstr ""
@@ -2757,15 +3322,21 @@ msgid "Sign Up with OIDC"
msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177
#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225
-#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391
-#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271
#: apps/web/src/components/forms/profile.tsx:132
msgid "Signature"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
+msgid "Signature ID"
+msgstr "ID de signature"
+
#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:123
msgid "Signatures Collected"
msgstr ""
@@ -2774,15 +3345,38 @@ msgstr ""
msgid "Signatures will appear once the document has been completed"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:98
+#: 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"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:176
+msgid "Signer Events"
+msgstr "Événements de signataire"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:168
+msgid "Signing Certificate"
+msgstr "Certificat de signature"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
+msgid "Signing certificate provided by"
+msgstr "Certificat de signature fourni par"
+
#: apps/web/src/components/forms/signin.tsx:383
#: apps/web/src/components/forms/signin.tsx:510
msgid "Signing in..."
msgstr ""
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+msgid "Signing Links"
+msgstr "Liens de signature"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
+msgid "Signing links have been generated for this document."
+msgstr "Des liens de signature ont été générés pour ce document."
+
#: apps/web/src/components/forms/signup.tsx:235
msgid "Signing up..."
msgstr ""
@@ -2802,11 +3396,11 @@ msgstr ""
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:88
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:104
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
@@ -2822,10 +3416,11 @@ msgstr ""
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:104
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:127
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:151
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:117
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:118
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
@@ -2862,6 +3457,10 @@ msgstr ""
msgid "Something went wrong while updating the team billing subscription, please contact support."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
+msgid "Something went wrong!"
+msgstr "Quelque chose a mal tourné !"
+
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
msgid "Something went wrong. Please try again or contact support."
@@ -2871,10 +3470,14 @@ msgstr ""
msgid "Sorry, we were unable to download the audit logs. Please try again later."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
msgid "Sorry, we were unable to download the certificate. Please try again later."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138
+msgid "Source"
+msgstr "Source"
+
#: apps/web/src/app/(dashboard)/admin/nav.tsx:37
msgid "Stats"
msgstr ""
@@ -2882,11 +3485,13 @@ msgstr ""
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81
#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:79
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:93
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73
msgid "Status"
msgstr ""
-#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:128
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:129
msgid "Subscribe"
msgstr ""
@@ -2920,7 +3525,7 @@ msgstr ""
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
@@ -2934,6 +3539,10 @@ msgstr ""
msgid "Successfully created passkey"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57
+msgid "System Requirements"
+msgstr "Exigences du système"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:266
msgid "System Theme"
msgstr ""
@@ -2947,8 +3556,8 @@ msgstr ""
msgid "Team checkout"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
msgid "Team email"
msgstr ""
@@ -2991,7 +3600,7 @@ msgid "Team Member"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:113
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr ""
@@ -3015,6 +3624,10 @@ msgstr ""
msgid "Team ownership transferred!"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
+msgid "Team Preferences"
+msgstr "Préférences de l'équipe"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
msgid "Team Public Profile"
msgstr ""
@@ -3040,7 +3653,7 @@ msgid "Team transfer request expired"
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:129
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr ""
@@ -3056,6 +3669,11 @@ msgstr ""
msgid "Teams restricted"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
msgid "Template"
@@ -3085,11 +3703,11 @@ msgstr ""
msgid "Template moved"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
msgid "Template saved"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
#: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:208
#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22
@@ -3110,6 +3728,10 @@ msgstr ""
msgid "Text Color"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24
+msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below."
+msgstr "Merci d'utiliser Documenso pour signer vos documents électroniquement. L'objectif de cette divulgation est de vous informer sur le processus, la légalité et vos droits concernant l'utilisation des signatures électroniques sur notre plateforme. En choisissant d'utiliser une signature électronique, vous acceptez les termes et conditions énoncés ci-dessous."
+
#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52
msgid "The account has been deleted successfully."
msgstr ""
@@ -3132,7 +3754,11 @@ msgstr ""
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167
+#: 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 ""
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
msgid "The document was created but could not be sent to recipients."
msgstr ""
@@ -3140,7 +3766,7 @@ msgstr ""
msgid "The document will be hidden from your account"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
msgid "The document will be immediately sent to recipients if this is checked."
msgstr ""
@@ -3150,6 +3776,10 @@ msgstr ""
msgid "The events that will trigger a webhook to be sent to your URL."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
+#~ msgid "The global settings for the documents in your team account."
+#~ msgstr "The global settings for the documents in your team account."
+
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
msgid "The ownership of team <0>{0}0> has been successfully transferred to you."
msgstr ""
@@ -3182,7 +3812,9 @@ msgstr ""
msgid "The selected team member will receive an email which they must accept before the team is transferred"
msgstr ""
+#: 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."
msgstr ""
@@ -3283,14 +3915,22 @@ msgstr ""
msgid "This document has been cancelled by the owner."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:219
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
msgid "This document has been signed by all recipients"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:222
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
msgid "This document is currently a draft and has not been sent"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152
+msgid "This document was created by you or a team member using the template above."
+msgstr "Ce document a été créé par vous ou un membre de l'équipe en utilisant le modèle ci-dessus."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164
+msgid "This document was created using a direct link."
+msgstr "Ce document a été créé en utilisant un lien direct."
+
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93
msgid "This email is already being used by another team."
msgstr ""
@@ -3319,7 +3959,7 @@ msgstr ""
msgid "This session has expired. Please try again."
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
msgstr ""
@@ -3336,7 +3976,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new
msgstr ""
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:87
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
msgid "This URL is already in use."
msgstr ""
@@ -3348,7 +3988,8 @@ msgstr ""
msgid "This username is already taken"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:73
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:44
msgid "Time"
msgstr ""
@@ -3356,8 +3997,13 @@ msgstr ""
msgid "Time zone"
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:131
+msgid "Time Zone"
+msgstr "Fuseau horaire"
+
#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67
#: apps/web/src/app/(dashboard)/documents/data-table.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61
msgid "Title"
msgstr ""
@@ -3394,6 +4040,10 @@ msgstr ""
msgid "To mark this document as viewed, you need to be logged in as <0>{0}0>"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60
+msgid "To use our electronic signature service, you must have access to:"
+msgstr "Pour utiliser notre service de signature électronique, vous devez avoir accès à :"
+
#: apps/web/src/app/embed/authenticate.tsx:21
msgid "To view this document you need to be signed into your account, please sign in to continue."
msgstr ""
@@ -3423,7 +4073,7 @@ msgid "Token deleted"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108
msgid "Token doesn't have an expiration date"
msgstr ""
@@ -3451,17 +4101,21 @@ msgstr ""
msgid "Total Users"
msgstr ""
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76
+msgid "transfer {teamName}"
+msgstr "transférer {teamName}"
+
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160
msgid "Transfer ownership of this team to a selected team member."
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
msgid "Transfer team"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
msgid "Transfer the ownership of the team to another team member."
msgstr ""
@@ -3495,6 +4149,10 @@ msgstr ""
msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:120
+msgid "Two-Factor Re-Authentication"
+msgstr "Ré-authentification à deux facteurs"
+
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67
msgid "Type"
@@ -3553,6 +4211,10 @@ msgstr ""
msgid "Unable to load document history"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62
+msgid "Unable to load documents"
+msgstr "Impossible de charger les documents"
+
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111
msgid "Unable to load your public profile templates at this time"
msgstr ""
@@ -3592,10 +4254,17 @@ msgstr ""
msgid "Unauthorized"
msgstr ""
-#: 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 ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276
+msgid "Unknown"
+msgstr "Inconnu"
+
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23
msgid "Unknown error"
msgstr ""
@@ -3637,7 +4306,7 @@ msgstr ""
msgid "Update role"
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:176
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
msgstr ""
@@ -3668,11 +4337,20 @@ msgstr ""
msgid "Updating profile..."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115
+msgid "Updating Your Information"
+msgstr "Mise à jour de vos informations"
+
#: apps/web/src/components/forms/avatar-image.tsx:182
msgid "Upload Avatar"
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
+msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
+msgstr "Téléchargez votre logo de marque (max 5 Mo, JPG, PNG ou WebP)"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
msgid "Uploaded by"
msgstr ""
@@ -3688,6 +4366,10 @@ msgstr ""
msgid "Uploaded file not an allowed file type"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
+msgid "Use"
+msgstr "Utiliser"
+
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187
#: apps/web/src/components/forms/signin.tsx:505
msgid "Use Authenticator"
@@ -3698,11 +4380,12 @@ msgstr ""
msgid "Use Backup Code"
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
msgid "Use Template"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:82
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:78
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:45
msgid "User"
msgstr ""
@@ -3750,10 +4433,14 @@ msgstr ""
msgid "Verify your email to upload documents."
msgstr ""
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:75
+msgid "Version History"
+msgstr "Historique des versions"
+
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
-#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:130
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
msgid "View"
@@ -3771,6 +4458,10 @@ msgstr ""
msgid "View all recent security activity related to your account."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157
+msgid "View all related documents"
+msgstr "Voir tous les documents associés"
+
#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26
msgid "View all security activity related to your account."
msgstr ""
@@ -3779,7 +4470,11 @@ msgstr ""
msgid "View Codes"
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127
+msgid "View Document"
+msgstr "Voir le document"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
msgid "View documents associated with this email"
msgstr ""
@@ -3787,6 +4482,10 @@ msgstr ""
msgid "View invites"
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95
+msgid "View more"
+msgstr "Voir plus"
+
#: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34
msgid "View Original Document"
msgstr ""
@@ -3800,11 +4499,12 @@ msgstr ""
msgid "View teams"
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:104
+#: 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 ""
-#: 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 ""
@@ -3960,7 +4660,7 @@ msgstr ""
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:96
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
msgstr ""
@@ -4002,12 +4702,20 @@ msgstr ""
msgid "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again."
msgstr ""
-#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:119
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
msgid "We were unable to submit this document at this time. Please try again later."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
+msgid "We were unable to update your branding preferences at this time, please try again later"
+msgstr "Nous n'avons pas pu mettre à jour vos préférences de branding pour le moment, veuillez réessayer plus tard"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
+msgid "We were unable to update your document preferences at this time, please try again later"
+msgstr "Nous n'avons pas pu mettre à jour vos préférences de document pour le moment, veuillez réessayer plus tard"
+
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
msgid "We were unable to verify your details. Please try again or contact support"
msgstr ""
@@ -4016,6 +4724,14 @@ msgstr ""
msgid "We were unable to verify your email. If your email is not verified already, please try again."
msgstr ""
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
+msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
+msgstr "Nous allons générer des liens de signature pour vous, que vous pouvez envoyer aux destinataires par votre méthode de choix."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
+msgid "We won't send anything to notify recipients."
+msgstr "Nous n'enverrons rien pour notifier les destinataires."
+
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
msgid "We're all empty"
@@ -4047,8 +4763,8 @@ msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
-#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
-#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
msgid "Webhooks"
msgstr ""
@@ -4056,6 +4772,10 @@ msgstr ""
msgid "Weekly"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21
+msgid "Welcome"
+msgstr "Bienvenue"
+
#: apps/web/src/app/(unauthenticated)/signin/page.tsx:33
msgid "Welcome back, we are lucky to have you."
msgstr ""
@@ -4068,6 +4788,10 @@ msgstr ""
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
+msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
+msgstr "Lorsque vous utilisez notre plateforme pour apposer votre signature électronique sur des documents, vous consentez à le faire conformément à la loi sur les signatures électroniques dans le commerce mondial et national (E-Sign Act) et aux autres lois applicables. Cette action indique votre accord à utiliser des moyens électroniques pour signer des documents et recevoir des notifications."
+
#: apps/web/src/app/(profile)/p/[url]/page.tsx:139
msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away."
msgstr ""
@@ -4076,6 +4800,10 @@ msgstr ""
msgid "Who do you want to remind?"
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101
+msgid "Withdrawing Consent"
+msgstr "Retrait du consentement"
+
#: apps/web/src/components/forms/public-profile-form.tsx:223
msgid "Write about the team"
msgstr ""
@@ -4089,6 +4817,7 @@ msgid "Yearly"
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31
msgid "You"
msgstr ""
@@ -4156,11 +4885,15 @@ msgstr ""
msgid "You can claim your profile later on by going to your profile settings!"
msgstr ""
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
+msgid "You can copy and share these links to recipients so they can action the document."
+msgstr "Vous pouvez copier et partager ces liens avec les destinataires afin qu'ils puissent agir sur le document."
+
#: apps/web/src/components/forms/public-profile-form.tsx:154
msgid "You can update the profile URL by updating the team URL in the general settings page."
msgstr ""
-#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
msgid "You can view documents associated with this email and use this identity when sending documents."
msgstr ""
@@ -4222,10 +4955,14 @@ msgstr ""
msgid "You have reached your document limit."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
msgid "You have reached your document limit. <0>Upgrade your account to continue!0>"
msgstr ""
+#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
+msgid "You have rejected this document"
+msgstr ""
+
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
msgid "You have successfully left this team."
msgstr ""
@@ -4244,6 +4981,10 @@ msgstr ""
msgid "You have successfully revoked access."
msgstr ""
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104
+msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL}0> for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service."
+msgstr "Vous avez le droit de retirer votre consentement à l'utilisation des signatures électroniques à tout moment avant de terminer le processus de signature. Pour retirer votre consentement, veuillez contacter l'expéditeur du document. Si vous ne contactez pas l'expéditeur, vous pouvez contacter <0>{SUPPORT_EMAIL}0> pour obtenir de l'aide. Sachez que le retrait de consentement peut retarder ou arrêter l'achèvement de la transaction ou du service associé."
+
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93
msgid "You have updated {teamMemberName}."
msgstr ""
@@ -4306,6 +5047,14 @@ msgstr ""
msgid "Your banner has been updated successfully."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
+msgid "Your brand website URL"
+msgstr "L'URL de votre site web de marque"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
+msgid "Your branding preferences have been updated"
+msgstr "Vos préférences de branding ont été mises à jour"
+
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
msgid "Your current plan is past due. Please update your payment information."
msgstr ""
@@ -4318,7 +5067,7 @@ msgstr ""
msgid "Your document failed to upload."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
msgid "Your document has been created from the template successfully."
msgstr ""
@@ -4326,7 +5075,7 @@ msgstr ""
msgid "Your document has been re-sent successfully."
msgstr ""
-#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
msgid "Your document has been sent successfully."
msgstr ""
@@ -4342,6 +5091,10 @@ msgstr ""
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
msgstr ""
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
+msgid "Your document preferences have been updated"
+msgstr "Vos préférences de document ont été mises à jour"
+
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
msgid "Your documents"
msgstr ""
@@ -4359,6 +5112,10 @@ msgstr ""
msgid "Your existing tokens"
msgstr ""
+#: apps/web/src/components/forms/team-document-settings.tsx:70
+#~ msgid "Your global team document settings has been updated successfully."
+#~ msgstr "Your global team document settings has been updated successfully."
+
#: apps/web/src/components/forms/password.tsx:72
#: apps/web/src/components/forms/reset-password.tsx:73
msgid "Your password has been updated successfully."
@@ -4401,7 +5158,7 @@ msgstr ""
msgid "Your team has been successfully deleted."
msgstr ""
-#: apps/web/src/components/(teams)/forms/update-team-form.tsx:69
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
msgid "Your team has been successfully updated."
msgstr ""
@@ -4417,7 +5174,7 @@ msgstr ""
msgid "Your template will be duplicated."
msgstr ""
-#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
msgid "Your templates has been saved successfully."
msgstr ""
diff --git a/packages/lib/translations/pl/common.po b/packages/lib/translations/pl/common.po
new file mode 100644
index 000000000..a16dc9eb5
--- /dev/null
+++ b/packages/lib/translations/pl/common.po
@@ -0,0 +1,1738 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2024-07-24 13:01+1000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: pl\n"
+"Project-Id-Version: documenso-app\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2024-11-12 08:43\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"
+"X-Crowdin-Project: documenso-app\n"
+"X-Crowdin-Project-ID: 694691\n"
+"X-Crowdin-Language: pl\n"
+"X-Crowdin-File: common.po\n"
+"X-Crowdin-File-ID: 4\n"
+
+#: packages/email/template-components/template-document-super-delete.tsx:27
+msgid "\"{documentName}\" has been deleted by an admin."
+msgstr "\"{documentName}\" został usunięty przez administratora."
+
+#: packages/email/template-components/template-document-pending.tsx:37
+msgid "“{documentName}” has been signed"
+msgstr "„{documentName}” został podpisany"
+
+#: packages/email/template-components/template-document-completed.tsx:41
+msgid "“{documentName}” was signed by all signers"
+msgstr "„{documentName}” został podpisany przez wszystkich sygnatariuszy"
+
+#: packages/lib/server-only/document/resend-document.tsx:109
+#~ msgid "{0}"
+#~ msgstr "{0}"
+
+#: packages/email/template-components/template-document-invite.tsx:80
+#~ msgid "{0} Document"
+#~ msgstr "{0} Document"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
+msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
+msgstr "{0} zaprosił cię do {recipientActionVerb} dokument „{1}”."
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
+msgid "{0} invited you to {recipientActionVerb} a document"
+msgstr "{0} zaprosił Cię do {recipientActionVerb} dokument"
+
+#: packages/email/templates/team-join.tsx:61
+msgid "{0} joined the team {teamName} on Documenso"
+msgstr "{0} dołączył do zespołu {teamName} na Documenso"
+
+#: packages/email/templates/team-leave.tsx:61
+msgid "{0} left the team {teamName} on Documenso"
+msgstr "{0} opuścił zespół {teamName} na Documenso"
+
+#: packages/ui/primitives/data-table-pagination.tsx:30
+msgid "{0} of {1} row(s) selected."
+msgstr "{0} z {1} wybranych wierszy."
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
+#: packages/lib/server-only/document/resend-document.tsx:137
+msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
+msgstr "{0} w imieniu {1} zaprosił Cię do {recipientActionVerb} dokument „{2}”."
+
+#: packages/email/template-components/template-document-invite.tsx:51
+#~ msgid "{0}<0/>\"{documentName}\""
+#~ msgstr "{0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:94
+msgid "{inviterName} <0>({inviterEmail})0>"
+msgstr "{inviterName} <0>({inviterEmail})0>"
+
+#: packages/email/templates/document-cancel.tsx:21
+msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
+msgstr "{inviterName} anulował dokument {documentName}, nie musisz go już podpisywać."
+
+#: packages/email/template-components/template-document-cancel.tsx:24
+msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
+msgstr "{inviterName} anulował dokument<0/>\"{documentName}\""
+
+#: packages/email/template-components/template-document-invite.tsx:65
+msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
+msgstr "{inviterName} zaprosił Cię do {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:41
+msgid "{inviterName} has invited you to {action} {documentName}"
+msgstr "{inviterName} zaprosił Cię do {action} {documentName}"
+
+#: packages/email/templates/document-invite.tsx:106
+msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
+msgstr "{inviterName} zaprosił cię do {action} dokument „{documentName}”."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:20
+msgid "{inviterName} has removed you from the document {documentName}."
+msgstr "{inviterName} usunął Cię z dokumentu {documentName}."
+
+#: packages/email/templates/recipient-removed-from-document.tsx:49
+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
+msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
+msgstr "{inviterName} w imieniu {teamName} zaprosił cię do {0}"
+
+#: packages/email/template-components/template-document-invite.tsx:49
+#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:45
+msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
+msgstr "{inviterName} w imieniu {teamName} zaprosił Cię do {action} {documentName}"
+
+#: packages/email/templates/team-join.tsx:67
+msgid "{memberEmail} joined the following team"
+msgstr "{memberEmail} dołączył do następującego zespołu"
+
+#: packages/email/templates/team-leave.tsx:67
+msgid "{memberEmail} left the following team"
+msgstr "{memberEmail} opuścił następujący zespół"
+
+#: packages/lib/utils/document-audit-logs.ts:263
+msgid "{prefix} added a field"
+msgstr "{prefix} dodał pole"
+
+#: packages/lib/utils/document-audit-logs.ts:275
+msgid "{prefix} added a recipient"
+msgstr "{prefix} dodał odbiorcę"
+
+#: packages/lib/utils/document-audit-logs.ts:287
+msgid "{prefix} created the document"
+msgstr "{prefix} utworzył dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:291
+msgid "{prefix} deleted the document"
+msgstr "{prefix} usunął dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:335
+msgid "{prefix} moved the document to team"
+msgstr "{prefix} przeniósł dokument do zespołu"
+
+#: packages/lib/utils/document-audit-logs.ts:319
+msgid "{prefix} opened the document"
+msgstr "{prefix} otworzył dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:267
+msgid "{prefix} removed a field"
+msgstr "{prefix} usunął pole"
+
+#: packages/lib/utils/document-audit-logs.ts:279
+msgid "{prefix} removed a recipient"
+msgstr "{prefix} usunął odbiorcę"
+
+#: packages/lib/utils/document-audit-logs.ts:355
+msgid "{prefix} resent an email to {0}"
+msgstr "{prefix} ponownie wysłał e-mail do {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:356
+msgid "{prefix} sent an email to {0}"
+msgstr "{prefix} wysłał e-mail do {0}"
+
+#: packages/lib/utils/document-audit-logs.ts:331
+msgid "{prefix} sent the document"
+msgstr "{prefix} wysłał dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:295
+msgid "{prefix} signed a field"
+msgstr "{prefix} podpisał pole"
+
+#: packages/lib/utils/document-audit-logs.ts:299
+msgid "{prefix} unsigned a field"
+msgstr "{prefix} niepodpisane pole"
+
+#: packages/lib/utils/document-audit-logs.ts:271
+msgid "{prefix} updated a field"
+msgstr "{prefix} zaktualizowane pole"
+
+#: packages/lib/utils/document-audit-logs.ts:283
+msgid "{prefix} updated a recipient"
+msgstr "{prefix} zaktualizowany odbiorca"
+
+#: packages/lib/utils/document-audit-logs.ts:315
+msgid "{prefix} updated the document"
+msgstr "{prefix} zaktualizowany dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:307
+msgid "{prefix} updated the document access auth requirements"
+msgstr "{prefix} zaktualizowane wymagania dotyczące autoryzacji dostępu do dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:327
+msgid "{prefix} updated the document external ID"
+msgstr "{prefix} zaktualizowane ID zewnętrzne dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:311
+msgid "{prefix} updated the document signing auth requirements"
+msgstr "{prefix} zaktualizowane wymagania dotyczące autoryzacji podpisu dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:323
+msgid "{prefix} updated the document title"
+msgstr "{prefix} zaktualizowany tytuł dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:303
+msgid "{prefix} updated the document visibility"
+msgstr "{prefix} zaktualizowana widoczność dokumentu"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:61
+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
+msgid "{teamName} has invited you to {0}"
+msgstr "{teamName} zaprosił cię do {0}"
+
+#: packages/email/templates/document-invite.tsx:46
+msgid "{teamName} has invited you to {action} {documentName}"
+msgstr "{teamName} zaprosił cię do {action} {documentName}"
+
+#: packages/email/templates/team-transfer-request.tsx:55
+msgid "{teamName} ownership transfer request"
+msgstr "Prośba o przeniesienie własności zespołu {teamName}"
+
+#: packages/lib/utils/document-audit-logs.ts:343
+msgid "{userName} approved the document"
+msgstr "{userName} zatwierdził dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:344
+msgid "{userName} CC'd the document"
+msgstr "{userName} dodał CC do dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:345
+msgid "{userName} completed their task"
+msgstr "{userName} zakończył swoje zadanie"
+
+#: packages/lib/utils/document-audit-logs.ts:341
+msgid "{userName} signed the document"
+msgstr "{userName} podpisał dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:342
+msgid "{userName} viewed the document"
+msgstr "{userName} wyświetlił dokument"
+
+#: packages/ui/primitives/data-table-pagination.tsx:41
+msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
+msgstr "{visibleRows, plural, one {Wyświetlanie # wyniku.} other {Wyświetlanie # wyników.}}"
+
+#: packages/email/templates/document-invite.tsx:100
+#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
+
+#: packages/email/templates/team-transfer-request.tsx:59
+msgid "<0>{senderName}0> has requested that you take ownership of the following team"
+msgstr "<0>{senderName}0> poprosił, abyś przejął własność następującego zespołu"
+
+#: packages/email/templates/confirm-team-email.tsx:75
+msgid "<0>{teamName}0> has requested to use your email address for their team on Documenso."
+msgstr "<0>{teamName}0> poprosił o używanie twojego adresu e-mail dla swojego zespołu w Documenso."
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
+msgid "<0>Email0> - The recipient will be emailed the document to sign, approve, etc."
+msgstr "<0>E-mail0> - Odbiorca otrzyma e-mail z dokumentem do podpisania, zatwierdzenia itp."
+
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
+msgid "<0>Inherit authentication method0> - Use the global action signing authentication method configured in the \"General Settings\" step"
+msgstr "<0>Przechwyć metodę uwierzytelniania0> - Użyj globalnej metody uwierzytelniania podpisywania akcji skonfigurowanej w kroku \"Ustawienia ogólne\""
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
+msgid "<0>Links0> - We will generate links which you can send to the recipients manually."
+msgstr "<0>Linki0> - Wygenerujemy linki, które możesz wysłać do odbiorców ręcznie."
+
+#: packages/ui/components/document/document-global-auth-action-select.tsx:95
+msgid "<0>No restrictions0> - No authentication required"
+msgstr "<0>Brak ograniczeń0> - Uwierzytelnianie nie jest wymagane"
+
+#: packages/ui/components/document/document-global-auth-access-select.tsx:77
+msgid "<0>No restrictions0> - The document can be accessed directly by the URL sent to the recipient"
+msgstr "<0>Brak ograniczeń0> - Dokument można bezpośrednio otworzyć za pomocą URL przesłanego do odbiorcy"
+
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:75
+msgid "<0>None0> - No authentication required"
+msgstr "<0>Brak0> - Uwierzytelnianie nie jest wymagane"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
+msgid "<0>Note0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
+msgstr "<0>Uwaga0> - Jeśli używasz linków w połączeniu z bezpośrednimi szablonami, musisz ręcznie wysłać linki do pozostałych odbiorców."
+
+#: packages/ui/components/document/document-global-auth-action-select.tsx:89
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
+msgid "<0>Require 2FA0> - The recipient must have an account and 2FA enabled via their settings"
+msgstr "<0>Wymagana 2FA0> - Odbiorca musi mieć konto i włączoną 2FA w swoich ustawieniach"
+
+#: packages/ui/components/document/document-global-auth-access-select.tsx:72
+msgid "<0>Require account0> - The recipient must be signed in to view the document"
+msgstr "<0>Wymagana konto0> - Odbiorca musi być zalogowany, aby wyświetlić dokument"
+
+#: packages/ui/components/document/document-global-auth-action-select.tsx:83
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:63
+msgid "<0>Require passkey0> - The recipient must have an account and passkey configured via their settings"
+msgstr "<0>Wymagana passkey0> - Odbiorca musi mieć konto i skonfigurowaną passkey w swoich ustawieniach"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
+msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
+msgstr "Dokument został utworzony przez Twój bezpośredni szablon, który wymaga, abyś go {recipientActionVerb}."
+
+#: packages/lib/utils/document-audit-logs.ts:262
+msgid "A field was added"
+msgstr "Dodano pole"
+
+#: packages/lib/utils/document-audit-logs.ts:266
+msgid "A field was removed"
+msgstr "Usunięto pole"
+
+#: packages/lib/utils/document-audit-logs.ts:270
+msgid "A field was updated"
+msgstr "Zaktualizowano pole"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
+msgid "A new member has joined your team"
+msgstr "Nowy członek dołączył do Twojego zespołu"
+
+#: packages/lib/utils/document-audit-logs.ts:274
+msgid "A recipient was added"
+msgstr "Dodano odbiorcę"
+
+#: packages/lib/utils/document-audit-logs.ts:278
+msgid "A recipient was removed"
+msgstr "Usunięto odbiorcę"
+
+#: packages/lib/utils/document-audit-logs.ts:282
+msgid "A recipient was updated"
+msgstr "Zaktualizowano odbiorcę"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:156
+msgid "A request to use your email has been initiated by {0} on Documenso"
+msgstr "Zgłoszenie potrzeby użycia twojego e-maila zostało inicjowane przez {0} na Documenso"
+
+#: packages/lib/server-only/team/create-team-email-verification.ts:142
+#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
+#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
+
+#: packages/email/templates/team-join.tsx:31
+msgid "A team member has joined a team on Documenso"
+msgstr "Członek zespołu dołączył do zespołu na Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
+msgid "A team member has left {0}"
+msgstr "Członek zespołu opuścił {0}"
+
+#: packages/email/templates/team-leave.tsx:31
+msgid "A team member has left a team on Documenso"
+msgstr "Członek zespołu opuścił zespół na Documenso"
+
+#: packages/email/templates/team-delete.tsx:29
+#: packages/email/templates/team-delete.tsx:33
+msgid "A team you were a part of has been deleted"
+msgstr "Zespół, którego częścią byłeś, został usunięty"
+
+#: packages/email/templates/confirm-team-email.tsx:118
+#: packages/email/templates/team-invite.tsx:94
+#: packages/email/templates/team-transfer-request.tsx:81
+msgid "Accept"
+msgstr "Akceptuj"
+
+#: packages/email/templates/team-invite.tsx:42
+msgid "Accept invitation to join a team on Documenso"
+msgstr "Akceptuj zaproszenie do dołączenia do zespołu na Documenso"
+
+#: packages/email/templates/confirm-team-email.tsx:41
+msgid "Accept team email request for {teamName} on Documenso"
+msgstr "Akceptuj prośbę o email zespołowy dla {teamName} na Documenso"
+
+#: packages/email/templates/team-transfer-request.tsx:29
+msgid "Accept team transfer request on Documenso"
+msgstr "Akceptuj prośbę o przeniesienie zespołu na Documenso"
+
+#: packages/ui/primitives/document-dropzone.tsx:69
+msgid "Add a document"
+msgstr "Dodaj dokument"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:378
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
+msgid "Add a URL to redirect the user to once the document is signed"
+msgstr "Dodaj URL, aby przekierować użytkownika po podpisaniu dokumentu"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:290
+msgid "Add an external ID to the document. This can be used to identify the document in external systems."
+msgstr "Dodaj zewnętrzny ID do dokumentu. Może być używany do identyfikacji dokumentu w zewnętrznych systemach."
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
+msgid "Add an external ID to the template. This can be used to identify in external systems."
+msgstr "Dodaj zewnętrzny ID do szablonu. Może być używany do identyfikacji w systemach zewnętrznych."
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:187
+msgid "Add another option"
+msgstr "Dodaj kolejną opcję"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:232
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:167
+msgid "Add another value"
+msgstr "Dodaj kolejną wartość"
+
+#: packages/ui/primitives/document-flow/add-signers.tsx:662
+msgid "Add myself"
+msgstr "Dodaj siebie"
+
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:637
+msgid "Add Myself"
+msgstr "Dodaj siebie"
+
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:623
+msgid "Add Placeholder Recipient"
+msgstr "Dodaj odbiorcę zastępczego"
+
+#: packages/ui/primitives/document-flow/add-signers.tsx:651
+msgid "Add Signer"
+msgstr "Dodaj sygnatariusza"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:73
+msgid "Add text"
+msgstr "Dodaj tekst"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:78
+msgid "Add text to the field"
+msgstr "Dodaj tekst do pola"
+
+#: packages/lib/constants/teams.ts:10
+msgid "Admin"
+msgstr "Administrator"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:272
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
+msgid "Advanced Options"
+msgstr "Opcje zaawansowane"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:573
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
+msgid "Advanced settings"
+msgstr "Ustawienia zaawansowane"
+
+#: packages/lib/constants/template.ts:21
+msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email."
+msgstr "Po przesłaniu dokumentu zostanie automatycznie wygenerowany i dodany do Twojej strony dokumentów. Otrzymasz również powiadomienie pocztą elektroniczną."
+
+#: packages/email/template-components/template-document-cancel.tsx:31
+msgid "All signatures have been voided."
+msgstr "Wszystkie podpisy zostały unieważnione."
+
+#: packages/email/templates/confirm-team-email.tsx:98
+msgid "Allow document recipients to reply directly to this email address"
+msgstr "Zezwól odbiorcom dokumentów na bezpośrednią odpowiedź na ten adres e-mail"
+
+#: packages/email/templates/document-super-delete.tsx:22
+msgid "An admin has deleted your document \"{documentName}\"."
+msgstr "Administrator usunął Twój dokument \"{documentName}\"."
+
+#: packages/ui/primitives/pdf-viewer.tsx:167
+msgid "An error occurred while loading the document."
+msgstr "Wystąpił błąd podczas ładowania dokumentu."
+
+#: packages/lib/constants/recipient-roles.ts:8
+msgid "Approve"
+msgstr "Zatwierdź"
+
+#: packages/email/template-components/template-document-invite.tsx:89
+msgid "Approve Document"
+msgstr "Zatwierdź dokument"
+
+#: packages/lib/constants/recipient-roles.ts:68
+#~ msgid "APPROVE_REQUEST"
+#~ msgstr "APPROVE_REQUEST"
+
+#: packages/lib/constants/recipient-roles.ts:9
+msgid "Approved"
+msgstr "Zatwierdzono"
+
+#: packages/lib/constants/recipient-roles.ts:11
+msgid "Approver"
+msgstr "Zatwierdzający"
+
+#: packages/lib/constants/recipient-roles.ts:12
+msgid "Approvers"
+msgstr "Zatwierdzający"
+
+#: packages/lib/constants/recipient-roles.ts:10
+msgid "Approving"
+msgstr "Zatwierdzanie"
+
+#: packages/email/template-components/template-confirmation-email.tsx:25
+msgid "Before you get started, please confirm your email address by clicking the button below:"
+msgstr "Zanim zaczniesz, proszę potwierdź swój adres e-mail, klikając przycisk poniżej:"
+
+#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
+msgid "Black"
+msgstr "Czarny"
+
+#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
+msgid "Blue"
+msgstr "Niebieski"
+
+#: packages/email/templates/team-invite.tsx:84
+msgid "by <0>{senderName}0>"
+msgstr "przez <0>{senderName}0>"
+
+#: packages/email/templates/confirm-team-email.tsx:87
+msgid "By accepting this request, you will be granting <0>{teamName}0> access to:"
+msgstr "Akceptując tę prośbę, przyznasz <0>{teamName}0> dostęp do:"
+
+#: packages/email/templates/team-transfer-request.tsx:70
+msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
+msgstr "Akceptując tę prośbę, przejmiesz odpowiedzialność za wszelkie pozycje dotyczące rozliczeń związane z tym zespołem."
+
+#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356
+#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: packages/ui/primitives/document-flow/add-signers.tsx:193
+msgid "Cannot remove signer"
+msgstr "Nie można usunąć sygnatariusza"
+
+#: packages/lib/constants/recipient-roles.ts:18
+msgid "Cc"
+msgstr "Cc"
+
+#: packages/lib/constants/recipient-roles.ts:15
+#: packages/lib/constants/recipient-roles.ts:17
+msgid "CC"
+msgstr "CC"
+
+#: packages/lib/constants/recipient-roles.ts:16
+msgid "CC'd"
+msgstr "CC'd"
+
+#: packages/lib/constants/recipient-roles.ts:19
+msgid "Ccers"
+msgstr "Kserokopie"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86
+msgid "Character Limit"
+msgstr "Limit znaków"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
+msgid "Checkbox values"
+msgstr "Wartości checkboxa"
+
+#: packages/ui/primitives/data-table.tsx:156
+msgid "Clear filters"
+msgstr "Wyczyść filtry"
+
+#: packages/ui/primitives/signature-pad/signature-pad.tsx:411
+msgid "Clear Signature"
+msgstr "Wyczyść podpis"
+
+#: packages/ui/primitives/document-flow/add-signature.tsx:394
+msgid "Click to insert field"
+msgstr "Kliknij, aby wstawić pole"
+
+#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:44
+msgid "Close"
+msgstr "Zamknij"
+
+#: packages/email/template-components/template-document-completed.tsx:35
+#: packages/email/template-components/template-document-self-signed.tsx:36
+#: packages/lib/constants/document.ts:10
+msgid "Completed"
+msgstr "Zakończone"
+
+#: packages/email/templates/document-completed.tsx:23
+#: packages/email/templates/document-self-signed.tsx:19
+msgid "Completed Document"
+msgstr "Dokument zakończony"
+
+#: packages/lib/constants/template.ts:12
+msgid "Configure Direct Recipient"
+msgstr "Skonfiguruj bezpośredniego odbiorcę"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:574
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
+msgid "Configure the {0} field"
+msgstr "Skonfiguruj pole {0}"
+
+#: packages/email/template-components/template-confirmation-email.tsx:35
+msgid "Confirm email"
+msgstr "Potwierdź e-mail"
+
+#: packages/ui/primitives/document-flow/document-flow-root.tsx:141
+msgid "Continue"
+msgstr "Kontynuuj"
+
+#: packages/email/template-components/template-document-invite.tsx:72
+#~ msgid "Continue by {0} the document."
+#~ msgstr "Continue by {0} the document."
+
+#: packages/email/template-components/template-document-invite.tsx:76
+msgid "Continue by approving the document."
+msgstr "Kontynuuj, zatwierdzając dokument."
+
+#: packages/email/template-components/template-document-completed.tsx:45
+msgid "Continue by downloading the document."
+msgstr "Kontynuuj, pobierając dokument."
+
+#: packages/email/template-components/template-document-invite.tsx:74
+msgid "Continue by signing the document."
+msgstr "Kontynuuj, podpisując dokument."
+
+#: packages/email/template-components/template-document-invite.tsx:75
+msgid "Continue by viewing the document."
+msgstr "Kontynuuj, wyświetlając dokument."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:254
+msgid "Copied"
+msgstr "Skopiowane"
+
+#: packages/ui/components/document/document-share-button.tsx:46
+#: packages/ui/primitives/document-flow/add-subject.tsx:241
+msgid "Copied to clipboard"
+msgstr "Skopiowano do schowka"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:249
+msgid "Copy"
+msgstr "Kopiuj"
+
+#: packages/ui/components/document/document-share-button.tsx:194
+msgid "Copy Link"
+msgstr "Skopiuj link"
+
+#: packages/email/template-components/template-document-self-signed.tsx:46
+msgid "Create a <0>free account0> to access your signed documents at any time."
+msgstr "Utwórz <0>darmowe konto0>, aby uzyskać dostęp do podpisanych dokumentów w dowolnym momencie."
+
+#: packages/email/template-components/template-document-self-signed.tsx:68
+msgid "Create account"
+msgstr "Utwórz konto"
+
+#: packages/ui/primitives/document-flow/add-signature.tsx:360
+msgid "Custom Text"
+msgstr "Tekst niestandardowy"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:927
+#: packages/ui/primitives/document-flow/types.ts:53
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
+msgid "Date"
+msgstr "Data"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:313
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
+msgid "Date Format"
+msgstr "Format daty"
+
+#: packages/email/templates/team-invite.tsx:100
+msgid "Decline"
+msgstr "Odmów"
+
+#: packages/email/templates/reset-password.tsx:71
+msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.0>"
+msgstr "Nie prosiłeś o zmianę hasła? Jesteśmy tutaj, aby pomóc Ci zabezpieczyć swoje konto, po prostu <0>skontaktuj się z nami.0>"
+
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
+msgid "Direct link receiver"
+msgstr "Odbiorca linku bezpośredniego"
+
+#: 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
+msgid "Document access"
+msgstr "Dostęp do dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:306
+msgid "Document access auth updated"
+msgstr "Zaktualizowano autoryzację dostępu do dokumentu"
+
+#: packages/lib/server-only/document/delete-document.ts:246
+#: packages/lib/server-only/document/super-delete-document.ts:98
+msgid "Document Cancelled"
+msgstr "Dokument anulowany"
+
+#: packages/lib/utils/document-audit-logs.ts:359
+#: packages/lib/utils/document-audit-logs.ts:360
+msgid "Document completed"
+msgstr "Dokument ukończony"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:168
+msgid "Document completed email"
+msgstr "E-mail ukończonego dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:286
+msgid "Document created"
+msgstr "Dokument utworzony"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:32
+#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
+msgid "Document created from direct template"
+msgstr "Dokument utworzony z bezpośredniego szablonu"
+
+#: packages/lib/constants/template.ts:20
+msgid "Document Creation"
+msgstr "Tworzenie dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:290
+msgid "Document deleted"
+msgstr "Dokument usunięty"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:207
+msgid "Document deleted email"
+msgstr "E-mail usuniętego dokumentu"
+
+#: packages/lib/server-only/document/send-delete-email.ts:82
+msgid "Document Deleted!"
+msgstr "Dokument usunięty!"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
+msgid "Document Distribution Method"
+msgstr "Metoda dystrybucji dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:326
+msgid "Document external ID updated"
+msgstr "Zaktualizowane ID zewnętrzne dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:334
+msgid "Document moved to team"
+msgstr "Dokument przeniesiony do zespołu"
+
+#: packages/lib/utils/document-audit-logs.ts:318
+msgid "Document opened"
+msgstr "Dokument otwarty"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:128
+msgid "Document pending email"
+msgstr "E-mail oczekującego dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:330
+msgid "Document sent"
+msgstr "Dokument wysłany"
+
+#: packages/lib/utils/document-audit-logs.ts:310
+msgid "Document signing auth updated"
+msgstr "Zaktualizowano autoryzację podpisu dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:322
+msgid "Document title updated"
+msgstr "Zaktualizowano tytuł dokumentu"
+
+#: packages/lib/utils/document-audit-logs.ts:314
+msgid "Document updated"
+msgstr "Zaktualizowano dokument"
+
+#: packages/lib/utils/document-audit-logs.ts:302
+msgid "Document visibility updated"
+msgstr "Zaktualizowano widoczność dokumentu"
+
+#: packages/email/template-components/template-document-completed.tsx:57
+#: packages/ui/components/document/document-download-button.tsx:68
+msgid "Download"
+msgstr "Pobierz"
+
+#: packages/lib/constants/document.ts:13
+msgid "Draft"
+msgstr "Robocza wersja"
+
+#: packages/ui/primitives/document-dropzone.tsx:162
+msgid "Drag & drop your PDF here."
+msgstr "Przeciągnij i upuść swój PDF tutaj."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1058
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
+msgid "Dropdown"
+msgstr "Lista rozwijana"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:158
+msgid "Dropdown options"
+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/types.ts:54
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:638
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:463
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
+msgid "Email"
+msgstr "Email"
+
+#: packages/ui/primitives/document-flow/add-signature.types.ts:7
+msgid "Email is required"
+msgstr "Email jest wymagany"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
+msgid "Email Options"
+msgstr "Opcje e-mail"
+
+#: packages/lib/utils/document-audit-logs.ts:353
+msgid "Email resent"
+msgstr "E-mail wysłany ponownie"
+
+#: packages/lib/utils/document-audit-logs.ts:353
+msgid "Email sent"
+msgstr "E-mail wysłany"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1123
+msgid "Empty field"
+msgstr "Puste pole"
+
+#: packages/lib/constants/template.ts:8
+msgid "Enable Direct Link Signing"
+msgstr "Włącz podpisywanie linku bezpośredniego"
+
+#: packages/ui/primitives/document-flow/add-signers.tsx:401
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:362
+msgid "Enable signing order"
+msgstr "Włącz kolejność podpisów"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:795
+msgid "Enable Typed Signatures"
+msgstr "Włącz podpisy typu pisanego"
+
+#: packages/ui/primitives/document-password-dialog.tsx:84
+msgid "Enter password"
+msgstr "Wprowadź hasło"
+
+#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257
+#: packages/ui/primitives/pdf-viewer.tsx:166
+msgid "Error"
+msgstr "Błąd"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:283
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
+msgid "External ID"
+msgstr "Zewnętrzny ID"
+
+#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:258
+msgid "Failed to save settings."
+msgstr "Nie udało się zapisać ustawień."
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93
+msgid "Field character limit"
+msgstr "Limit znaków pola"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:62
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:44
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:44
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:44
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:130
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:107
+msgid "Field font size"
+msgstr "Rozmiar czcionki pola"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:110
+msgid "Field format"
+msgstr "Format pola"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:53
+msgid "Field label"
+msgstr "Etykieta pola"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:65
+msgid "Field placeholder"
+msgstr "Zastępczy tekst pola"
+
+#: packages/lib/utils/document-audit-logs.ts:294
+msgid "Field signed"
+msgstr "Pole podpisane"
+
+#: packages/lib/utils/document-audit-logs.ts:298
+msgid "Field unsigned"
+msgstr "Pole niepodpisane"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:38
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:124
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:101
+msgid "Font Size"
+msgstr "Rozmiar czcionki"
+
+#: packages/lib/server-only/auth/send-forgot-password.ts:61
+msgid "Forgot Password?"
+msgstr "Zapomniałeś hasła?"
+
+#: packages/email/template-components/template-forgot-password.tsx:21
+msgid "Forgot your password?"
+msgstr "Zapomniałeś swoje hasło?"
+
+#: packages/ui/primitives/document-flow/types.ts:50
+msgid "Free Signature"
+msgstr "Podpis wolny"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:89
+msgid "Generate Links"
+msgstr "Generuj linki"
+
+#: packages/ui/components/document/document-global-auth-action-select.tsx:64
+msgid "Global recipient action authentication"
+msgstr "Globalne uwierzytelnianie akcji odbiorcy"
+
+#: packages/ui/primitives/document-flow/document-flow-root.tsx:142
+msgid "Go Back"
+msgstr "Wróć"
+
+#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
+msgid "Green"
+msgstr "Zielony"
+
+#: packages/email/templates/reset-password.tsx:56
+msgid "Hi, {userName} <0>({userEmail})0>"
+msgstr "Cześć, {userName} <0>({userEmail})0>"
+
+#: packages/lib/constants/recipient-roles.ts:44
+msgid "I am a signer of this document"
+msgstr "Jestem sygnatariuszem tego dokumentu"
+
+#: packages/lib/constants/recipient-roles.ts:47
+msgid "I am a viewer of this document"
+msgstr "Jestem widzem tego dokumentu"
+
+#: packages/lib/constants/recipient-roles.ts:45
+msgid "I am an approver of this document"
+msgstr "Jestem zatwierdzającym tego dokumentu"
+
+#: packages/lib/constants/recipient-roles.ts:46
+msgid "I am required to receive a copy of this document"
+msgstr "Muszę otrzymać kopię tego dokumentu"
+
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:29
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:87
+msgid "Inherit authentication method"
+msgstr "Przechwyć metodę uwierzytelniania"
+
+#: packages/ui/primitives/document-flow/types.ts:51
+msgid "Initials"
+msgstr "Inicjały"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:17
+msgid "Invalid email"
+msgstr "Nieprawidłowy email"
+
+#: packages/ui/primitives/document-flow/add-signature.types.ts:8
+msgid "Invalid email address"
+msgstr "Nieprawidłowy adres email"
+
+#: packages/email/templates/team-invite.tsx:72
+msgid "Join {teamName} on Documenso"
+msgstr "Dołącz do {teamName} na Documenso"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48
+msgid "Label"
+msgstr "Etykieta"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:176
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
+msgid "Language"
+msgstr "Język"
+
+#: packages/email/templates/confirm-team-email.tsx:124
+#: packages/email/templates/team-transfer-request.tsx:87
+msgid "Link expires in 1 hour."
+msgstr "Link wygasa za 1 godzinę."
+
+#: packages/ui/primitives/lazy-pdf-viewer.tsx:15
+#: packages/ui/primitives/pdf-viewer.tsx:44
+msgid "Loading document..."
+msgstr "Ładowanie dokumentu..."
+
+#: packages/lib/constants/teams.ts:11
+msgid "Manager"
+msgstr "Menedżer"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188
+msgid "Max"
+msgstr "Max"
+
+#: packages/lib/constants/teams.ts:12
+msgid "Member"
+msgstr "Członek"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:160
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
+msgid "Message <0>(Optional)0>"
+msgstr "Wiadomość <0>(Opcjonalnie)0>"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:176
+msgid "Min"
+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/types.ts:55
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:664
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:498
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
+msgid "Name"
+msgstr "Nazwa"
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:52
+msgid "Needs to approve"
+msgstr "Wymaga zatwierdzenia"
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:31
+msgid "Needs to sign"
+msgstr "Wymaga podpisania"
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:73
+msgid "Needs to view"
+msgstr "Wymaga obejrzenia"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:686
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
+msgid "No recipient matching this description was found."
+msgstr "Nie znaleziono odbiorcy pasującego do tego opisu."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:215
+msgid "No recipients"
+msgstr "Brak odbiorców"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:701
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
+msgid "No recipients with this role"
+msgstr "Brak odbiorców z tą rolą"
+
+#: packages/ui/components/document/document-global-auth-access-select.tsx:30
+#: packages/ui/components/document/document-global-auth-access-select.tsx:43
+#: packages/ui/components/document/document-global-auth-action-select.tsx:31
+#: packages/ui/components/document/document-global-auth-action-select.tsx:46
+msgid "No restrictions"
+msgstr "Brak ograniczeń"
+
+#: packages/ui/primitives/data-table.tsx:148
+msgid "No results found"
+msgstr "Nie znaleziono wyników"
+
+#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:30
+msgid "No signature field found"
+msgstr "Nie znaleziono pola podpisu"
+
+#: packages/ui/primitives/combobox.tsx:60
+#: packages/ui/primitives/multi-select-combobox.tsx:153
+msgid "No value found."
+msgstr "Nie znaleziono wartości."
+
+#: packages/lib/constants/document.ts:32
+msgid "None"
+msgstr "Brak"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:979
+#: packages/ui/primitives/document-flow/types.ts:56
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
+msgid "Number"
+msgstr "Numer"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:103
+msgid "Number format"
+msgstr "Format liczby"
+
+#: packages/lib/constants/template.ts:9
+msgid "Once enabled, you can select any active recipient to be a direct link signing recipient, or create a new one. This recipient type cannot be edited or deleted."
+msgstr "Po włączeniu możesz wybrać dowolnego aktywnego odbiorcę na sygnatariusza bezpośredniego lub utworzyć nowego. Tego typu odbiorca nie może być edytowany ani usunięty."
+
+#: packages/lib/constants/template.ts:17
+msgid "Once your template is set up, share the link anywhere you want. The person who opens the link will be able to enter their information in the direct link recipient field and complete any other fields assigned to them."
+msgstr "Po skonfigurowaniu szablonu udostępnij link wszędzie, gdzie chcesz. Osoba, która otworzy link, będzie mogła wprowadzić swoje dane w polu odbiorcy linku bezpośredniego i wypełnić wszelkie inne przypisane jej pola."
+
+#: packages/ui/primitives/data-table-pagination.tsx:77
+msgid "Page {0} of {1}"
+msgstr "Strona {0} z {1}"
+
+#: packages/ui/primitives/pdf-viewer.tsx:259
+msgid "Page {0} of {numPages}"
+msgstr "Strona {0} z {numPages}"
+
+#: packages/ui/primitives/document-password-dialog.tsx:62
+msgid "Password Required"
+msgstr "Wymagane hasło"
+
+#: packages/email/templates/forgot-password.tsx:19
+msgid "Password Reset Requested"
+msgstr "Żądanie resetowania hasła"
+
+#: packages/email/templates/reset-password.tsx:20
+msgid "Password Reset Successful"
+msgstr "Resetowanie hasła zakończone sukcesem"
+
+#: packages/email/template-components/template-reset-password.tsx:22
+msgid "Password updated!"
+msgstr "Hasło zaktualizowane!"
+
+#: packages/lib/constants/document.ts:16
+msgid "Pending"
+msgstr "Oczekujące"
+
+#: packages/email/templates/document-pending.tsx:19
+msgid "Pending Document"
+msgstr "Dokument oczekujący"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156
+msgid "Pick a number"
+msgstr "Wybierz numer"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:79
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:84
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60
+msgid "Placeholder"
+msgstr "Zastępczy tekst"
+
+#: packages/email/template-components/template-document-invite.tsx:46
+msgid "Please {0} your document<0/>\"{documentName}\""
+msgstr "Proszę {0} Twój dokument<0/>\"{documentName}\""
+
+#: packages/email/templates/document-invite.tsx:50
+msgid "Please {action} your document {documentName}"
+msgstr "Proszę {action} Twój dokument {documentName}"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
+msgid "Please {recipientActionVerb} this document"
+msgstr "Proszę {recipientActionVerb} ten dokument"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
+msgid "Please {recipientActionVerb} this document created by your direct template"
+msgstr "Proszę {recipientActionVerb} ten dokument utworzony przez Twój bezpośredni szablon"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
+msgid "Please {recipientActionVerb} your document"
+msgstr "Proszę {recipientActionVerb} Twój dokument"
+
+#: packages/lib/server-only/auth/send-confirmation-email.ts:67
+msgid "Please confirm your email"
+msgstr "Proszę potwierdzić swój email"
+
+#: packages/email/templates/confirm-email.tsx:17
+msgid "Please confirm your email address"
+msgstr "Proszę potwierdzić swój adres email"
+
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
+msgid "Please try again or contact our support."
+msgstr "Spróbuj ponownie lub skontaktuj się z naszym wsparciem."
+
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
+msgid "Radio"
+msgstr "Radio"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:133
+msgid "Radio values"
+msgstr "Wartości radiowe"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:186
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:147
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:156
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:122
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:133
+msgid "Read only"
+msgstr "Tylko do odczytu"
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:95
+msgid "Receives copy"
+msgstr "Otrzymuje kopię"
+
+#: packages/lib/utils/document-audit-logs.ts:338
+msgid "Recipient"
+msgstr "Odbiorca"
+
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
+#: packages/ui/primitives/document-flow/add-settings.tsx:257
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
+msgid "Recipient action authentication"
+msgstr "Uwierzytelnianie akcji odbiorcy"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:89
+msgid "Recipient removed email"
+msgstr "E-mail usuniętego odbiorcy"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:50
+msgid "Recipient signing request email"
+msgstr "E-mail z prośbą o podpisanie przez odbiorcę"
+
+#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
+msgid "Red"
+msgstr "Czerwony"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:371
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
+msgid "Redirect URL"
+msgstr "Adres URL przekierowania"
+
+#: packages/lib/server-only/document/resend-document.tsx:192
+msgid "Reminder: {0}"
+msgstr "Przypomnienie: {0}"
+
+#: packages/lib/server-only/document/resend-document.tsx:132
+msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
+msgstr "Przypomnienie: {0} zaprosił Cię do {recipientActionVerb} dokument"
+
+#: packages/lib/server-only/document/resend-document.tsx:121
+msgid "Reminder: Please {recipientActionVerb} this document"
+msgstr "Przypomnienie: Proszę {recipientActionVerb} ten dokument"
+
+#: packages/lib/server-only/document/resend-document.tsx:127
+msgid "Reminder: Please {recipientActionVerb} your document"
+msgstr "Przypomnienie: Proszę {recipientActionVerb} Twój dokument"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1110
+msgid "Remove"
+msgstr "Usuń"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:176
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:137
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:146
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:112
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:123
+msgid "Required field"
+msgstr "Wymagane pole"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:84
+msgid "Resend"
+msgstr "Wyślij ponownie"
+
+#: packages/email/template-components/template-forgot-password.tsx:33
+msgid "Reset Password"
+msgstr "Zresetuj hasło"
+
+#: packages/ui/components/document/document-share-button.tsx:147
+msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!"
+msgstr "Możesz być spokojny, Twój dokument jest ściśle poufny i nigdy nie zostanie udostępniony. Tylko Twoje doświadczenie podpisywania będzie wyróżnione. Podziel się swoją spersonalizowaną kartą podpisu, aby zaprezentować swój podpis!"
+
+#: packages/ui/primitives/data-table-pagination.tsx:55
+msgid "Rows per page"
+msgstr "Wiersze na stronę"
+
+#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:355
+msgid "Save"
+msgstr "Zapisz"
+
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
+msgid "Save Template"
+msgstr "Zapisz szablon"
+
+#: packages/ui/components/common/language-switcher-dialog.tsx:34
+msgid "Search languages..."
+msgstr "Szukaj języków..."
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:115
+msgid "Select"
+msgstr "Wybierz"
+
+#: packages/ui/primitives/combobox.tsx:38
+msgid "Select an option"
+msgstr "Wybierz opcję"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:139
+msgid "Select at least"
+msgstr "Wybierz co najmniej"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:105
+msgid "Select default option"
+msgstr "Wybierz domyślną opcję"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:82
+#: packages/ui/primitives/document-flow/add-subject.tsx:85
+#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
+#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
+msgid "Send"
+msgstr "Wyślij"
+
+#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:41
+msgid "Send Document"
+msgstr "Wyślij dokument"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:158
+msgid "Send document completed email"
+msgstr "Wyślij e-mail ukończonego dokumentu"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:197
+msgid "Send document deleted email"
+msgstr "Wyślij e-mail usuniętego dokumentu"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:118
+msgid "Send document pending email"
+msgstr "Wyślij e-mail oczekującego dokumentu"
+
+#: packages/email/templates/confirm-team-email.tsx:101
+msgid "Send documents on behalf of the team using the email address"
+msgstr "Wyślij dokumenty w imieniu zespołu, używając adresu e-mail"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:79
+msgid "Send recipient removed email"
+msgstr "Wyślij e-mail usuniętego odbiorcy"
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:40
+msgid "Send recipient signing request email"
+msgstr "Wyślij e-mail z prośbą o podpisanie przez odbiorcę"
+
+#: packages/ui/components/document/document-share-button.tsx:135
+msgid "Share Signature Card"
+msgstr "Udostępnij kartę podpisu"
+
+#: packages/lib/constants/template.ts:16
+msgid "Share the Link"
+msgstr "Udostępnij link"
+
+#: packages/ui/components/document/document-share-button.tsx:143
+msgid "Share your signing experience!"
+msgstr "Podziel się swoim doświadczeniem podpisywania!"
+
+#: packages/ui/primitives/document-flow/add-signers.tsx:680
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655
+msgid "Show advanced settings"
+msgstr "Pokaż ustawienia zaawansowane"
+
+#: packages/lib/constants/recipient-roles.ts:22
+msgid "Sign"
+msgstr "Podpisz"
+
+#: packages/email/template-components/template-document-invite.tsx:87
+msgid "Sign Document"
+msgstr "Podpisz dokument"
+
+#: packages/email/template-components/template-reset-password.tsx:34
+msgid "Sign In"
+msgstr "Zaloguj się"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:823
+#: packages/ui/primitives/document-flow/add-signature.tsx:323
+#: packages/ui/primitives/document-flow/field-icon.tsx:52
+#: packages/ui/primitives/document-flow/types.ts:49
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
+msgid "Signature"
+msgstr "Podpis"
+
+#: packages/lib/constants/recipient-roles.ts:23
+msgid "Signed"
+msgstr "Podpisany"
+
+#: packages/lib/constants/recipient-roles.ts:25
+msgid "Signer"
+msgstr "Sygnatariusz"
+
+#: packages/lib/constants/recipient-roles.ts:26
+msgid "Signers"
+msgstr "Podpisujący"
+
+#: packages/ui/primitives/document-flow/add-signers.types.ts:36
+msgid "Signers must have unique emails"
+msgstr "Podpisujący muszą mieć unikalne emaile"
+
+#: packages/lib/constants/recipient-roles.ts:24
+msgid "Signing"
+msgstr "Podpisywanie"
+
+#: packages/lib/server-only/document/send-completed-email.ts:111
+#: packages/lib/server-only/document/send-completed-email.ts:191
+msgid "Signing Complete!"
+msgstr "Podpisywanie zakończone!"
+
+#: packages/lib/constants/recipient-roles.ts:66
+#~ msgid "SIGNING_REQUEST"
+#~ msgstr "SIGNING_REQUEST"
+
+#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34
+msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding."
+msgstr "Niektórzy sygnatariusze nie zostali przypisani do pola podpisu. Przypisz co najmniej 1 pole podpisu do każdego sygnatariusza przed kontynuowaniem."
+
+#: packages/ui/components/document/document-share-button.tsx:51
+msgid "Something went wrong"
+msgstr "Coś poszło nie tak"
+
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
+msgid "Something went wrong while loading the document."
+msgstr "Coś poszło nie tak podczas ładowania dokumentu."
+
+#: packages/ui/primitives/data-table.tsx:136
+msgid "Something went wrong."
+msgstr "Coś poszło nie tak."
+
+#: packages/ui/primitives/document-flow/document-flow-root.tsx:107
+msgid "Step <0>{step} of {maxStep}0>"
+msgstr "Krok <0>{step} z {maxStep}0>"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:143
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
+msgid "Subject <0>(Optional)0>"
+msgstr "Temat <0>(Opcjonalnie)0>"
+
+#: packages/ui/primitives/document-password-dialog.tsx:97
+msgid "Submit"
+msgstr "Prześlij"
+
+#: packages/lib/server-only/team/delete-team.ts:124
+msgid "Team \"{0}\" has been deleted on Documenso"
+msgstr "Zespół \"{0}\" został usunięty z Documenso"
+
+#: packages/lib/server-only/team/delete-team-email.ts:104
+msgid "Team email has been revoked for {0}"
+msgstr "Email zespołowy został anulowany dla {0}"
+
+#: packages/email/templates/team-email-removed.tsx:59
+msgid "Team email removed"
+msgstr "Email zespołowy usunięty"
+
+#: packages/email/templates/team-email-removed.tsx:29
+msgid "Team email removed for {teamName} on Documenso"
+msgstr "Email zespołowy usunięty dla {teamName} na Documenso"
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
+msgid "Template title"
+msgstr "Tytuł szablonu"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:953
+#: packages/ui/primitives/document-flow/types.ts:52
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
+msgid "Text"
+msgstr "Tekst"
+
+#: packages/email/template-components/template-forgot-password.tsx:25
+msgid "That's okay, it happens! Click the button below to reset your password."
+msgstr "To w porządku, zdarza się! Kliknij przycisk poniżej, aby zresetować hasło."
+
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:44
+msgid "The authentication required for recipients to sign fields"
+msgstr "Uwierzytelnianie wymagane dla odbiorców do podpisania pól"
+
+#: packages/ui/components/document/document-global-auth-action-select.tsx:68
+msgid "The authentication required for recipients to sign the signature field."
+msgstr "Uwierzytelnianie wymagane dla odbiorców do podpisania pola podpisu."
+
+#: packages/ui/components/document/document-global-auth-access-select.tsx:67
+msgid "The authentication required for recipients to view the document."
+msgstr "Uwierzytelnianie wymagane dla odbiorców do wyświetlenia dokumentu."
+
+#: packages/ui/components/document/document-send-email-message-helper.tsx:31
+msgid "The document's name"
+msgstr "Nazwa dokumentu"
+
+#: packages/email/templates/team-delete.tsx:37
+msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
+msgstr "Następujący zespół został usunięty przez jego właściciela. Nie będziesz mógł już uzyskać dostępu do tego zespołu i jego dokumentów"
+
+#: packages/email/templates/team-delete.tsx:36
+msgid "The following team has been deleted by you"
+msgstr "Następujący zespół został usunięty przez Ciebie"
+
+#: packages/ui/primitives/document-password-dialog.tsx:52
+msgid "The password you have entered is incorrect. Please try again."
+msgstr "Wprowadzone hasło jest niepoprawne. Proszę spróbować ponownie."
+
+#: packages/email/template-components/template-document-super-delete.tsx:38
+msgid "The reason provided for deletion is the following:"
+msgstr "Podana przyczyna usunięcia jest następująca:"
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:103
+msgid "The recipient is not required to take any action and receives a copy of the document after it is completed."
+msgstr "Odbiorca nie jest zobowiązany do podjęcia żadnych działań i otrzymuje kopię dokumentu po jego zakończeniu."
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:60
+msgid "The recipient is required to approve the document for it to be completed."
+msgstr "Odbiorca musi zatwierdzić dokument, aby mógł być zakończony."
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:39
+msgid "The recipient is required to sign the document for it to be completed."
+msgstr "Odbiorca musi podpisać dokument, aby mógł być zakończony."
+
+#: packages/ui/components/recipient/recipient-role-select.tsx:81
+msgid "The recipient is required to view the document for it to be completed."
+msgstr "Odbiorca musi wyświetlić dokument, aby mógł być zakończony."
+
+#: packages/ui/components/document/document-share-button.tsx:52
+msgid "The sharing link could not be created at this time. Please try again."
+msgstr "Nie udało się utworzyć linku udostępnienia w tym czasie. Proszę spróbować ponownie."
+
+#: packages/ui/components/document/document-share-button.tsx:47
+msgid "The sharing link has been copied to your clipboard."
+msgstr "Link do udostępniania został skopiowany do schowka."
+
+#: packages/ui/components/document/document-send-email-message-helper.tsx:25
+msgid "The signer's email"
+msgstr "Email sygnatariusza"
+
+#: packages/ui/components/document/document-send-email-message-helper.tsx:19
+msgid "The signer's name"
+msgstr "Imię sygnatariusza"
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:243
+msgid "The signing link has been copied to your clipboard."
+msgstr "Link do podpisu został skopiowany do schowka."
+
+#: packages/email/templates/team-email-removed.tsx:63
+msgid "The team email <0>{teamEmail}0> has been removed from the following team"
+msgstr "Email zespołowy <0>{teamEmail}0> został usunięty z następującego zespołu"
+
+#: packages/ui/components/document/document-global-auth-action-select.tsx:72
+msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step."
+msgstr "To można nadpisać, ustawiając wymagania dotyczące uwierzytelniania bezpośrednio na każdym odbiorcy w następnym kroku."
+
+#: packages/email/template-components/template-document-super-delete.tsx:31
+msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
+msgstr "Dokument ten nie może być odzyskany. Jeśli chcesz zakwestionować przyczynę przyszłych dokumentów, skontaktuj się z administracją."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:757
+msgid "This document has already been sent to this recipient. You can no longer edit this recipient."
+msgstr "Ten dokument został już wysłany do tego odbiorcy. Nie można już edytować tego odbiorcy."
+
+#: packages/ui/primitives/document-password-dialog.tsx:66
+msgid "This document is password protected. Please enter the password to view the document."
+msgstr "Ten dokument jest zabezpieczony hasłem. Proszę wprowadzić hasło, aby wyświetlić dokument."
+
+#: packages/email/template-components/template-footer.tsx:17
+msgid "This document was sent using <0>Documenso.0>"
+msgstr "Ten dokument został wysłany za pomocą <0>Documenso.0>"
+
+#: 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."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:55
+msgid "This email is sent to the recipient requesting them to sign the document."
+msgstr "Ten e-mail jest wysyłany do odbiorcy, prosząc go o podpisanie dokumentu."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:133
+msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
+msgstr "Ten e-mail zostanie wysłany do odbiorcy, który właśnie podpisał dokument, jeśli są jeszcze inni odbiorcy, którzy nie podpisali."
+
+#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
+msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
+msgstr "To pole nie może być modyfikowane ani usuwane. Po udostępnieniu bezpośredniego linku do tego szablonu lub dodaniu go do swojego publicznego profilu, każdy, kto się w nim dostanie, może wpisać swoje imię i email oraz wypełnić przypisane mu pola."
+
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
+msgid "This is how the document will reach the recipients once the document is ready for signing."
+msgstr "W ten sposób dokument dotrze do odbiorców, gdy tylko dokument będzie gotowy do podpisania."
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1090
+msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
+msgstr "Ten odbiorca nie może być już modyfikowany, ponieważ podpisał pole lub ukończył dokument."
+
+#: packages/ui/primitives/document-flow/add-signers.tsx:194
+msgid "This signer has already signed the document."
+msgstr "Ten sygnatariusz już podpisał dokument."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:212
+msgid "This will be sent to all recipients if a pending document has been deleted."
+msgstr "To zostanie wysłane do wszystkich odbiorców, jeśli oczekujący dokument został usunięty."
+
+#: packages/ui/components/document/document-email-checkboxes.tsx:173
+msgid "This will be sent to all recipients once the document has been fully completed."
+msgstr "To zostanie wysłane do wszystkich odbiorców, gdy dokument będzie całkowicie ukończony."
+
+#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
+msgid "This will override any global settings."
+msgstr "To zastąpi wszystkie globalne ustawienia."
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:347
+#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
+msgid "Time Zone"
+msgstr "Strefa czasowa"
+
+#: packages/ui/primitives/document-flow/add-settings.tsx:155
+msgid "Title"
+msgstr "Tytuł"
+
+#: packages/ui/primitives/document-flow/add-fields.tsx:1073
+#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
+msgid "To proceed further, please set at least one value for the {0} field."
+msgstr "Aby kontynuować, ustaw przynajmniej jedną wartość dla pola {0}."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:86
+msgid "Update"
+msgstr "Zaktualizuj"
+
+#: packages/lib/constants/template.ts:13
+msgid "Update the role and add fields as required for the direct recipient. The individual who uses the direct link will sign the document as the direct recipient."
+msgstr "Zaktualizuj rolę i dodaj pola, jeśli to konieczne dla bezpośredniego odbiorcy. Osoba, która korzysta z bezpośredniego linku, podpisze dokument jako bezpośredni odbiorca."
+
+#: packages/ui/primitives/document-dropzone.tsx:168
+msgid "Upgrade"
+msgstr "Ulepsz"
+
+#: packages/ui/primitives/document-dropzone.tsx:70
+msgid "Upload Template Document"
+msgstr "Prześlij dokument szablonu"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:132
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167
+msgid "Validation"
+msgstr "Walidacja"
+
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:91
+#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:96
+msgid "Value"
+msgstr "Wartość"
+
+#: packages/email/templates/confirm-team-email.tsx:71
+msgid "Verify your team email address"
+msgstr "Zweryfikuj swój adres e-mail zespołu"
+
+#: packages/lib/constants/recipient-roles.ts:29
+msgid "View"
+msgstr "Widok"
+
+#: packages/email/templates/confirm-team-email.tsx:95
+msgid "View all documents sent to and from this email address"
+msgstr "Wyświetl wszystkie dokumenty wysłane do i z tego adresu e-mail"
+
+#: packages/email/templates/document-created-from-direct-template.tsx:75
+msgid "View document"
+msgstr "Zobacz dokument"
+
+#: packages/email/template-components/template-document-invite.tsx:88
+#: packages/ui/primitives/document-flow/add-subject.tsx:90
+#: packages/ui/primitives/document-flow/add-subject.tsx:91
+msgid "View Document"
+msgstr "Wyświetl dokument"
+
+#: packages/email/template-components/template-document-self-signed.tsx:79
+msgid "View plans"
+msgstr "Zobacz plany"
+
+#: packages/lib/constants/recipient-roles.ts:67
+#~ msgid "VIEW_REQUEST"
+#~ msgstr "VIEW_REQUEST"
+
+#: packages/lib/constants/recipient-roles.ts:30
+msgid "Viewed"
+msgstr "Wyświetlono"
+
+#: packages/lib/constants/recipient-roles.ts:32
+msgid "Viewer"
+msgstr "Użytkownik widoku"
+
+#: packages/lib/constants/recipient-roles.ts:33
+msgid "Viewers"
+msgstr "Widokowcy"
+
+#: packages/lib/constants/recipient-roles.ts:31
+msgid "Viewing"
+msgstr "Wyświetlanie"
+
+#: packages/email/template-components/template-document-pending.tsx:31
+msgid "Waiting for others"
+msgstr "Czekam na innych"
+
+#: packages/lib/server-only/document/send-pending-email.ts:96
+msgid "Waiting for others to complete signing."
+msgstr "Czekam na innych, aby zakończyć podpisywanie."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:205
+msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
+msgstr "Wygenerujemy linki do podpisu dla Ciebie, które możesz wysłać do odbiorców w wybrany przez siebie sposób."
+
+#: packages/ui/primitives/document-flow/add-subject.tsx:201
+msgid "We won't send anything to notify recipients."
+msgstr "Nie wyślemy nic, aby powiadomić odbiorców."
+
+#: packages/email/template-components/template-document-pending.tsx:41
+msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
+msgstr "Wciąż czekamy na innych sygnatariuszy, aby podpisać ten dokument.<0/>Powiadomimy Cię, gdy będzie gotowy."
+
+#: packages/email/templates/reset-password.tsx:65
+msgid "We've changed your password as you asked. You can now sign in with your new password."
+msgstr "Zmieniłem hasło, jak prosiłeś. Teraz możesz zalogować się za pomocą nowego hasła."
+
+#: packages/email/template-components/template-confirmation-email.tsx:21
+msgid "Welcome to Documenso!"
+msgstr "Witamy w Documenso!"
+
+#: packages/lib/utils/document-audit-logs.ts:258
+msgid "You"
+msgstr "Ty"
+
+#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44
+msgid "You are about to send this document to the recipients. Are you sure you want to continue?"
+msgstr "Zaraz wyślesz ten dokument do odbiorców. Czy na pewno chcesz kontynuować?"
+
+#: packages/email/template-components/template-confirmation-email.tsx:38
+msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
+msgstr "Możesz także skopiować i wkleić ten link do przeglądarki: {confirmationLink} (link wygasa za 1 godzinę)"
+
+#: packages/email/templates/confirm-team-email.tsx:106
+msgid "You can revoke access at any time in your team settings on Documenso <0>here.0>"
+msgstr "Możesz w każdej chwili cofnąć dostęp w ustawieniach zespołu na Documenso <0>tutaj.0>"
+
+#: packages/ui/components/document/document-send-email-message-helper.tsx:11
+msgid "You can use the following variables in your message:"
+msgstr "Możesz użyć następujących zmiennych w swojej wiadomości:"
+
+#: 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."
+
+#: packages/email/template-components/template-document-cancel.tsx:35
+msgid "You don't need to sign it anymore."
+msgstr "Nie musisz go już podpisywać."
+
+#: packages/lib/server-only/team/create-team-member-invites.ts:186
+msgid "You have been invited to join {0} on Documenso"
+msgstr "Zostałeś zaproszony do dołączenia do {0} na Documenso"
+
+#: packages/email/templates/team-invite.tsx:76
+msgid "You have been invited to join the following team"
+msgstr "Zostałeś zaproszony do dołączenia do następującego zespołu"
+
+#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
+msgid "You have been removed from a document"
+msgstr "Zostałeś usunięty z dokumentu"
+
+#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114
+msgid "You have been requested to take ownership of team {0} on Documenso"
+msgstr "Poproszono Cię o przejęcie własności zespołu {0} na Documenso"
+
+#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
+#: packages/lib/server-only/document/resend-document.tsx:125
+msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
+msgstr "Rozpocząłeś dokument {0}, który wymaga, abyś go {recipientActionVerb}."
+
+#: packages/ui/primitives/document-dropzone.tsx:69
+msgid "You have reached your document limit."
+msgstr "Osiągnąłeś limit dokumentów."
+
+#: packages/email/template-components/template-document-self-signed.tsx:42
+msgid "You have signed “{documentName}”"
+msgstr "Podpisałeś „{documentName}”"
+
+#: packages/email/template-components/template-document-super-delete.tsx:23
+msgid "Your document has been deleted by an admin!"
+msgstr "Twój dokument został usunięty przez administratora!"
+
+#: packages/email/template-components/template-reset-password.tsx:26
+msgid "Your password has been updated."
+msgstr "Twoje hasło zostało zaktualizowane."
+
+#: packages/email/templates/team-delete.tsx:28
+#: packages/email/templates/team-delete.tsx:32
+msgid "Your team has been deleted"
+msgstr "Twój zespół został usunięty"
+
diff --git a/packages/lib/translations/pl/marketing.po b/packages/lib/translations/pl/marketing.po
new file mode 100644
index 000000000..58fa6e928
--- /dev/null
+++ b/packages/lib/translations/pl/marketing.po
@@ -0,0 +1,605 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2024-07-24 13:01+1000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: pl\n"
+"Project-Id-Version: documenso-app\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2024-11-12 08:43\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"
+"X-Crowdin-Project: documenso-app\n"
+"X-Crowdin-Project-ID: 694691\n"
+"X-Crowdin-Language: pl\n"
+"X-Crowdin-File: marketing.po\n"
+"X-Crowdin-File-ID: 6\n"
+
+#: apps/marketing/src/app/(marketing)/blog/page.tsx:45
+msgid "{0}"
+msgstr "{0}"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:100
+msgid "5 standard documents per month"
+msgstr "5 standard documents per month"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:198
+msgid "5 Users Included"
+msgstr "5 użytkowników w cenie"
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:34
+msgid "A 10x better signing experience."
+msgstr "10 razy lepsze doświadczenie podpisywania."
+
+#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:51
+msgid "Add document"
+msgstr "Dodaj dokument"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:201
+msgid "Add More Users for {0}"
+msgstr "Dodaj więcej użytkowników za {0}"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:165
+msgid "All our metrics, finances, and learnings are public. We believe in transparency and want to share our journey with you. You can read more about why here: <0>Announcing Open Metrics0>"
+msgstr "Wszystkie nasze metryki, finanse i nauki są publiczne. Wierzymy w przejrzystość i chcemy dzielić się naszą podróżą z Tobą. Możesz przeczytać więcej o tym, dlaczego tutaj: <0>Ogłaszamy otwarte metryki0>"
+
+#: apps/marketing/src/app/(marketing)/open/funding-raised.tsx:58
+#: apps/marketing/src/app/(marketing)/open/funding-raised.tsx:65
+msgid "Amount Raised"
+msgstr "Zebrana kwota"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:145
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:189
+msgid "API Access"
+msgstr "Dostęp do API"
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:67
+msgid "Beautiful."
+msgstr "Piękny."
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:69
+msgid "Because signing should be celebrated. That’s why we care about the smallest detail in our product."
+msgstr "Ponieważ podpisywanie powinno być celebrowane. Dlatego dbamy o najmniejszy detal w naszym produkcie."
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:35
+#: apps/marketing/src/components/(marketing)/header.tsx:57
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:36
+msgid "Blog"
+msgstr "Blog"
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:64
+msgid "Build on top."
+msgstr "Buduj na szczycie."
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:163
+msgid "Can I use Documenso commercially?"
+msgstr "Czy mogę używać Documenso komercyjnie?"
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:42
+msgid "Careers"
+msgstr "Kariera"
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:36
+msgid "Changelog"
+msgstr "Dziennik zmian"
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:85
+msgid "Choose a template from the community app store. Or submit your own template for others to use."
+msgstr "Wybierz szablon z sklepu aplikacji społeczności. Lub przekaż swój własny szablon, aby inni mogli z niego korzystać."
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:219
+msgid "Community"
+msgstr "Społeczność"
+
+#: apps/marketing/src/app/(marketing)/open/monthly-completed-documents-chart.tsx:55
+msgid "Completed Documents"
+msgstr "Zakończone dokumenty"
+
+#: apps/marketing/src/app/(marketing)/open/monthly-completed-documents-chart.tsx:33
+msgid "Completed Documents per Month"
+msgstr "Zakończone dokumenty na miesiąc"
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:65
+msgid "Connections"
+msgstr "Połączenia"
+
+#: apps/marketing/src/components/(marketing)/enterprise.tsx:35
+msgid "Contact Us"
+msgstr "Skontaktuj się z nami"
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:67
+msgid "Create connections and automations with Zapier and more to integrate with your favorite tools."
+msgstr "Twórz połączenia i automatyzacje z Zapier i innymi, aby zintegrować z ulubionymi narzędziami."
+
+#: apps/marketing/src/components/(marketing)/call-to-action.tsx:23
+msgid "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp."
+msgstr "Utwórz konto i rozpocznij korzystanie z nowoczesnego podpisywania dokumentów. Otwarty i piękny podpis jest w Twoim zasięgu."
+
+#: apps/marketing/src/app/(marketing)/open/tooltip.tsx:35
+msgid "Customers with an Active Subscriptions."
+msgstr "Klienci z aktywnymi subskrypcjami."
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:33
+msgid "Customise and expand."
+msgstr "Dostosuj i rozwijaj."
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:38
+msgid "Design"
+msgstr "Projekt"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:44
+msgid "Designed for every stage of your journey."
+msgstr "Zaprojektowane na każdy etap Twojej podróży."
+
+#: apps/marketing/src/components/(marketing)/carousel.tsx:40
+msgid "Direct Link"
+msgstr "Bezpośredni link"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:181
+msgid "Documenso is a community effort to create an open and vibrant ecosystem around a tool, everybody is free to use and adapt. By being truly open we want to create trusted infrastructure for the future of the internet."
+msgstr "Documenso to społeczny wysiłek na rzecz stworzenia otwartego i żywotnego ekosystemu wokół narzędzia, z którego każdy może korzystać i dostosowywać. Bycie naprawdę otwartym oznacza tworzenie zaufanej infrastruktury dla przyszłości internetu."
+
+#: apps/marketing/src/app/(marketing)/open/typefully.tsx:28
+msgid "Documenso on X"
+msgstr "Documenso na X"
+
+#: apps/marketing/src/components/(marketing)/hero.tsx:104
+msgid "Document signing,<0/>finally open source."
+msgstr "Podpisywanie dokumentów,<0/>w końcu open source."
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:33
+#: apps/marketing/src/components/(marketing)/header.tsx:50
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:28
+msgid "Documentation"
+msgstr "Dokumentacja"
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:110
+msgid "Easily embed Documenso into your product. Simply copy and paste our react widget into your application."
+msgstr "Łatwe osadzenie Documenso w Twoim produkcie. Po prostu skopiuj i wklej nasz widget react do swojej aplikacji."
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:46
+msgid "Easy Sharing."
+msgstr "Łatwe udostępnianie."
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:148
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:192
+msgid "Email and Discord Support"
+msgstr "Wsparcie E-mail i Discord"
+
+#: apps/marketing/src/app/(marketing)/open/team-members.tsx:43
+msgid "Engagement"
+msgstr "Zaangażowanie"
+
+#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:64
+msgid "Enter your details."
+msgstr "Wprowadź swoje dane."
+
+#: apps/marketing/src/components/(marketing)/enterprise.tsx:16
+msgid "Enterprise Compliance, License or Technical Needs?"
+msgstr "Zgodność z przepisami dotyczącymi przedsiębiorstw, licencje lub potrzeby techniczne?"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:128
+msgid "Everything you need for a great signing experience."
+msgstr "Wszystko, czego potrzebujesz, aby mieć wspaniałe doświadczenie podpisywania."
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:45
+msgid "Fast."
+msgstr "Szybkie."
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:36
+msgid "Faster, smarter and more beautiful."
+msgstr "Szybszy, mądrzejszy i piękniejszy."
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:210
+msgid "Finances"
+msgstr "Finanse"
+
+#: apps/marketing/src/app/(marketing)/open/typefully.tsx:38
+msgid "Follow us on X"
+msgstr "Śledź nas na X"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:172
+msgid "For companies looking to scale across multiple teams."
+msgstr "Dla firm, które chcą się rozwijać w wielu zespołach."
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:85
+msgid "For small teams and individuals with basic needs."
+msgstr "Dla małych zespołów i osób z podstawowymi potrzebami."
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:80
+msgid "Free"
+msgstr "Darmowy"
+
+#: apps/marketing/src/app/(marketing)/blog/page.tsx:26
+msgid "From the blog"
+msgstr "Z bloga"
+
+#: apps/marketing/src/app/(marketing)/open/data.ts:9
+#: apps/marketing/src/app/(marketing)/open/data.ts:17
+#: apps/marketing/src/app/(marketing)/open/data.ts:25
+#: apps/marketing/src/app/(marketing)/open/data.ts:33
+#: apps/marketing/src/app/(marketing)/open/data.ts:41
+#: apps/marketing/src/app/(marketing)/open/data.ts:49
+msgid "Full-Time"
+msgstr "Pełnoetatowy"
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:87
+msgid "Get paid (Soon)."
+msgstr "Zapłać (Wkrótce)."
+
+#: apps/marketing/src/components/(marketing)/call-to-action.tsx:31
+msgid "Get started"
+msgstr "Rozpocznij"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:75
+msgid "Get Started"
+msgstr "Rozpocznij"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:47
+msgid "Get started today."
+msgstr "Rozpocznij dzisiaj."
+
+#: apps/marketing/src/app/(marketing)/blog/page.tsx:30
+msgid "Get the latest news from Documenso, including product updates, team announcements and more!"
+msgstr "Otrzymaj najnowsze wiadomości od Documenso, w tym aktualizacje produktów, ogłoszenia zespołowe i inne!"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:233
+msgid "GitHub: Total Merged PRs"
+msgstr "GitHub: Całkowita liczba scalonych PR-ów"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:251
+msgid "GitHub: Total Open Issues"
+msgstr "GitHub: Całkowita liczba otwartych problemów"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:225
+msgid "GitHub: Total Stars"
+msgstr "GitHub: Całkowita liczba gwiazdek"
+
+#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:23
+msgid "Global Salary Bands"
+msgstr "Globalne stawki płacy"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:261
+msgid "Growth"
+msgstr "Wzrost"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:134
+msgid "How can I contribute?"
+msgstr "Jak mogę się przyczynić?"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:105
+msgid "How do you handle my data?"
+msgstr "Jak radzisz sobie z moimi danymi?"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:118
+msgid "Individual"
+msgstr "Indywidualny"
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:89
+msgid "Integrated payments with Stripe so you don’t have to worry about getting paid."
+msgstr "Zintegrowane płatności z Stripe, więc nie musisz się martwić o to, aby otrzymać zapłatę."
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:35
+msgid "Integrates with all your favourite tools."
+msgstr "Integruje się ze wszystkimi Twoimi ulubionymi narzędziami."
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:289
+msgid "Is there more?"
+msgstr "Czy jest więcej?"
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:44
+msgid "It’s up to you. Either clone our repository or rely on our easy to use hosting solution."
+msgstr "To zależy od Ciebie. Albo sklonuj nasze repozytorium, albo polegaj na naszym łatwym w użyciu rozwiązaniu hostingowym."
+
+#: apps/marketing/src/app/(marketing)/open/team-members.tsx:49
+msgid "Join Date"
+msgstr "Data przystąpienia"
+
+#: apps/marketing/src/components/(marketing)/call-to-action.tsx:19
+msgid "Join the Open Signing Movement"
+msgstr "Dołącz do ruchu otwartego podpisywania"
+
+#: apps/marketing/src/app/(marketing)/open/team-members.tsx:46
+msgid "Location"
+msgstr "Lokalizacja"
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:66
+msgid "Make it your own through advanced customization and adjustability."
+msgstr "Spraw, aby było to Twoje dzięki zaawansowanej personalizacji i elastyczności."
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:199
+msgid "Merged PR's"
+msgstr "Scalone PR-y"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:234
+msgid "Merged PRs"
+msgstr "Scalone PR"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:40
+msgid "Monthly"
+msgstr "Miesięcznie"
+
+#: apps/marketing/src/app/(marketing)/open/team-members.tsx:34
+msgid "Name"
+msgstr "Nazwa"
+
+#: apps/marketing/src/app/(marketing)/open/monthly-new-users-chart.tsx:30
+#: apps/marketing/src/app/(marketing)/open/monthly-new-users-chart.tsx:43
+#: apps/marketing/src/app/(marketing)/open/monthly-new-users-chart.tsx:52
+msgid "New Users"
+msgstr "Nowi użytkownicy"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:106
+msgid "No credit card required"
+msgstr "Nie jest wymagana karta kredytowa"
+
+#: apps/marketing/src/components/(marketing)/callout.tsx:29
+#: apps/marketing/src/components/(marketing)/hero.tsx:125
+msgid "No Credit Card required"
+msgstr "Nie jest wymagana karta kredytowa"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:61
+msgid "None of these work for you? Try self-hosting!"
+msgstr "Żaden z tych wariantów nie działa dla Ciebie? Spróbuj samodzielnego hostingu!"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:194
+#: apps/marketing/src/app/(marketing)/open/page.tsx:252
+msgid "Open Issues"
+msgstr "Otwarte problemy"
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:42
+msgid "Open Source or Hosted."
+msgstr "Oprogramowanie otwarte lub hostowane."
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:161
+#: apps/marketing/src/components/(marketing)/footer.tsx:37
+#: apps/marketing/src/components/(marketing)/header.tsx:64
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:40
+msgid "Open Startup"
+msgstr "Otwarte startupy"
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:41
+msgid "OSS Friends"
+msgstr "Przyjaciele OSS"
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:91
+msgid "Our custom templates come with smart rules that can help you save time and energy."
+msgstr "Nasze niestandardowe szablony mają inteligentne zasady, które mogą pomóc Ci zaoszczędzić czas i energię."
+
+#: apps/marketing/src/components/(marketing)/enterprise.tsx:20
+msgid "Our Enterprise License is great for large organizations looking to switch to Documenso for all their signing needs. It's available for our cloud offering as well as self-hosted setups and offers a wide range of compliance and Adminstration Features."
+msgstr "Nasza licencja dla przedsiębiorstw jest doskonała dla dużych organizacji szukających zmiany na Documenso dla wszystkich swoich potrzeb związanych z podpisywaniem. Jest dostępna zarówno w naszej chmurze, jak i w ustawieniach do samodzielnego hostingu i oferuje szeroki zakres funkcji zgodności i administracyjnych."
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:65
+msgid "Our self-hosted option is great for small teams and individuals who need a simple solution. You can use our docker based setup to get started in minutes. Take control with full customizability and data ownership."
+msgstr "Nasza opcja hostingu własnego jest świetna dla małych zespołów i osób, które potrzebują prostego rozwiązania. Możesz użyć naszego zestawu opartego na dockerze, aby rozpocząć w ciągu kilku minut. Przejmij kontrolę z pełną możliwością dostosowania i własnością danych."
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:151
+msgid "Premium Profile Name"
+msgstr "Nazwa profilu premium"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:40
+#: apps/marketing/src/components/(marketing)/footer.tsx:31
+#: apps/marketing/src/components/(marketing)/header.tsx:42
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:24
+msgid "Pricing"
+msgstr "Cennik"
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:43
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:53
+msgid "Privacy"
+msgstr "Prywatność"
+
+#: apps/marketing/src/components/(marketing)/carousel.tsx:58
+msgid "Profile"
+msgstr "Profil"
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:108
+msgid "React Widget (Soon)."
+msgstr "Widget React (Wkrótce)."
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:48
+msgid "Receive your personal link to share with everyone you care about."
+msgstr "Otrzymaj link do osobistego udostępnienia wszystkim, na których Ci zależy."
+
+#: apps/marketing/src/app/(marketing)/open/team-members.tsx:37
+msgid "Role"
+msgstr "Rola"
+
+#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:37
+#: apps/marketing/src/app/(marketing)/open/team-members.tsx:40
+msgid "Salary"
+msgstr "Wynagrodzenie"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:62
+msgid "Save $60 or $120"
+msgstr "Zaoszczędź 60 $ lub 120 $"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:109
+msgid "Securely. Our data centers are located in Frankfurt (Germany), giving us the best local privacy laws. We are very aware of the sensitive nature of our data and follow best practices to ensure the security and integrity of the data entrusted to us."
+msgstr "Bezpiecznie. Nasze centra danych znajdują się we Frankfurcie (Niemcy), co daje nam najlepsze lokalne przepisy o prywatności. Jesteśmy bardzo świadomi wrażliwego charakteru naszych danych i przestrzegamy najlepszych praktyk, aby zapewnić bezpieczeństwo i integralność danych, które nam powierzono."
+
+#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:37
+msgid "Send, connect, receive and embed everywhere."
+msgstr "Wysyłaj, łącz, odbieraj i osadzaj wszędzie."
+
+#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:34
+msgid "Seniority"
+msgstr "Poziom"
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:39
+msgid "Shop"
+msgstr "Sklep"
+
+#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:63
+msgid "Sign"
+msgstr "Podpisz"
+
+#: apps/marketing/src/components/(marketing)/header.tsx:72
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:61
+msgid "Sign in"
+msgstr "Zaloguj się"
+
+#: apps/marketing/src/components/(marketing)/header.tsx:77
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:57
+msgid "Sign up"
+msgstr "Zarejestruj się"
+
+#: apps/marketing/src/components/(marketing)/carousel.tsx:22
+msgid "Signing Process"
+msgstr "Proces podpisywania"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:94
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:136
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:180
+msgid "Signup Now"
+msgstr "Zapisz się teraz"
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:89
+msgid "Smart."
+msgstr "Inteligentny."
+
+#: apps/marketing/src/components/(marketing)/hero.tsx:132
+msgid "Star on GitHub"
+msgstr "Dodaj gwiazdkę na GitHubie"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:226
+msgid "Stars"
+msgstr "Gwiazdy"
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:40
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:44
+msgid "Status"
+msgstr "Status"
+
+#: apps/marketing/src/components/(marketing)/footer.tsx:34
+#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:48
+msgid "Support"
+msgstr "Wsparcie"
+
+#: apps/marketing/src/app/(marketing)/open/team-members.tsx:26
+msgid "Team"
+msgstr "Zespół"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:195
+msgid "Team Inbox"
+msgstr "Skrzynka zespołowa"
+
+#: apps/marketing/src/components/(marketing)/carousel.tsx:28
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:162
+msgid "Teams"
+msgstr "Zespoły"
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:83
+msgid "Template Store (Soon)."
+msgstr "Sklep z szablonami (Wkrótce)."
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:138
+msgid "That's awesome. You can take a look at the current <0>Issues0> and join our <1>Discord Community1> to keep up to date, on what the current priorities are. In any case, we are an open community and welcome all input, technical and non-technical ❤️"
+msgstr "To niesamowite. Możesz spojrzeć na aktualne <0>Problemy0> i dołączyć do naszej <1>społeczności Discord1>, aby być na bieżąco z aktualnymi priorytetami. W każdym razie jesteśmy otwartą społecznością i witamy wszelkie opinie, techniczne i nietechniczne ❤️"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:293
+msgid "This page is evolving as we learn what makes a great signing company. We'll update it when we have more to share."
+msgstr "Ta strona ewoluuje, gdy uczymy się, co czyni firmę podpisującą doskonałą. Zaktualizujemy ją, gdy będziemy mieli więcej do podzielenia się."
+
+#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:31
+msgid "Title"
+msgstr "Tytuł"
+
+#: apps/marketing/src/app/(marketing)/open/total-signed-documents-chart.tsx:30
+#: apps/marketing/src/app/(marketing)/open/total-signed-documents-chart.tsx:55
+msgid "Total Completed Documents"
+msgstr "Całkowita liczba zakończonych dokumentów"
+
+#: apps/marketing/src/app/(marketing)/open/page.tsx:267
+#: apps/marketing/src/app/(marketing)/open/page.tsx:268
+msgid "Total Customers"
+msgstr "Całkowita liczba klientów"
+
+#: apps/marketing/src/app/(marketing)/open/funding-raised.tsx:29
+msgid "Total Funding Raised"
+msgstr "Całkowita kwota zebrana"
+
+#: apps/marketing/src/app/(marketing)/open/monthly-total-users-chart.tsx:30
+#: apps/marketing/src/app/(marketing)/open/monthly-total-users-chart.tsx:43
+#: apps/marketing/src/app/(marketing)/open/monthly-total-users-chart.tsx:52
+msgid "Total Users"
+msgstr "Całkowita liczba użytkowników"
+
+#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:31
+msgid "Truly your own."
+msgstr "Naprawdę twoje."
+
+#: apps/marketing/src/components/(marketing)/callout.tsx:27
+#: apps/marketing/src/components/(marketing)/hero.tsx:123
+msgid "Try our Free Plan"
+msgstr "Wypróbuj nasz plan darmowy"
+
+#: apps/marketing/src/app/(marketing)/open/typefully.tsx:20
+msgid "Twitter Stats"
+msgstr "Statystyki Twittera"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:142
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:186
+msgid "Unlimited Documents per Month"
+msgstr "Nieograniczone dokumenty miesięcznie"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:103
+msgid "Up to 10 recipients per document"
+msgstr "Do 10 odbiorców na dokument"
+
+#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:52
+msgid "Upload a document and add fields."
+msgstr "Prześlij dokument i dodaj pola."
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:123
+msgid "Using our hosted version is the easiest way to get started, you can simply subscribe and start signing your documents. We take care of the infrastructure, so you can focus on your business. Additionally, when using our hosted version you benefit from our trusted signing certificates which helps you to build trust with your customers."
+msgstr "Korzystanie z naszej wersji hostowanej jest najłatwiejszym sposobem na rozpoczęcie, możesz po prostu subskrybować i zacząć podpisywanie swoich dokumentów. Zajmujemy się infrastrukturą, abyś mógł skupić się na swoim biznesie. Dodatkowo, korzystając z naszej wersji hostowanej, korzystasz z naszych zaufanych certyfikatów podpisujących, co pomaga budować zaufanie u Twoich klientów."
+
+#: apps/marketing/src/app/(marketing)/open/typefully.tsx:33
+msgid "View all stats"
+msgstr "Zobacz wszystkie statystyki"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:195
+msgid "We are happy to assist you at <0>support@documenso.com0> or <1>in our Discord-Support-Channel1> please message either Lucas or Timur to get added to the channel if you are not already a member."
+msgstr "Cieszymy się, że możemy Ci pomóc pod adresem <0>support@documenso.com0> lub <1>w naszym kanale wsparcia na Discordzie1>, proszę napisz do Lucasa lub Timura, aby zostać dodanym do kanału, jeśli jeszcze nie jesteś członkiem."
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:89
+msgid "What is the difference between the plans?"
+msgstr "Jaka jest różnica między planami?"
+
+#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:47
+msgid "When it comes to sending or receiving a contract, you can count on lightning-fast speeds."
+msgstr "Jeśli chodzi o wysyłanie lub odbieranie umowy, możesz liczyć na błyskawiczne prędkości."
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:191
+msgid "Where can I get support?"
+msgstr "Gdzie mogę uzyskać pomoc?"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:177
+msgid "Why should I prefer Documenso over DocuSign or some other signing tool?"
+msgstr "Dlaczego powinienem preferować Documenso zamiast DocuSign lub innego narzędzia do podpisywania?"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:119
+msgid "Why should I use your hosting service?"
+msgstr "Dlaczego powinienem korzystać z usługi hostingu?"
+
+#: apps/marketing/src/components/(marketing)/pricing-table.tsx:60
+msgid "Yearly"
+msgstr "Rocznie"
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:167
+msgid "Yes! Documenso is offered under the GNU AGPL V3 open source license. This means you can use it for free and even modify it to fit your needs, as long as you publish your changes under the same license."
+msgstr "Tak! Documenso jest oferowane na podstawie licencji GNU AGPL V3 open source. Oznacza to, że możesz z niego korzystać bezpłatnie, a nawet modyfikować je zgodnie ze swoimi potrzebami, o ile opublikujesz swoje zmiany na tej samej licencji."
+
+#: apps/marketing/src/app/(marketing)/pricing/page.tsx:93
+msgid "You can self-host Documenso for free or use our ready-to-use hosted version. The hosted version comes with additional support, painless scalability and more. Early adopters will get access to all features we build this year, for no additional cost! Forever! Yes, that includes multiple users per account later. If you want Documenso for your enterprise, we are happy to talk about your needs."
+msgstr "Możesz samodzielnie hostować Documenso za darmo lub skorzystać z naszej gotowej wersji hostowanej. Wersja hostowana zapewnia dodatkowe wsparcie, łatwą skalowalność i inne. Wczesni użytkownicy będą mieli dostęp do wszystkich funkcji, które budujemy w tym roku, bez dodatkowych kosztów! Na zawsze! Tak, to obejmuje wielu użytkowników na konto później. Jeśli chcesz Documenso dla swojej firmy, chętnie porozmawiamy o Twoich potrzebach."
+
+#: apps/marketing/src/components/(marketing)/carousel.tsx:272
+msgid "Your browser does not support the video tag."
+msgstr "Twoja przeglądarka nie obsługuje tagu wideo."
+
diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po
new file mode 100644
index 000000000..d42f19a19
--- /dev/null
+++ b/packages/lib/translations/pl/web.po
@@ -0,0 +1,5076 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2024-07-24 13:01+1000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: pl\n"
+"Project-Id-Version: documenso-app\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2024-11-12 08:43\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"
+"X-Crowdin-Project: documenso-app\n"
+"X-Crowdin-Project-ID: 694691\n"
+"X-Crowdin-Language: pl\n"
+"X-Crowdin-File: web.po\n"
+"X-Crowdin-File-ID: 8\n"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
+msgid "\"{0}\" has invited you to sign \"example document\"."
+msgstr "\"{0}\" zaprosił Cię do podpisania \"przykładowego dokumentu\"."
+
+#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
+msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
+msgstr "\"{0}\" pojawi się w dokumencie, ponieważ ma strefę czasową \"{timezone}\"."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:60
+msgid "\"{documentTitle}\" has been successfully deleted"
+msgstr "\"{documentTitle}\" został pomyślnie usunięty"
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
+msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
+msgstr "\"{email}\" w imieniu \"{teamName}\" zaprosił Cię do podpisania \"przykładowego dokumentu\"."
+
+#: 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\n"
+#~ "document\"."
+#~ 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 "\"{placeholderEmail}\" w imieniu \"{0}\" zaprosił Cię do podpisania \"przykładowego dokumentu\"."
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
+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
+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
+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
+msgid "({0}) has invited you to view this document"
+msgstr "({0}) zaprosił Cię do przeglądania tego dokumentu"
+
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311
+msgid "{0, plural, one {(1 character over)} other {(# characters over)}}"
+msgstr "{0, plural, one {(1 znak przekroczony)} other {(# znaków przekroczonych)}}"
+
+#: apps/web/src/components/forms/public-profile-form.tsx:237
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:395
+msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}"
+msgstr "{0, plural, one {# znak przekroczony} other {# znaki przekroczone}}"
+
+#: apps/web/src/app/(recipient)/d/[token]/page.tsx:82
+msgid "{0, plural, one {# recipient} other {# recipients}}"
+msgstr "{0, plural, one {# odbiorca} other {# odbiorców}}"
+
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:66
+msgid "{0, plural, one {# Seat} other {# Seats}}"
+msgstr "{0, plural, one {# miejsce} other {# miejsc}}"
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:37
+#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:66
+msgid "{0, plural, one {<0>You have <1>11> pending team invitation0>} other {<2>You have <3>#3> pending team invitations2>}}"
+msgstr "{0, plural, one {<0>Masz <1>11> oczekujące zaproszenie do zespołu0>} other {<2>Masz <3>#3> oczekujących zaproszeń do zespołu2>}}"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
+msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
+msgstr "{0, plural, one {1 Odbiorca} other {# Odbiorców}}"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
+msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
+msgstr "{0, plural, one {Czekam na 1 odbiorcę} other {Czekam na # odbiorców}}"
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/trigger-multiselect-combobox.tsx:64
+msgid "{0, plural, zero {Select values} other {# selected...}}"
+msgstr "{0, plural, zero {Wybierz wartości} other {# wybranych...}}"
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249
+msgid "{0} direct signing templates"
+msgstr "{0} bezpośrednich szablonów podpisu"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:66
+#~ msgid "{0} document"
+#~ msgstr "{0} document"
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:146
+msgid "{0} of {1} documents remaining this month."
+msgstr "{0} z {1} dokumentów pozostałych w tym miesiącu."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
+msgid "{0} Recipient(s)"
+msgstr "{0} Odbiorca (ów)"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+#~ msgid "{0} the document to complete the process."
+#~ msgstr "{0} the document to complete the process."
+
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
+msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
+msgstr "{charactersRemaining, plural, one {1 znak pozostały} other {{charactersRemaining} znaki pozostałe}}"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:55
+msgid "{formattedTeamMemberQuanity} • Monthly • Renews: {formattedDate}"
+msgstr "{formattedTeamMemberQuanity} • Miesięcznie • Odnawia się: {formattedDate}"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:48
+msgid "{numberOfSeats, plural, one {# member} other {# members}}"
+msgstr "{numberOfSeats, plural, one {# członek} other {# członków}}"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
+msgid "{recipientActionVerb} document"
+msgstr "{recipientActionVerb} dokument"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
+msgid "{recipientActionVerb} the document to complete the process."
+msgstr "{recipientActionVerb} dokument, aby zakończyć proces."
+
+#: apps/web/src/components/forms/public-profile-form.tsx:231
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
+msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}"
+msgstr "{remaningLength, plural, one {# znak pozostały} other {# znaki pozostałe}}"
+
+#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:45
+msgid "<0>\"{0}\"0>is no longer available to sign"
+msgstr "<0>\"{0}\"0>nie jest już dostępny do podpisu"
+
+#: apps/web/src/app/(dashboard)/documents/data-table-sender-filter.tsx:57
+msgid "<0>Sender:0> All"
+msgstr "<0>Rządzący:0> Wszyscy"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
+msgid "1 month"
+msgstr "1 miesiąc"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8
+msgid "12 months"
+msgstr "12 miesięcy"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6
+msgid "3 months"
+msgstr "3 miesiące"
+
+#: apps/web/src/components/partials/not-found.tsx:45
+msgid "404 Page not found"
+msgstr "404 Strona nie znaleziona"
+
+#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:15
+msgid "404 Profile not found"
+msgstr "404 Profil nie znaleziony"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:15
+msgid "404 Team not found"
+msgstr "404 Zespół nie znaleziony"
+
+#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:15
+msgid "404 Template not found"
+msgstr "404 Szablon nie znaleziony"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7
+msgid "6 months"
+msgstr "6 miesięcy"
+
+#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4
+msgid "7 days"
+msgstr "7 dni"
+
+#: apps/web/src/components/forms/send-confirmation-email.tsx:55
+msgid "A confirmation email has been sent, and it should arrive in your inbox shortly."
+msgstr "E-mail potwierdzający został wysłany i powinien niedługo dotrzeć do Twojej skrzynki odbiorczej."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70
+msgid "A device capable of accessing, opening, and reading documents"
+msgstr "Urządzenie zdolne do uzyskiwania dostępu, otwierania i czytania dokumentów"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
+msgid "A draft document will be created"
+msgstr "Zostanie utworzony szkic dokumentu"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73
+msgid "A means to print or download documents for your records"
+msgstr "Środek do drukowania lub pobierania dokumentów do swoich zapisów"
+
+#: apps/web/src/components/forms/token.tsx:127
+msgid "A new token was created successfully."
+msgstr "Nowy token został pomyślnie utworzony."
+
+#: apps/web/src/app/(unauthenticated)/check-email/page.tsx:24
+#: apps/web/src/components/forms/forgot-password.tsx:58
+msgid "A password reset email has been sent, if you have an account you should see it in your inbox shortly."
+msgstr "E-mail z linkiem do resetowania hasła został wysłany. Jeśli masz konto, powinieneś go niedługo zobaczyć w skrzynce odbiorczej."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:94
+msgid "A request to transfer the ownership of this team has been sent to <0>{0} ({1})0>"
+msgstr "Wniosek o przeniesienie własności tego zespołu został wysłany do <0>{0} ({1})0>"
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:228
+msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso"
+msgstr "Sekret, który zostanie wysłany na Twój adres URL, abyś mógł zweryfikować, że prośba została wysłana przez Documenso"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:196
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:198
+msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso."
+msgstr "Sekret, który zostanie wysłany na Twój adres URL, abyś mógł zweryfikować, że prośba została wysłana przez Documenso."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64
+msgid "A stable internet connection"
+msgstr "Stabilne połączenie internetowe"
+
+#: apps/web/src/components/forms/public-profile-form.tsx:198
+msgid "A unique URL to access your profile"
+msgstr "Unikalny URL do dostępu do Twojego profilu"
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
+msgid "A unique URL to identify your team"
+msgstr "Unikalny URL do identyfikacji Twojego zespołu"
+
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:137
+msgid "A verification email will be sent to the provided email."
+msgstr "E-mail weryfikacyjny zostanie wysłany na podany adres e-mail."
+
+#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:46
+msgid "Accept"
+msgstr "Akceptuj"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33
+msgid "Acceptance and Consent"
+msgstr "Akceptacja i Zgoda"
+
+#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26
+msgid "Accepted team invitation"
+msgstr "Akceptowane zaproszenie do zespołu"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:128
+msgid "Account Authentication"
+msgstr "Autoryzacja konta"
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:48
+msgid "Account deleted"
+msgstr "Konto usunięte"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:119
+msgid "Account Re-Authentication"
+msgstr "Ponowna autoryzacja konta"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139
+msgid "Acknowledgment"
+msgstr "Potwierdzenie"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
+#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
+msgid "Action"
+msgstr "Akcja"
+
+#: apps/web/src/app/(dashboard)/documents/data-table.tsx:85
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:118
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:127
+msgid "Actions"
+msgstr "Akcje"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
+#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
+#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
+msgid "Active"
+msgstr "Aktywny"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:68
+msgid "Active Subscriptions"
+msgstr "Aktywne subskrypcje"
+
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:189
+msgid "Add"
+msgstr "Dodaj"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
+msgid "Add all relevant fields for each recipient."
+msgstr "Dodaj wszystkie istotne pola dla każdego odbiorcy."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83
+msgid "Add all relevant placeholders for each recipient."
+msgstr "Dodaj wszystkie istotne znaczniki dla każdego odbiorcy."
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:62
+msgid "Add an authenticator to serve as a secondary authentication method for signing documents."
+msgstr "Dodaj autoryzator, aby służył jako dodatkowa metoda uwierzytelniania do podpisywania dokumentów."
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:57
+msgid "Add an authenticator to serve as a secondary authentication method when signing in, or when signing documents."
+msgstr "Dodaj autoryzator, aby służył jako dodatkowa metoda uwierzytelniania podczas logowania lub podpisywania dokumentów."
+
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:125
+msgid "Add email"
+msgstr "Dodaj e-mail"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
+msgid "Add Fields"
+msgstr "Dodaj pola"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:364
+msgid "Add more"
+msgstr "Dodaj więcej"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:146
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:154
+msgid "Add passkey"
+msgstr "Dodaj klucz hasła"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82
+msgid "Add Placeholders"
+msgstr "Dodaj znaczniki"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
+msgid "Add Signers"
+msgstr "Dodaj sygnatariuszy"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
+#~ msgid "Add Subject"
+#~ msgstr "Add Subject"
+
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
+msgid "Add team email"
+msgstr "Dodaj e-mail zespołowy"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
+msgid "Add the people who will sign the document."
+msgstr "Dodaj osoby, które podpiszą dokument."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
+msgid "Add the recipients to create the document with"
+msgstr "Dodaj odbiorców, aby stworzyć dokument"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+#~ msgid "Add the subject and message you wish to send to signers."
+#~ msgstr "Add the subject and message you wish to send to signers."
+
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
+msgid "Adding and removing seats will adjust your invoice accordingly."
+msgstr "Dodawanie i usuwanie miejsc dostosuje fakturę odpowiednio."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
+msgid "Additional brand information to display at the bottom of emails"
+msgstr "Dodatkowe informacje o marce do wyświetlenia na dole wiadomości e-mail"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
+msgid "Admin Actions"
+msgstr "Akcje administratora"
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:262
+msgid "Admin panel"
+msgstr "Panel administracyjny"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129
+msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time."
+msgstr "Po podpisaniu dokumentu elektronicznie, otrzymasz możliwość obejrzenia, pobrania i wydrukowania dokumentu dla swoich zapisów. Zaleca się, abyś zachował kopię wszystkich podpisanych elektronicznie dokumentów dla swoich osobistych zapisów. My również zachowamy kopię podpisanego dokumentu w naszych zapisach, jednak możemy nie być w stanie dostarczyć ci kopii podpisanego dokumentu po pewnym czasie."
+
+#: apps/web/src/components/formatter/document-status.tsx:46
+msgid "All"
+msgstr "Wszystko"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:42
+msgid "All documents"
+msgstr "Wszystkie dokumenty"
+
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
+msgid "All documents have been processed. Any new documents that are sent or received will show here."
+msgstr "Wszystkie dokumenty zostały przetworzone. Wszelkie nowe dokumenty, które są wysyłane lub odbierane, będą tutaj widoczne."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81
+msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails."
+msgstr "Wszystkie dokumenty związane z procesem podpisywania elektronicznego będą dostarczane do Ciebie elektronicznie za pośrednictwem naszej platformy lub za pośrednictwem e-maila. To Twoja odpowiedzialność, aby upewnić się, że twój adres e-mail jest aktualny i że możesz odbierać i otwierać nasze e-maile."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
+msgid "All inserted signatures will be voided"
+msgstr "Wszystkie wstawione podpisy zostaną unieważnione"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:148
+msgid "All recipients will be notified"
+msgstr "Wszyscy odbiorcy zostaną powiadomieni"
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
+msgid "All signing links have been copied to your clipboard."
+msgstr "Wszystkie linki do podpisania zostały skopiowane do schowka."
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
+msgid "All templates"
+msgstr "Wszystkie szablony"
+
+#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:55
+msgid "All Time"
+msgstr "Wszystko"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:110
+msgid "Allows authenticating using biometrics, password managers, hardware keys, etc."
+msgstr "Pozwala na uwierzytelnianie za pomocą biometrii, menedżerów haseł, kluczy sprzętowych itp."
+
+#: apps/web/src/components/forms/v2/signup.tsx:423
+msgid "Already have an account? <0>Sign in instead0>"
+msgstr "Masz już konto? <0>Zaloguj się zamiast tego0>"
+
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:86
+msgid "Amount"
+msgstr "Kwota"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48
+msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper."
+msgstr "Podpis elektroniczny dostarczony przez Ciebie na naszej platformie, zrealizowany poprzez kliknięcie na dokument i wpisanie swojego imienia, lub dowolną inną metodą podpisu elektronicznego, którą udostępniamy, jest prawnie wiążący. Nosi tę samą wagę i wykonalność jak ręczny podpis wykonany tuszem na papierze."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67
+msgid "An email account"
+msgstr "Konto e-mail"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262
+msgid "An email containing an invitation will be sent to each member."
+msgstr "E-mail zawierający zaproszenie zostanie wysłany do każdego członka."
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:109
+msgid "An email requesting the transfer of this team has been sent."
+msgstr "E-mail z prośbą o przeniesienie tego zespołu został wysłany."
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:60
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:83
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:60
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:57
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:92
+#: apps/web/src/components/forms/avatar-image.tsx:116
+#: apps/web/src/components/forms/password.tsx:78
+#: apps/web/src/components/forms/profile.tsx:81
+#: apps/web/src/components/forms/reset-password.tsx:81
+#: apps/web/src/components/forms/signup.tsx:107
+#: apps/web/src/components/forms/token.tsx:137
+#: apps/web/src/components/forms/v2/signup.tsx:154
+msgid "An error occurred"
+msgstr "Wystąpił błąd"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
+msgid "An error occurred while adding signers."
+msgstr "Wystąpił błąd podczas dodawania sygnatariuszy."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
+msgid "An error occurred while adding the fields."
+msgstr "Wystąpił błąd podczas dodawania pól."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
+msgid "An error occurred while creating document from template."
+msgstr "Wystąpił błąd podczas tworzenia dokumentu z szablonu."
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:102
+msgid "An error occurred while creating the webhook. Please try again."
+msgstr "Wystąpił błąd podczas tworzenia webhooka. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:124
+msgid "An error occurred while disabling direct link signing."
+msgstr "Wystąpił błąd podczas dezaktywacji podpisywania za pomocą linku bezpośredniego."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:64
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:92
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:107
+msgid "An error occurred while downloading your document."
+msgstr "Wystąpił błąd podczas pobierania dokumentu."
+
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:52
+msgid "An error occurred while duplicating template."
+msgstr "Wystąpił błąd podczas duplikowania szablonu."
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:123
+msgid "An error occurred while enabling direct link signing."
+msgstr "Wystąpił błąd podczas aktywacji podpisywania za pomocą linku bezpośredniego."
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:299
+msgid "An error occurred while loading team members. Please try again later."
+msgstr "Wystąpił błąd podczas ładowania członków zespołu. Proszę spróbować ponownie później."
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:58
+msgid "An error occurred while moving the document."
+msgstr "Wystąpił błąd podczas przenoszenia dokumentu."
+
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:57
+msgid "An error occurred while moving the template."
+msgstr "Wystąpił błąd podczas przenoszenia szablonu."
+
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116
+msgid "An error occurred while removing the field."
+msgstr "Wystąpił błąd podczas usuwania pola."
+
+#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152
+#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126
+#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137
+#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:110
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148
+#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195
+#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173
+msgid "An error occurred while removing the signature."
+msgstr "Wystąpił błąd podczas usuwania podpisu."
+
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196
+msgid "An error occurred while removing the text."
+msgstr "Wystąpił błąd podczas usuwania tekstu."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
+msgid "An error occurred while sending the document."
+msgstr "Wystąpił błąd podczas wysyłania dokumentu."
+
+#: apps/web/src/components/forms/send-confirmation-email.tsx:63
+msgid "An error occurred while sending your confirmation email"
+msgstr "Wystąpił błąd podczas wysyłania e-maila potwierdzającego"
+
+#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:123
+#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100
+#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106
+#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122
+#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150
+#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:147
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168
+msgid "An error occurred while signing the document."
+msgstr "Wystąpił błąd podczas podpisywania dokumentu."
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:63
+msgid "An error occurred while trying to create a checkout session."
+msgstr "Wystąpił błąd podczas próby utworzenia sesji zamówienia."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
+msgid "An error occurred while updating the document settings."
+msgstr "Wystąpił błąd podczas aktualizacji ustawień dokumentu."
+
+#: apps/web/src/components/forms/team-document-settings.tsx:78
+#~ msgid "An error occurred while updating the global team settings."
+#~ msgstr "An error occurred while updating the global team settings."
+
+#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
+msgid "An error occurred while updating the signature."
+msgstr "Wystąpił błąd podczas aktualizacji podpisu."
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:79
+msgid "An error occurred while updating your profile."
+msgstr "Wystąpił błąd podczas aktualizacji profilu."
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:113
+msgid "An error occurred while uploading your document."
+msgstr "Wystąpił błąd podczas przesyłania dokumentu."
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:66
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:89
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:66
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:63
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:98
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:54
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:301
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:97
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:88
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:100
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:105
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:84
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:58
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:158
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:58
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
+#: apps/web/src/components/forms/avatar-image.tsx:94
+#: apps/web/src/components/forms/avatar-image.tsx:122
+#: apps/web/src/components/forms/password.tsx:84
+#: apps/web/src/components/forms/profile.tsx:87
+#: apps/web/src/components/forms/public-profile-claim-dialog.tsx:113
+#: apps/web/src/components/forms/public-profile-form.tsx:104
+#: apps/web/src/components/forms/reset-password.tsx:87
+#: apps/web/src/components/forms/signin.tsx:248
+#: apps/web/src/components/forms/signin.tsx:256
+#: apps/web/src/components/forms/signin.tsx:270
+#: apps/web/src/components/forms/signin.tsx:285
+#: apps/web/src/components/forms/signin.tsx:301
+#: apps/web/src/components/forms/signup.tsx:113
+#: apps/web/src/components/forms/signup.tsx:128
+#: apps/web/src/components/forms/signup.tsx:142
+#: apps/web/src/components/forms/token.tsx:143
+#: apps/web/src/components/forms/v2/signup.tsx:160
+#: apps/web/src/components/forms/v2/signup.tsx:183
+#: apps/web/src/components/forms/v2/signup.tsx:197
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:141
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:178
+msgid "An unknown error occurred"
+msgstr "Wystąpił nieznany błąd"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:260
+msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information."
+msgstr "Jakiekolwiek metody płatności przypisane do tego zespołu pozostaną przypisane do tego zespołu. Proszę skontaktować się z nami, jeśli potrzebujesz zaktualizować te informacje."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225
+msgid "Any Source"
+msgstr "Jakiekolwiek źródło"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205
+msgid "Any Status"
+msgstr "Jakikolwiek status"
+
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
+#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
+#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
+msgid "API Tokens"
+msgstr "Tokeny API"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:74
+msgid "App Version"
+msgstr "Wersja aplikacji"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
+msgid "Approve"
+msgstr "Zatwierdź"
+
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129
+msgid "Approve Document"
+msgstr "Zatwierdź dokument"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:85
+msgid "Approved"
+msgstr "Zatwierdzono"
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:129
+msgid "Are you sure you want to delete this token?"
+msgstr "Czy na pewno chcesz usunąć ten token?"
+
+#: 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>?"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:126
+msgid "Are you sure you wish to delete this team?"
+msgstr "Czy na pewno chcesz usunąć ten zespół?"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:98
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:94
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:455
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:81
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:81
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:116
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:439
+msgid "Are you sure?"
+msgstr "Czy na pewno?"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:66
+msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document."
+msgstr "Ponowne prób sealing the document, przydatne po zmianie kodu w celu rozwiązania błędnego dokumentu."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:130
+msgid "Audit Log"
+msgstr "Dziennik audytu"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:198
+msgid "Authentication Level"
+msgstr "Poziom autoryzacji"
+
+#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:41
+#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:52
+msgid "Authentication required"
+msgstr "Wymagana autoryzacja"
+
+#: apps/web/src/components/forms/avatar-image.tsx:145
+msgid "Avatar"
+msgstr "Awatar"
+
+#: apps/web/src/components/forms/avatar-image.tsx:107
+msgid "Avatar Updated"
+msgstr "Awatar zaktualizowany"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
+msgid "Awaiting email confirmation"
+msgstr "Czekam na potwierdzenie e-maila"
+
+#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:369
+#: apps/web/src/components/(dashboard)/settings/layout/activity-back.tsx:20
+#: apps/web/src/components/forms/v2/signup.tsx:509
+msgid "Back"
+msgstr "Powrót"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164
+msgid "Back to Documents"
+msgstr "Powrót do dokumentów"
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:146
+msgid "Background Color"
+msgstr "Kolor tła"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:167
+#: apps/web/src/components/forms/signin.tsx:485
+msgid "Backup Code"
+msgstr "Kod zapasowy"
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:164
+msgid "Backup codes"
+msgstr "Kody zapasowe"
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:74
+msgid "Banner Updated"
+msgstr "Baner zaktualizowany"
+
+#: apps/web/src/components/forms/v2/signup.tsx:472
+msgid "Basic details"
+msgstr "Podstawowe szczegóły"
+
+#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:72
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
+#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
+#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
+msgid "Billing"
+msgstr "Fakturowanie"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
+msgid "Branding Preferences"
+msgstr "Preferencje dotyczące marki"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
+msgid "Branding preferences updated"
+msgstr "Preferencje dotyczące marki zaktualizowane"
+
+#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
+msgid "Browser"
+msgstr "Przeglądarka"
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
+msgid "Bulk Copy"
+msgstr "Masowa kopia"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
+msgid "Bulk Import"
+msgstr "Import zbiorczy"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
+msgid "By deleting this document, the following will occur:"
+msgstr "Usunięcie tego dokumentu spowoduje następujące:"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:114
+msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in."
+msgstr "Włączając 2FA, będziesz musiał wprowadzić kod z aplikacji uwierzytelniającej za każdym razem, gdy się logujesz."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142
+msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein."
+msgstr "Kontynuując korzystanie z usługi podpisu elektronicznego oferowanej przez Documenso, potwierdzasz, że przeczytałeś i zrozumiałeś to ujawnienie. Zgadzasz się na wszystkie warunki i zasady związane z korzystaniem z podpisów elektronicznych i transakcji elektronicznych, jak opisano w tym dokumencie."
+
+#: apps/web/src/components/general/signing-disclosure.tsx:14
+msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions."
+msgstr "Kontynuując z Twoim podpisem elektronicznym, przyjmujesz i zgadzasz się, że będzie on użyty do podpisania danego dokumentu i ma tę samą ważność prawną jak odręczny podpis. Dokonując procesu podpisu elektronicznego, potwierdzasz swoje zrozumienie i akceptację tych warunków."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92
+msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing."
+msgstr "Korzystając z funkcji podpisu elektronicznego, wyrażasz zgodę na przeprowadzanie transakcji i otrzymywanie ujawnień elektronicznie. Przyjmujesz do wiadomości, że Twój podpis elektroniczny na dokumentach jest wiążący i akceptujesz warunki przedstawione w dokumentach, które podpisujesz."
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:109
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:81
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
+#: 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]/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
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:163
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:185
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:166
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:218
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:163
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:104
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:369
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:102
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:150
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:278
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:162
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:187
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:257
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:163
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:450
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:226
+msgid "Cancelled by user"
+msgstr "Anulowano przez użytkownika"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:132
+msgid "Charts"
+msgstr "Wykresy"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
+#~ msgid "Check out the documentaton for the <0>global team settings0>."
+#~ msgstr "Check out the documentaton for the <0>global team settings0>."
+
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
+msgid "Checkout"
+msgstr "Kasa"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:271
+msgid "Choose an existing recipient from below to continue"
+msgstr "Wybierz istniejącego odbiorcę, aby kontynuować"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:267
+msgid "Choose Direct Link Recipient"
+msgstr "Wybierz odbiorcę bezpośredniego linku"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
+msgid "Choose how the document will reach recipients"
+msgstr "Wybierz, jak dokument dotrze do odbiorców"
+
+#: apps/web/src/components/forms/token.tsx:200
+msgid "Choose..."
+msgstr "Wybierz..."
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:160
+msgid "Claim account"
+msgstr "Zgłoś konto"
+
+#: apps/web/src/components/forms/v2/signup.tsx:481
+msgid "Claim username"
+msgstr "Zgłoś nazwę użytkownika"
+
+#: apps/web/src/app/(dashboard)/documents/upcoming-profile-claim-teaser.tsx:28
+msgid "Claim your profile later"
+msgstr "Zgłoś swój profil później"
+
+#: apps/web/src/components/forms/v2/signup.tsx:279
+msgid "Claim your username now"
+msgstr "Zgłoś swoją nazwę użytkownika teraz"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:130
+msgid "Click here to get started"
+msgstr "Kliknij tutaj, aby rozpocząć"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68
+#: apps/web/src/components/document/document-history-sheet.tsx:133
+msgid "Click here to retry"
+msgstr "Kliknij tutaj, aby spróbować ponownie"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:392
+msgid "Click here to upload"
+msgstr "Kliknij tutaj, aby przesłać"
+
+#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:52
+#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:65
+msgid "Click to copy signing link for sending to recipient"
+msgstr "Kliknij, aby skopiować link podpisu do wysłania do odbiorcy"
+
+#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:115
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
+msgid "Click to insert field"
+msgstr "Kliknij, aby wstawić pole"
+
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:140
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:180
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:102
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:319
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:423
+msgid "Close"
+msgstr "Zamknij"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
+#: apps/web/src/components/forms/v2/signup.tsx:534
+msgid "Complete"
+msgstr "Zakończono"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:70
+msgid "Complete Approval"
+msgstr "Zakończ zatwierdzanie"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
+msgid "Complete Signing"
+msgstr "Zakończ podpisywanie"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
+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/formatter/document-status.tsx:28
+msgid "Completed"
+msgstr "Zakończono"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:48
+msgid "Completed documents"
+msgstr "Dokumenty zakończone"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:94
+msgid "Completed Documents"
+msgstr "Zakończone dokumenty"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
+msgid "Configure general settings for the document."
+msgstr "Skonfiguruj ogólne ustawienia dokumentu."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78
+msgid "Configure general settings for the template."
+msgstr "Skonfiguruj ogólne ustawienia szablonu."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:337
+msgid "Configure template"
+msgstr "Skonfiguruj szablon"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:481
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:460
+msgid "Confirm"
+msgstr "Potwierdź"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:207
+msgid "Confirm by typing <0>{confirmTransferMessage}0>"
+msgstr "Potwierdź, wpisując <0>{confirmTransferMessage}0>"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:149
+msgid "Confirm by typing <0>{deleteMessage}0>"
+msgstr "Potwierdź, wpisując <0>{deleteMessage}0>"
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:152
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:140
+msgid "Confirm by typing: <0>{deleteMessage}0>"
+msgstr "Potwierdź, wpisując: <0>{deleteMessage}0>"
+
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:157
+msgid "Confirm Deletion"
+msgstr "Potwierdź usunięcie"
+
+#: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:19
+msgid "Confirm email"
+msgstr "Potwierdź adres e-mail"
+
+#: apps/web/src/components/forms/send-confirmation-email.tsx:53
+msgid "Confirmation email sent"
+msgstr "E-mail potwierdzający został wysłany"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89
+msgid "Consent to Electronic Transactions"
+msgstr "Zgoda na transakcje elektroniczne"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151
+msgid "Contact Information"
+msgstr "Informacje kontaktowe"
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189
+msgid "Content"
+msgstr "Treść"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:252
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:135
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:69
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:143
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:72
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:122
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:328
+msgid "Continue"
+msgstr "Kontynuuj"
+
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:141
+msgid "Continue to login"
+msgstr "Kontynuuj do logowania"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
+msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
+msgstr "Kontroluje domyślny język przesłanego dokumentu. Będzie używany jako język w komunikacji e-mailowej z odbiorcami."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
+msgid "Controls the default visibility of an uploaded document."
+msgstr "Kontroluje domyślną widoczność przesłanego dokumentu."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
+msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
+msgstr "Kontroluje formatowanie wiadomości, która zostanie wysłana podczas zapraszania odbiorcy do podpisania dokumentu. Jeśli w konfiguracji dokumentu podano niestandardową wiadomość, zostanie użyta zamiast tego."
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
+msgid "Copied"
+msgstr "Skopiowano"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:133
+#: 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
+#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:40
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:61
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:117
+#: apps/web/src/components/forms/public-profile-form.tsx:117
+msgid "Copied to clipboard"
+msgstr "Skopiowano do schowka"
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
+msgid "Copy"
+msgstr "Kopiuj"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
+msgid "Copy sharable link"
+msgstr "Kopiuj udostępnianą link"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:397
+msgid "Copy Shareable Link"
+msgstr "Kopiuj udostępniany link"
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
+msgid "Copy Signing Links"
+msgstr "Kopiuj linki do podpisania"
+
+#: apps/web/src/components/forms/token.tsx:288
+msgid "Copy token"
+msgstr "Kopiuj token"
+
+#: apps/web/src/app/(profile)/profile-header.tsx:83
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:245
+msgid "Create"
+msgstr "Utwórz"
+
+#: apps/web/src/components/forms/v2/signup.tsx:264
+msgid "Create a new account"
+msgstr "Utwórz nowe konto"
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:150
+msgid "Create a team to collaborate with your team members."
+msgstr "Utwórz zespół, aby współpracować z członkami zespołu."
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:106
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:111
+msgid "Create account"
+msgstr "Utwórz konto"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
+msgid "Create and send"
+msgstr "Utwórz i wyślij"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
+msgid "Create as draft"
+msgstr "Utwórz jako szkic"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
+msgid "Create as pending"
+msgstr "Utwórz jako oczekujące"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
+msgid "Create Direct Link"
+msgstr "Utwórz bezpośredni link"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:202
+msgid "Create Direct Signing Link"
+msgstr "Utwórz bezpośredni link do podpisu"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
+msgid "Create document from template"
+msgstr "Utwórz dokument z szablonu"
+
+#: apps/web/src/app/(profile)/profile-header.tsx:79
+msgid "Create now"
+msgstr "Utwórz teraz"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:352
+msgid "Create one automatically"
+msgstr "Utwórz jeden automatycznie"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
+msgid "Create signing links"
+msgstr "Utwórz linki do podpisania"
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:146
+msgid "Create team"
+msgstr "Utwórz zespół"
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:226
+msgid "Create Team"
+msgstr "Utwórz Zespół"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
+msgid "Create the document as pending and ready to sign."
+msgstr "Utwórz dokument jako oczekujący i gotowy do podpisania."
+
+#: apps/web/src/components/forms/token.tsx:250
+#: apps/web/src/components/forms/token.tsx:259
+msgid "Create token"
+msgstr "Utwórz token"
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:125
+msgid "Create webhook"
+msgstr "Utwórz webhook"
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:117
+msgid "Create Webhook"
+msgstr "Utwórz Webhook"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:215
+msgid "Create your account and start using state-of-the-art document signing."
+msgstr "Utwórz swoje konto i zacznij korzystać z nowoczesnego podpisywania dokumentów."
+
+#: apps/web/src/components/forms/v2/signup.tsx:268
+msgid "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp."
+msgstr "Utwórz swoje konto i zacznij korzystać z nowoczesnego podpisywania dokumentów. Otwarty i piękny podpis jest w zasięgu ręki."
+
+#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:62
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35
+#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:274
+msgid "Created"
+msgstr "Utworzono"
+
+#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:35
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:111
+msgid "Created At"
+msgstr "Utworzono w"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:79
+msgid "Created by"
+msgstr "Utworzone przez"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:48
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:78
+msgid "Created on"
+msgstr "Utworzone w"
+
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93
+msgid "Created on {0}"
+msgstr "Utworzono {0}"
+
+#: apps/web/src/components/forms/password.tsx:107
+msgid "Current Password"
+msgstr "Aktualne hasło"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:69
+msgid "Current plan: {0}"
+msgstr "Bieżący plan: {0}"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:28
+msgid "Daily"
+msgstr "Codziennie"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:265
+msgid "Dark Mode"
+msgstr "Tryb ciemny"
+
+#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:70
+#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148
+msgid "Date"
+msgstr "Data"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:85
+msgid "Date created"
+msgstr "Data utworzenia"
+
+#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:47
+msgid "Decline"
+msgstr "Odrzuć"
+
+#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:26
+msgid "Declined team invitation"
+msgstr "Odrzucono zaproszenie do zespołu"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
+msgid "Default Document Language"
+msgstr "Domyślny język dokumentu"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
+msgid "Default Document Visibility"
+msgstr "Domyślna widoczność dokumentu"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
+msgid "delete"
+msgstr "usuń"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:167
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:113
+msgid "Delete"
+msgstr "Usuń"
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54
+msgid "delete {0}"
+msgstr "usuń {0}"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50
+msgid "delete {teamName}"
+msgstr "usuń {teamName}"
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137
+msgid "Delete account"
+msgstr "Usuń konto"
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:98
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:105
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:83
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:97
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:104
+msgid "Delete Account"
+msgstr "Usuń Konto"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:135
+msgid "Delete document"
+msgstr "Usuń dokument"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:85
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:98
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:105
+msgid "Delete Document"
+msgstr "Usuń Dokument"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:184
+msgid "Delete passkey"
+msgstr "Usuń klucz dostępu"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
+msgid "Delete team"
+msgstr "Usuń zespół"
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:73
+msgid "Delete team member"
+msgstr "Usuń członka zespołu"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:88
+msgid "Delete the document. This action is irreversible so proceed with caution."
+msgstr "Usuń dokument. Działanie to jest nieodwracalne, więc działaj ostrożnie."
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:87
+msgid "Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution."
+msgstr "Usuń konto użytkownika i wszystkie jego treści. Działanie to jest nieodwracalne i anuluję subskrypcję, więc działaj ostrożnie."
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:117
+msgid "Delete Webhook"
+msgstr "Usuń Webhook"
+
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:86
+msgid "Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution."
+msgstr "Usuń swoje konto i wszystkie jego treści, w tym zakończone dokumenty. Działanie to jest nieodwracalne i anuluję twoją subskrypcję, więc działaj ostrożnie."
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
+msgid "Deleted"
+msgstr "Usunięto"
+
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:157
+msgid "Deleting account..."
+msgstr "Usuwanie konta..."
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178
+msgid "Details"
+msgstr "Szczegóły"
+
+#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
+msgid "Device"
+msgstr "Urządzenie"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:91
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46
+msgid "direct link"
+msgstr "link bezpośredni"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79
+msgid "Direct link"
+msgstr "Link bezpośredni"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231
+msgid "Direct Link"
+msgstr "Bezpośredni link"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46
+msgid "direct link disabled"
+msgstr "link bezpośredni wyłączony"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:363
+msgid "Direct Link Signing"
+msgstr "Podpisywanie bezpośrednim linkiem"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:115
+msgid "Direct link signing has been disabled"
+msgstr "Podpisywanie bezpośrednim linkiem zostało wyłączone"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:114
+msgid "Direct link signing has been enabled"
+msgstr "Podpisywanie za pomocą linku bezpośredniego zostało włączone"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:95
+msgid "Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page."
+msgstr "Szablony linków bezpośrednich zawierają jedno dynamiczne miejsce odbiorcy. Każdy, kto ma dostęp do tego linku, może podpisać dokument, a następnie pojawi się on na stronie twoich dokumentów."
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:142
+msgid "Direct template link deleted"
+msgstr "Link szablonu bezpośredniego usunięty"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:228
+msgid "Direct template link usage exceeded ({0}/{1})"
+msgstr "Przekroczono użycie linku szablonu bezpośredniego ({0}/{1})"
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:417
+msgid "Disable"
+msgstr "Wyłącz"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:116
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:123
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:192
+msgid "Disable 2FA"
+msgstr "Wyłącz 2FA"
+
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:116
+msgid "Disable Two Factor Authentication before deleting your account."
+msgstr "Wyłącz dwuskładnikowe uwierzytelnianie przed usunięciem konta."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:79
+msgid "Disabled"
+msgstr "Wyłączone"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:380
+msgid "Disabling direct link signing will prevent anyone from accessing the link."
+msgstr "Wyłączenie podpisywania za pomocą linku bezpośredniego uniemożliwi dostęp do linku."
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:75
+msgid "Display your name and email in documents"
+msgstr "Wyświetl swoją nazwę i adres e-mail w dokumentach"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
+msgid "Distribute Document"
+msgstr "Rozprowadź dokument"
+
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
+msgid "Do you want to delete this template?"
+msgstr "Czy chcesz usunąć ten szablon?"
+
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:63
+msgid "Do you want to duplicate this template?"
+msgstr "Czy chcesz zduplikować ten szablon?"
+
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:122
+msgid "Documenso will delete <0>all of your documents0>, along with all of your completed documents, signatures, and all other resources belonging to your Account."
+msgstr "Documenso usunie <0>wszystkie twoje dokumenty0>, wraz ze wszystkimi zakończonymi dokumentami, podpisami i wszystkimi innymi zasobami należącymi do twojego konta."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38
+msgid "Document"
+msgstr "Dokument"
+
+#: apps/web/src/components/formatter/document-status.tsx:47
+msgid "Document All"
+msgstr "Dokument Wszystko"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:134
+msgid "Document Approved"
+msgstr "Dokument zatwierdzony"
+
+#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40
+msgid "Document Cancelled"
+msgstr "Dokument anulowany"
+
+#: apps/web/src/components/formatter/document-status.tsx:29
+msgid "Document completed"
+msgstr "Dokument zakończony"
+
+#: apps/web/src/app/embed/completed.tsx:16
+msgid "Document Completed!"
+msgstr "Dokument Zakończony!"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
+msgid "Document created"
+msgstr "Dokument stworzony"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129
+msgid "Document created by <0>{0}0>"
+msgstr "Dokument utworzony przez <0>{0}0>"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134
+msgid "Document created using a <0>direct link0>"
+msgstr "Dokument utworzony za pomocą <0>bezpośredniego linku0>"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
+msgid "Document deleted"
+msgstr "Dokument usunięty"
+
+#: apps/web/src/components/formatter/document-status.tsx:35
+msgid "Document draft"
+msgstr "Szkic dokumentu"
+
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:58
+msgid "Document Duplicated"
+msgstr "Dokument zduplikowany"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
+#: apps/web/src/components/document/document-history-sheet.tsx:104
+msgid "Document history"
+msgstr "Historia dokumentu"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:71
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:81
+msgid "Document ID"
+msgstr "ID dokumentu"
+
+#: apps/web/src/components/formatter/document-status.tsx:41
+msgid "Document inbox"
+msgstr "Skrzynka odbiorcza dokumentu"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
+msgid "Document Limit Exceeded!"
+msgstr "Przekroczono limit dokumentów!"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:82
+msgid "Document metrics"
+msgstr "Metryki dokumentów"
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:49
+msgid "Document moved"
+msgstr "Dokument przeniesiony"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:158
+msgid "Document no longer available to sign"
+msgstr "Dokument nie jest już dostępny do podpisania"
+
+#: apps/web/src/components/formatter/document-status.tsx:23
+msgid "Document pending"
+msgstr "Dokument w toku"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
+msgid "Document preferences updated"
+msgstr "Preferencje dokumentu zaktualizowane"
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
+msgid "Document re-sent"
+msgstr "Dokument ponownie wysłany"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
+msgid "Document resealed"
+msgstr "Dokument ponownie zaplombowany"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
+msgid "Document sent"
+msgstr "Dokument wysłany"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
+#~ msgid "Document Settings"
+#~ msgstr "Document Settings"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
+msgid "Document Signed"
+msgstr "Dokument podpisany"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
+msgid "Document signing process will be cancelled"
+msgstr "Proces podpisywania dokumentu zostanie anulowany"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:75
+msgid "Document status"
+msgstr "Status dokumentu"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:67
+msgid "Document title"
+msgstr "Tytuł dokumentu"
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:51
+msgid "Document upload disabled due to unpaid invoices"
+msgstr "Przesyłanie dokumentu wyłączone z powodu nieopłaconych faktur"
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:81
+msgid "Document uploaded"
+msgstr "Dokument przesłany"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
+msgid "Document Viewed"
+msgstr "Dokument oglądany"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
+msgid "Document will be permanently deleted"
+msgstr "Dokument zostanie trwale usunięty"
+
+#: apps/web/src/app/(dashboard)/admin/nav.tsx:65
+#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:144
+#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:109
+#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16
+#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:15
+#: apps/web/src/app/(dashboard)/documents/documents-page-view.tsx:119
+#: apps/web/src/app/(profile)/p/[url]/page.tsx:166
+#: apps/web/src/app/not-found.tsx:21
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:205
+#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:18
+#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:35
+#: apps/web/src/components/ui/user-profile-timur.tsx:60
+msgid "Documents"
+msgstr "Dokumenty"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
+msgid "Documents created from template"
+msgstr "Dokumenty utworzone z szablonu"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113
+msgid "Documents Received"
+msgstr "Dokumenty odebrane"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:118
+msgid "Documents Viewed"
+msgstr "Dokumenty oglądane"
+
+#: apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx:40
+#: apps/web/src/app/(unauthenticated)/signin/page.tsx:45
+msgid "Don't have an account? <0>Sign up0>"
+msgstr "Nie masz konta? <0>Zarejestruj się0>"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107
+msgid "Download"
+msgstr "Pobierz"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:81
+msgid "Download Audit Logs"
+msgstr "Pobierz dzienniki audytowe"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
+msgid "Download Certificate"
+msgstr "Pobierz certyfikat"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214
+#: apps/web/src/components/formatter/document-status.tsx:34
+msgid "Draft"
+msgstr "Szkic"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:46
+msgid "Draft documents"
+msgstr "Dokumenty szkiców"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:86
+msgid "Drafted Documents"
+msgstr "Szkicowane dokumenty"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:121
+msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team."
+msgstr "Z powodu nieopłaconej faktury Twój zespół został ograniczony. Proszę uregulować płatność, aby przywrócić pełny dostęp do zespołu."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91
+msgid "Duplicate"
+msgstr "Duplikat"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:104
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:115
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:102
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100
+msgid "Edit"
+msgstr "Edytuj"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
+msgid "Edit Template"
+msgstr "Edytuj szablon"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100
+msgid "Edit webhook"
+msgstr "Edytuj webhook"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78
+msgid "Electronic Delivery of Documents"
+msgstr "Elektroniczna dostawa dokumentów"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17
+msgid "Electronic Signature Disclosure"
+msgstr "Ujawnienie podpisu elektronicznego"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
+#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
+#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
+#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153
+#: apps/web/src/components/forms/forgot-password.tsx:81
+#: apps/web/src/components/forms/profile.tsx:122
+#: apps/web/src/components/forms/signin.tsx:338
+#: apps/web/src/components/forms/signup.tsx:180
+msgid "Email"
+msgstr "E-mail"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:134
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:300
+#: apps/web/src/components/forms/send-confirmation-email.tsx:82
+msgid "Email address"
+msgstr "Adres e-mail"
+
+#: apps/web/src/components/forms/v2/signup.tsx:328
+msgid "Email Address"
+msgstr "Adres e-mail"
+
+#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80
+msgid "Email cannot already exist in the template"
+msgstr "E-mail nie może już istnieć w szablonie"
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36
+msgid "Email Confirmed!"
+msgstr "E-mail potwierdzony!"
+
+#: apps/web/src/app/(unauthenticated)/check-email/page.tsx:20
+msgid "Email sent!"
+msgstr "E-mail wysłany!"
+
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:77
+msgid "Email verification has been removed"
+msgstr "Weryfikacja e-mailu została usunięta"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:33
+msgid "Email verification has been resent"
+msgstr "Weryfikacja e-mailu została ponownie wysłana"
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:153
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:262
+msgid "Enable 2FA"
+msgstr "Włącz 2FA"
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:194
+msgid "Enable Authenticator App"
+msgstr "Włącz aplikację uwierzytelniającą"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
+msgid "Enable custom branding for all documents in this team."
+msgstr "Włącz niestandardowe brandowanie dla wszystkich dokumentów w tym zespole."
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
+msgid "Enable direct link signing"
+msgstr "Włącz podpisywanie za pomocą bezpośredniego linku"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:374
+msgid "Enable Direct Link Signing"
+msgstr "Włącz podpisywanie za pomocą bezpośredniego linku"
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:123
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:138
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:142
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:79
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:166
+msgid "Enabled"
+msgstr "Włączone"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:87
+msgid "Enclosed Document"
+msgstr "Załączony dokument"
+
+#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:38
+msgid "Ends On"
+msgstr "Kończy się"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
+msgid "Enter your brand details"
+msgstr "Wprowadź szczegóły swojej marki"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
+msgid "Enter your email"
+msgstr "Wprowadź swój adres e-mail"
+
+#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:135
+msgid "Enter your email address to receive the completed document."
+msgstr "Wprowadź swój adres e-mail, aby otrzymać ukończony dokument."
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:122
+msgid "Enter your name"
+msgstr "Wprowadź swoje imię"
+
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:278
+msgid "Enter your text here"
+msgstr "Wprowadź swój tekst tutaj"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
+#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
+#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
+#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
+#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:99
+#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:125
+#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:105
+#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136
+#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83
+#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147
+#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149
+#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194
+#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101
+#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:146
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:101
+msgid "Error"
+msgstr "Błąd"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:77
+#~ msgid "Error updating global team settings"
+#~ msgstr "Error updating global team settings"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
+msgid "Everyone can access and view the document"
+msgstr "Każdy może uzyskać dostęp do dokumentu i go wyświetlić"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
+msgid "Everyone has signed"
+msgstr "Wszyscy podpisali"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:166
+msgid "Everyone has signed! You will receive an Email copy of the signed document."
+msgstr "Wszyscy podpisali! Otrzymasz wiadomość e-mail z podpisanym dokumentem."
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:232
+msgid "Exceeded timeout"
+msgstr "Przekroczono limit czasu"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
+msgid "Expired"
+msgstr "Wygasło"
+
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104
+msgid "Expires on {0}"
+msgstr "Wygasa {0}"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42
+msgid "Failed to reseal document"
+msgstr "Nie udało się ponownie zaplombować dokumentu"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:125
+msgid "Failed to update recipient"
+msgstr "Nie udało się zaktualizować odbiorcy"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:82
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:88
+msgid "Failed to update webhook"
+msgstr "Nie udało się zaktualizować webhooku"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:190
+msgid "Fields"
+msgstr "Pola"
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:125
+msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB"
+msgstr "Plik nie może mieć większej wielkości niż {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154
+msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}0>"
+msgstr "W przypadku jakichkolwiek pytań dotyczących tego ujawnienia, podpisów elektronicznych lub jakiegokolwiek powiązanego procesu, prosimy o kontakt z nami pod adresem: <0>{SUPPORT_EMAIL}0>"
+
+#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21
+#: apps/web/src/components/forms/signin.tsx:370
+msgid "Forgot your password?"
+msgstr "Zapomniałeś hasła?"
+
+#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
+#: apps/web/src/components/forms/profile.tsx:110
+#: apps/web/src/components/forms/v2/signup.tsx:312
+msgid "Full Name"
+msgstr "Pełne imię"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
+msgid "General"
+msgstr "Ogólne"
+
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
+#~ msgid "Global Settings"
+#~ msgstr "Global Settings"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:69
+#~ msgid "Global Team Settings Updated"
+#~ msgstr "Global Team Settings Updated"
+
+#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
+#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
+#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
+#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:32
+#: apps/web/src/components/partials/not-found.tsx:67
+msgid "Go Back"
+msgstr "Wróć"
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:48
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:73
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:101
+#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:38
+msgid "Go back home"
+msgstr "Wróć do domu"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:226
+#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:57
+msgid "Go Back Home"
+msgstr "Wróć do domu"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:76
+msgid "Go to owner"
+msgstr "Przejdź do właściciela"
+
+#: apps/web/src/app/(profile)/p/[url]/page.tsx:147
+msgid "Go to your <0>public profile settings0> to add documents."
+msgstr "Przejdź do swojego <0>ustawienia profilu publicznego0>, aby dodać dokumenty."
+
+#: apps/web/src/app/(dashboard)/settings/profile/page.tsx:29
+msgid "Here you can edit your personal details."
+msgstr "Tutaj możesz edytować swoje dane osobowe."
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:35
+msgid "Here you can manage your password and security settings."
+msgstr "Tutaj możesz zarządzać swoim hasłem i ustawieniami zabezpieczeń."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
+msgid "Here you can set preferences and defaults for branding."
+msgstr "Tutaj możesz ustawić preferencje i domyślne ustawienia dla brandowania."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
+msgid "Here you can set preferences and defaults for your team."
+msgstr "Tutaj możesz ustawić preferencje i domyślne ustawienia dla swojego zespołu."
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
+msgid "Here's how it works:"
+msgstr "Oto jak to działa:"
+
+#: apps/web/src/components/ui/user-profile-timur.tsx:49
+msgid "Hey I’m Timur"
+msgstr "Cześć, jestem Timur"
+
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
+msgid "Hide"
+msgstr "Ukryj"
+
+#: apps/web/src/components/document/document-history-sheet.tsx:111
+msgid "Hide additional information"
+msgstr "Ukryj dodatkowe informacje"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:43
+msgid "I am the owner of this document"
+msgstr "Jestem właścicielem tego dokumentu"
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173
+msgid "I'm sure! Delete it"
+msgstr "Jestem pewny! Usuń to"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:103
+msgid "If they accept this request, the team will be transferred to their account."
+msgstr "Jeśli zaakceptują tę prośbę, zespół zostanie przeniesiony na ich konto."
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:196
+msgid "If you do not want to use the authenticator prompted, you can close it, which will then display the next available authenticator."
+msgstr "Jeśli nie chcesz korzystać z proponowanego uwierzytelnienia, możesz je zamknąć, a następnie wyświetlić następne dostępne uwierzytelnienie."
+
+#: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:30
+msgid "If you don't find the confirmation link in your inbox, you can request a new one below."
+msgstr "Jeśli nie znajdziesz linku potwierdzającego w swojej skrzynce odbiorczej, możesz poprosić o nowy poniżej."
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:213
+msgid "If your authenticator app does not support QR codes, you can use the following code instead:"
+msgstr "Jeśli Twoja aplikacja uwierzytelniająca nie obsługuje kodów QR, możesz użyć poniższego kodu:"
+
+#: apps/web/src/components/formatter/document-status.tsx:40
+msgid "Inbox"
+msgstr "Skrzynka odbiorcza"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:52
+msgid "Inbox documents"
+msgstr "Dokumenty w skrzynce odbiorczej"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:132
+#~ msgid "Include Sender Details"
+#~ msgstr "Include Sender Details"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
+msgid "Information"
+msgstr "Informacje"
+
+#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132
+msgid "Initials"
+msgstr "Inicjały"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78
+msgid "Inserted"
+msgstr "Wstawione"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:60
+msgid "Instance Stats"
+msgstr "Statystyki instancji"
+
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:151
+msgid "Invalid code. Please try again."
+msgstr "Nieprawidłowy kod. Proszę spróbuj ponownie."
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:100
+msgid "Invalid file"
+msgstr "Nieprawidłowy plik"
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:33
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:36
+msgid "Invalid link"
+msgstr "Nieprawidłowy link"
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:39
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:39
+msgid "Invalid token"
+msgstr "Nieprawidłowy token"
+
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:123
+msgid "Invitation accepted!"
+msgstr "Zaproszenie zaakceptowane!"
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:118
+msgid "Invitation declined"
+msgstr "Zaproszenie odrzucone"
+
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:80
+msgid "Invitation has been deleted"
+msgstr "Zaproszenie zostało usunięte"
+
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:63
+msgid "Invitation has been resent"
+msgstr "Zaproszenie zostało ponownie wysłane"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:374
+msgid "Invite"
+msgstr "Zaproszenie"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:250
+msgid "Invite member"
+msgstr "Zaproś członka"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:275
+msgid "Invite Members"
+msgstr "Zaproś członków"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:258
+msgid "Invite team members"
+msgstr "Zaproś członków zespołu"
+
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:128
+msgid "Invited At"
+msgstr "Zaproś o"
+
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:55
+msgid "Invoice"
+msgstr "Faktura"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
+msgid "IP Address"
+msgstr "Adres IP"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118
+msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications."
+msgstr "Konieczne jest, aby mieć aktualne informacje kontaktowe, szczególnie swój adres e-mail. Proszę niezwłocznie powiadomić nas o wszelkich zmianach, aby zapewnić ciągłość wszystkich niezbędnych komunikacji."
+
+#: apps/web/src/app/(profile)/p/[url]/page.tsx:134
+msgid "It looks like {0} hasn't added any documents to their profile yet."
+msgstr "Wygląda na to, że {0} jeszcze nie dodał żadnych dokumentów do swojego profilu."
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:93
+msgid "It seems that the provided token has expired. We've just sent you another token, please check your email and try again."
+msgstr "Wydaje się, że podany token wygasł. Właśnie wysłaliśmy Ci nowy token, proszę sprawdź swoją pocztę i spróbuj ponownie."
+
+#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:30
+msgid "It seems that there is no token provided, if you are trying to verify your email please follow the link in your email."
+msgstr "Wydaje się, że nie podano tokena, jeśli próbujesz zweryfikować swój e-mail, proszę postępuj zgodnie z linkiem w swoim e-mailu."
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:40
+msgid "It seems that there is no token provided. Please check your email and try again."
+msgstr "Wydaje się, że nie podano tokena. Proszę sprawdź swoją pocztę i spróbuj ponownie."
+
+#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:74
+msgid "It's currently not your turn to sign. You will receive an email with instructions once it's your turn to sign the document."
+msgstr "Obecnie nie jest Twój czas na podpisanie dokumentu. Otrzymasz e-mail z instrukcjami, gdy przyjdzie Twój czas na podpisanie dokumentu."
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:286
+msgid "Language"
+msgstr "Język"
+
+#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:61
+msgid "Last 14 days"
+msgstr "Ostatnie 14 dni"
+
+#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:64
+msgid "Last 30 days"
+msgstr "Ostatnie 30 dni"
+
+#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:58
+msgid "Last 7 days"
+msgstr "Ostatnie 7 dni"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38
+msgid "Last modified"
+msgstr "Ostatnia modyfikacja"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:91
+msgid "Last updated"
+msgstr "Ostatnia aktualizacja"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:121
+msgid "Last Updated"
+msgstr "Ostatnia aktualizacja"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:52
+msgid "Last updated at"
+msgstr "Ostatnia aktualizacja o"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:71
+msgid "Last used"
+msgstr "Ostatnie użycie"
+
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:111
+#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:117
+msgid "Leave"
+msgstr "Wyjdź"
+
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:73
+msgid "Leave team"
+msgstr "Opuszczaj zespół"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45
+msgid "Legality of Electronic Signatures"
+msgstr "Legalność podpisów elektronicznych"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:264
+msgid "Light Mode"
+msgstr "Jasny tryb"
+
+#: apps/web/src/app/(profile)/profile-header.tsx:71
+msgid "Like to have your own public profile with agreements?"
+msgstr "Czy chcesz mieć własny publiczny profil z umowami?"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:216
+msgid "Link template"
+msgstr "Szablon linku"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
+msgid "Links Generated"
+msgstr "Wygenerowane linki"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
+msgid "Listening to {0}"
+msgstr "Słuchając {0}"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:100
+msgid "Load older activity"
+msgstr "Załaduj starszą aktywność"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:33
+msgid "Loading document..."
+msgstr "Ładowanie dokumentu..."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:20
+#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:19
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:91
+msgid "Loading Document..."
+msgstr "Ładowanie Dokumentu..."
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:92
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:91
+msgid "Loading teams..."
+msgstr "Ładowanie zespołów..."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:100
+msgid "Loading..."
+msgstr "Ładowanie..."
+
+#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:54
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:75
+#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:67
+msgid "Login"
+msgstr "Zaloguj się"
+
+#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:101
+msgid "Manage"
+msgstr "Zarządzaj"
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:88
+msgid "Manage {0}'s profile"
+msgstr "Zarządzaj profilem {0}"
+
+#: apps/web/src/app/(dashboard)/settings/teams/page.tsx:26
+msgid "Manage all teams you are currently associated with."
+msgstr "Zarządzaj wszystkimi zespołami, z którymi jesteś obecnie związany."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
+msgid "Manage and view template"
+msgstr "Zarządzaj i przeglądaj szablon"
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
+msgid "Manage details for this public template"
+msgstr "Zarządzaj szczegółami tego publicznego szablonu"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35
+msgid "Manage Direct Link"
+msgstr "Zarządzaj Bezpośrednim Linkiem"
+
+#: apps/web/src/app/(dashboard)/admin/documents/page.tsx:13
+msgid "Manage documents"
+msgstr "Zarządzaj dokumentami"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:118
+msgid "Manage passkeys"
+msgstr "Zarządzaj kluczami dostępu"
+
+#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:41
+msgid "Manage subscription"
+msgstr "Zarządzaj subskrypcją"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:66
+msgid "Manage Subscription"
+msgstr "Zarządzaj Subskrypcją"
+
+#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:24
+msgid "Manage subscriptions"
+msgstr "Zarządzaj subskrypcjami"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:81
+msgid "Manage team subscription."
+msgstr "Zarządzaj subskrypcją zespołu."
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:168
+msgid "Manage teams"
+msgstr "Zarządzaj zespołami"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:367
+msgid "Manage the direct link signing for this template"
+msgstr "Zarządzaj podpisywaniem bezpośredniego linku dla tego szablonu"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:32
+msgid "Manage the members or invite new members."
+msgstr "Zarządzaj członkami lub zaproś nowych członków."
+
+#: apps/web/src/app/(dashboard)/admin/users/page.tsx:35
+msgid "Manage users"
+msgstr "Zarządzaj użytkownikami"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:33
+msgid "Manage your passkeys."
+msgstr "Zarządzaj swoimi kluczami dostępu."
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/page.tsx:27
+msgid "Manage your site settings here"
+msgstr "Zarządzaj ustawieniami swojej witryny tutaj"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:123
+msgid "Mark as Viewed"
+msgstr "Oznacz jako wyświetlone"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:137
+msgid "MAU (created document)"
+msgstr "MAU (utworzony dokument)"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:143
+msgid "MAU (had document completed)"
+msgstr "MAU (ukończony dokument)"
+
+#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:90
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:113
+msgid "Member Since"
+msgstr "Członek od"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
+msgid "Members"
+msgstr "Członkowie"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:46
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
+msgid "Modify recipients"
+msgstr "Modyfikuj odbiorców"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:30
+msgid "Monthly"
+msgstr "Miesięczny"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:138
+msgid "Monthly Active Users: Users that created at least one Document"
+msgstr "Miesięczni aktywni użytkownicy: Użytkownicy, którzy utworzyli przynajmniej jeden dokument"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:145
+msgid "Monthly Active Users: Users that had at least one of their documents completed"
+msgstr "Miesięczni aktywni użytkownicy: Użytkownicy, którzy mieli przynajmniej jeden z ukończonych dokumentów"
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
+msgid "Move"
+msgstr "Przenieś"
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:78
+msgid "Move Document to Team"
+msgstr "Przenieś dokument do zespołu"
+
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:77
+msgid "Move Template to Team"
+msgstr "Przenieś szablon do zespołu"
+
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
+#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
+msgid "Move to Team"
+msgstr "Przenieś do zespołu"
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122
+msgid "Moving..."
+msgstr "Przenoszenie..."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:44
+msgid "My templates"
+msgstr "Moje szablony"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:148
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:99
+#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:141
+#: apps/web/src/components/forms/signup.tsx:164
+msgid "Name"
+msgstr "Nazwa"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:211
+msgid "Need to sign documents?"
+msgstr "Potrzebujesz podpisać dokumenty?"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:76
+msgid "Never"
+msgstr "Nigdy"
+
+#: apps/web/src/components/forms/token.tsx:224
+msgid "Never expire"
+msgstr "Nie wygasa nigdy"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:176
+msgid "New team owner"
+msgstr "Nowy właściciel zespołu"
+
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:96
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:103
+msgid "New Template"
+msgstr "Nowy szablon"
+
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
+#: apps/web/src/components/forms/v2/signup.tsx:521
+msgid "Next"
+msgstr "Dalej"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
+msgid "Next field"
+msgstr "Następne pole"
+
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:24
+msgid "No active drafts"
+msgstr "Brak aktywnych szkiców"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
+msgid "No payment required"
+msgstr "Brak wymaganej płatności"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:125
+msgid "No public profile templates found"
+msgstr "Nie znaleziono szablonów publicznego profilu"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:108
+msgid "No recent activity"
+msgstr "Brak ostatnich aktywności"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103
+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)/templates/[id]/template-page-view-recipients.tsx:49
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:96
+msgid "No recipients"
+msgstr "Brak odbiorców"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:200
+msgid "No results found."
+msgstr "Brak wyników."
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:37
+msgid "No token provided"
+msgstr "Nie podano tokena"
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:284
+msgid "No valid direct templates found"
+msgstr "Nie znaleziono ważnych szablonów bezpośrednich"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:293
+msgid "No valid recipients found"
+msgstr "Nie znaleziono ważnych odbiorców"
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/multiselect-role-combobox.tsx:64
+#: apps/web/src/components/(dashboard)/settings/webhooks/trigger-multiselect-combobox.tsx:77
+msgid "No value found."
+msgstr "Nie znaleziono wartości."
+
+#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:25
+msgid "No worries, it happens! Enter your email and we'll email you a special link to reset your password."
+msgstr "Nie martw się, to się zdarza! Wprowadź swój e-mail, a my wyślemy Ci specjalny link do zresetowania hasła."
+
+#: apps/web/src/components/forms/signin.tsx:160
+msgid "Not supported"
+msgstr "Nieobsługiwane"
+
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:19
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
+msgid "Nothing to do"
+msgstr "Nic do zrobienia"
+
+#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270
+msgid "Number"
+msgstr "Numer"
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:128
+msgid "On this page, you can create a new webhook."
+msgstr "Na tej stronie możesz utworzyć nowy webhook."
+
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:26
+msgid "On this page, you can create new API tokens and manage the existing ones. <0/>Also see our <1>Documentation1>."
+msgstr "Na tej stronie możesz utworzyć nowe tokeny API i zarządzać istniejącymi. <0/>Zobacz także naszą <1>Dokumentację1>."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:60
+msgid "On this page, you can create new API tokens and manage the existing ones. <0/>You can view our swagger docs <1>here1>"
+msgstr "Na tej stronie możesz utworzyć nowe tokeny API i zarządzać istniejącymi. <0/>Możesz zobaczyć nasze dokumenty swagger <1>tutaj1>"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:29
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:34
+msgid "On this page, you can create new Webhooks and manage the existing ones."
+msgstr "Na tej stronie możesz utworzyć nowe webhooki i zarządzać istniejącymi."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:95
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:101
+msgid "On this page, you can edit the webhook and its settings."
+msgstr "Na tej stronie możesz edytować webhook i jego ustawienia."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:134
+msgid "Once confirmed, the following will occur:"
+msgstr "Po potwierdzeniu, nastąpi:"
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:224
+msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
+msgstr "Ups! Coś poszło nie tak."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
+msgid "Only admins can access and view the document"
+msgstr "Tylko administratorzy mogą uzyskać dostęp do dokumentu i go wyświetlić"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
+msgid "Only managers and above can access and view the document"
+msgstr "Tylko menedżerowie i wyżej mogą uzyskać dostęp do dokumentu i go wyświetlić"
+
+#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
+#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
+#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
+#: 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."
+
+#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
+msgid "Opened"
+msgstr "Lub"
+
+#: 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"
+
+#: apps/web/src/components/forms/signin.tsx:390
+msgid "Or continue with"
+msgstr "Or continue with"
+
+#: 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."
+
+#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:103
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81
+#: 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"
+
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79
+msgid "Paid"
+msgstr "Klucz dostępu"
+
+#: apps/web/src/components/forms/signin.tsx:435
+msgid "Passkey"
+msgstr "Klucz dostępu już istnieje dla podanego autoryzatora"
+
+#: 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"
+
+#: 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:"
+
+#: 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"
+
+#: 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"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:177
+msgid "Passkey name"
+msgstr "Klucze dostępu"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:121
+msgid "Passkey Re-Authentication"
+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"
+
+#: 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."
+
+#: apps/web/src/components/forms/signin.tsx:161
+msgid "Passkeys are not supported on this browser"
+msgstr "Hasło"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:70
+#: apps/web/src/components/forms/password.tsx:123
+#: apps/web/src/components/forms/reset-password.tsx:110
+#: apps/web/src/components/forms/signin.tsx:356
+#: apps/web/src/components/forms/signup.tsx:196
+#: apps/web/src/components/forms/v2/signup.tsx:344
+msgid "Password"
+msgstr "Hasło zaktualizowane"
+
+#: apps/web/src/components/forms/password.tsx:71
+#: apps/web/src/components/forms/reset-password.tsx:72
+msgid "Password updated"
+msgstr "Zapłać"
+
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:46
+msgid "Pay"
+msgstr "Pay"
+
+#: 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."
+
+#: 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"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:122
+#: 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"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:51
+msgid "Pending documents"
+msgstr "Oczekujące Dokumenty"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:89
+msgid "Pending Documents"
+msgstr "Oczekujące zaproszenia"
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:62
+msgid "Pending invitations"
+msgstr "Pending invitations"
+
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:28
+msgid "Pending team deleted."
+msgstr "Pending team deleted."
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:134
+msgid "Personal"
+msgstr "Konto osobiste"
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:77
+msgid "Personal Account"
+msgstr "Wybierz hasło"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:152
+msgid "Pick a password"
+msgstr "Wybierz jedną z poniższych umów i zacznij podpisywać, aby się zarejestrować"
+
+#: apps/web/src/components/ui/user-profile-timur.tsx:53
+msgid "Pick any of the following agreements below and start signing to get started"
+msgstr "Pick any of the following agreements below and start signing to get started"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:212
+msgid "Please check the CSV file and make sure it is according to our format"
+msgstr "Proszę wybrać nowe hasło"
+
+#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:81
+msgid "Please check your email for updates."
+msgstr "Proszę sprawdź swój e-mail w celu uzyskania aktualizacji."
+
+#: apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx:34
+msgid "Please choose your new password"
+msgstr "Please choose your new password"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:174
+msgid "Please contact support if you would like to revert this action."
+msgstr "Proszę podać znaczącą nazwę dla swojego tokena. To pomoże Ci zidentyfikować go później."
+
+#: apps/web/src/components/forms/token.tsx:175
+msgid "Please enter a meaningful name for your token. This will help you identify it later."
+msgstr "Please enter a meaningful name for your token. This will help you identify it later."
+
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:135
+msgid "Please mark as viewed to complete"
+msgstr "Please mark as viewed to complete"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:459
+msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder."
+msgstr "Please note that proceeding will remove direct linking recipient and turn it into a placeholder."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:128
+msgid "Please note that this action is <0>irreversible0>."
+msgstr "Proszę pamiętać, że ta akcja jest <0>nieodwracalna0>. Po zatwierdzeniu ten dokument zostanie trwale usunięty."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:119
+msgid "Please note that this action is <0>irreversible0>. Once confirmed, this document will be permanently deleted."
+msgstr "Please note that this action is <0>irreversible0>. Once confirmed, this document will be permanently deleted."
+
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:67
+msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted."
+msgstr "Proszę pamiętać, że ta akcja jest nieodwracalna. Po zatwierdzeniu Twój token zostanie trwale usunięty."
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:133
+msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted."
+msgstr "Proszę pamiętać, że ta akcja jest nieodwracalna. Po zatwierdzeniu Twój webhook zostanie trwale usunięty."
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:121
+msgid "Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted."
+msgstr "Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:130
+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/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."
+
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:120
+msgid "Please provide a token from your authenticator, or a backup code."
+msgstr "Proszę spróbować ponownie i upewnić się, że wprowadzasz poprawny adres e-mail."
+
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169
+msgid "Please review the document before signing."
+msgstr "Proszę przejrzeć dokument przed podpisaniem."
+
+#: apps/web/src/components/forms/send-confirmation-email.tsx:64
+msgid "Please try again and make sure you enter the correct email address."
+msgstr "Please try again and make sure you enter the correct email address."
+
+#: apps/web/src/components/forms/signin.tsx:203
+msgid "Please try again later or login using your normal details"
+msgstr "Please try again later or login using your normal details"
+
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:80
+msgid "Please try again later."
+msgstr "Please try again later."
+
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:134
+msgid "Please type <0>{0}0> to confirm."
+msgstr "Please type <0>{0}0> to confirm."
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
+msgid "Preferences"
+msgstr "Preferences"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
+msgid "Preview"
+msgstr "Podgląd"
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
+msgid "Preview and configure template."
+msgstr "Preview and configure template."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
+#~ msgid "Preview: {0}"
+#~ msgstr "Preview: {0}"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
+#: apps/web/src/components/formatter/template-type.tsx:22
+msgid "Private"
+msgstr "Private"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:115
+msgid "Private templates can only be modified and viewed by you."
+msgstr "Private templates can only be modified and viewed by you."
+
+#: apps/web/src/app/(dashboard)/settings/profile/page.tsx:28
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:69
+#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:36
+#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:39
+msgid "Profile"
+msgstr "Profile"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:184
+msgid "Profile is currently <0>hidden0>."
+msgstr "Profil jest obecnie <0>widoczny0>."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:172
+msgid "Profile is currently <0>visible0>."
+msgstr "Profile is currently <0>visible0>."
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:72
+#: apps/web/src/components/forms/profile.tsx:72
+msgid "Profile updated"
+msgstr "Publiczny"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:78
+#: apps/web/src/components/formatter/template-type.tsx:27
+msgid "Public"
+msgstr "Publiczny profil"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
+#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
+#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
+msgid "Public Profile"
+msgstr "Public Profile"
+
+#: apps/web/src/components/forms/public-profile-form.tsx:146
+msgid "Public profile URL"
+msgstr "Nazwa użytkownika publicznego profilu"
+
+#: apps/web/src/components/forms/v2/signup.tsx:450
+msgid "Public profile username"
+msgstr "Public profile username"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:82
+msgid "Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile."
+msgstr "Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile."
+
+#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:144
+msgid "Read only field"
+msgstr "Gotowe"
+
+#: apps/web/src/components/general/signing-disclosure.tsx:21
+msgid "Read the full <0>signature disclosure0>."
+msgstr "Przeczytaj pełne <0>ujawnienie podpisu0>."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:97
+msgid "Ready"
+msgstr "Wymagana ponowna autoryzacja, aby podpisać to pole"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
+msgid "Reason"
+msgstr "Powód"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
+msgid "Reauthentication is required to sign this field"
+msgstr "Ostatnia aktywność"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:57
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:130
+msgid "Recent activity"
+msgstr "Odbiorca"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47
+msgid "Recent documents"
+msgstr "Ostatnie dokumenty"
+
+#: apps/web/src/app/(dashboard)/documents/data-table.tsx:69
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280
+msgid "Recipient"
+msgstr "Odbiorca"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:118
+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)/templates/[id]/template-page-view-recipients.tsx:30
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:139
+msgid "Recipients"
+msgstr "Odbiorcy"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:102
+msgid "Recipients metrics"
+msgstr "Metryki odbiorców"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
+msgid "Recipients will still retain their copy of the document"
+msgstr "Odbiorcy nadal zachowają swoją kopię dokumentu"
+
+#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:26
+msgid "Recovery code copied"
+msgstr "Kod odzyskiwania skopiowany"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:84
+msgid "Recovery codes"
+msgstr "Kody odzyskiwania"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:78
+#: apps/web/src/components/forms/signup.tsx:93
+#: apps/web/src/components/forms/v2/signup.tsx:127
+msgid "Registration Successful"
+msgstr "Rejestracja zakończona sukcesem"
+
+#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
+msgid "Remembered your password? <0>Sign In0>"
+msgstr "Pamiętasz swoje hasło? <0>Zaloguj się0>"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:193
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
+#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
+#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:166
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:167
+#: apps/web/src/components/forms/avatar-image.tsx:169
+msgid "Remove"
+msgstr "Usuń"
+
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:108
+msgid "Remove team email"
+msgstr "Usuń e-mail zespołu"
+
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:164
+msgid "Remove team member"
+msgstr "Usuń członka zespołu"
+
+#: apps/web/src/components/forms/password.tsx:139
+#: apps/web/src/components/forms/reset-password.tsx:126
+msgid "Repeat Password"
+msgstr "Powtórz hasło"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:282
+msgid "Request transfer"
+msgstr "Poproś o transfer"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:61
+msgid "Reseal document"
+msgstr "Zamknij dokument"
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:118
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:154
+msgid "Resend"
+msgstr "Wyślij ponownie"
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:128
+msgid "Resend Confirmation Email"
+msgstr "Wyślij ponownie e-mail potwierdzający"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:67
+msgid "Resend verification"
+msgstr "Wyślij ponownie weryfikację"
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
+#: apps/web/src/components/forms/public-profile-form.tsx:267
+msgid "Reset"
+msgstr "Resetuj"
+
+#: apps/web/src/components/forms/forgot-password.tsx:56
+msgid "Reset email sent"
+msgstr "Wysłano e-mail z resetowaniem"
+
+#: apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx:30
+#: apps/web/src/components/forms/forgot-password.tsx:93
+#: apps/web/src/components/forms/reset-password.tsx:138
+msgid "Reset Password"
+msgstr "Zresetuj hasło"
+
+#: apps/web/src/components/forms/reset-password.tsx:138
+msgid "Resetting Password..."
+msgstr "Resetowanie hasła..."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:99
+msgid "Resolve"
+msgstr "Rozwiąż"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:132
+msgid "Resolve payment"
+msgstr "Rozwiąż płatność"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126
+msgid "Retention of Documents"
+msgstr "Przechowywanie dokumentów"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168
+msgid "Retry"
+msgstr "Spróbuj ponownie"
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:48
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:50
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:45
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:48
+msgid "Return"
+msgstr "Zwróć"
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:130
+msgid "Return to Dashboard"
+msgstr "Powrót do pulpitu nawigacyjnego"
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:136
+msgid "Return to Home"
+msgstr "Powrót do strony głównej"
+
+#: apps/web/src/app/(unauthenticated)/check-email/page.tsx:32
+#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:32
+msgid "Return to sign in"
+msgstr "Powrót do logowania"
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:118
+msgid "Revoke"
+msgstr "Cofnij"
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:87
+msgid "Revoke access"
+msgstr "Cofnij dostęp"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:283
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:318
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:163
+#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:82
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:123
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:105
+msgid "Role"
+msgstr "Rola"
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:131
+#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:76
+msgid "Roles"
+msgstr "Role"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
+#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
+msgid "Save"
+msgstr "Zapisz"
+
+#: apps/web/src/app/(dashboard)/documents/data-table-sender-filter.tsx:63
+#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:81
+#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:69
+#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:64
+msgid "Search"
+msgstr "Szukaj"
+
+#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:140
+msgid "Search by document title"
+msgstr "Szukaj według tytułu dokumentu"
+
+#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144
+msgid "Search by name or email"
+msgstr "Szukaj według nazwy lub adresu e-mail"
+
+#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42
+msgid "Search documents..."
+msgstr "Wyszukaj dokumenty..."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217
+msgid "Secret"
+msgstr "Sekret"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:34
+#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:77
+#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:80
+msgid "Security"
+msgstr "Bezpieczeństwo"
+
+#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:25
+msgid "Security activity"
+msgstr "Aktywność bezpieczeństwa"
+
+#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:194
+msgid "Select"
+msgstr "Wybierz"
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:87
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:86
+msgid "Select a team"
+msgstr "Wybierz drużynę"
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:81
+msgid "Select a team to move this document to. This action cannot be undone."
+msgstr "Wybierz drużynę, do której chcesz przenieść ten dokument. Ta akcja nie może być cofnięta."
+
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:80
+msgid "Select a team to move this template to. This action cannot be undone."
+msgstr "Wybierz drużynę, do której chcesz przenieść ten szablon. Ta akcja nie może być cofnięta."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:261
+msgid "Select a template you'd like to display on your public profile"
+msgstr "Wybierz szablon, który chcesz wyświetlić na swoim publicznym profilu"
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:257
+msgid "Select a template you'd like to display on your team's public profile"
+msgstr "Wybierz szablon, który chcesz wyświetlić na publicznym profilu swojego zespołu"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:222
+msgid "Select passkey"
+msgstr "Wybierz klucz uwierzytelniający"
+
+#: apps/web/src/components/forms/send-confirmation-email.tsx:94
+msgid "Send confirmation email"
+msgstr "Wyślij e-mail potwierdzający"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
+msgid "Send document"
+msgstr "Wyślij dokument"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
+msgid "Send on Behalf of Team"
+msgstr "Wyślij w imieniu zespołu"
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
+msgid "Send reminder"
+msgstr "Wyślij przypomnienie"
+
+#: apps/web/src/app/(dashboard)/documents/data-table.tsx:65
+msgid "Sender"
+msgstr "Nadawca"
+
+#: apps/web/src/components/forms/forgot-password.tsx:93
+msgid "Sending Reset Email..."
+msgstr "Wysyłanie e-maila resetującego..."
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:128
+msgid "Sending..."
+msgstr "Wysyłanie..."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:92
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
+msgid "Sent"
+msgstr "Wysłano"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:149
+msgid "Set a password"
+msgstr "Ustaw hasło"
+
+#: apps/web/src/app/(dashboard)/settings/layout.tsx:20
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:65
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:211
+#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:47
+msgid "Settings"
+msgstr "Ustawienia"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:196
+msgid "Setup"
+msgstr "Konfiguracja"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:148
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:193
+msgid "Share"
+msgstr "Udostępnij"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:179
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:219
+msgid "Share Signing Card"
+msgstr "Udostępnij kartę podpisu"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:163
+msgid "Show"
+msgstr "Pokaż"
+
+#: apps/web/src/components/document/document-history-sheet.tsx:113
+msgid "Show additional information"
+msgstr "Pokaż dodatkowe informacje"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:45
+msgid "Show templates in your public profile for your audience to sign and get started quickly"
+msgstr "Pokaż szablony w swoim profilu publicznym dla swojej publiczności, aby szybko podpisać i rozpocząć"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:52
+msgid "Show templates in your team public profile for your audience to sign and get started quickly"
+msgstr "Pokaż szablony w profilu publicznym zespołu dla swojej publiczności, aby szybko podpisać i rozpocząć"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:83
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
+#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:124
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:256
+#: apps/web/src/components/ui/user-profile-skeleton.tsx:75
+#: apps/web/src/components/ui/user-profile-timur.tsx:81
+msgid "Sign"
+msgstr "Podpisz"
+
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217
+msgid "Sign as {0} <0>({1})0>"
+msgstr "Podpisz jako {0} <0>({1})0>"
+
+#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183
+msgid "Sign as<0>{0} <1>({1})1>0>"
+msgstr "Podpisz jako<0>{0} <1>({1})1>0>"
+
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
+msgid "Sign document"
+msgstr "Podpisz dokument"
+
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128
+msgid "Sign Document"
+msgstr "Podpisz dokument"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59
+msgid "Sign field"
+msgstr "Pole podpisu"
+
+#: apps/web/src/components/forms/signup.tsx:212
+#: apps/web/src/components/forms/v2/signup.tsx:362
+msgid "Sign Here"
+msgstr "Podpisz tutaj"
+
+#: apps/web/src/app/not-found.tsx:29
+#: apps/web/src/components/forms/signin.tsx:383
+#: apps/web/src/components/forms/signin.tsx:510
+msgid "Sign In"
+msgstr "Zaloguj się"
+
+#: apps/web/src/app/(unauthenticated)/signin/page.tsx:29
+msgid "Sign in to your account"
+msgstr "Zaloguj się na swoje konto"
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:297
+#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:84
+msgid "Sign Out"
+msgstr "Wyloguj się"
+
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
+msgid "Sign the document to complete the process."
+msgstr "Podpisz dokument, aby zakończyć proces."
+
+#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:67
+msgid "Sign up"
+msgstr "Zarejestruj się"
+
+#: apps/web/src/components/forms/signup.tsx:235
+msgid "Sign Up"
+msgstr "Zarejestruj się"
+
+#: apps/web/src/components/forms/signup.tsx:257
+#: apps/web/src/components/forms/v2/signup.tsx:401
+msgid "Sign Up with Google"
+msgstr "Zarejestruj się za pomocą Google"
+
+#: apps/web/src/components/forms/signup.tsx:281
+#: apps/web/src/components/forms/v2/signup.tsx:417
+msgid "Sign Up with OIDC"
+msgstr "Zarejestruj się za pomocą OIDC"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177
+#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195
+#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271
+#: apps/web/src/components/forms/profile.tsx:132
+msgid "Signature"
+msgstr "Podpis"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
+msgid "Signature ID"
+msgstr "ID sygnatury"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:123
+msgid "Signatures Collected"
+msgstr "Zebrane podpisy"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:200
+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/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270
+#: apps/web/src/components/document/document-read-only-fields.tsx:84
+msgid "Signed"
+msgstr "Podpisany"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:176
+msgid "Signer Events"
+msgstr "Wydarzenia sygnatariusza"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:168
+msgid "Signing Certificate"
+msgstr "Certyfikat podpisania"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
+msgid "Signing certificate provided by"
+msgstr "Certyfikat podpisania dostarczony przez"
+
+#: apps/web/src/components/forms/signin.tsx:383
+#: apps/web/src/components/forms/signin.tsx:510
+msgid "Signing in..."
+msgstr "Logowanie..."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
+msgid "Signing Links"
+msgstr "Linki do podpisania"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
+msgid "Signing links have been generated for this document."
+msgstr "Linki do podpisania zostały wygenerowane dla tego dokumentu."
+
+#: apps/web/src/components/forms/signup.tsx:235
+msgid "Signing up..."
+msgstr "Rejestracja..."
+
+#: apps/web/src/app/(profile)/p/[url]/page.tsx:109
+msgid "Since {0}"
+msgstr "Od {0}"
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:102
+msgid "Site Banner"
+msgstr "Baner strony"
+
+#: apps/web/src/app/(dashboard)/admin/nav.tsx:93
+#: apps/web/src/app/(dashboard)/admin/site-settings/page.tsx:26
+msgid "Site Settings"
+msgstr "Ustawienia strony"
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
+#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:50
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93
+#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:32
+#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:32
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:44
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:50
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:79
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:104
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:127
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:151
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:118
+#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
+#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
+#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:64
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:83
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:33
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:68
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:85
+#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:29
+msgid "Something went wrong"
+msgstr "Coś poszło nie tak"
+
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:98
+msgid "Something went wrong while attempting to transfer the ownership of team <0>{0}0> to your. Please try again later or contact support."
+msgstr "Coś poszło nie tak podczas próby przeniesienia własności zespołu <0>{0}0> do Ciebie. Proszę spróbować ponownie później lub skontaktować się z pomocą techniczną."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:120
+msgid "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
+msgstr "Coś poszło nie tak podczas próby weryfikacji adresu e-mail dla <0>{0}0>. Proszę spróbować ponownie później."
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:158
+msgid "Something went wrong while loading your passkeys."
+msgstr "Coś poszło nie tak podczas ładowania Twoich kluczy uwierzytelniających."
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:55
+msgid "Something went wrong while sending the confirmation email."
+msgstr "Coś poszło nie tak podczas wysyłania e-maila potwierdzającego."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:96
+msgid "Something went wrong while updating the team billing subscription, please contact support."
+msgstr "Coś poszło nie tak podczas aktualizacji subskrypcji płatniczej zespołu, prosimy o kontakt z pomocą techniczną."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
+msgid "Something went wrong!"
+msgstr "Coś poszło nie tak!"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
+msgid "Something went wrong. Please try again or contact support."
+msgstr "Coś poszło nie tak. Proszę spróbować ponownie lub skontaktować się z pomocą techniczną."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:67
+msgid "Sorry, we were unable to download the audit logs. Please try again later."
+msgstr "Przepraszamy, nie mogliśmy pobrać dzienników audytowych. Proszę spróbować ponownie później."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
+msgid "Sorry, we were unable to download the certificate. Please try again later."
+msgstr "Przepraszamy, nie mogliśmy pobrać certyfikatu. Proszę spróbować ponownie później."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138
+msgid "Source"
+msgstr "Źródło"
+
+#: apps/web/src/app/(dashboard)/admin/nav.tsx:37
+msgid "Stats"
+msgstr "Statystyki"
+
+#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81
+#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32
+#: apps/web/src/app/(dashboard)/documents/data-table.tsx:79
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:93
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73
+msgid "Status"
+msgstr "Status"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:129
+msgid "Subscribe"
+msgstr "Subskrybuj"
+
+#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:81
+msgid "Subscription"
+msgstr "Subskrypcja"
+
+#: apps/web/src/app/(dashboard)/admin/nav.tsx:79
+msgid "Subscriptions"
+msgstr "Subskrypcje"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:35
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:67
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:87
+#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:25
+#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:25
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:37
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:118
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:141
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:32
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:44
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:44
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:79
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:88
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:72
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:49
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:150
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:49
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:57
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:76
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
+#: apps/web/src/components/forms/public-profile-form.tsx:80
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:133
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:170
+msgid "Success"
+msgstr "Sukces"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:87
+msgid "Successfully created passkey"
+msgstr "Pomyślnie utworzono klucz uwierzytelniający"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57
+msgid "System Requirements"
+msgstr "Wymagania systemowe"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:266
+msgid "System Theme"
+msgstr "Motyw systemowy"
+
+#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:65
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:64
+msgid "Team"
+msgstr "Zespół"
+
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:85
+msgid "Team checkout"
+msgstr "Zakupy zespołowe"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
+msgid "Team email"
+msgstr "E-mail zespołu"
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:58
+msgid "Team Email"
+msgstr "E-mail zespołu"
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:57
+msgid "Team email already verified!"
+msgstr "E-mail zespołu został już zweryfikowany!"
+
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:58
+msgid "Team email has been removed"
+msgstr "E-mail zespołu został usunięty"
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:116
+msgid "Team email verification"
+msgstr "Weryfikacja e-maila zespołu"
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:132
+msgid "Team email verified!"
+msgstr "E-mail zespołu zweryfikowany!"
+
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:80
+msgid "Team email was updated."
+msgstr "E-mail zespołu został zaktualizowany."
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:91
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:96
+msgid "Team invitation"
+msgstr "Zaproszenie do zespołu"
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:151
+msgid "Team invitations have been sent."
+msgstr "Zaproszenia do zespołu zostały wysłane."
+
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:109
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:86
+msgid "Team Member"
+msgstr "Członek zespołu"
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
+msgid "Team Name"
+msgstr "Nazwa zespołu"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
+msgid "Team Only"
+msgstr "Tylko dla zespołu"
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:110
+msgid "Team only templates are not linked anywhere and are visible only to your team."
+msgstr "Szablony tylko dla zespołu nie są nigdzie linkowane i są widoczne tylko dla Twojego zespołu."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:94
+msgid "Team ownership transfer"
+msgstr "Przeniesienie własności zespołu"
+
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:60
+msgid "Team ownership transfer already completed!"
+msgstr "Transfer własności zespołu został już zakończony!"
+
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:110
+msgid "Team ownership transferred!"
+msgstr "Własność zespołu przeniesiona!"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
+msgid "Team Preferences"
+msgstr "Preferencje zespołu"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
+msgid "Team Public Profile"
+msgstr "Publiczny profil zespołu"
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:277
+msgid "Team settings"
+msgstr "Ustawienia zespołu"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/layout.tsx:50
+msgid "Team Settings"
+msgstr "Ustawienia zespołu"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:51
+msgid "Team templates"
+msgstr "Szablony zespołu"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:79
+msgid "Team transfer in progress"
+msgstr "Przeniesienie zespołu w toku"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:77
+msgid "Team transfer request expired"
+msgstr "Żądanie przeniesienia zespołu wygasło"
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
+msgid "Team URL"
+msgstr "Adres URL zespołu"
+
+#: apps/web/src/app/(dashboard)/settings/teams/page.tsx:25
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:162
+#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:43
+#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:64
+#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:67
+msgid "Teams"
+msgstr "Zespoły"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:83
+msgid "Teams restricted"
+msgstr "Zespoły ograniczone"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
+msgid "Template"
+msgstr "Szablon"
+
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:41
+msgid "Template deleted"
+msgstr "Szablon usunięty"
+
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:67
+msgid "Template document uploaded"
+msgstr "Dokument szablonu przesłany"
+
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:42
+msgid "Template duplicated"
+msgstr "Szablon skopiowany"
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:134
+msgid "Template has been removed from your public profile."
+msgstr "Szablon został usunięty z Twojego profilu publicznego."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:171
+msgid "Template has been updated."
+msgstr "Szablon został zaktualizowany."
+
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:48
+msgid "Template moved"
+msgstr "Szablon przeniesiony"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
+msgid "Template saved"
+msgstr "Szablon zapisany"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
+#: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:208
+#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22
+#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:39
+msgid "Templates"
+msgstr "Szablony"
+
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:106
+msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields."
+msgstr "Szablony pozwalają na szybkie generowanie dokumentów z wypełnionymi odbiorcami i polami."
+
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256
+#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272
+msgid "Text"
+msgstr "Tekst"
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:166
+msgid "Text Color"
+msgstr "Kolor tekstu"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24
+msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below."
+msgstr "Dziękujemy za korzystanie z Documenso do wykonywania podpisu elektronicznego dokumentu. Celem tego ujawnienia jest poinformowanie Cię o procesie, legalności oraz Twoich prawach dotyczących korzystania z podpisów elektronicznych na naszej platformie. Decydując się na korzystanie z podpisu elektronicznego, zgadzasz się na warunki opisane poniżej."
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52
+msgid "The account has been deleted successfully."
+msgstr "Konto zostało pomyślnie usunięte."
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:197
+msgid "The content to show in the banner, HTML is allowed"
+msgstr "Treść do wyświetlenia w banerze, dozwolone HTML"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:78
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:32
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:164
+msgid "The direct link has been copied to your clipboard"
+msgstr "Bezpośredni link został skopiowany do schowka"
+
+#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:50
+msgid "The document has been successfully moved to the selected team."
+msgstr "Dokument został pomyślnie przeniesiony do wybranego zespołu."
+
+#: apps/web/src/app/embed/completed.tsx:29
+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/(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."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161
+msgid "The document will be hidden from your account"
+msgstr "Dokument zostanie ukryty w Twoim koncie"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
+msgid "The document will be immediately sent to recipients if this is checked."
+msgstr "Dokument zostanie natychmiast wysłany do odbiorców, jeśli to zostanie zaznaczone."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:175
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:179
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:203
+msgid "The events that will trigger a webhook to be sent to your URL."
+msgstr "Wydarzenia, które wyzwolą webhook do wysłania do Twojego URL."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
+#~ msgid "The global settings for the documents in your team account."
+#~ msgstr "The global settings for the documents in your team account."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
+msgid "The ownership of team <0>{0}0> has been successfully transferred to you."
+msgstr "Własność zespołu <0>{0}0> została pomyślnie przeniesiona na Ciebie."
+
+#: apps/web/src/components/partials/not-found.tsx:53
+msgid "The page you are looking for was moved, removed, renamed or might never have existed."
+msgstr "Strona, której szukasz, została przeniesiona, usunięta, zmieniona lub mogła nigdy nie istnieć."
+
+#: apps/web/src/components/forms/public-profile-form.tsx:118
+msgid "The profile link has been copied to your clipboard"
+msgstr "Link do profilu został skopiowany do schowka"
+
+#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:23
+msgid "The profile you are looking for could not be found."
+msgstr "Profil, którego szukasz, nie mógł zostać znaleziony."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:380
+msgid "The public description that will be displayed with this template"
+msgstr "Publiczny opis, który zostanie wyświetlony z tym szablonem"
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:358
+msgid "The public name for your template"
+msgstr "Publiczna nazwa Twojego szablonu"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119
+msgid "The recipient has been updated successfully"
+msgstr "Odbiorca został pomyślnie zaktualizowany"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:267
+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/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."
+msgstr "Link do podpisu został skopiowany do schowka."
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:105
+msgid "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users."
+msgstr "Baner strony to wiadomość, która jest wyświetlana u góry strony. Może być używany do wyświetlania ważnych informacji użytkownikom."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:45
+msgid "The team transfer invitation has been successfully deleted."
+msgstr "Zaproszenie do przeniesienia zespołu zostało pomyślnie usunięte."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:86
+msgid "The team transfer request to <0>{0}0> has expired."
+msgstr "Prośba o przeniesienie zespołu do <0>{0}0> wygasła."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:23
+msgid "The team you are looking for may have been removed, renamed or may have never existed."
+msgstr "Zespół, którego szukasz, mógł zostać usunięty, zmieniony lub mogł nie istnieć."
+
+#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:49
+msgid "The template has been successfully moved to the selected team."
+msgstr "Szablon został pomyślnie przeniesiony do wybranego zespołu."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:443
+msgid "The template will be removed from your profile"
+msgstr "Szablon zostanie usunięty z Twojego profilu"
+
+#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:23
+msgid "The template you are looking for may have been disabled, deleted or may have never existed."
+msgstr "Szablon, którego szukasz, mógł zostać wyłączony, usunięty lub mógł nigdy nie istnieć."
+
+#: apps/web/src/components/forms/token.tsx:106
+msgid "The token was copied to your clipboard."
+msgstr "Token został skopiowany do schowka."
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:88
+msgid "The token was deleted successfully."
+msgstr "Token został pomyślnie usunięty."
+
+#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:24
+msgid "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link."
+msgstr "Token, którego użyłeś do zresetowania hasła, jest albo wygasły, albo nigdy nie istniał. Jeśli nadal zapomniałeś hasła, poproś o nowy link resetujący."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:124
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:128
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:152
+msgid "The URL for Documenso to send webhook events to."
+msgstr "URL dla Documenso do wysyłania zdarzeń webhook."
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:79
+msgid "The webhook has been successfully deleted."
+msgstr "Webhook został pomyślnie usunięty."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:75
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:81
+msgid "The webhook has been updated successfully."
+msgstr "Webhook został pomyślnie zaktualizowany."
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:93
+msgid "The webhook was successfully created."
+msgstr "Webhook został pomyślnie utworzony."
+
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:25
+msgid "There are no active drafts at the current moment. You can upload a document to start drafting."
+msgstr "Nie ma aktywnych szkiców w tej chwili. Możesz przesłać dokument, aby rozpocząć szkicowanie."
+
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:20
+msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed."
+msgstr "Nie ma jeszcze ukończonych dokumentów. Dokumenty, które stworzyłeś lub otrzymałeś, pojawią się tutaj, gdy będą ukończone."
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70
+msgid "They have permission on your behalf to:"
+msgstr "Mają pozwolenie w Twoim imieniu na:"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:110
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:110
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:109
+msgid "This action is not reversible. Please be certain."
+msgstr "Ta akcja nie jest odwracalna. Proszę być pewnym."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81
+msgid "This document could not be deleted at this time. Please try again."
+msgstr "Nie można usunąć tego dokumentu w tej chwili. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:73
+msgid "This document could not be duplicated at this time. Please try again."
+msgstr "Nie można skopiować tego dokumentu w tej chwili. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:106
+msgid "This document could not be re-sent at this time. Please try again."
+msgstr "Nie można ponownie wysłać tego dokumentu w tej chwili. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:180
+msgid "This document has been cancelled by the owner and is no longer available for others to sign."
+msgstr "Ten dokument został anulowany przez właściciela i nie jest już dostępny do podpisania przez innych."
+
+#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:52
+msgid "This document has been cancelled by the owner."
+msgstr "Ten dokument został anulowany przez właściciela."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
+msgid "This document has been signed by all recipients"
+msgstr "Ten dokument został podpisany przez wszystkich odbiorców"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
+msgid "This document is currently a draft and has not been sent"
+msgstr "Ten dokument jest obecnie szkicowany i nie został wysłany"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152
+msgid "This document was created by you or a team member using the template above."
+msgstr "Ten dokument został stworzony przez Ciebie lub członka zespołu przy użyciu powyższego szablonu."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164
+msgid "This document was created using a direct link."
+msgstr "Ten dokument został stworzony przy użyciu bezpośredniego linku."
+
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93
+msgid "This email is already being used by another team."
+msgstr "Ten e-mail jest już używany przez inny zespół."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:40
+msgid "This link is invalid or has expired. Please contact your team to resend a transfer request."
+msgstr "Ten link jest nieprawidłowy lub wygasł. Proszę skontaktować się ze swoim zespołem, aby ponownie wysłać prośbę o transfer."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:37
+msgid "This link is invalid or has expired. Please contact your team to resend a verification."
+msgstr "Ten link jest nieprawidłowy lub wygasł. Proszę skontaktować się ze swoim zespołem, aby ponownie wysłać weryfikację."
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:208
+msgid "This passkey has already been registered."
+msgstr "Ten klucz dostępu został już zarejestrowany."
+
+#: apps/web/src/components/forms/signin.tsx:200
+msgid "This passkey is not configured for this application. Please login and add one in the user settings."
+msgstr "Ten klucz dostępu nie jest skonfigurowany dla tej aplikacji. Proszę zalogować się i dodać jeden w ustawieniach użytkownika."
+
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:148
+msgid "This price includes minimum 5 seats."
+msgstr "Ta cena obejmuje co najmniej 5 miejsc."
+
+#: apps/web/src/components/forms/signin.tsx:202
+msgid "This session has expired. Please try again."
+msgstr "Ta sesja wygasła. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
+msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
+msgstr "Ten zespół oraz wszelkie powiązane dane, z wyjątkiem faktur, zostaną trwale usunięte."
+
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:51
+msgid "This template could not be deleted at this time. Please try again."
+msgstr "Ten szablon nie mógł zostać usunięty w tej chwili. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:43
+msgid "This token is invalid or has expired. No action is needed."
+msgstr "Ten token jest nieprawidłowy lub wygasł. Nie wymaga żadnej akcji."
+
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:43
+msgid "This token is invalid or has expired. Please contact your team for a new invitation."
+msgstr "Ten token jest nieprawidłowy lub wygasł. Proszę skontaktować się ze swoim zespołem o nowe zaproszenie."
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
+msgid "This URL is already in use."
+msgstr "Ten URL jest już używany."
+
+#: apps/web/src/components/forms/v2/signup.tsx:145
+msgid "This username has already been taken"
+msgstr "Ta nazwa użytkownika została już zajęta"
+
+#: apps/web/src/components/forms/public-profile-claim-dialog.tsx:98
+msgid "This username is already taken"
+msgstr "Ta nazwa użytkownika jest już zajęta"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:73
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:44
+msgid "Time"
+msgstr "Czas"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:97
+msgid "Time zone"
+msgstr "Strefa czasowa"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:131
+msgid "Time Zone"
+msgstr "Strefa czasowa"
+
+#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67
+#: apps/web/src/app/(dashboard)/documents/data-table.tsx:60
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61
+msgid "Title"
+msgstr "Tytuł"
+
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:106
+msgid "To accept this invitation you must create an account."
+msgstr "Aby zaakceptować to zaproszenie, musisz założyć konto."
+
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:125
+msgid "To change the email you must remove and add a new email address."
+msgstr "Aby zmienić e-mail, musisz usunąć i dodać nowy adres e-mail."
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:117
+msgid "To confirm, please enter the accounts email address <0/>({0})."
+msgstr "Aby potwierdzić, proszę wpisać adres e-mail konta <0/>({0})."
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:117
+msgid "To confirm, please enter the reason"
+msgstr "Aby potwierdzić, proszę wpisać powód"
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:101
+msgid "To decline this invitation you must create an account."
+msgstr "Aby odrzucić to zaproszenie, musisz założyć konto."
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:197
+msgid "To enable two-factor authentication, scan the following QR code using your authenticator app."
+msgstr "Aby włączyć uwierzytelnianie dwuetapowe, zeskanuj poniższy kod QR za pomocą swojej aplikacji uwierzytelniającej."
+
+#: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:23
+msgid "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox."
+msgstr "Aby uzyskać dostęp do swojego konta, proszę potwierdzić swój adres e-mail, klikając na link potwierdzający w swojej skrzynce odbiorczej."
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:54
+msgid "To mark this document as viewed, you need to be logged in as <0>{0}0>"
+msgstr "Aby oznaczyć ten dokument jako wyświetlony, musisz być zalogowany jako <0>{0}0>"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60
+msgid "To use our electronic signature service, you must have access to:"
+msgstr "Aby skorzystać z naszej usługi podpisu elektronicznego, musisz mieć dostęp do:"
+
+#: apps/web/src/app/embed/authenticate.tsx:21
+msgid "To view this document you need to be signed into your account, please sign in to continue."
+msgstr "Aby zobaczyć ten dokument, musisz być zalogowany na swoje konto, proszę zaloguj się, aby kontynuować."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:178
+msgid "Toggle the switch to hide your profile from the public."
+msgstr "Przełącz przełącznik, aby ukryć swój profil przed publicznością."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:190
+msgid "Toggle the switch to show your profile to the public."
+msgstr "Przełącz przełącznik, aby pokazać swój profil publicznie."
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:236
+msgid "Token"
+msgstr "Token"
+
+#: apps/web/src/components/forms/token.tsx:105
+msgid "Token copied to clipboard"
+msgstr "Token skopiowany do schowka"
+
+#: apps/web/src/components/forms/token.tsx:126
+msgid "Token created"
+msgstr "Token utworzony"
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:87
+msgid "Token deleted"
+msgstr "Token usunięty"
+
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108
+msgid "Token doesn't have an expiration date"
+msgstr "Token nie ma daty wygaśnięcia"
+
+#: apps/web/src/components/forms/token.tsx:193
+msgid "Token expiration date"
+msgstr "Data wygaśnięcia tokenu"
+
+#: apps/web/src/components/forms/token.tsx:165
+msgid "Token name"
+msgstr "Nazwa tokenu"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:65
+msgid "Total Documents"
+msgstr "Łączna liczba dokumentów"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:108
+msgid "Total Recipients"
+msgstr "Łączna liczba odbiorców"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150
+msgid "Total Signers that Signed Up"
+msgstr "Łączna liczba podpisujących, którzy się zarejestrowali"
+
+#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:64
+msgid "Total Users"
+msgstr "Łączna liczba użytkowników"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76
+msgid "transfer {teamName}"
+msgstr "przenieś {teamName}"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160
+msgid "Transfer ownership of this team to a selected team member."
+msgstr "Przenieś własność tego zespołu na wybranego członka zespołu."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
+msgid "Transfer team"
+msgstr "Przenieś zespół"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
+msgid "Transfer the ownership of the team to another team member."
+msgstr "Przenieś własność zespołu na innego członka zespołu."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:163
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:167
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:191
+msgid "Triggers"
+msgstr "Wyzwalacze"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:52
+msgid "Two factor authentication"
+msgstr "Uwierzytelnianie dwuetapowe"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:88
+msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app."
+msgstr "Kody odzyskiwania uwierzytelniania dwuetapowego są używane do uzyskania dostępu do Twojego konta w przypadku, gdy stracisz dostęp do aplikacji uwierzytelniającej."
+
+#: apps/web/src/components/forms/signin.tsx:448
+msgid "Two-Factor Authentication"
+msgstr "Uwierzytelnianie dwuetapowe"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:90
+msgid "Two-factor authentication disabled"
+msgstr "Uwierzytelnianie dwuetapowe wyłączone"
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:94
+msgid "Two-factor authentication enabled"
+msgstr "Uwierzytelnianie dwuetapowe włączone"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:92
+msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in."
+msgstr "Uwierzytelnianie dwuetapowe zostało wyłączone dla Twojego konta. Nie będziesz już musiał wprowadzać kodu z aplikacji uwierzytelniającej podczas logowania."
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:120
+msgid "Two-Factor Re-Authentication"
+msgstr "Ponowna autoryzacja za pomocą dwuetapowej weryfikacji"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67
+msgid "Type"
+msgstr "Typ"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184
+msgid "Type 'delete' to confirm"
+msgstr "Wpisz 'delete', aby potwierdzić"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:186
+msgid "Type a command or search..."
+msgstr "Wpisz polecenie lub wyszukaj..."
+
+#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26
+msgid "Uh oh! Looks like you're missing a token"
+msgstr "Ups! Wygląda na to, że brakuje Ci tokenu"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:303
+msgid "Unable to change the language at this time. Please try again later."
+msgstr "Nie można zmienić języka w tej chwili. Spróbuj ponownie później."
+
+#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:31
+msgid "Unable to copy recovery code"
+msgstr "Nie można skopiować kodu odzyskiwania"
+
+#: apps/web/src/components/forms/token.tsx:110
+msgid "Unable to copy token"
+msgstr "Nie można skopiować tokenu"
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:105
+msgid "Unable to create direct template access. Please try again later."
+msgstr "Nie można utworzyć bezpośredniego dostępu do szablonu. Proszę spróbować ponownie później."
+
+#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:33
+msgid "Unable to decline this team invitation at this time."
+msgstr "Nie można w tej chwili odrzucić zaproszenia do zespołu."
+
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:86
+msgid "Unable to delete invitation. Please try again."
+msgstr "Nie można usunąć zaproszenia. Proszę spróbować ponownie."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:94
+msgid "Unable to delete team"
+msgstr "Nie można usunąć zespołu"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:103
+msgid "Unable to disable two-factor authentication"
+msgstr "Nie można wyłączyć uwierzytelniania dwuetapowego"
+
+#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:33
+msgid "Unable to join this team at this time."
+msgstr "Nie można dołączyć do tego zespołu w tej chwili."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:72
+#: apps/web/src/components/document/document-history-sheet.tsx:127
+msgid "Unable to load document history"
+msgstr "Nie można załadować historii dokumentu"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62
+msgid "Unable to load documents"
+msgstr "Nie można załadować dokumentów"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111
+msgid "Unable to load your public profile templates at this time"
+msgstr "Nie można załadować szablonów publicznego profilu w tej chwili"
+
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:84
+msgid "Unable to remove email verification at this time. Please try again."
+msgstr "Nie można usunąć weryfikacji e-maila w tej chwili. Proszę spróbować ponownie."
+
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:65
+msgid "Unable to remove team email at this time. Please try again."
+msgstr "Nie można usunąć e-maila zespołu w tej chwili. Proszę spróbować ponownie."
+
+#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:69
+msgid "Unable to resend invitation. Please try again."
+msgstr "Nie można ponownie wysłać zaproszenia. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:40
+msgid "Unable to resend verification at this time. Please try again."
+msgstr "Nie można ponownie wysłać weryfikacji w tej chwili. Proszę spróbować ponownie."
+
+#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:20
+msgid "Unable to reset password"
+msgstr "Nie można zresetować hasła"
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:68
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:101
+msgid "Unable to setup two-factor authentication"
+msgstr "Nie można skonfigurować uwierzytelniania dwuetapowego"
+
+#: apps/web/src/components/forms/signin.tsx:247
+#: apps/web/src/components/forms/signin.tsx:255
+msgid "Unable to sign in"
+msgstr "Nie można się zalogować"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:166
+#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:27
+msgid "Unauthorized"
+msgstr "Nieautoryzowany"
+
+#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116
+msgid "Uncompleted"
+msgstr "Niezakończony"
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276
+msgid "Unknown"
+msgstr "Nieznany"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23
+msgid "Unknown error"
+msgstr "Nieznany błąd"
+
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79
+msgid "Unpaid"
+msgstr "Nieopłacone"
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:181
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:162
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:166
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:191
+#: apps/web/src/components/forms/public-profile-form.tsx:279
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:428
+msgid "Update"
+msgstr "Aktualizuj"
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:211
+msgid "Update Banner"
+msgstr "Zaktualizuj baner"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:118
+msgid "Update passkey"
+msgstr "Zaktualizuj klucz dostępu"
+
+#: apps/web/src/components/forms/password.tsx:152
+msgid "Update password"
+msgstr "Zaktualizuj hasło"
+
+#: apps/web/src/components/forms/profile.tsx:150
+msgid "Update profile"
+msgstr "Zaktualizuj profil"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:180
+msgid "Update Recipient"
+msgstr "Zaktualizuj odbiorcę"
+
+#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:146
+msgid "Update role"
+msgstr "Zaktualizuj rolę"
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
+msgid "Update team"
+msgstr "Zaktualizuj zespół"
+
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:113
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:121
+msgid "Update team email"
+msgstr "Zaktualizuj e-mail zespołu"
+
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:136
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:144
+msgid "Update team member"
+msgstr "Zaktualizuj członka zespołu"
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:147
+msgid "Update user"
+msgstr "Zaktualizuj użytkownika"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:208
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:210
+msgid "Update webhook"
+msgstr "Zaktualizuj webhook"
+
+#: apps/web/src/components/forms/password.tsx:152
+msgid "Updating password..."
+msgstr "Aktualizacja hasła..."
+
+#: apps/web/src/components/forms/profile.tsx:150
+msgid "Updating profile..."
+msgstr "Aktualizacja profilu..."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115
+msgid "Updating Your Information"
+msgstr "Aktualizacja Twoich informacji"
+
+#: apps/web/src/components/forms/avatar-image.tsx:182
+msgid "Upload Avatar"
+msgstr "Prześlij avatar"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
+msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
+msgstr "Prześlij logo swojej marki (maks. 5MB, JPG, PNG lub WebP)"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
+msgid "Uploaded by"
+msgstr "Przesłane przez"
+
+#: apps/web/src/components/forms/avatar-image.tsx:91
+msgid "Uploaded file is too large"
+msgstr "Przesłany plik jest zbyt duży"
+
+#: apps/web/src/components/forms/avatar-image.tsx:92
+msgid "Uploaded file is too small"
+msgstr "Przesłany plik jest zbyt mały"
+
+#: apps/web/src/components/forms/avatar-image.tsx:93
+msgid "Uploaded file not an allowed file type"
+msgstr "Przesłany plik nie jest dozwolonym typem pliku"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
+msgid "Use"
+msgstr "Użyj"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187
+#: apps/web/src/components/forms/signin.tsx:505
+msgid "Use Authenticator"
+msgstr "Użyj Authenticatora"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:185
+#: apps/web/src/components/forms/signin.tsx:503
+msgid "Use Backup Code"
+msgstr "Użyj kodu zapasowego"
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
+msgid "Use Template"
+msgstr "Użyj szablonu"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:78
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:45
+msgid "User"
+msgstr "Użytkownik"
+
+#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:41
+msgid "User ID"
+msgstr "ID użytkownika"
+
+#: apps/web/src/components/forms/v2/signup.tsx:234
+msgid "User profiles are here!"
+msgstr "Profile użytkowników są tutaj!"
+
+#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:269
+msgid "User settings"
+msgstr "Ustawienia użytkownika"
+
+#: apps/web/src/app/(dashboard)/admin/nav.tsx:51
+msgid "Users"
+msgstr "Użytkownicy"
+
+#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:83
+msgid "Value"
+msgstr "Wartość"
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:100
+msgid "Verification Email Sent"
+msgstr "Wysłano wiadomość e-mail z weryfikacją"
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:45
+msgid "Verification email sent successfully."
+msgstr "Wiadomość e-mail z weryfikacją została wysłana pomyślnie."
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:102
+msgid "Verify Now"
+msgstr "Zweryfikuj teraz"
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:112
+msgid "Verify your email address"
+msgstr "Zweryfikuj swój adres e-mail"
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:88
+msgid "Verify your email address to unlock all features."
+msgstr "Zweryfikuj swój adres e-mail, aby odblokować wszystkie funkcje."
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:56
+msgid "Verify your email to upload documents."
+msgstr "Zweryfikuj swój e-mail, aby przesłać dokumenty."
+
+#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:75
+msgid "Version History"
+msgstr "Historia wersji"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
+#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
+#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
+#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
+msgid "View"
+msgstr "Widok"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:140
+msgid "View activity"
+msgstr "Wyświetl aktywność"
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:78
+msgid "View all documents sent to your account"
+msgstr "Wyświetl wszystkie dokumenty wysłane na twoje konto"
+
+#: apps/web/src/app/(dashboard)/settings/security/page.tsx:134
+msgid "View all recent security activity related to your account."
+msgstr "Wyświetl wszystkie ostatnie aktywności związane z bezpieczeństwem twojego konta."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157
+msgid "View all related documents"
+msgstr "Zobacz wszystkie powiązane dokumenty"
+
+#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26
+msgid "View all security activity related to your account."
+msgstr "Wyświetl wszystkie aktywności związane z bezpieczeństwem twojego konta."
+
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:78
+msgid "View Codes"
+msgstr "Wyświetl kody"
+
+#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127
+msgid "View Document"
+msgstr "Zobacz dokument"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
+msgid "View documents associated with this email"
+msgstr "Wyświetl dokumenty powiązane z tym e-mailem"
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:55
+msgid "View invites"
+msgstr "Wyświetl zaproszenia"
+
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95
+msgid "View more"
+msgstr "Zobacz więcej"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34
+msgid "View Original Document"
+msgstr "Wyświetl oryginalny dokument"
+
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:87
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:116
+msgid "View Recovery Codes"
+msgstr "Wyświetl kody odzyskiwania"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:56
+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/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
+msgid "Viewed"
+msgstr "Wyświetlono"
+
+#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:86
+msgid "Waiting"
+msgstr "Czekam"
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:150
+msgid "Waiting for others to sign"
+msgstr "Czekam na podpisy innych"
+
+#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:70
+msgid "Waiting for Your Turn"
+msgstr "Czekając na Twój Ruch"
+
+#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:61
+msgid "Want to send slick signing links like this one? <0>Check out Documenso.0>"
+msgstr "Chcesz wysłać eleganckie linki do podpisywania, takie jak ten? <0>Sprawdź Documenso.0>"
+
+#: apps/web/src/app/(profile)/profile-header.tsx:68
+msgid "Want your own public profile?"
+msgstr "Chcesz swój własny profil publiczny?"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:40
+#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:55
+#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:31
+msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support."
+msgstr "Nie możemy przejść do portalu rozliczeń w tej chwili. Proszę spróbuj ponownie lub skontaktuj się z pomocą techniczną."
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:95
+msgid "We are unable to remove this passkey at the moment. Please try again later."
+msgstr "Nie możemy usunąć tego klucza zabezpieczeń w tej chwili. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:75
+msgid "We are unable to update this passkey at the moment. Please try again later."
+msgstr "Nie możemy zaktualizować tego klucza zabezpieczeń w tej chwili. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:153
+msgid "We encountered an error while removing the direct template link. Please try again later."
+msgstr "Nap encountered an error while removing the direct template link. Please try again later."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:84
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:90
+msgid "We encountered an error while updating the webhook. Please try again later."
+msgstr "Natknęliśmy się na błąd podczas aktualizacji webhooka. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/forms/token.tsx:145
+msgid "We encountered an unknown error while attempting create the new token. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby utworzenia nowego tokena. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:102
+msgid "We encountered an unknown error while attempting to add this email. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby dodania tego e-maila. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:107
+msgid "We encountered an unknown error while attempting to create a team. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby utworzenia zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:90
+msgid "We encountered an unknown error while attempting to delete it. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:35
+msgid "We encountered an unknown error while attempting to delete the pending team. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia oczekującego zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:86
+msgid "We encountered an unknown error while attempting to delete this team. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:99
+msgid "We encountered an unknown error while attempting to delete this token. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego tokena. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:71
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:68
+msgid "We encountered an unknown error while attempting to delete your account. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia twojego konta. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:160
+msgid "We encountered an unknown error while attempting to invite team members. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaproszenia członków zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:60
+msgid "We encountered an unknown error while attempting to leave this team. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby opuszczenia tego zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:143
+msgid "We encountered an unknown error while attempting to remove this template from your profile. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego szablonu z twojego profilu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:56
+msgid "We encountered an unknown error while attempting to remove this transfer. Please try again or contact support."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego transferu. Proszę spróbuj ponownie lub skontaktuj się z pomocą techniczną."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:60
+msgid "We encountered an unknown error while attempting to remove this user. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego użytkownika. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:118
+msgid "We encountered an unknown error while attempting to request a transfer of this team. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zażądania transferu tego zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/forms/reset-password.tsx:89
+msgid "We encountered an unknown error while attempting to reset your password. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zresetowania hasła. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:46
+msgid "We encountered an unknown error while attempting to revoke access. Please try again or contact support."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby odwołania dostępu. Proszę spróbuj ponownie lub skontaktuj się z pomocą techniczną."
+
+#: apps/web/src/components/forms/public-profile-claim-dialog.tsx:115
+msgid "We encountered an unknown error while attempting to save your details. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zapisania twoich danych. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/forms/profile.tsx:89
+#: apps/web/src/components/forms/signin.tsx:272
+#: apps/web/src/components/forms/signin.tsx:287
+#: apps/web/src/components/forms/signin.tsx:303
+msgid "We encountered an unknown error while attempting to sign you In. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zalogowania się. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:100
+#: apps/web/src/components/forms/signup.tsx:115
+#: apps/web/src/components/forms/v2/signup.tsx:162
+msgid "We encountered an unknown error while attempting to sign you up. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby rejestracji. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/forms/signup.tsx:130
+#: apps/web/src/components/forms/signup.tsx:144
+#: apps/web/src/components/forms/v2/signup.tsx:185
+#: apps/web/src/components/forms/v2/signup.tsx:199
+msgid "We encountered an unknown error while attempting to sign you Up. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby rejestracji. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/forms/avatar-image.tsx:124
+msgid "We encountered an unknown error while attempting to update the avatar. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania awatara. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:92
+msgid "We encountered an unknown error while attempting to update the banner. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania banera. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:180
+msgid "We encountered an unknown error while attempting to update the template. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania szablonu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:102
+msgid "We encountered an unknown error while attempting to update this team member. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania tego członka zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/forms/password.tsx:86
+msgid "We encountered an unknown error while attempting to update your password. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania twojego hasła. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/forms/public-profile-form.tsx:106
+msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania twojego profilu publicznego. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
+msgid "We encountered an unknown error while attempting to update your team. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania twojego zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:91
+msgid "We encountered an unknown error while attempting update the team email. Please try again later."
+msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania e-maila zespołu. Proszę spróbuj ponownie później."
+
+#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:80
+msgid "We have sent a confirmation email for verification."
+msgstr "Wysłaliśmy wiadomość e-mail z potwierdzeniem dla weryfikacji."
+
+#: apps/web/src/components/forms/token.tsx:111
+msgid "We were unable to copy the token to your clipboard. Please try again."
+msgstr "Nie udało nam się skopiować tokena do schowka. Spróbuj ponownie."
+
+#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:33
+msgid "We were unable to copy your recovery code to your clipboard. Please try again."
+msgstr "Nie udało nam się skopiować twojego kodu odzyskiwania do schowka. Spróbuj ponownie."
+
+#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:52
+msgid "We were unable to create a checkout session. Please try again, or contact support"
+msgstr "Nie udało się utworzyć sesji zakupu. Proszę spróbuj ponownie lub skontaktuj się z pomocą techniczną"
+
+#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:105
+msgid "We were unable to disable two-factor authentication for your account. Please ensure that you have entered your password and backup code correctly and try again."
+msgstr "Nie udało nam się wyłączyć uwierzytelniania dwuskładnikowego dla twojego konta. Upewnij się, że wpisałeś poprawnie swoje hasło i kod zapasowy, a następnie spróbuj ponownie."
+
+#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:28
+#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:39
+msgid "We were unable to log you out at this time."
+msgstr "Nie udało nam się wylogować w tej chwili."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:125
+msgid "We were unable to set your public profile to public. Please try again."
+msgstr "Nie udało nam się ustawić twojego profilu publicznego na publiczny. Proszę spróbuj ponownie."
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:70
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:103
+msgid "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again."
+msgstr "Nie udało nam się skonfigurować uwierzytelniania dwuskładnikowego dla twojego konta. Upewnij się, że wpisałeś poprawnie swój kod, a następnie spróbuj ponownie."
+
+#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
+#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:245
+#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
+msgid "We were unable to submit this document at this time. Please try again later."
+msgstr "Nie udało nam się złożyć tego dokumentu w tej chwili. Proszę spróbuj ponownie później."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
+msgid "We were unable to update your branding preferences at this time, please try again later"
+msgstr "Nie udało nam się zaktualizować ustawień dotyczących marki w tym czasie, spróbuj ponownie później"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
+msgid "We were unable to update your document preferences at this time, please try again later"
+msgstr "Nie udało nam się zaktualizować preferencji dokumentu w tym czasie, spróbuj ponownie później"
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
+msgid "We were unable to verify your details. Please try again or contact support"
+msgstr "Nie udało się zweryfikować twoich danych. Proszę spróbuj ponownie lub skontaktuj się z pomocą techniczną"
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:65
+msgid "We were unable to verify your email. If your email is not verified already, please try again."
+msgstr "Nie udało się zweryfikować twojego e-maila. Jeśli twój e-mail nie jest jeszcze zweryfikowany, spróbuj ponownie."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
+msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
+msgstr "Wygenerujemy dla Ciebie linki do podpisania, które możesz wysłać do odbiorców za pomocą wybranej metody."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
+msgid "We won't send anything to notify recipients."
+msgstr "Nie wyślemy niczego, aby powiadomić odbiorców."
+
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
+#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
+msgid "We're all empty"
+msgstr "Jesteśmy całkowicie puste"
+
+#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:116
+msgid "We've sent a confirmation email to <0>{email}0>. Please check your inbox and click the link in the email to verify your account."
+msgstr "Wysłaliśmy wiadomość e-mail z potwierdzeniem na <0>{email}0>. Proszę sprawdź swoją skrzynkę odbiorczą i kliknij link w e-maile, aby zweryfikować swoje konto."
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:92
+msgid "Webhook created"
+msgstr "Webhook utworzony"
+
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:78
+msgid "Webhook deleted"
+msgstr "Webhook usunięty"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:74
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:80
+msgid "Webhook updated"
+msgstr "Webhook zaktualizowany"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:117
+#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:145
+msgid "Webhook URL"
+msgstr "URL webhooka"
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:28
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
+#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
+#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
+#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
+#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
+msgid "Webhooks"
+msgstr "Webhooki"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:29
+msgid "Weekly"
+msgstr "Co tydzień"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21
+msgid "Welcome"
+msgstr "Witaj"
+
+#: apps/web/src/app/(unauthenticated)/signin/page.tsx:33
+msgid "Welcome back, we are lucky to have you."
+msgstr "Witamy z powrotem, mamy szczęście, że mamy cię."
+
+#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:88
+msgid "Were you trying to edit this document instead?"
+msgstr "Czy próbowałeś raczej edytować ten dokument?"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:189
+msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
+msgstr "Kiedy klikniesz kontynuuj, zostaniesz poproszony o dodanie pierwszego dostępnego autoryzatora w swoim systemie."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
+msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
+msgstr "Kiedy korzystasz z naszej platformy, aby przyczepić swój podpis elektroniczny do dokumentów, wyrażasz zgodę na dokonanie tego zgodnie z Ustawą o podpisach elektronicznych w handlu globalnym i krajowym (Ustawa E-Sign) oraz innymi obowiązującymi przepisami. Ta czynność wskazuje na twoją zgodę na korzystanie z elektronicznych środków do podpisywania dokumentów i otrzymywania powiadomień."
+
+#: apps/web/src/app/(profile)/p/[url]/page.tsx:139
+msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away."
+msgstr "Czekając na ich działania możesz utworzyć własne konto Documenso i od razu rozpocząć podpisywanie dokumentów."
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:126
+msgid "Who do you want to remind?"
+msgstr "Kogo chcesz przypomnieć?"
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101
+msgid "Withdrawing Consent"
+msgstr "Wycofanie zgody"
+
+#: apps/web/src/components/forms/public-profile-form.tsx:223
+msgid "Write about the team"
+msgstr "Napisz o zespole"
+
+#: apps/web/src/components/forms/public-profile-form.tsx:223
+msgid "Write about yourself"
+msgstr "Napisz o sobie"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:31
+msgid "Yearly"
+msgstr "Rocznie"
+
+#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32
+#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31
+msgid "You"
+msgstr "Ty"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:93
+msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
+msgstr "Zaraz kończysz zatwierdzanie \"{truncatedTitle}\".<0/> Czy jesteś pewny?"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:85
+msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
+msgstr "Zaraz kończysz podpisywanie \"{truncatedTitle}\".<0/> Czy jesteś pewny?"
+
+#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:77
+msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
+msgstr "Zaraz kończysz przeglądanie \"{truncatedTitle}\".<0/> Czy jesteś pewny?"
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:103
+msgid "You are about to delete <0>\"{documentTitle}\"0>"
+msgstr "Zaraz usuniesz <0>\"{documentTitle}\"0>"
+
+#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:120
+msgid "You are about to delete the following team email from <0>{teamName}0>."
+msgstr "Zaraz usuniesz następujący e-mail zespołowy z <0>{teamName}0>."
+
+#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:107
+msgid "You are about to hide <0>\"{documentTitle}\"0>"
+msgstr "Zaraz ukryjesz <0>\"{documentTitle}\"0>"
+
+#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:85
+msgid "You are about to leave the following team."
+msgstr "Zaraz opuścisz następujący zespół."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:85
+msgid "You are about to remove the following user from <0>{teamName}0>."
+msgstr "Zaraz usuniesz następującego użytkownika z <0>{teamName}0>."
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:98
+msgid "You are about to revoke access for team <0>{0}0> ({1}) to use your email."
+msgstr "Zaraz cofniesz dostęp dla zespołu <0>{0}0> ({1}) do korzystania z twojego e-maila."
+
+#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:78
+msgid "You are currently on the <0>Free Plan0>."
+msgstr "Obecnie jesteś na <0>Planie darmowym0>."
+
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:148
+msgid "You are currently updating <0>{teamMemberName}.0>"
+msgstr "Obecnie aktualizujesz <0>{teamMemberName}.0>"
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:122
+msgid "You are currently updating the <0>{passkeyName}0> passkey."
+msgstr "Obecnie aktualizujesz klucz zabezpieczeń <0>{passkeyName}0>."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:28
+msgid "You are not authorized to view this page."
+msgstr "Nie masz uprawnień, aby wyświetlić tę stronę."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:43
+msgid "You can choose to enable or disable your profile for public view."
+msgstr "Możesz wybrać, aby włączyć lub wyłączyć swój profil do publicznego widoku."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:50
+msgid "You can choose to enable or disable your team profile for public view."
+msgstr "Możesz wybrać, aby włączyć lub wyłączyć profil swojego zespołu do publicznego widoku."
+
+#: apps/web/src/app/(dashboard)/documents/upcoming-profile-claim-teaser.tsx:30
+msgid "You can claim your profile later on by going to your profile settings!"
+msgstr "Możesz zgłosić swój profil później, przechodząc do ustawień swojego profilu!"
+
+#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
+msgid "You can copy and share these links to recipients so they can action the document."
+msgstr "Możesz skopiować i udostępnić te linki odbiorcom, aby mogli wykonać dokument."
+
+#: apps/web/src/components/forms/public-profile-form.tsx:154
+msgid "You can update the profile URL by updating the team URL in the general settings page."
+msgstr "Możesz zaktualizować adres URL profilu, aktualizując adres URL zespołu na stronie ogólnych ustawień."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
+msgid "You can view documents associated with this email and use this identity when sending documents."
+msgstr "Możesz wyświetlać dokumenty powiązane z tym e-mailem i używać tej tożsamości podczas wysyłania dokumentów."
+
+#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:213
+msgid "You cannot have more than {MAXIMUM_PASSKEYS} passkeys."
+msgstr "Nie możesz mieć więcej niż {MAXIMUM_PASSKEYS} kluczy zabezpieczeń."
+
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:120
+msgid "You cannot modify a team member who has a higher role than you."
+msgstr "Nie możesz modyfikować członka zespołu, który ma wyższą rolę niż ty."
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:101
+msgid "You cannot upload encrypted PDFs"
+msgstr "Nie możesz przesyłać zaszyfrowanych plików PDF"
+
+#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45
+msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance."
+msgstr "Obecnie nie masz rekordu klienta, nie powinno tak się dziać. Proszę skontaktuj się z pomocą techniczną."
+
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:127
+msgid "You have accepted an invitation from <0>{0}0> to join their team."
+msgstr "Zaakceptowałeś zaproszenie od <0>{0}0>, aby dołączyć do ich zespołu."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:64
+msgid "You have already completed the ownership transfer for <0>{0}0>."
+msgstr "Już zakończyłeś transfer własności dla <0>{0}0>."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:61
+msgid "You have already verified your email address for <0>{0}0>."
+msgstr "Już zweryfikowałeś swój adres e-mail dla <0>{0}0>."
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:95
+#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:100
+msgid "You have been invited by <0>{0}0> to join their team."
+msgstr "Zostałeś zaproszony przez <0>{0}0>, aby dołączyć do ich zespołu."
+
+#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:122
+msgid "You have declined the invitation from <0>{0}0> to join their team."
+msgstr "Odrzuciłeś zaproszenie od <0>{0}0>, aby dołączyć do ich zespołu."
+
+#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:44
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:49
+msgid "You have no webhooks yet. Your webhooks will be shown here once you create them."
+msgstr "Nie masz jeszcze żadnych webhooków. Twoje webhooki będą tutaj widoczne, gdy je utworzysz."
+
+#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:15
+msgid "You have not yet created any templates. To create a template please upload one."
+msgstr "Nie stworzyłeś jeszcze żadnych szablonów. Aby stworzyć szablon, proszę przesłać jeden."
+
+#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:30
+msgid "You have not yet created or received any documents. To create a document please upload one."
+msgstr "Nie stworzyłeś jeszcze żadnych dokumentów ani ich nie otrzymałeś. Aby stworzyć dokument, proszę przesłać jeden."
+
+#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:234
+msgid "You have reached the maximum limit of {0} direct templates. <0>Upgrade your account to continue!0>"
+msgstr "Osiągnąłeś maksymalny limit {0} bezpośrednich szablonów. <0>Ulepsz swoje konto, aby kontynuować!0>"
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:52
+msgid "You have reached your document limit."
+msgstr "Osiągnąłeś limit dokumentów."
+
+#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
+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/components/(teams)/dialogs/leave-team-dialog.tsx:50
+msgid "You have successfully left this team."
+msgstr "Sukces! Opuszczono ten zespół."
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:80
+#: apps/web/src/components/forms/signup.tsx:95
+#: apps/web/src/components/forms/v2/signup.tsx:129
+msgid "You have successfully registered. Please verify your account by clicking on the link you received in the email."
+msgstr "Rejestracja zakończona sukcesem. Zweryfikuj swoje konto, klikając w link, który otrzymałeś w e-mailu."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:50
+msgid "You have successfully removed this user from the team."
+msgstr "Sukces! Usunięto tego użytkownika z zespołu."
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:38
+msgid "You have successfully revoked access."
+msgstr "Sukces! Odebrano dostęp."
+
+#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104
+msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL}0> for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service."
+msgstr "Masz prawo do wycofania zgody na korzystanie z podpisów elektronicznych w dowolnym czasie przed zakończeniem procesu podpisywania. Aby wycofać zgodę, prosimy o kontakt z nadawcą dokumentu. Jeśli nie uda Ci się skontaktować z nadawcą, możesz skontaktować się z <0>{SUPPORT_EMAIL}0> w celu uzyskania pomocy. Należy pamiętać, że wycofanie zgody może opóźnić lub zatrzymać zakończenie związanej z tym transakcji lub usługi."
+
+#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93
+msgid "You have updated {teamMemberName}."
+msgstr "Zaktualizowałeś {teamMemberName}."
+
+#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:136
+msgid "You have verified your email address for <0>{0}0>."
+msgstr "Zweryfikowałeś swój adres e-mail dla <0>{0}0>."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:82
+msgid "You must be an admin of this team to manage billing."
+msgstr "Musisz być administratorem tego zespołu, aby zarządzać płatnościami."
+
+#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:60
+#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:58
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:54
+msgid "You must enter '{deleteMessage}' to proceed"
+msgstr "Musisz wpisać '{deleteMessage}', aby kontynuować"
+
+#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:301
+msgid "You must have at least one other team member to transfer ownership."
+msgstr "Musisz mieć przynajmniej jednego innego członka zespołu, aby przenieść własność."
+
+#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:109
+msgid "You must set a profile URL before enabling your public profile."
+msgstr "Musisz ustawić URL profilu przed włączeniem swojego publicznego profilu."
+
+#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:56
+msgid "You need to be logged in as <0>{email}0> to view this page."
+msgstr "Musisz być zalogowany jako <0>{email}0>, aby zobaczyć tę stronę."
+
+#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:45
+msgid "You need to be logged in to view this page."
+msgstr "Musisz być zalogowany, aby zobaczyć tę stronę."
+
+#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:105
+msgid "You need to setup 2FA to mark this document as viewed."
+msgstr "Musisz skonfigurować 2FA, aby oznaczyć ten dokument jako przeczytany."
+
+#: apps/web/src/components/forms/v2/signup.tsx:283
+msgid "You will get notified & be able to set up your documenso public profile when we launch the feature."
+msgstr "Otrzymasz powiadomienie i będziesz mógł skonfigurować swój publiczny profil documenso, gdy uruchomimy tę funkcję."
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:96
+msgid "You will now be required to enter a code from your authenticator app when signing in."
+msgstr "Będziesz teraz zobowiązany do wpisania kodu z aplikacji uwierzytelniającej podczas logowania."
+
+#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:173
+msgid "You will receive an Email copy of the signed document once everyone has signed."
+msgstr "Otrzymasz kopię e-maila podpisanego dokumentu, gdy wszyscy podpiszą."
+
+#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:49
+msgid "Your account has been deleted successfully."
+msgstr "Twoje konto zostało pomyślnie usunięte."
+
+#: apps/web/src/components/forms/avatar-image.tsx:108
+msgid "Your avatar has been updated successfully."
+msgstr "Twój awatar został pomyślnie zaktualizowany."
+
+#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:75
+msgid "Your banner has been updated successfully."
+msgstr "Twój banner został pomyślnie zaktualizowany."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
+msgid "Your brand website URL"
+msgstr "Adres URL witryny Twojej marki"
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
+msgid "Your branding preferences have been updated"
+msgstr "Preferencje dotyczące marki zostały zaktualizowane"
+
+#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
+msgid "Your current plan is past due. Please update your payment information."
+msgstr "Twój obecny plan jest przeterminowany. Zaktualizuj swoje informacje płatnicze."
+
+#: apps/web/src/components/templates/manage-public-template-dialog.tsx:251
+msgid "Your direct signing templates"
+msgstr "Twoje bezpośrednie szablony podpisu"
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:124
+msgid "Your document failed to upload."
+msgstr "Twój dokument nie udało się załadować."
+
+#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
+msgid "Your document has been created from the template successfully."
+msgstr "Twój dokument został pomyślnie utworzony na podstawie szablonu."
+
+#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:98
+msgid "Your document has been re-sent successfully."
+msgstr "Twój dokument został pomyślnie ponownie wysłany."
+
+#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
+msgid "Your document has been sent successfully."
+msgstr "Twój dokument został pomyślnie wysłany."
+
+#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:59
+msgid "Your document has been successfully duplicated."
+msgstr "Twój dokument został pomyślnie zduplikowany."
+
+#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:82
+msgid "Your document has been uploaded successfully."
+msgstr "Twój dokument został pomyślnie załadowany."
+
+#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:69
+msgid "Your document has been uploaded successfully. You will be redirected to the template page."
+msgstr "Twój dokument został pomyślnie załadowany. Zostaniesz przekierowany na stronę szablonu."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
+msgid "Your document preferences have been updated"
+msgstr "Preferencje dokumentu zostały zaktualizowane"
+
+#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
+msgid "Your documents"
+msgstr "Twoje dokumenty"
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:40
+msgid "Your email has been successfully confirmed! You can now use all features of Documenso."
+msgstr "Twój adres e-mail został pomyślnie potwierdzony! Możesz teraz korzystać ze wszystkich funkcji Documenso."
+
+#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:62
+msgid "Your email is currently being used by team <0>{0}0> ({1})."
+msgstr "Twój adres e-mail jest aktualnie używany przez zespół <0>{0}0> ({1})."
+
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:47
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:80
+msgid "Your existing tokens"
+msgstr "Twoje istniejące tokeny"
+
+#: apps/web/src/components/forms/team-document-settings.tsx:70
+#~ msgid "Your global team document settings has been updated successfully."
+#~ msgstr "Your global team document settings has been updated successfully."
+
+#: apps/web/src/components/forms/password.tsx:72
+#: apps/web/src/components/forms/reset-password.tsx:73
+msgid "Your password has been updated successfully."
+msgstr "Twoje hasło zostało pomyślnie zaktualizowane."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:113
+msgid "Your payment for teams is overdue. Please settle the payment to avoid any service disruptions."
+msgstr "Twoja płatność za zespoły jest przeterminowana. Proszę uregulować płatność, aby uniknąć zakłóceń w świadczeniu usług."
+
+#: apps/web/src/components/forms/profile.tsx:73
+msgid "Your profile has been updated successfully."
+msgstr "Twój profil został pomyślnie zaktualizowany."
+
+#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:73
+msgid "Your profile has been updated."
+msgstr "Twój profil został zaktualizowany."
+
+#: apps/web/src/components/forms/public-profile-form.tsx:81
+msgid "Your public profile has been updated."
+msgstr "Twój publiczny profil został zaktualizowany."
+
+#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:27
+msgid "Your recovery code has been copied to your clipboard."
+msgstr "Twój kod odzyskiwania został skopiowany do schowka."
+
+#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:167
+#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:91
+msgid "Your recovery codes are listed below. Please store them in a safe place."
+msgstr "Twoje kody odzyskiwania są wymienione poniżej. Proszę przechowywać je w bezpiecznym miejscu."
+
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:62
+msgid "Your subscription is currently active."
+msgstr "Twoja subskrypcja jest aktualnie aktywna."
+
+#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:89
+msgid "Your team has been created."
+msgstr "Twój zespół został utworzony."
+
+#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:73
+msgid "Your team has been successfully deleted."
+msgstr "Twój zespół został pomyślnie usunięty."
+
+#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
+msgid "Your team has been successfully updated."
+msgstr "Twój zespół został pomyślnie zaktualizowany."
+
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:43
+msgid "Your template has been duplicated successfully."
+msgstr "Twój szablon został pomyślnie zduplikowany."
+
+#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:42
+msgid "Your template has been successfully deleted."
+msgstr "Twój szablon został pomyślnie usunięty."
+
+#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:67
+msgid "Your template will be duplicated."
+msgstr "Twój szablon zostanie zduplikowany."
+
+#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
+msgid "Your templates has been saved successfully."
+msgstr "Twoje szablony zostały pomyślnie zapisane."
+
+#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:89
+msgid "Your token has expired!"
+msgstr "Twój token wygasł!"
+
+#: apps/web/src/components/forms/token.tsx:277
+msgid "Your token was created successfully! Make sure to copy it because you won't be able to see it again!"
+msgstr "Twój token został pomyślnie utworzony! Upewnij się, że go skopiujesz, ponieważ nie będziesz mógł go zobaczyć ponownie!"
+
+#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:53
+#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
+msgid "Your tokens will be shown here once you create them."
+msgstr "Twoje tokeny będą tutaj wyświetlane po ich utworzeniu."
+
diff --git a/packages/lib/types/document-audit-logs.ts b/packages/lib/types/document-audit-logs.ts
index 4ab32959d..689ca4a78 100644
--- a/packages/lib/types/document-audit-logs.ts
+++ b/packages/lib/types/document-audit-logs.ts
@@ -33,6 +33,7 @@ export const ZDocumentAuditLogTypeSchema = z.enum([
'DOCUMENT_GLOBAL_AUTH_ACTION_UPDATED', // When the global action authentication is updated.
'DOCUMENT_META_UPDATED', // When the document meta data is updated.
'DOCUMENT_OPENED', // When the document is opened by a recipient.
+ 'DOCUMENT_RECIPIENT_REJECTED', // When a recipient rejects the document.
'DOCUMENT_RECIPIENT_COMPLETED', // When a recipient completes all their required tasks for the document.
'DOCUMENT_SENT', // When the document transitions from DRAFT to PENDING.
'DOCUMENT_TITLE_UPDATED', // When the document title is updated.
@@ -363,6 +364,16 @@ export const ZDocumentAuditLogEventDocumentRecipientCompleteSchema = z.object({
}),
});
+/**
+ * Event: Document recipient completed the document (the recipient has fully actioned and completed their required steps for the document).
+ */
+export const ZDocumentAuditLogEventDocumentRecipientRejectedSchema = z.object({
+ type: z.literal(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED),
+ data: ZBaseRecipientDataSchema.extend({
+ reason: z.string(),
+ }),
+});
+
/**
* Event: Document sent.
*/
@@ -487,6 +498,7 @@ export const ZDocumentAuditLogSchema = ZDocumentAuditLogBaseSchema.and(
ZDocumentAuditLogEventDocumentMetaUpdatedSchema,
ZDocumentAuditLogEventDocumentOpenedSchema,
ZDocumentAuditLogEventDocumentRecipientCompleteSchema,
+ ZDocumentAuditLogEventDocumentRecipientRejectedSchema,
ZDocumentAuditLogEventDocumentSentSchema,
ZDocumentAuditLogEventDocumentTitleUpdatedSchema,
ZDocumentAuditLogEventDocumentExternalIdUpdatedSchema,
diff --git a/packages/lib/types/document-email.ts b/packages/lib/types/document-email.ts
new file mode 100644
index 000000000..f7ff20f7a
--- /dev/null
+++ b/packages/lib/types/document-email.ts
@@ -0,0 +1,52 @@
+import { z } from 'zod';
+
+import type { DocumentMeta } from '@documenso/prisma/client';
+import { DocumentDistributionMethod } from '@documenso/prisma/client';
+
+export enum DocumentEmailEvents {
+ RecipientSigningRequest = 'recipientSigningRequest',
+ RecipientRemoved = 'recipientRemoved',
+ DocumentPending = 'documentPending',
+ DocumentCompleted = 'documentCompleted',
+ DocumentDeleted = 'documentDeleted',
+}
+
+export const ZDocumentEmailSettingsSchema = z
+ .object({
+ recipientSigningRequest: z.boolean().default(true),
+ recipientRemoved: z.boolean().default(true),
+ documentPending: z.boolean().default(true),
+ documentCompleted: z.boolean().default(true),
+ documentDeleted: z.boolean().default(true),
+ })
+ .strip()
+ .catch(() => ({
+ recipientSigningRequest: true,
+ recipientRemoved: true,
+ documentPending: true,
+ documentCompleted: true,
+ documentDeleted: true,
+ }));
+
+export type TDocumentEmailSettings = z.infer;
+
+export const extractDerivedDocumentEmailSettings = (
+ documentMeta?: DocumentMeta | null,
+): TDocumentEmailSettings => {
+ const emailSettings = ZDocumentEmailSettingsSchema.parse(documentMeta?.emailSettings ?? {});
+
+ if (
+ !documentMeta?.distributionMethod ||
+ documentMeta?.distributionMethod === DocumentDistributionMethod.EMAIL
+ ) {
+ return emailSettings;
+ }
+
+ return {
+ recipientSigningRequest: false,
+ recipientRemoved: false,
+ documentPending: false,
+ documentCompleted: false,
+ documentDeleted: false,
+ };
+};
diff --git a/packages/lib/utils/document-audit-logs.ts b/packages/lib/utils/document-audit-logs.ts
index 7ae9483d4..bb4f9bc8e 100644
--- a/packages/lib/utils/document-audit-logs.ts
+++ b/packages/lib/utils/document-audit-logs.ts
@@ -1,14 +1,10 @@
+import type { I18n } from '@lingui/core';
+import { msg } from '@lingui/macro';
import { match } from 'ts-pattern';
-import type {
- DocumentAuditLog,
- DocumentMeta,
- Field,
- Recipient,
- RecipientRole,
-} from '@documenso/prisma/client';
+import type { DocumentAuditLog, DocumentMeta, Field, Recipient } from '@documenso/prisma/client';
+import { RecipientRole } from '@documenso/prisma/client';
-import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '../constants/recipient-roles';
import type {
TDocumentAuditLog,
TDocumentAuditLogDocumentMetaDiffSchema,
@@ -254,129 +250,129 @@ export const diffDocumentMetaChanges = (
*
* Provide a userId to prefix the action with the user, example 'X did Y'.
*/
-export const formatDocumentAuditLogActionString = (
+export const formatDocumentAuditLogAction = (
+ _: I18n['_'],
auditLog: TDocumentAuditLog,
userId?: number,
) => {
- const { prefix, description } = formatDocumentAuditLogAction(auditLog, userId);
-
- return prefix ? `${prefix} ${description}` : description;
-};
-
-/**
- * Formats the audit log into a description of the action.
- *
- * Provide a userId to prefix the action with the user, example 'X did Y'.
- */
-// Todo: Translations.
-export const formatDocumentAuditLogAction = (auditLog: TDocumentAuditLog, userId?: number) => {
- let prefix = userId === auditLog.userId ? 'You' : auditLog.name || auditLog.email || '';
+ const prefix = userId === auditLog.userId ? _(msg`You`) : auditLog.name || auditLog.email || '';
const description = match(auditLog)
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.FIELD_CREATED }, () => ({
- anonymous: 'A field was added',
- identified: 'added a field',
+ anonymous: msg`A field was added`,
+ identified: msg`${prefix} added a field`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.FIELD_DELETED }, () => ({
- anonymous: 'A field was removed',
- identified: 'removed a field',
+ anonymous: msg`A field was removed`,
+ identified: msg`${prefix} removed a field`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.FIELD_UPDATED }, () => ({
- anonymous: 'A field was updated',
- identified: 'updated a field',
+ anonymous: msg`A field was updated`,
+ identified: msg`${prefix} updated a field`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.RECIPIENT_CREATED }, () => ({
- anonymous: 'A recipient was added',
- identified: 'added a recipient',
+ anonymous: msg`A recipient was added`,
+ identified: msg`${prefix} added a recipient`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.RECIPIENT_DELETED }, () => ({
- anonymous: 'A recipient was removed',
- identified: 'removed a recipient',
+ anonymous: msg`A recipient was removed`,
+ identified: msg`${prefix} removed a recipient`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.RECIPIENT_UPDATED }, () => ({
- anonymous: 'A recipient was updated',
- identified: 'updated a recipient',
+ anonymous: msg`A recipient was updated`,
+ identified: msg`${prefix} updated a recipient`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_CREATED }, () => ({
- anonymous: 'Document created',
- identified: 'created the document',
+ anonymous: msg`Document created`,
+ identified: msg`${prefix} created the document`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_DELETED }, () => ({
- anonymous: 'Document deleted',
- identified: 'deleted the document',
+ anonymous: msg`Document deleted`,
+ identified: msg`${prefix} deleted the document`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_INSERTED }, () => ({
- anonymous: 'Field signed',
- identified: 'signed a field',
+ anonymous: msg`Field signed`,
+ identified: msg`${prefix} signed a field`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_UNINSERTED }, () => ({
- anonymous: 'Field unsigned',
- identified: 'unsigned a field',
+ anonymous: msg`Field unsigned`,
+ identified: msg`${prefix} unsigned a field`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_VISIBILITY_UPDATED }, () => ({
- anonymous: 'Document visibility updated',
- identified: 'updated the document visibility',
+ anonymous: msg`Document visibility updated`,
+ identified: msg`${prefix} updated the document visibility`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_GLOBAL_AUTH_ACCESS_UPDATED }, () => ({
- anonymous: 'Document access auth updated',
- identified: 'updated the document access auth requirements',
+ anonymous: msg`Document access auth updated`,
+ identified: msg`${prefix} updated the document access auth requirements`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_GLOBAL_AUTH_ACTION_UPDATED }, () => ({
- anonymous: 'Document signing auth updated',
- identified: 'updated the document signing auth requirements',
+ anonymous: msg`Document signing auth updated`,
+ identified: msg`${prefix} updated the document signing auth requirements`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_META_UPDATED }, () => ({
- anonymous: 'Document updated',
- identified: 'updated the document',
+ anonymous: msg`Document updated`,
+ identified: msg`${prefix} updated the document`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED }, () => ({
- anonymous: 'Document opened',
- identified: 'opened the document',
+ anonymous: msg`Document opened`,
+ identified: msg`${prefix} opened the document`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_TITLE_UPDATED }, () => ({
- anonymous: 'Document title updated',
- identified: 'updated the document title',
+ anonymous: msg`Document title updated`,
+ identified: msg`${prefix} updated the document title`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_EXTERNAL_ID_UPDATED }, () => ({
- anonymous: 'Document external ID updated',
- identified: 'updated the document external ID',
+ anonymous: msg`Document external ID updated`,
+ identified: msg`${prefix} updated the document external ID`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_SENT }, () => ({
- anonymous: 'Document sent',
- identified: 'sent the document',
+ anonymous: msg`Document sent`,
+ identified: msg`${prefix} sent the document`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_MOVED_TO_TEAM }, () => ({
- anonymous: 'Document moved to team',
- identified: 'moved the document to team',
+ anonymous: msg`Document moved to team`,
+ identified: msg`${prefix} moved the document to team`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_COMPLETED }, ({ data }) => {
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
- const action = RECIPIENT_ROLES_DESCRIPTION_ENG[data.recipientRole as RecipientRole]?.actioned;
+ const userName = prefix || _(msg`Recipient`);
- const value = action ? `${action.toLowerCase()} the document` : 'completed their task';
+ const result = match(data.recipientRole)
+ .with(RecipientRole.SIGNER, () => msg`${userName} signed the document`)
+ .with(RecipientRole.VIEWER, () => msg`${userName} viewed the document`)
+ .with(RecipientRole.APPROVER, () => msg`${userName} approved the document`)
+ .with(RecipientRole.CC, () => msg`${userName} CC'd the document`)
+ .otherwise(() => msg`${userName} completed their task`);
return {
- anonymous: `Recipient ${value}`,
- identified: value,
+ anonymous: result,
+ identified: result,
+ };
+ })
+ .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED }, ({ data }) => {
+ const userName = prefix || _(msg`Recipient`);
+
+ const result = msg`${userName} rejected the document`;
+
+ return {
+ anonymous: result,
+ identified: result,
};
})
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.EMAIL_SENT }, ({ data }) => ({
- anonymous: `Email ${data.isResending ? 'resent' : 'sent'}`,
- identified: `${data.isResending ? 'resent' : 'sent'} an email to ${data.recipientEmail}`,
+ anonymous: data.isResending ? msg`Email resent` : msg`Email sent`,
+ identified: data.isResending
+ ? msg`${prefix} resent an email to ${data.recipientEmail}`
+ : msg`${prefix} sent an email to ${data.recipientEmail}`,
+ }))
+ .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_COMPLETED }, () => ({
+ anonymous: msg`Document completed`,
+ identified: msg`Document completed`,
}))
- .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_COMPLETED }, () => {
- // Clear the prefix since this should be considered an 'anonymous' event.
- prefix = '';
-
- return {
- anonymous: 'Document completed',
- identified: 'Document completed',
- };
- })
.exhaustive();
return {
prefix,
- description: prefix ? description.identified : description.anonymous,
+ description: _(prefix ? description.identified : description.anonymous),
};
};
diff --git a/packages/lib/utils/i18n.ts b/packages/lib/utils/i18n.ts
index 7c4f494a4..d568f1df0 100644
--- a/packages/lib/utils/i18n.ts
+++ b/packages/lib/utils/i18n.ts
@@ -1,6 +1,6 @@
import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies';
-import type { I18n } from '@lingui/core';
+import type { I18n, MessageDescriptor } from '@lingui/core';
import { IS_APP_WEB, IS_APP_WEB_I18N_ENABLED } from '../constants/app';
import type { I18nLocaleData, SupportedLanguageCodes } from '../constants/i18n';
@@ -10,7 +10,17 @@ export async function dynamicActivate(i18nInstance: I18n, locale: string) {
const extension = process.env.NODE_ENV === 'development' ? 'po' : 'js';
const context = IS_APP_WEB ? 'web' : 'marketing';
- const { messages } = await import(`../translations/${locale}/${context}.${extension}`);
+ let { messages } = await import(`../translations/${locale}/${context}.${extension}`);
+
+ // Dirty way to load common messages for development since it's not compiled.
+ if (process.env.NODE_ENV === 'development') {
+ const commonMessages = await import(`../translations/${locale}/common.${extension}`);
+
+ messages = {
+ ...messages,
+ ...commonMessages.messages,
+ };
+ }
i18nInstance.loadAndActivate({ locale, messages });
}
@@ -106,3 +116,7 @@ export const extractLocaleData = ({
locales,
};
};
+
+export const parseMessageDescriptor = (_: I18n['_'], value: string | MessageDescriptor) => {
+ return typeof value === 'string' ? value : _(value);
+};
diff --git a/packages/lib/utils/is-valid-redirect-url.ts b/packages/lib/utils/is-valid-redirect-url.ts
index e89818ac2..de827f69c 100644
--- a/packages/lib/utils/is-valid-redirect-url.ts
+++ b/packages/lib/utils/is-valid-redirect-url.ts
@@ -4,7 +4,6 @@ export const isValidRedirectUrl = (value: string) => {
try {
const url = new URL(value);
- console.log({ protocol: url.protocol });
if (!ALLOWED_PROTOCOLS.includes(url.protocol.slice(0, -1).toLowerCase())) {
return false;
}
diff --git a/packages/lib/utils/recipients.ts b/packages/lib/utils/recipients.ts
index 22afa451d..eab5f963c 100644
--- a/packages/lib/utils/recipients.ts
+++ b/packages/lib/utils/recipients.ts
@@ -1,5 +1,9 @@
import { type Field, type Recipient, RecipientRole, SigningStatus } from '@documenso/prisma/client';
+import { NEXT_PUBLIC_WEBAPP_URL } from '../constants/app';
+
+export const formatSigningLink = (token: string) => `${NEXT_PUBLIC_WEBAPP_URL()}/sign/${token}`;
+
/**
* Whether a recipient can be modified by the document owner.
*/
diff --git a/packages/lib/utils/remember.ts b/packages/lib/utils/remember.ts
new file mode 100644
index 000000000..1ee146dd1
--- /dev/null
+++ b/packages/lib/utils/remember.ts
@@ -0,0 +1,18 @@
+declare global {
+ // eslint-disable-next-line no-var, @typescript-eslint/no-explicit-any
+ var __documenso_util_remember: Map;
+}
+
+export function remember(name: string, getValue: () => T): T {
+ const thusly = globalThis;
+
+ if (!thusly.__documenso_util_remember) {
+ thusly.__documenso_util_remember = new Map();
+ }
+
+ if (!thusly.__documenso_util_remember.has(name)) {
+ thusly.__documenso_util_remember.set(name, getValue());
+ }
+
+ return thusly.__documenso_util_remember.get(name);
+}
diff --git a/packages/lib/utils/render-email-with-i18n.tsx b/packages/lib/utils/render-email-with-i18n.tsx
new file mode 100644
index 000000000..1100e988d
--- /dev/null
+++ b/packages/lib/utils/render-email-with-i18n.tsx
@@ -0,0 +1,34 @@
+import { I18nProvider } from '@lingui/react';
+
+import type { RenderOptions } from '@documenso/email/render';
+import { render } from '@documenso/email/render';
+
+import { getI18nInstance } from '../client-only/providers/i18n.server';
+import {
+ APP_I18N_OPTIONS,
+ type SupportedLanguageCodes,
+ isValidLanguageCode,
+} from '../constants/i18n';
+
+export const renderEmailWithI18N = async (
+ component: React.ReactElement,
+ options?: RenderOptions & {
+ // eslint-disable-next-line @typescript-eslint/ban-types
+ lang?: SupportedLanguageCodes | (string & {});
+ },
+) => {
+ try {
+ const { lang: providedLang, ...otherOptions } = options ?? {};
+
+ const lang = isValidLanguageCode(providedLang) ? providedLang : APP_I18N_OPTIONS.sourceLang;
+
+ const i18n = await getI18nInstance(lang);
+
+ i18n.activate(lang);
+
+ return render({component} , otherOptions);
+ } catch (err) {
+ console.error(err);
+ throw new Error('Failed to render email');
+ }
+};
diff --git a/packages/lib/utils/team-global-settings-to-branding.ts b/packages/lib/utils/team-global-settings-to-branding.ts
new file mode 100644
index 000000000..48795f518
--- /dev/null
+++ b/packages/lib/utils/team-global-settings-to-branding.ts
@@ -0,0 +1,13 @@
+import type { TeamGlobalSettings } from '@documenso/prisma/client';
+
+import { NEXT_PUBLIC_WEBAPP_URL } from '../constants/app';
+
+export const teamGlobalSettingsToBranding = (teamGlobalSettings: TeamGlobalSettings) => {
+ return {
+ ...teamGlobalSettings,
+ brandingLogo:
+ teamGlobalSettings.brandingEnabled && teamGlobalSettings.brandingLogo
+ ? `${NEXT_PUBLIC_WEBAPP_URL()}/api/branding/logo/team/${teamGlobalSettings.teamId}`
+ : '',
+ };
+};
diff --git a/packages/prisma/migrations/20241021133616_add_global_team_settings/migration.sql b/packages/prisma/migrations/20241021133616_add_global_team_settings/migration.sql
new file mode 100644
index 000000000..9dec89afd
--- /dev/null
+++ b/packages/prisma/migrations/20241021133616_add_global_team_settings/migration.sql
@@ -0,0 +1,12 @@
+-- CreateTable
+CREATE TABLE "TeamGlobalSettings" (
+ "teamId" INTEGER NOT NULL,
+ "documentVisibility" "DocumentVisibility" NOT NULL DEFAULT 'EVERYONE',
+ "includeSenderDetails" BOOLEAN NOT NULL DEFAULT true
+);
+
+-- CreateIndex
+CREATE UNIQUE INDEX "TeamGlobalSettings_teamId_key" ON "TeamGlobalSettings"("teamId");
+
+-- AddForeignKey
+ALTER TABLE "TeamGlobalSettings" ADD CONSTRAINT "TeamGlobalSettings_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
diff --git a/packages/prisma/migrations/20241101103425_add_language_column_for_documents_and_templates/migration.sql b/packages/prisma/migrations/20241101103425_add_language_column_for_documents_and_templates/migration.sql
new file mode 100644
index 000000000..5a4dde1d8
--- /dev/null
+++ b/packages/prisma/migrations/20241101103425_add_language_column_for_documents_and_templates/migration.sql
@@ -0,0 +1,5 @@
+-- AlterTable
+ALTER TABLE "DocumentMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'en';
+
+-- AlterTable
+ALTER TABLE "TemplateMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'en';
diff --git a/packages/prisma/migrations/20241107034521_add_branding_to_team_settings/migration.sql b/packages/prisma/migrations/20241107034521_add_branding_to_team_settings/migration.sql
new file mode 100644
index 000000000..87618badd
--- /dev/null
+++ b/packages/prisma/migrations/20241107034521_add_branding_to_team_settings/migration.sql
@@ -0,0 +1,6 @@
+-- AlterTable
+ALTER TABLE "TeamGlobalSettings" ADD COLUMN "brandingCompanyDetails" TEXT NOT NULL DEFAULT '',
+ADD COLUMN "brandingEnabled" BOOLEAN NOT NULL DEFAULT false,
+ADD COLUMN "brandingHidePoweredBy" BOOLEAN NOT NULL DEFAULT false,
+ADD COLUMN "brandingLogo" TEXT NOT NULL DEFAULT '',
+ADD COLUMN "brandingUrl" TEXT NOT NULL DEFAULT '';
diff --git a/packages/prisma/migrations/20241107095908_add_document_email_setting/migration.sql b/packages/prisma/migrations/20241107095908_add_document_email_setting/migration.sql
new file mode 100644
index 000000000..e5a40adf0
--- /dev/null
+++ b/packages/prisma/migrations/20241107095908_add_document_email_setting/migration.sql
@@ -0,0 +1,10 @@
+-- CreateEnum
+CREATE TYPE "DocumentDistributionMethod" AS ENUM ('EMAIL', 'NONE');
+
+-- AlterTable
+ALTER TABLE "DocumentMeta" ADD COLUMN "distributionMethod" "DocumentDistributionMethod" NOT NULL DEFAULT 'EMAIL',
+ADD COLUMN "emailSettings" JSONB;
+
+-- AlterTable
+ALTER TABLE "TemplateMeta" ADD COLUMN "distributionMethod" "DocumentDistributionMethod" NOT NULL DEFAULT 'EMAIL',
+ADD COLUMN "emailSettings" JSONB;
diff --git a/packages/prisma/migrations/20241107223943_add_document_language_preference/migration.sql b/packages/prisma/migrations/20241107223943_add_document_language_preference/migration.sql
new file mode 100644
index 000000000..e99ae9a27
--- /dev/null
+++ b/packages/prisma/migrations/20241107223943_add_document_language_preference/migration.sql
@@ -0,0 +1,2 @@
+-- AlterTable
+ALTER TABLE "TeamGlobalSettings" ADD COLUMN "documentLanguage" TEXT NOT NULL DEFAULT 'en';
diff --git a/packages/prisma/migrations/20241112223435_add_rejection_status_and_reason_to_recipient_schema/migration.sql b/packages/prisma/migrations/20241112223435_add_rejection_status_and_reason_to_recipient_schema/migration.sql
new file mode 100644
index 000000000..1e883f964
--- /dev/null
+++ b/packages/prisma/migrations/20241112223435_add_rejection_status_and_reason_to_recipient_schema/migration.sql
@@ -0,0 +1,5 @@
+-- AlterEnum
+ALTER TYPE "SigningStatus" ADD VALUE 'REJECTED';
+
+-- AlterTable
+ALTER TABLE "Recipient" ADD COLUMN "rejectionReason" TEXT;
diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma
index 7c858c897..1fee5eae9 100644
--- a/packages/prisma/schema.prisma
+++ b/packages/prisma/schema.prisma
@@ -358,18 +358,26 @@ model DocumentData {
Template Template?
}
+enum DocumentDistributionMethod {
+ EMAIL
+ NONE
+}
+
model DocumentMeta {
- id String @id @default(cuid())
+ id String @id @default(cuid())
subject String?
message String?
- timezone String? @default("Etc/UTC") @db.Text
+ timezone String? @default("Etc/UTC") @db.Text
password String?
- dateFormat String? @default("yyyy-MM-dd hh:mm a") @db.Text
- documentId Int @unique
- document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
+ dateFormat String? @default("yyyy-MM-dd hh:mm a") @db.Text
+ documentId Int @unique
+ document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
redirectUrl String?
- signingOrder DocumentSigningOrder @default(PARALLEL)
- typedSignatureEnabled Boolean @default(false)
+ signingOrder DocumentSigningOrder @default(PARALLEL)
+ typedSignatureEnabled Boolean @default(false)
+ language String @default("en")
+ distributionMethod DocumentDistributionMethod @default(EMAIL)
+ emailSettings Json?
}
enum ReadStatus {
@@ -385,6 +393,7 @@ enum SendStatus {
enum SigningStatus {
NOT_SIGNED
SIGNED
+ REJECTED
}
enum RecipientRole {
@@ -406,6 +415,7 @@ model Recipient {
signedAt DateTime?
authOptions Json?
signingOrder Int?
+ rejectionReason String?
role RecipientRole @default(SIGNER)
readStatus ReadStatus @default(NOT_OPENED)
signingStatus SigningStatus @default(NOT_SIGNED)
@@ -500,6 +510,21 @@ enum TeamMemberInviteStatus {
DECLINED
}
+model TeamGlobalSettings {
+ teamId Int @unique
+ documentVisibility DocumentVisibility @default(EVERYONE)
+ documentLanguage String @default("en")
+ includeSenderDetails Boolean @default(true)
+
+ brandingEnabled Boolean @default(false)
+ brandingLogo String @default("")
+ brandingUrl String @default("")
+ brandingCompanyDetails String @default("")
+ brandingHidePoweredBy Boolean @default(false)
+
+ team Team @relation(fields: [teamId], references: [id], onDelete: Cascade)
+}
+
model Team {
id Int @id @default(autoincrement())
name String
@@ -514,6 +539,7 @@ model Team {
teamEmail TeamEmail?
emailVerification TeamEmailVerification?
transferVerification TeamTransferVerification?
+ teamGlobalSettings TeamGlobalSettings?
avatarImage AvatarImage? @relation(fields: [avatarImageId], references: [id], onDelete: SetNull)
profile TeamProfile?
@@ -602,16 +628,19 @@ enum TemplateType {
}
model TemplateMeta {
- id String @id @default(cuid())
- subject String?
- message String?
- timezone String? @default("Etc/UTC") @db.Text
- password String?
- dateFormat String? @default("yyyy-MM-dd hh:mm a") @db.Text
- signingOrder DocumentSigningOrder? @default(PARALLEL)
- templateId Int @unique
- template Template @relation(fields: [templateId], references: [id], onDelete: Cascade)
- redirectUrl String?
+ id String @id @default(cuid())
+ subject String?
+ message String?
+ timezone String? @default("Etc/UTC") @db.Text
+ password String?
+ dateFormat String? @default("yyyy-MM-dd hh:mm a") @db.Text
+ signingOrder DocumentSigningOrder? @default(PARALLEL)
+ templateId Int @unique
+ template Template @relation(fields: [templateId], references: [id], onDelete: Cascade)
+ redirectUrl String?
+ language String @default("en")
+ distributionMethod DocumentDistributionMethod @default(EMAIL)
+ emailSettings Json?
}
model Template {
diff --git a/packages/trpc/server/document-router/router.ts b/packages/trpc/server/document-router/router.ts
index e869eb9a4..14e8c8eb7 100644
--- a/packages/trpc/server/document-router/router.ts
+++ b/packages/trpc/server/document-router/router.ts
@@ -11,6 +11,7 @@ import { createDocument } from '@documenso/lib/server-only/document/create-docum
import { deleteDocument } from '@documenso/lib/server-only/document/delete-document';
import { duplicateDocumentById } from '@documenso/lib/server-only/document/duplicate-document-by-id';
import { findDocumentAuditLogs } from '@documenso/lib/server-only/document/find-document-audit-logs';
+import { findDocuments } from '@documenso/lib/server-only/document/find-documents';
import { getDocumentById } from '@documenso/lib/server-only/document/get-document-by-id';
import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token';
import { getDocumentWithDetailsById } from '@documenso/lib/server-only/document/get-document-with-details-by-id';
@@ -31,6 +32,7 @@ import {
ZDownloadAuditLogsMutationSchema,
ZDownloadCertificateMutationSchema,
ZFindDocumentAuditLogsQuerySchema,
+ ZFindDocumentsQuerySchema,
ZGetDocumentByIdQuerySchema,
ZGetDocumentByTokenQuerySchema,
ZGetDocumentWithDetailsByIdQuerySchema,
@@ -190,6 +192,37 @@ export const documentRouter = router({
}
}),
+ findDocuments: authenticatedProcedure
+ .input(ZFindDocumentsQuerySchema)
+ .query(async ({ input, ctx }) => {
+ const { user } = ctx;
+
+ const { search, teamId, templateId, page, perPage, orderBy, source, status } = input;
+
+ try {
+ const documents = await findDocuments({
+ userId: user.id,
+ teamId,
+ templateId,
+ search,
+ source,
+ status,
+ page,
+ perPage,
+ orderBy,
+ });
+
+ return documents;
+ } catch (err) {
+ console.error(err);
+
+ throw new TRPCError({
+ code: 'BAD_REQUEST',
+ message: 'We are unable to search for documents. Please try again later.',
+ });
+ }
+ }),
+
findDocumentAuditLogs: authenticatedProcedure
.input(ZFindDocumentAuditLogsQuerySchema)
.query(async ({ input, ctx }) => {
@@ -232,6 +265,7 @@ export const documentRouter = router({
dateFormat: meta.dateFormat,
timezone: meta.timezone,
redirectUrl: meta.redirectUrl,
+ language: meta.language,
userId: ctx.user.id,
requestMetadata,
});
@@ -379,7 +413,15 @@ export const documentRouter = router({
try {
const { documentId, teamId, meta } = input;
- if (meta.message || meta.subject || meta.timezone || meta.dateFormat || meta.redirectUrl) {
+ if (
+ meta.message ||
+ meta.subject ||
+ meta.timezone ||
+ meta.dateFormat ||
+ meta.redirectUrl ||
+ meta.distributionMethod ||
+ meta.emailSettings
+ ) {
await upsertDocumentMeta({
documentId,
subject: meta.subject,
@@ -387,7 +429,9 @@ export const documentRouter = router({
dateFormat: meta.dateFormat,
timezone: meta.timezone,
redirectUrl: meta.redirectUrl,
+ distributionMethod: meta.distributionMethod,
userId: ctx.user.id,
+ emailSettings: meta.emailSettings,
requestMetadata: extractNextApiRequestMetadata(ctx.req),
});
}
diff --git a/packages/trpc/server/document-router/schema.ts b/packages/trpc/server/document-router/schema.ts
index 8d3063315..c56c02259 100644
--- a/packages/trpc/server/document-router/schema.ts
+++ b/packages/trpc/server/document-router/schema.ts
@@ -1,12 +1,39 @@
import { z } from 'zod';
+import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
import {
ZDocumentAccessAuthTypesSchema,
ZDocumentActionAuthTypesSchema,
} from '@documenso/lib/types/document-auth';
+import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params';
import { isValidRedirectUrl } from '@documenso/lib/utils/is-valid-redirect-url';
-import { DocumentSigningOrder, FieldType, RecipientRole } from '@documenso/prisma/client';
+import {
+ DocumentDistributionMethod,
+ DocumentSigningOrder,
+ DocumentSource,
+ DocumentStatus,
+ DocumentVisibility,
+ FieldType,
+ RecipientRole,
+} from '@documenso/prisma/client';
+
+export const ZFindDocumentsQuerySchema = ZBaseTableSearchParamsSchema.extend({
+ teamId: z.number().min(1).optional(),
+ templateId: z.number().min(1).optional(),
+ search: z
+ .string()
+ .optional()
+ .catch(() => undefined),
+ source: z.nativeEnum(DocumentSource).optional(),
+ status: z.nativeEnum(DocumentStatus).optional(),
+ orderBy: z
+ .object({
+ column: z.enum(['createdAt']),
+ direction: z.enum(['asc', 'desc']),
+ })
+ .optional(),
+}).omit({ query: true });
export const ZFindDocumentAuditLogsQuerySchema = ZBaseTableSearchParamsSchema.extend({
documentId: z.number().min(1),
@@ -56,7 +83,7 @@ export const ZSetSettingsForDocumentMutationSchema = z.object({
data: z.object({
title: z.string().min(1).optional(),
externalId: z.string().nullish(),
- visibility: z.string().optional(),
+ visibility: z.nativeEnum(DocumentVisibility).optional(),
globalAccessAuth: ZDocumentAccessAuthTypesSchema.nullable().optional(),
globalActionAuth: ZDocumentActionAuthTypesSchema.nullable().optional(),
}),
@@ -70,6 +97,7 @@ export const ZSetSettingsForDocumentMutationSchema = z.object({
message:
'Please enter a valid URL, make sure you include http:// or https:// part of the url.',
}),
+ language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
}),
});
@@ -130,6 +158,7 @@ export const ZSendDocumentMutationSchema = z.object({
message: z.string(),
timezone: z.string().optional(),
dateFormat: z.string().optional(),
+ distributionMethod: z.nativeEnum(DocumentDistributionMethod).optional(),
redirectUrl: z
.string()
.optional()
@@ -137,6 +166,7 @@ export const ZSendDocumentMutationSchema = z.object({
message:
'Please enter a valid URL, make sure you include http:// or https:// part of the url.',
}),
+ emailSettings: ZDocumentEmailSettingsSchema.optional(),
}),
});
diff --git a/packages/trpc/server/recipient-router/router.ts b/packages/trpc/server/recipient-router/router.ts
index 0fc8c347d..f106ff553 100644
--- a/packages/trpc/server/recipient-router/router.ts
+++ b/packages/trpc/server/recipient-router/router.ts
@@ -1,6 +1,7 @@
import { TRPCError } from '@trpc/server';
import { completeDocumentWithToken } from '@documenso/lib/server-only/document/complete-document-with-token';
+import { rejectDocumentWithToken } from '@documenso/lib/server-only/document/reject-document-with-token';
import { setRecipientsForDocument } from '@documenso/lib/server-only/recipient/set-recipients-for-document';
import { setRecipientsForTemplate } from '@documenso/lib/server-only/recipient/set-recipients-for-template';
import { extractNextApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
@@ -10,6 +11,7 @@ import {
ZAddSignersMutationSchema,
ZAddTemplateSignersMutationSchema,
ZCompleteDocumentWithTokenMutationSchema,
+ ZRejectDocumentWithTokenMutationSchema,
} from './schema';
export const recipientRouter = router({
@@ -94,4 +96,26 @@ export const recipientRouter = router({
});
}
}),
+
+ rejectDocumentWithToken: procedure
+ .input(ZRejectDocumentWithTokenMutationSchema)
+ .mutation(async ({ input, ctx }) => {
+ try {
+ const { token, documentId, reason } = input;
+
+ return await rejectDocumentWithToken({
+ token,
+ documentId,
+ reason,
+ requestMetadata: extractNextApiRequestMetadata(ctx.req),
+ });
+ } catch (err) {
+ console.error(err);
+
+ throw new TRPCError({
+ code: 'BAD_REQUEST',
+ message: 'We were unable to handle this request. Please try again later.',
+ });
+ }
+ }),
});
diff --git a/packages/trpc/server/recipient-router/schema.ts b/packages/trpc/server/recipient-router/schema.ts
index c8f299d31..60e47a439 100644
--- a/packages/trpc/server/recipient-router/schema.ts
+++ b/packages/trpc/server/recipient-router/schema.ts
@@ -69,3 +69,14 @@ export const ZCompleteDocumentWithTokenMutationSchema = z.object({
export type TCompleteDocumentWithTokenMutationSchema = z.infer<
typeof ZCompleteDocumentWithTokenMutationSchema
>;
+
+export const ZRejectDocumentWithTokenMutationSchema = z.object({
+ token: z.string(),
+ documentId: z.number(),
+ reason: z.string(),
+ authOptions: ZRecipientActionAuthSchema.optional(),
+});
+
+export type TRejectDocumentWithTokenMutationSchema = z.infer<
+ typeof ZRejectDocumentWithTokenMutationSchema
+>;
diff --git a/packages/trpc/server/singleplayer-router/router.ts b/packages/trpc/server/singleplayer-router/router.ts
index 6e8533c32..5cf62cb53 100644
--- a/packages/trpc/server/singleplayer-router/router.ts
+++ b/packages/trpc/server/singleplayer-router/router.ts
@@ -3,7 +3,6 @@ import { createElement } from 'react';
import { PDFDocument } from 'pdf-lib';
import { mailer } from '@documenso/email/mailer';
-import { renderAsync } from '@documenso/email/render';
import { DocumentSelfSignedEmailTemplate } from '@documenso/email/templates/document-self-signed';
import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app';
import { FROM_ADDRESS, FROM_NAME, SERVICE_USER_EMAIL } from '@documenso/lib/constants/email';
@@ -11,6 +10,7 @@ import { insertFieldInPDF } from '@documenso/lib/server-only/pdf/insert-field-in
import { alphaid } from '@documenso/lib/universal/id';
import { getFile } from '@documenso/lib/universal/upload/get-file';
import { putPdfFile } from '@documenso/lib/universal/upload/put-file';
+import { renderEmailWithI18N } from '@documenso/lib/utils/render-email-with-i18n';
import { prisma } from '@documenso/prisma';
import {
DocumentSource,
@@ -158,8 +158,8 @@ export const singleplayerRouter = router({
});
const [html, text] = await Promise.all([
- renderAsync(template),
- renderAsync(template, { plainText: true }),
+ renderEmailWithI18N(template),
+ renderEmailWithI18N(template, { plainText: true }),
]);
// Send email to signer.
diff --git a/packages/trpc/server/team-router/router.ts b/packages/trpc/server/team-router/router.ts
index 2b27fa489..0325612b0 100644
--- a/packages/trpc/server/team-router/router.ts
+++ b/packages/trpc/server/team-router/router.ts
@@ -31,6 +31,8 @@ import { requestTeamOwnershipTransfer } from '@documenso/lib/server-only/team/re
import { resendTeamEmailVerification } from '@documenso/lib/server-only/team/resend-team-email-verification';
import { resendTeamMemberInvitation } from '@documenso/lib/server-only/team/resend-team-member-invitation';
import { updateTeam } from '@documenso/lib/server-only/team/update-team';
+import { updateTeamBrandingSettings } from '@documenso/lib/server-only/team/update-team-branding-settings';
+import { updateTeamDocumentSettings } from '@documenso/lib/server-only/team/update-team-document-settings';
import { updateTeamEmail } from '@documenso/lib/server-only/team/update-team-email';
import { updateTeamMember } from '@documenso/lib/server-only/team/update-team-member';
import { updateTeamPublicProfile } from '@documenso/lib/server-only/team/update-team-public-profile';
@@ -62,6 +64,8 @@ import {
ZRequestTeamOwnerhsipTransferMutationSchema,
ZResendTeamEmailVerificationMutationSchema,
ZResendTeamMemberInvitationMutationSchema,
+ ZUpdateTeamBrandingSettingsMutationSchema,
+ ZUpdateTeamDocumentSettingsMutationSchema,
ZUpdateTeamEmailMutationSchema,
ZUpdateTeamMemberMutationSchema,
ZUpdateTeamMutationSchema,
@@ -556,6 +560,42 @@ export const teamRouter = router({
} catch (err) {
console.error(err);
+ throw AppError.parseErrorToTRPCError(err);
+ }
+ }),
+
+ updateTeamBrandingSettings: authenticatedProcedure
+ .input(ZUpdateTeamBrandingSettingsMutationSchema)
+ .mutation(async ({ ctx, input }) => {
+ const { teamId, settings } = input;
+
+ try {
+ return await updateTeamBrandingSettings({
+ userId: ctx.user.id,
+ teamId,
+ settings,
+ });
+ } catch (err) {
+ console.error(err);
+
+ throw AppError.parseErrorToTRPCError(err);
+ }
+ }),
+
+ updateTeamDocumentSettings: authenticatedProcedure
+ .input(ZUpdateTeamDocumentSettingsMutationSchema)
+ .mutation(async ({ ctx, input }) => {
+ const { teamId, settings } = input;
+
+ try {
+ return await updateTeamDocumentSettings({
+ userId: ctx.user.id,
+ teamId,
+ settings,
+ });
+ } catch (err) {
+ console.error(err);
+
throw AppError.parseErrorToTRPCError(err);
}
}),
diff --git a/packages/trpc/server/team-router/schema.ts b/packages/trpc/server/team-router/schema.ts
index a27805cdd..f73bce6e7 100644
--- a/packages/trpc/server/team-router/schema.ts
+++ b/packages/trpc/server/team-router/schema.ts
@@ -1,7 +1,8 @@
import { z } from 'zod';
+import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
import { PROTECTED_TEAM_URLS } from '@documenso/lib/constants/teams';
-import { TeamMemberRole } from '@documenso/prisma/client';
+import { DocumentVisibility, TeamMemberRole } from '@documenso/prisma/client';
import { ZUpdatePublicProfileMutationSchema } from '../profile-router/schema';
@@ -150,6 +151,8 @@ export const ZUpdateTeamMutationSchema = z.object({
data: z.object({
name: ZTeamNameSchema,
url: ZTeamUrlSchema,
+ documentVisibility: z.nativeEnum(DocumentVisibility).optional(),
+ includeSenderDetails: z.boolean().optional(),
}),
});
@@ -190,6 +193,28 @@ export const ZResendTeamMemberInvitationMutationSchema = z.object({
invitationId: z.number(),
});
+export const ZUpdateTeamBrandingSettingsMutationSchema = z.object({
+ teamId: z.number(),
+ settings: z.object({
+ brandingEnabled: z.boolean().optional().default(false),
+ brandingLogo: z.string().optional().default(''),
+ brandingUrl: z.string().optional().default(''),
+ brandingCompanyDetails: z.string().optional().default(''),
+ }),
+});
+
+export const ZUpdateTeamDocumentSettingsMutationSchema = z.object({
+ teamId: z.number(),
+ settings: z.object({
+ documentVisibility: z
+ .nativeEnum(DocumentVisibility)
+ .optional()
+ .default(DocumentVisibility.EVERYONE),
+ documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES).optional().default('en'),
+ includeSenderDetails: z.boolean().optional().default(false),
+ }),
+});
+
export type TCreateTeamMutationSchema = z.infer;
export type TCreateTeamEmailVerificationMutationSchema = z.infer<
typeof ZCreateTeamEmailVerificationMutationSchema
@@ -225,3 +250,9 @@ export type TResendTeamEmailVerificationMutationSchema = z.infer<
export type TResendTeamMemberInvitationMutationSchema = z.infer<
typeof ZResendTeamMemberInvitationMutationSchema
>;
+export type TUpdateTeamBrandingSettingsMutationSchema = z.infer<
+ typeof ZUpdateTeamBrandingSettingsMutationSchema
+>;
+export type TUpdateTeamDocumentSettingsMutationSchema = z.infer<
+ typeof ZUpdateTeamDocumentSettingsMutationSchema
+>;
diff --git a/packages/trpc/server/template-router/router.ts b/packages/trpc/server/template-router/router.ts
index a1a17d688..4cf333ec0 100644
--- a/packages/trpc/server/template-router/router.ts
+++ b/packages/trpc/server/template-router/router.ts
@@ -1,6 +1,7 @@
import { TRPCError } from '@trpc/server';
import { getServerLimits } from '@documenso/ee/server-only/limits/server';
+import { isValidLanguageCode } from '@documenso/lib/constants/i18n';
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { sendDocument } from '@documenso/lib/server-only/document/send-document';
import { createDocumentFromDirectTemplate } from '@documenso/lib/server-only/template/create-document-from-direct-template';
@@ -119,7 +120,7 @@ export const templateRouter = router({
requestMetadata,
});
- if (input.sendDocument) {
+ if (input.distributeDocument) {
document = await sendDocument({
documentId: document.id,
userId: ctx.user.id,
@@ -214,7 +215,10 @@ export const templateRouter = router({
teamId,
templateId,
data,
- meta,
+ meta: {
+ ...meta,
+ language: isValidLanguageCode(meta?.language) ? meta?.language : undefined,
+ },
requestMetadata,
});
} catch (err) {
diff --git a/packages/trpc/server/template-router/schema.ts b/packages/trpc/server/template-router/schema.ts
index d7807ad3d..eef77c3b9 100644
--- a/packages/trpc/server/template-router/schema.ts
+++ b/packages/trpc/server/template-router/schema.ts
@@ -1,12 +1,18 @@
import { z } from 'zod';
+import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
import {
ZDocumentAccessAuthTypesSchema,
ZDocumentActionAuthTypesSchema,
} from '@documenso/lib/types/document-auth';
+import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params';
import { isValidRedirectUrl } from '@documenso/lib/utils/is-valid-redirect-url';
-import { DocumentSigningOrder, TemplateType } from '@documenso/prisma/client';
+import {
+ DocumentDistributionMethod,
+ DocumentSigningOrder,
+ TemplateType,
+} from '@documenso/prisma/client';
import { ZSignFieldWithTokenMutationSchema } from '../field-router/schema';
@@ -40,7 +46,7 @@ export const ZCreateDocumentFromTemplateMutationSchema = z.object({
const emails = recipients.map((signer) => signer.email);
return new Set(emails).size === emails.length;
}, 'Recipients must have unique emails'),
- sendDocument: z.boolean().optional(),
+ distributeDocument: z.boolean().optional(),
});
export const ZDuplicateTemplateMutationSchema = z.object({
@@ -87,6 +93,10 @@ export const ZUpdateTemplateSettingsMutationSchema = z.object({
.max(MAX_TEMPLATE_PUBLIC_DESCRIPTION_LENGTH)
.optional(),
type: z.nativeEnum(TemplateType).optional(),
+ language: z
+ .union([z.string(), z.enum(SUPPORTED_LANGUAGE_CODES)])
+ .optional()
+ .default('en'),
}),
meta: z
.object({
@@ -94,6 +104,8 @@ export const ZUpdateTemplateSettingsMutationSchema = z.object({
message: z.string(),
timezone: z.string(),
dateFormat: z.string(),
+ distributionMethod: z.nativeEnum(DocumentDistributionMethod),
+ emailSettings: ZDocumentEmailSettingsSchema,
redirectUrl: z
.string()
.optional()
@@ -101,6 +113,7 @@ export const ZUpdateTemplateSettingsMutationSchema = z.object({
message:
'Please enter a valid URL, make sure you include http:// or https:// part of the url.',
}),
+ language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
})
.optional(),
});
diff --git a/packages/ui/components/common/copy-text-button.tsx b/packages/ui/components/common/copy-text-button.tsx
new file mode 100644
index 000000000..608318690
--- /dev/null
+++ b/packages/ui/components/common/copy-text-button.tsx
@@ -0,0 +1,82 @@
+'use client';
+
+import { useState } from 'react';
+
+import { motion } from 'framer-motion';
+import { AnimatePresence } from 'framer-motion';
+import { CheckSquareIcon, CopyIcon } from 'lucide-react';
+
+import { useCopyToClipboard } from '@documenso/lib/client-only/hooks/use-copy-to-clipboard';
+import { Button } from '@documenso/ui/primitives/button';
+
+import { cn } from '../../lib/utils';
+
+export type CopyTextButtonProps = {
+ value: string;
+ badgeContentUncopied?: React.ReactNode;
+ badgeContentCopied?: React.ReactNode;
+ onCopySuccess?: () => void;
+};
+
+export const CopyTextButton = ({
+ value,
+ onCopySuccess,
+ badgeContentUncopied,
+ badgeContentCopied,
+}: CopyTextButtonProps) => {
+ const [, copy] = useCopyToClipboard();
+
+ const [copiedTimeout, setCopiedTimeout] = useState(null);
+
+ const onCopy = async () => {
+ await copy(value).then(() => onCopySuccess?.());
+
+ if (copiedTimeout) {
+ clearTimeout(copiedTimeout);
+ }
+
+ setCopiedTimeout(
+ setTimeout(() => {
+ setCopiedTimeout(null);
+ }, 2000),
+ );
+ };
+
+ return (
+ onCopy()}
+ >
+
+
+ {copiedTimeout ? badgeContentCopied : badgeContentUncopied}
+
+
+
+ {copiedTimeout ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+ );
+};
diff --git a/packages/ui/components/document/document-email-checkboxes.tsx b/packages/ui/components/document/document-email-checkboxes.tsx
new file mode 100644
index 000000000..7242393c4
--- /dev/null
+++ b/packages/ui/components/document/document-email-checkboxes.tsx
@@ -0,0 +1,222 @@
+import { Trans } from '@lingui/macro';
+import { InfoIcon } from 'lucide-react';
+
+import { DocumentEmailEvents } from '@documenso/lib/types/document-email';
+import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip';
+
+import { cn } from '../../lib/utils';
+import { Checkbox } from '../../primitives/checkbox';
+
+type Value = Record;
+
+type DocumentEmailCheckboxesProps = {
+ value: Value;
+ onChange: (value: Value) => void;
+ className?: string;
+};
+
+export const DocumentEmailCheckboxes = ({
+ value,
+ onChange,
+ className,
+}: DocumentEmailCheckboxesProps) => {
+ return (
+
+
+
+ onChange({ ...value, [DocumentEmailEvents.RecipientSigningRequest]: Boolean(checked) })
+ }
+ />
+
+
+ Send recipient signing request email
+
+
+
+
+
+
+
+
+
+ Recipient signing request email
+
+
+
+
+
+ This email is sent to the recipient requesting them to sign the document.
+
+
+
+
+
+
+
+
+
+ onChange({ ...value, [DocumentEmailEvents.RecipientRemoved]: Boolean(checked) })
+ }
+ />
+
+
+ Send recipient removed email
+
+
+
+
+
+
+
+
+
+ Recipient removed email
+
+
+
+
+
+ This email is sent to the recipient if they are removed from a pending document.
+
+
+
+
+
+
+
+
+
+ onChange({ ...value, [DocumentEmailEvents.DocumentPending]: Boolean(checked) })
+ }
+ />
+
+
+ Send document pending email
+
+
+
+
+
+
+
+
+
+ Document pending email
+
+
+
+
+
+ This email will be sent to the recipient who has just signed the document, if
+ there are still other recipients who have not signed yet.
+
+
+
+
+
+
+
+
+
+ onChange({ ...value, [DocumentEmailEvents.DocumentCompleted]: Boolean(checked) })
+ }
+ />
+
+
+ Send document completed email
+
+
+
+
+
+
+
+
+
+ Document completed email
+
+
+
+
+
+ This will be sent to all recipients once the document has been fully completed.
+
+
+
+
+
+
+
+
+
+ onChange({ ...value, [DocumentEmailEvents.DocumentDeleted]: Boolean(checked) })
+ }
+ />
+
+
+ Send document deleted email
+
+
+
+
+
+
+
+
+
+ Document deleted email
+
+
+
+
+
+ This will be sent to all recipients if a pending document has been deleted.
+
+
+
+
+
+
+
+ );
+};
diff --git a/packages/ui/components/document/document-share-button.tsx b/packages/ui/components/document/document-share-button.tsx
index bcf888838..bfaeb6afd 100644
--- a/packages/ui/components/document/document-share-button.tsx
+++ b/packages/ui/components/document/document-share-button.tsx
@@ -139,12 +139,16 @@ export const DocumentShareButton = ({
- Share your signing experience!
+
+ Share your signing experience!
+
- Rest assured, your document is strictly confidential and will never be shared. Only your
- signing experience will be highlighted. Share your personalized signing card to showcase
- your signature!
+
+ Rest assured, your document is strictly confidential and will never be shared. Only
+ your signing experience will be highlighted. Share your personalized signing card to
+ showcase your signature!
+
@@ -187,7 +191,7 @@ export const DocumentShareButton = ({
- Copy Link
+ Copy Link
diff --git a/packages/ui/components/document/document-visibility-select.tsx b/packages/ui/components/document/document-visibility-select.tsx
index dd3f78408..ff362a406 100644
--- a/packages/ui/components/document/document-visibility-select.tsx
+++ b/packages/ui/components/document/document-visibility-select.tsx
@@ -16,14 +16,17 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitive
export type DocumentVisibilitySelectType = SelectProps & {
currentMemberRole?: string;
+ isTeamSettings?: boolean;
+ disabled?: boolean;
};
export const DocumentVisibilitySelect = forwardRef
(
- ({ currentMemberRole, ...props }, ref) => {
- const canUpdateVisibility = currentMemberRole === 'ADMIN' || currentMemberRole === 'MANAGER';
+ ({ currentMemberRole, isTeamSettings = false, disabled, ...props }, ref) => {
+ const canUpdateVisibility =
+ currentMemberRole === 'ADMIN' || currentMemberRole === 'MANAGER' || isTeamSettings;
return (
-
+
@@ -32,18 +35,15 @@ export const DocumentVisibilitySelect = forwardRef
{DOCUMENT_VISIBILITY.EVERYONE.value}
-
- {(currentMemberRole === 'ADMIN' || currentMemberRole === 'MANAGER') && (
-
- {DOCUMENT_VISIBILITY.MANAGER_AND_ABOVE.value}
-
- )}
-
- {currentMemberRole === 'ADMIN' && (
-
- {DOCUMENT_VISIBILITY.ADMIN.value}
-
- )}
+
+ {DOCUMENT_VISIBILITY.MANAGER_AND_ABOVE.value}
+
+
+ {DOCUMENT_VISIBILITY.ADMIN.value}
+
);
diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx
index a7903f2e8..ff0e4592e 100644
--- a/packages/ui/primitives/document-flow/add-fields.tsx
+++ b/packages/ui/primitives/document-flow/add-fields.tsx
@@ -5,6 +5,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { Caveat } from 'next/font/google';
import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
import { Prisma } from '@prisma/client';
import {
CalendarDays,
@@ -27,13 +28,14 @@ import { prop, sortBy } from 'remeda';
import { getBoundingClientRect } from '@documenso/lib/client-only/get-bounding-client-rect';
import { useDocumentElement } from '@documenso/lib/client-only/hooks/use-document-element';
import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer';
-import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles';
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
import {
type TFieldMetaSchema as FieldMeta,
ZFieldMetaSchema,
} from '@documenso/lib/types/field-meta';
import { nanoid } from '@documenso/lib/universal/id';
import { validateFieldsUninserted } from '@documenso/lib/utils/fields';
+import { parseMessageDescriptor } from '@documenso/lib/utils/i18n';
import {
canRecipientBeModified,
canRecipientFieldsBeModified,
@@ -114,6 +116,7 @@ export const AddFieldsFormPartial = ({
teamId,
}: AddFieldsFormProps) => {
const { toast } = useToast();
+ const { _ } = useLingui();
const [isMissingSignatureDialogVisible, setIsMissingSignatureDialogVisible] = useState(false);
@@ -568,7 +571,10 @@ export const AddFieldsFormPartial = ({
{showAdvancedSettings && currentField ? (
- {FRIENDLY_FIELD_TYPE[selectedField]}
+ {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
)}
@@ -684,8 +690,7 @@ export const AddFieldsFormPartial = ({
{recipientsByRoleToDisplay.map(([role, roleRecipients], roleIndex) => (
- {/* Todo: Translations - Add plural translations. */}
- {`${RECIPIENT_ROLES_DESCRIPTION_ENG[role].roleName}s`}
+ {_(RECIPIENT_ROLES_DESCRIPTION[role].roleNamePlural)}
{roleRecipients.length === 0 && (
@@ -997,7 +1002,7 @@ export const AddFieldsFormPartial = ({
)}
>
- Radio
+ Radio
@@ -1023,7 +1028,8 @@ export const AddFieldsFormPartial = ({
)}
>
- Checkbox
+ {/* Not translated on purpose. */}
+ Checkbox
diff --git a/packages/ui/primitives/document-flow/add-settings.tsx b/packages/ui/primitives/document-flow/add-settings.tsx
index 06cf5e9ea..9b73336f5 100644
--- a/packages/ui/primitives/document-flow/add-settings.tsx
+++ b/packages/ui/primitives/document-flow/add-settings.tsx
@@ -8,6 +8,7 @@ import { InfoIcon } from 'lucide-react';
import { useForm } from 'react-hook-form';
import { DATE_FORMATS, DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats';
+import { SUPPORTED_LANGUAGES } from '@documenso/lib/constants/i18n';
import { DEFAULT_DOCUMENT_TIME_ZONE, TIME_ZONES } from '@documenso/lib/constants/time-zones';
import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth';
import type { TeamMemberRole } from '@documenso/prisma/client';
@@ -98,6 +99,7 @@ export const AddSettingsFormPartial = ({
DATE_FORMATS.find((format) => format.value === document.documentMeta?.dateFormat)
?.value ?? DEFAULT_DOCUMENT_DATE_FORMAT,
redirectUrl: document.documentMeta?.redirectUrl ?? '',
+ language: document.documentMeta?.language ?? 'en',
},
},
});
@@ -165,6 +167,46 @@ export const AddSettingsFormPartial = ({
)}
/>
+ (
+
+
+ Language
+
+
+
+
+
+
+ Controls the language for the document, including the language to be used
+ for email notifications, and the final certificate that is generated and
+ attached to the document.
+
+
+
+
+
+
+
+
+
+
+
+ {Object.entries(SUPPORTED_LANGUAGES).map(([code, language]) => (
+
+ {language.full}
+
+ ))}
+
+
+
+
+
+ )}
+ />
+
(
-
+
(
(
(
@@ -586,7 +604,13 @@ export const AddSignersFormPartial = ({
(
-
+
;
diff --git a/packages/ui/primitives/document-flow/add-subject.tsx b/packages/ui/primitives/document-flow/add-subject.tsx
index a2b145641..f98d21a28 100644
--- a/packages/ui/primitives/document-flow/add-subject.tsx
+++ b/packages/ui/primitives/document-flow/add-subject.tsx
@@ -2,18 +2,32 @@
import { zodResolver } from '@hookform/resolvers/zod';
import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
+import { AnimatePresence, motion } from 'framer-motion';
import { useForm } from 'react-hook-form';
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
+import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
+import { formatSigningLink } from '@documenso/lib/utils/recipients';
import type { Field, Recipient } from '@documenso/prisma/client';
-import { DocumentStatus } from '@documenso/prisma/client';
+import {
+ DocumentDistributionMethod,
+ DocumentStatus,
+ RecipientRole,
+} from '@documenso/prisma/client';
import type { DocumentWithData } from '@documenso/prisma/types/document-with-data';
import { DocumentSendEmailMessageHelper } from '@documenso/ui/components/document/document-send-email-message-helper';
+import { Tabs, TabsList, TabsTrigger } from '@documenso/ui/primitives/tabs';
+import { CopyTextButton } from '../../components/common/copy-text-button';
+import { DocumentEmailCheckboxes } from '../../components/document/document-email-checkboxes';
+import { AvatarWithText } from '../avatar';
import { FormErrorMessage } from '../form/form-error-message';
import { Input } from '../input';
import { Label } from '../label';
import { useStep } from '../stepper';
import { Textarea } from '../textarea';
+import { toast } from '../use-toast';
import { type TAddSubjectFormSchema, ZAddSubjectFormSchema } from './add-subject.types';
import {
DocumentFlowFormContainerActions,
@@ -42,20 +56,45 @@ export const AddSubjectFormPartial = ({
onSubmit,
isDocumentPdfLoaded,
}: AddSubjectFormProps) => {
+ const { _ } = useLingui();
+
const {
register,
handleSubmit,
+ setValue,
+ watch,
formState: { errors, isSubmitting },
} = useForm({
defaultValues: {
meta: {
subject: document.documentMeta?.subject ?? '',
message: document.documentMeta?.message ?? '',
+ distributionMethod:
+ document.documentMeta?.distributionMethod || DocumentDistributionMethod.EMAIL,
+ emailSettings: ZDocumentEmailSettingsSchema.parse(document?.documentMeta?.emailSettings),
},
},
resolver: zodResolver(ZAddSubjectFormSchema),
});
+ const GoNextLabel = {
+ [DocumentDistributionMethod.EMAIL]: {
+ [DocumentStatus.DRAFT]: msg`Send`,
+ [DocumentStatus.PENDING]: recipients.some((recipient) => recipient.sendStatus === 'SENT')
+ ? msg`Resend`
+ : msg`Send`,
+ [DocumentStatus.COMPLETED]: msg`Update`,
+ },
+ [DocumentDistributionMethod.NONE]: {
+ [DocumentStatus.DRAFT]: msg`Generate Links`,
+ [DocumentStatus.PENDING]: msg`View Document`,
+ [DocumentStatus.COMPLETED]: msg`View Document`,
+ },
+ };
+
+ const distributionMethod = watch('meta.distributionMethod');
+ const emailSettings = watch('meta.emailSettings');
+
const onFormSubmit = handleSubmit(onSubmit);
const { currentStep, totalSteps, previousStep } = useStep();
@@ -72,46 +111,158 @@ export const AddSubjectFormPartial = ({
))}
-
-
-
-
- Subject (Optional)
-
-
+
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
+ setValue('meta.distributionMethod', value as DocumentDistributionMethod)
+ }
+ value={distributionMethod}
+ className="mb-2"
+ >
+
+
+ Email
+
+
+ None
+
+
+
-
+
+ {distributionMethod === DocumentDistributionMethod.EMAIL && (
+
+
+
+
+ Subject (Optional)
+
+
-
-
+
-
-
-
- Message (Optional)
-
-
+
+
-
+
+
+
+ Message (Optional)
+
+
-
-
+
-
-
+
+
+
+
+
+ setValue('meta.emailSettings', value)}
+ />
+
+ )}
+
+ {distributionMethod === DocumentDistributionMethod.NONE && (
+
+ {document.status === DocumentStatus.DRAFT ? (
+
+
+ We won't send anything to notify recipients.
+
+
+
+
+ We will generate signing links for with you, which you can send to the
+ recipients through your method of choice.
+
+
+
+ ) : (
+
+ {recipients.length === 0 && (
+
+ No recipients
+
+ )}
+
+ {recipients.map((recipient) => (
+
+ {recipient.email}
+ }
+ secondaryText={
+
+ {_(RECIPIENT_ROLES_DESCRIPTION[recipient.role].roleName)}
+
+ }
+ />
+
+ {recipient.role !== RecipientRole.CC && (
+ {
+ toast({
+ title: _(msg`Copied to clipboard`),
+ description: _(
+ msg`The signing link has been copied to your clipboard.`,
+ ),
+ });
+ }}
+ badgeContentUncopied={
+
+ Copy
+
+ }
+ badgeContentCopied={
+
+ Copied
+
+ }
+ />
+ )}
+
+ ))}
+
+ )}
+
+ )}
+
@@ -121,7 +272,7 @@ export const AddSubjectFormPartial = ({
void onFormSubmit()}
/>
diff --git a/packages/ui/primitives/document-flow/add-subject.types.ts b/packages/ui/primitives/document-flow/add-subject.types.ts
index 020e3c04b..178486c24 100644
--- a/packages/ui/primitives/document-flow/add-subject.types.ts
+++ b/packages/ui/primitives/document-flow/add-subject.types.ts
@@ -1,9 +1,18 @@
import { z } from 'zod';
+import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
+
+import { DocumentDistributionMethod } from '.prisma/client';
+
export const ZAddSubjectFormSchema = z.object({
meta: z.object({
subject: z.string(),
message: z.string(),
+ distributionMethod: z
+ .nativeEnum(DocumentDistributionMethod)
+ .optional()
+ .default(DocumentDistributionMethod.EMAIL),
+ emailSettings: ZDocumentEmailSettingsSchema,
}),
});
diff --git a/packages/ui/primitives/document-flow/show-field-item.tsx b/packages/ui/primitives/document-flow/show-field-item.tsx
index 5cc2885d6..ced978e7c 100644
--- a/packages/ui/primitives/document-flow/show-field-item.tsx
+++ b/packages/ui/primitives/document-flow/show-field-item.tsx
@@ -2,10 +2,12 @@
import { Caveat } from 'next/font/google';
+import { useLingui } from '@lingui/react';
import type { Prisma } from '@prisma/client';
import { createPortal } from 'react-dom';
import { useFieldPageCoords } from '@documenso/lib/client-only/hooks/use-field-page-coords';
+import { parseMessageDescriptor } from '@documenso/lib/utils/i18n';
import { FieldType } from '@documenso/prisma/client';
import { cn } from '../../lib/utils';
@@ -25,6 +27,8 @@ export type ShowFieldItemProps = {
};
export const ShowFieldItem = ({ field, recipients }: ShowFieldItemProps) => {
+ const { _ } = useLingui();
+
const coords = useFieldPageCoords(field);
const signerEmail =
@@ -47,7 +51,7 @@ export const ShowFieldItem = ({ field, recipients }: ShowFieldItemProps) => {
field.type === FieldType.SIGNATURE && fontCaveat.className,
)}
>
- {FRIENDLY_FIELD_TYPE[field.type]}
+ {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type])}
{signerEmail}
diff --git a/packages/ui/primitives/document-flow/types.ts b/packages/ui/primitives/document-flow/types.ts
index c98d71434..ca43ae2fc 100644
--- a/packages/ui/primitives/document-flow/types.ts
+++ b/packages/ui/primitives/document-flow/types.ts
@@ -1,4 +1,5 @@
import type { MessageDescriptor } from '@lingui/core';
+import { msg } from '@lingui/macro';
import { z } from 'zod';
import { ZFieldMetaSchema } from '@documenso/lib/types/field-meta';
@@ -44,18 +45,18 @@ export const ZDocumentFlowFormSchema = z.object({
export type TDocumentFlowFormSchema = z.infer;
-export const FRIENDLY_FIELD_TYPE: Record = {
- [FieldType.SIGNATURE]: 'Signature',
- [FieldType.FREE_SIGNATURE]: 'Free Signature',
- [FieldType.INITIALS]: 'Initials',
- [FieldType.TEXT]: 'Text',
- [FieldType.DATE]: 'Date',
- [FieldType.EMAIL]: 'Email',
- [FieldType.NAME]: 'Name',
- [FieldType.NUMBER]: 'Number',
- [FieldType.RADIO]: 'Radio',
- [FieldType.CHECKBOX]: 'Checkbox',
- [FieldType.DROPDOWN]: 'Select',
+export const FRIENDLY_FIELD_TYPE: Record = {
+ [FieldType.SIGNATURE]: msg`Signature`,
+ [FieldType.FREE_SIGNATURE]: msg`Free Signature`,
+ [FieldType.INITIALS]: msg`Initials`,
+ [FieldType.TEXT]: msg`Text`,
+ [FieldType.DATE]: msg`Date`,
+ [FieldType.EMAIL]: msg`Email`,
+ [FieldType.NAME]: msg`Name`,
+ [FieldType.NUMBER]: msg`Number`,
+ [FieldType.RADIO]: `Radio`,
+ [FieldType.CHECKBOX]: `Checkbox`,
+ [FieldType.DROPDOWN]: `Select`,
};
export interface DocumentFlowStep {
diff --git a/packages/ui/primitives/form/form-error-message.tsx b/packages/ui/primitives/form/form-error-message.tsx
index e429799da..7de28b585 100644
--- a/packages/ui/primitives/form/form-error-message.tsx
+++ b/packages/ui/primitives/form/form-error-message.tsx
@@ -1,3 +1,4 @@
+import { useLingui } from '@lingui/react';
import { AnimatePresence, motion } from 'framer-motion';
import { cn } from '../../lib/utils';
@@ -12,6 +13,15 @@ const isErrorWithMessage = (error: unknown): error is { message?: string } => {
};
export const FormErrorMessage = ({ error, className }: FormErrorMessageProps) => {
+ const { i18n } = useLingui();
+
+ let errorMessage = isErrorWithMessage(error) ? error.message : '';
+
+ // Checks to see if there's a translation for the string, since we're passing IDs for Zod errors.
+ if (typeof errorMessage === 'string' && i18n.t(errorMessage)) {
+ errorMessage = i18n.t(errorMessage);
+ }
+
return (
{isErrorWithMessage(error) && (
@@ -30,7 +40,7 @@ export const FormErrorMessage = ({ error, className }: FormErrorMessageProps) =>
}}
className={cn('text-xs text-red-500', className)}
>
- {error.message}
+ {errorMessage}
)}
diff --git a/packages/ui/primitives/form/form.tsx b/packages/ui/primitives/form/form.tsx
index f500accae..6614fccbe 100644
--- a/packages/ui/primitives/form/form.tsx
+++ b/packages/ui/primitives/form/form.tsx
@@ -1,5 +1,6 @@
import * as React from 'react';
+import { useLingui } from '@lingui/react';
import type * as LabelPrimitive from '@radix-ui/react-label';
import { Slot } from '@radix-ui/react-slot';
import { AnimatePresence, motion } from 'framer-motion';
@@ -136,13 +137,21 @@ const FormMessage = React.forwardRef<
HTMLParagraphElement,
React.HTMLAttributes
>(({ className, children, ...props }, ref) => {
+ const { i18n } = useLingui();
+
const { error, formMessageId } = useFormField();
- const body = error ? String(error?.message) : children;
+
+ let body = error ? String(error?.message) : children;
if (!body) {
return null;
}
+ // Checks to see if there's a translation for the string, since we're passing IDs for Zod errors.
+ if (typeof body === 'string' && i18n.t(body)) {
+ body = i18n.t(body);
+ }
+
return (
import('./pdf-viewer'), {
@@ -10,7 +11,9 @@ export const LazyPDFViewer = dynamic(async () => import('./pdf-viewer'), {
-
Loading document...
+
+ Loading document...
+
),
});
diff --git a/packages/ui/primitives/pdf-viewer.tsx b/packages/ui/primitives/pdf-viewer.tsx
index a1bce432d..95a380eb5 100644
--- a/packages/ui/primitives/pdf-viewer.tsx
+++ b/packages/ui/primitives/pdf-viewer.tsx
@@ -2,6 +2,8 @@
import React, { useEffect, useMemo, useRef, useState } from 'react';
+import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
import { Loader } from 'lucide-react';
import { type PDFDocumentProxy, PasswordResponses } from 'pdfjs-dist';
import { Document as PDFDocument, Page as PDFPage, pdfjs } from 'react-pdf';
@@ -38,7 +40,9 @@ const PDFLoader = () => (
<>
- Loading document...
+
+ Loading document...
+
>
);
@@ -61,6 +65,7 @@ export const PDFViewer = ({
onPageClick,
...props
}: PDFViewerProps) => {
+ const { _ } = useLingui();
const { toast } = useToast();
const $el = useRef(null);
@@ -158,8 +163,8 @@ export const PDFViewer = ({
console.error(err);
toast({
- title: 'Error',
- description: 'An error occurred while loading the document.',
+ title: _(msg`Error`),
+ description: _(msg`An error occurred while loading the document.`),
variant: 'destructive',
});
}
@@ -211,8 +216,12 @@ export const PDFViewer = ({
{pdfError ? (
-
Something went wrong while loading the document.
-
Please try again or contact our support.
+
+ Something went wrong while loading the document.
+
+
+ Please try again or contact our support.
+
) : (
@@ -222,8 +231,12 @@ export const PDFViewer = ({
error={
-
Something went wrong while loading the document.
-
Please try again or contact our support.
+
+ Something went wrong while loading the document.
+
+
+ Please try again or contact our support.
+
}
@@ -243,7 +256,9 @@ export const PDFViewer = ({
/>
- Page {i + 1} of {numPages}
+
+ Page {i + 1} of {numPages}
+
))}
diff --git a/packages/ui/primitives/template-flow/add-template-fields.tsx b/packages/ui/primitives/template-flow/add-template-fields.tsx
index 4070c0932..b515684a1 100644
--- a/packages/ui/primitives/template-flow/add-template-fields.tsx
+++ b/packages/ui/primitives/template-flow/add-template-fields.tsx
@@ -5,6 +5,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { Caveat } from 'next/font/google';
import { Trans, msg } from '@lingui/macro';
+import { useLingui } from '@lingui/react';
import {
CalendarDays,
CheckSquare,
@@ -22,12 +23,13 @@ import { useFieldArray, useForm } from 'react-hook-form';
import { getBoundingClientRect } from '@documenso/lib/client-only/get-bounding-client-rect';
import { useDocumentElement } from '@documenso/lib/client-only/hooks/use-document-element';
import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer';
-import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles';
+import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
import {
type TFieldMetaSchema as FieldMeta,
ZFieldMetaSchema,
} from '@documenso/lib/types/field-meta';
import { nanoid } from '@documenso/lib/universal/id';
+import { parseMessageDescriptor } from '@documenso/lib/utils/i18n';
import type { Field, Recipient } from '@documenso/prisma/client';
import { FieldType, RecipientRole } from '@documenso/prisma/client';
import { cn } from '@documenso/ui/lib/utils';
@@ -85,6 +87,8 @@ export const AddTemplateFieldsFormPartial = ({
onSubmit,
teamId,
}: AddTemplateFieldsFormProps) => {
+ const { _ } = useLingui();
+
const { isWithinPageBounds, getFieldPosition, getPage } = useDocumentElement();
const { currentStep, totalSteps, previousStep } = useStep();
const [showAdvancedSettings, setShowAdvancedSettings] = useState(false);
@@ -400,7 +404,10 @@ export const AddTemplateFieldsFormPartial = ({
{showAdvancedSettings && currentField ? (
- {FRIENDLY_FIELD_TYPE[selectedField]}
+ {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
)}
@@ -501,8 +508,7 @@ export const AddTemplateFieldsFormPartial = ({
{recipientsByRoleToDisplay.map(([role, roleRecipients], roleIndex) => (
- {/* Todo: Translations - Add plural translations. */}
- {`${RECIPIENT_ROLES_DESCRIPTION_ENG[role].roleName}s`}
+ {_(RECIPIENT_ROLES_DESCRIPTION[role].roleNamePlural)}
{roleRecipients.length === 0 && (
@@ -785,7 +791,7 @@ export const AddTemplateFieldsFormPartial = ({
)}
>
- Checkbox
+ Checkbox
diff --git a/packages/ui/primitives/template-flow/add-template-settings.tsx b/packages/ui/primitives/template-flow/add-template-settings.tsx
index 73302ae55..867614b73 100644
--- a/packages/ui/primitives/template-flow/add-template-settings.tsx
+++ b/packages/ui/primitives/template-flow/add-template-settings.tsx
@@ -9,9 +9,12 @@ import { InfoIcon } from 'lucide-react';
import { useForm } from 'react-hook-form';
import { DATE_FORMATS, DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats';
+import { DOCUMENT_DISTRIBUTION_METHODS } from '@documenso/lib/constants/document';
+import { SUPPORTED_LANGUAGES } from '@documenso/lib/constants/i18n';
import { DEFAULT_DOCUMENT_TIME_ZONE, TIME_ZONES } from '@documenso/lib/constants/time-zones';
+import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth';
-import { type Field, type Recipient } from '@documenso/prisma/client';
+import { DocumentDistributionMethod, type Field, type Recipient } from '@documenso/prisma/client';
import type { TemplateWithData } from '@documenso/prisma/types/template';
import {
DocumentGlobalAuthAccessSelect,
@@ -37,6 +40,7 @@ import {
FormMessage,
} from '@documenso/ui/primitives/form/form';
+import { DocumentEmailCheckboxes } from '../../components/document/document-email-checkboxes';
import { Combobox } from '../combobox';
import {
DocumentFlowFormContainerActions,
@@ -92,17 +96,24 @@ export const AddTemplateSettingsFormPartial = ({
message: template.templateMeta?.message ?? '',
timezone: template.templateMeta?.timezone ?? DEFAULT_DOCUMENT_TIME_ZONE,
dateFormat: template.templateMeta?.dateFormat ?? DEFAULT_DOCUMENT_DATE_FORMAT,
+ distributionMethod:
+ template.templateMeta?.distributionMethod || DocumentDistributionMethod.EMAIL,
redirectUrl: template.templateMeta?.redirectUrl ?? '',
+ language: template.templateMeta?.language ?? 'en',
+ emailSettings: ZDocumentEmailSettingsSchema.parse(template?.templateMeta?.emailSettings),
},
},
});
const { stepIndex, currentStep, totalSteps, previousStep } = useStep();
+ const distributionMethod = form.watch('meta.distributionMethod');
+ const emailSettings = form.watch('meta.emailSettings');
+
// We almost always want to set the timezone to the user's local timezone to avoid confusion
// when the document is signed.
useEffect(() => {
- if (!form.formState.touchedFields.meta?.timezone) {
+ if (!form.formState.touchedFields.meta?.timezone && !template.templateMeta?.timezone) {
form.setValue('meta.timezone', Intl.DateTimeFormat().resolvedOptions().timeZone);
}
}, [form, form.setValue, form.formState.touchedFields.meta?.timezone]);
@@ -142,6 +153,46 @@ export const AddTemplateSettingsFormPartial = ({
)}
/>
+ (
+
+
+ Language
+
+
+
+
+
+
+ Controls the language for the document, including the language to be used
+ for email notifications, and the final certificate that is generated and
+ attached to the document.
+
+
+
+
+
+
+
+
+
+
+
+ {Object.entries(SUPPORTED_LANGUAGES).map(([code, language]) => (
+
+ {language.full}
+
+ ))}
+
+
+
+
+
+ )}
+ />
+
+ (
+
+
+ Document Distribution Method
+
+
+
+
+
+
+
+
+ Document Distribution Method
+
+
+
+
+
+ This is how the document will reach the recipients once the document is
+ ready for signing.
+
+
+
+
+
+
+ Email - The recipient will be emailed the document to
+ sign, approve, etc.
+
+
+
+
+ Links - We will generate links which you can send to
+ the recipients manually.
+
+
+
+
+
+ Note - If you use Links in combination with direct
+ templates, you will need to manually send the links to the remaining
+ recipients.
+
+
+
+
+
+
+
+
+
+
+
+
+ {Object.values(DOCUMENT_DISTRIBUTION_METHODS).map(
+ ({ value, description }) => (
+
+ {_(description)}
+
+ ),
+ )}
+
+
+
+
+ )}
+ />
+
{isEnterprise && (
)}
-
-
-
- Email Options
-
+ {distributionMethod === DocumentDistributionMethod.EMAIL && (
+
+
+
+ Email Options
+
-
-
+
+
+
+ )}
diff --git a/packages/ui/primitives/template-flow/add-template-settings.types.tsx b/packages/ui/primitives/template-flow/add-template-settings.types.tsx
index 4f0d3f61a..b200afd8e 100644
--- a/packages/ui/primitives/template-flow/add-template-settings.types.tsx
+++ b/packages/ui/primitives/template-flow/add-template-settings.types.tsx
@@ -1,14 +1,17 @@
import { z } from 'zod';
import { DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats';
+import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
import { DEFAULT_DOCUMENT_TIME_ZONE } from '@documenso/lib/constants/time-zones';
import {
ZDocumentAccessAuthTypesSchema,
ZDocumentActionAuthTypesSchema,
} from '@documenso/lib/types/document-auth';
+import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
import { isValidRedirectUrl } from '@documenso/lib/utils/is-valid-redirect-url';
import { ZMapNegativeOneToUndefinedSchema } from '../document-flow/add-settings.types';
+import { DocumentDistributionMethod } from '.prisma/client';
export const ZAddTemplateSettingsFormSchema = z.object({
title: z.string().trim().min(1, { message: "Title can't be empty" }),
@@ -24,6 +27,10 @@ export const ZAddTemplateSettingsFormSchema = z.object({
message: z.string(),
timezone: z.string().optional().default(DEFAULT_DOCUMENT_TIME_ZONE),
dateFormat: z.string().optional().default(DEFAULT_DOCUMENT_DATE_FORMAT),
+ distributionMethod: z
+ .nativeEnum(DocumentDistributionMethod)
+ .optional()
+ .default(DocumentDistributionMethod.EMAIL),
redirectUrl: z
.string()
.optional()
@@ -31,6 +38,11 @@ export const ZAddTemplateSettingsFormSchema = z.object({
message:
'Please enter a valid URL, make sure you include http:// or https:// part of the url.',
}),
+ language: z
+ .union([z.string(), z.enum(SUPPORTED_LANGUAGE_CODES)])
+ .optional()
+ .default('en'),
+ emailSettings: ZDocumentEmailSettingsSchema,
}),
});
diff --git a/turbo.json b/turbo.json
index 753c11911..3a04158c9 100644
--- a/turbo.json
+++ b/turbo.json
@@ -105,6 +105,7 @@
"NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS",
"NEXT_PRIVATE_SMTP_FROM_NAME",
"NEXT_PRIVATE_SMTP_FROM_ADDRESS",
+ "NEXT_PRIVATE_SMTP_SERVICE",
"NEXT_PRIVATE_STRIPE_API_KEY",
"NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET",
"NEXT_PRIVATE_GITHUB_TOKEN",