Compare commits

..

3 Commits

Author SHA1 Message Date
Ephraim Duncan 77231e31f7 Merge branch 'main' into fix/sitemap 2024-11-21 12:32:34 +00:00
Ephraim Atta-Duncan 3d7912586e fix: use APP_BASE_URL 2024-11-21 12:32:04 +00:00
Ephraim Atta-Duncan a67894f384 fix: sitemap showing vercel deployment url 2024-11-17 23:04:52 +00:00
79 changed files with 1736 additions and 2300 deletions
+3
View File
@@ -27,6 +27,9 @@
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"autoprefixer": "^10.0.1",
"postcss": "^8",
"tailwindcss": "^3.3.0",
"typescript": "^5"
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@documenso/marketing",
"version": "1.8.1-rc.1",
"version": "1.8.1-rc.0",
"private": true,
"license": "AGPL-3.0",
"scripts": {
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@documenso/web",
"version": "1.8.1-rc.1",
"version": "1.8.1-rc.0",
"private": true,
"license": "AGPL-3.0",
"scripts": {
@@ -28,7 +28,6 @@
"@simplewebauthn/browser": "^9.0.1",
"@simplewebauthn/server": "^9.0.3",
"@tanstack/react-query": "^4.29.5",
"colord": "^2.9.3",
"cookie-es": "^1.0.0",
"formidable": "^2.1.1",
"framer-motion": "^10.12.8",
@@ -54,7 +53,7 @@
"react-icons": "^4.11.0",
"react-rnd": "^10.4.1",
"recharts": "^2.7.2",
"remeda": "^2.17.3",
"remeda": "^2.12.1",
"sharp": "0.32.6",
"ts-pattern": "^5.0.5",
"ua-parser-js": "^1.0.37",
@@ -47,8 +47,6 @@ export const DeleteDocumentDialog = ({
const { refreshLimits } = useLimits();
const { _ } = useLingui();
const deleteMessage = msg`delete`;
const [inputValue, setInputValue] = useState('');
const [isDeleteEnabled, setIsDeleteEnabled] = useState(status === DocumentStatus.DRAFT);
@@ -89,7 +87,7 @@ export const DeleteDocumentDialog = ({
const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
setInputValue(event.target.value);
setIsDeleteEnabled(event.target.value === _(deleteMessage));
setIsDeleteEnabled(event.target.value === _(msg`delete`));
};
return (
@@ -183,7 +181,7 @@ export const DeleteDocumentDialog = ({
type="text"
value={inputValue}
onChange={onInputChange}
placeholder={_(msg`Please type ${`'${_(deleteMessage)}'`} to confirm`)}
placeholder={_(msg`Type 'delete' to confirm`)}
/>
)}
@@ -141,23 +141,6 @@ export const EditTemplateForm = ({
},
});
const { mutateAsync: updateTypedSignature } =
trpc.template.updateTemplateTypedSignatureSettings.useMutation({
...DO_NOT_INVALIDATE_QUERY_ON_MUTATION,
onSuccess: (newData) => {
utils.template.getTemplateWithDetailsById.setData(
{
id: initialTemplate.id,
},
(oldData) => ({
...(oldData || initialTemplate),
...newData,
id: Number(newData.id),
}),
);
},
});
const onAddSettingsFormSubmit = async (data: TAddTemplateSettingsFormSchema) => {
try {
await updateTemplateSettings({
@@ -228,12 +211,6 @@ export const EditTemplateForm = ({
fields: data.fields,
});
await updateTypedSignature({
templateId: template.id,
teamId: team?.id,
typedSignatureEnabled: data.typedSignatureEnabled,
});
// Clear all field data from localStorage
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
@@ -248,13 +225,14 @@ export const EditTemplateForm = ({
duration: 5000,
});
// Router refresh is here to clear the router cache for when navigating to /documents.
router.refresh();
router.push(templateRootPath);
} catch (err) {
console.error(err);
toast({
title: _(msg`Error`),
description: _(msg`An error occurred while adding fields.`),
description: _(msg`An error occurred while adding signers.`),
variant: 'destructive',
});
}
@@ -323,7 +301,6 @@ export const EditTemplateForm = ({
fields={fields}
onSubmit={onAddFieldsFormSubmit}
teamId={team?.id}
typedSignatureEnabled={template.templateMeta?.typedSignatureEnabled}
/>
</Stepper>
</DocumentFlowFormContainer>
@@ -73,6 +73,7 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps)
const mockedDocumentMeta = templateMeta
? {
typedSignatureEnabled: false,
...templateMeta,
signingOrder: templateMeta.signingOrder || DocumentSigningOrder.SEQUENTIAL,
documentId: 0,
@@ -154,7 +155,7 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps)
</div>
</div>
<p className="text-muted-foreground mt-2 px-4 text-sm">
<p className="text-muted-foreground mt-2 px-4 text-sm ">
<Trans>Manage and view template</Trans>
</p>
@@ -209,19 +209,11 @@ export default async function SigningCertificate({ searchParams }: SigningCertif
boxShadow: `0px 0px 0px 4.88px rgba(122, 196, 85, 0.1), 0px 0px 0px 1.22px rgba(122, 196, 85, 0.6), 0px 0px 0px 0.61px rgba(122, 196, 85, 1)`,
}}
>
{signature.Signature?.signatureImageAsBase64 && (
<img
src={`${signature.Signature?.signatureImageAsBase64}`}
alt="Signature"
className="max-h-12 max-w-full"
/>
)}
{signature.Signature?.typedSignature && (
<p className="font-signature text-center text-sm">
{signature.Signature?.typedSignature}
</p>
)}
<img
src={`${signature.Signature?.signatureImageAsBase64}`}
alt="Signature"
className="max-h-12 max-w-full"
/>
</div>
<p className="text-muted-foreground mt-2 text-sm print:text-xs">
@@ -102,9 +102,9 @@ export const SignDirectTemplateForm = ({
created: new Date(),
recipientId: 1,
fieldId: 1,
signatureImageAsBase64: value.value.startsWith('data:') ? value.value : null,
typedSignature: value.value.startsWith('data:') ? null : value.value,
} satisfies Signature;
signatureImageAsBase64: value.value,
typedSignature: null,
};
}
if (field.type === FieldType.DATE) {
@@ -1,6 +1,6 @@
'use client';
import { createContext, useContext, useEffect, useState } from 'react';
import { createContext, useContext, useState } from 'react';
export type SigningContextValue = {
fullName: string;
@@ -44,12 +44,6 @@ export const SigningProvider = ({
const [email, setEmail] = useState(initialEmail || '');
const [signature, setSignature] = useState(initialSignature || null);
useEffect(() => {
if (initialSignature) {
setSignature(initialSignature);
}
}, [initialSignature]);
return (
<SigningContext.Provider
value={{
@@ -1,6 +1,6 @@
'use client';
import { useLayoutEffect, useMemo, useRef, useState, useTransition } from 'react';
import { useMemo, useState, useTransition } from 'react';
import { useRouter } from 'next/navigation';
@@ -51,10 +51,6 @@ export const SignatureField = ({
const { _ } = useLingui();
const { toast } = useToast();
const signatureRef = useRef<HTMLParagraphElement>(null);
const containerRef = useRef<HTMLDivElement>(null);
const [fontSize, setFontSize] = useState(2);
const { signature: providedSignature, setSignature: setProvidedSignature } =
useRequiredSigningContext();
@@ -112,7 +108,6 @@ export const SignatureField = ({
actionTarget: field.type,
});
};
const onSign = async (authOptions?: TRecipientActionAuth, signature?: string) => {
try {
const value = signature || providedSignature;
@@ -122,23 +117,11 @@ export const SignatureField = ({
return;
}
const isTypedSignature = !value.startsWith('data:image');
if (isTypedSignature && !typedSignatureEnabled) {
toast({
title: _(msg`Error`),
description: _(msg`Typed signatures are not allowed. Please draw your signature.`),
variant: 'destructive',
});
return;
}
const payload: TSignFieldWithTokenMutationSchema = {
token: recipient.token,
fieldId: field.id,
value,
isBase64: !isTypedSignature,
isBase64: true,
authOptions,
};
@@ -193,41 +176,6 @@ export const SignatureField = ({
}
};
useLayoutEffect(() => {
if (!signatureRef.current || !containerRef.current || !signature?.typedSignature) {
return;
}
const adjustTextSize = () => {
const container = containerRef.current;
const text = signatureRef.current;
if (!container || !text) {
return;
}
let size = 2;
text.style.fontSize = `${size}rem`;
while (
(text.scrollWidth > container.clientWidth || text.scrollHeight > container.clientHeight) &&
size > 0.8
) {
size -= 0.1;
text.style.fontSize = `${size}rem`;
}
setFontSize(size);
};
const resizeObserver = new ResizeObserver(adjustTextSize);
resizeObserver.observe(containerRef.current);
adjustTextSize();
return () => resizeObserver.disconnect();
}, [signature?.typedSignature]);
return (
<SigningFieldContainer
field={field}
@@ -257,15 +205,10 @@ export const SignatureField = ({
)}
{state === 'signed-text' && (
<div ref={containerRef} className="flex h-full w-full items-center justify-center p-2">
<p
ref={signatureRef}
className="font-signature text-muted-foreground dark:text-background w-full overflow-hidden break-all text-center leading-tight duration-200"
style={{ fontSize: `${fontSize}rem` }}
>
{signature?.typedSignature}
</p>
</div>
<p className="font-signature text-muted-foreground dark:text-background text-lg duration-200 sm:text-xl md:text-2xl lg:text-3xl">
{/* This optional chaining is intentional, we don't want to move the check into the condition above */}
{signature?.typedSignature}
</p>
)}
<Dialog open={showSignatureModal} onOpenChange={setShowSignatureModal}>
@@ -52,7 +52,13 @@ export default async function TeamsSettingsPage({ params }: TeamsSettingsPagePro
<AvatarImageForm className="mb-8" team={team} user={session.user} />
<UpdateTeamForm teamId={team.id} teamName={team.name} teamUrl={team.url} />
<UpdateTeamForm
teamId={team.id}
teamName={team.name}
teamUrl={team.url}
documentVisibility={team.teamGlobalSettings?.documentVisibility}
includeSenderDetails={team.teamGlobalSettings?.includeSenderDetails}
/>
<section className="mt-6 space-y-6">
{(team.teamEmail || team.emailVerification) && (
@@ -39,8 +39,6 @@ const ZTeamDocumentPreferencesFormSchema = z.object({
documentVisibility: z.nativeEnum(DocumentVisibility),
documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES),
includeSenderDetails: z.boolean(),
typedSignatureEnabled: z.boolean(),
includeSigningCertificate: z.boolean(),
});
type TTeamDocumentPreferencesFormSchema = z.infer<typeof ZTeamDocumentPreferencesFormSchema>;
@@ -70,8 +68,6 @@ export const TeamDocumentPreferencesForm = ({
? settings?.documentLanguage
: 'en',
includeSenderDetails: settings?.includeSenderDetails ?? false,
typedSignatureEnabled: settings?.typedSignatureEnabled ?? true,
includeSigningCertificate: settings?.includeSigningCertificate ?? true,
},
resolver: zodResolver(ZTeamDocumentPreferencesFormSchema),
});
@@ -80,13 +76,7 @@ export const TeamDocumentPreferencesForm = ({
const onSubmit = async (data: TTeamDocumentPreferencesFormSchema) => {
try {
const {
documentVisibility,
documentLanguage,
includeSenderDetails,
includeSigningCertificate,
typedSignatureEnabled,
} = data;
const { documentVisibility, documentLanguage, includeSenderDetails } = data;
await updateTeamDocumentPreferences({
teamId: team.id,
@@ -94,8 +84,6 @@ export const TeamDocumentPreferencesForm = ({
documentVisibility,
documentLanguage,
includeSenderDetails,
typedSignatureEnabled,
includeSigningCertificate,
},
});
@@ -117,7 +105,7 @@ export const TeamDocumentPreferencesForm = ({
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)}>
<fieldset
className="flex h-full max-w-xl flex-col gap-y-6"
className="flex h-full max-w-xl flex-col gap-y-4"
disabled={form.formState.isSubmitting}
>
<FormField
@@ -239,67 +227,6 @@ export const TeamDocumentPreferencesForm = ({
)}
/>
<FormField
control={form.control}
name="typedSignatureEnabled"
render={({ field }) => (
<FormItem className="flex-1">
<FormLabel>
<Trans>Enable Typed Signature</Trans>
</FormLabel>
<div>
<FormControl className="block">
<Switch
ref={field.ref}
name={field.name}
checked={field.value}
onCheckedChange={field.onChange}
/>
</FormControl>
</div>
<FormDescription>
<Trans>
Controls whether the recipients can sign the documents using a typed signature.
Enable or disable the typed signature globally.
</Trans>
</FormDescription>
</FormItem>
)}
/>
<FormField
control={form.control}
name="includeSigningCertificate"
render={({ field }) => (
<FormItem className="flex-1">
<FormLabel>
<Trans>Include the Signing Certificate in the Document</Trans>
</FormLabel>
<div>
<FormControl className="block">
<Switch
ref={field.ref}
name={field.name}
checked={field.value}
onCheckedChange={field.onChange}
/>
</FormControl>
</div>
<FormDescription>
<Trans>
Controls whether the signing certificate will be included in the document when
it is downloaded. The signing certificate can still be downloaded from the logs
page separately.
</Trans>
</FormDescription>
</FormItem>
)}
/>
<div className="flex flex-row justify-end space-x-4">
<Button type="submit" loading={form.formState.isSubmitting}>
<Trans>Save</Trans>
-4
View File
@@ -1,12 +1,8 @@
import { z } from 'zod';
import { ZCssVarsSchema } from './css-vars';
export const ZBaseEmbedDataSchema = z.object({
darkModeDisabled: z.boolean().optional().default(false),
css: z
.string()
.optional()
.transform((value) => value || undefined),
cssVars: ZCssVarsSchema.optional().default({}),
});
-1
View File
@@ -10,7 +10,6 @@ export type EmbedDocumentCompletedPageProps = {
};
export const EmbedDocumentCompleted = ({ name, signature }: EmbedDocumentCompletedPageProps) => {
console.log({ signature });
return (
<div className="relative mx-auto flex min-h-[100dvh] max-w-screen-lg flex-col items-center justify-center p-6">
<h3 className="text-foreground text-2xl font-semibold">
-59
View File
@@ -1,59 +0,0 @@
import { colord } from 'colord';
import { toSnakeCase } from 'remeda';
import { z } from 'zod';
export const ZCssVarsSchema = z
.object({
background: z.string().optional().describe('Base background color'),
foreground: z.string().optional().describe('Base text color'),
muted: z.string().optional().describe('Muted/subtle background color'),
mutedForeground: z.string().optional().describe('Muted/subtle text color'),
popover: z.string().optional().describe('Popover/dropdown background color'),
popoverForeground: z.string().optional().describe('Popover/dropdown text color'),
card: z.string().optional().describe('Card background color'),
cardBorder: z.string().optional().describe('Card border color'),
cardBorderTint: z.string().optional().describe('Card border tint/highlight color'),
cardForeground: z.string().optional().describe('Card text color'),
fieldCard: z.string().optional().describe('Field card background color'),
fieldCardBorder: z.string().optional().describe('Field card border color'),
fieldCardForeground: z.string().optional().describe('Field card text color'),
widget: z.string().optional().describe('Widget background color'),
widgetForeground: z.string().optional().describe('Widget text color'),
border: z.string().optional().describe('Default border color'),
input: z.string().optional().describe('Input field border color'),
primary: z.string().optional().describe('Primary action/button color'),
primaryForeground: z.string().optional().describe('Primary action/button text color'),
secondary: z.string().optional().describe('Secondary action/button color'),
secondaryForeground: z.string().optional().describe('Secondary action/button text color'),
accent: z.string().optional().describe('Accent/highlight color'),
accentForeground: z.string().optional().describe('Accent/highlight text color'),
destructive: z.string().optional().describe('Destructive/danger action color'),
destructiveForeground: z.string().optional().describe('Destructive/danger text color'),
ring: z.string().optional().describe('Focus ring color'),
radius: z.string().optional().describe('Border radius size in REM units'),
warning: z.string().optional().describe('Warning/alert color'),
})
.describe('Custom CSS variables for theming');
export type TCssVarsSchema = z.infer<typeof ZCssVarsSchema>;
export const toNativeCssVars = (vars: TCssVarsSchema) => {
const cssVars: Record<string, string> = {};
const { radius, ...colorVars } = vars;
for (const [key, value] of Object.entries(colorVars)) {
if (value) {
const color = colord(value);
const { h, s, l } = color.toHsl();
cssVars[`--${toSnakeCase(key)}`] = `${h} ${s} ${l}`;
}
}
if (radius) {
cssVars[`--radius`] = `${radius}`;
}
return cssVars;
};
@@ -1,6 +1,6 @@
'use client';
import { useEffect, useLayoutEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import { useSearchParams } from 'next/navigation';
@@ -14,7 +14,7 @@ import { DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-form
import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer';
import { DEFAULT_DOCUMENT_TIME_ZONE } from '@documenso/lib/constants/time-zones';
import { validateFieldsInserted } from '@documenso/lib/utils/fields';
import type { DocumentMeta, Recipient, Signature, TemplateMeta } from '@documenso/prisma/client';
import type { DocumentMeta, Recipient, TemplateMeta } from '@documenso/prisma/client';
import { type DocumentData, type Field, FieldType } from '@documenso/prisma/client';
import { trpc } from '@documenso/trpc/react';
import type {
@@ -38,7 +38,6 @@ import { Logo } from '~/components/branding/logo';
import { EmbedClientLoading } from '../../client-loading';
import { EmbedDocumentCompleted } from '../../completed';
import { EmbedDocumentFields } from '../../document-fields';
import { injectCss } from '../../util';
import { ZDirectTemplateEmbedDataSchema } from './schema';
export type EmbedDirectTemplateClientPageProps = {
@@ -48,8 +47,6 @@ export type EmbedDirectTemplateClientPageProps = {
recipient: Recipient;
fields: Field[];
metadata?: DocumentMeta | TemplateMeta | null;
hidePoweredBy?: boolean;
isPlatformOrEnterprise?: boolean;
};
export const EmbedDirectTemplateClientPage = ({
@@ -59,8 +56,6 @@ export const EmbedDirectTemplateClientPage = ({
recipient,
fields,
metadata,
hidePoweredBy = false,
isPlatformOrEnterprise = false,
}: EmbedDirectTemplateClientPageProps) => {
const { _ } = useLingui();
const { toast } = useToast();
@@ -113,9 +108,9 @@ export const EmbedDirectTemplateClientPage = ({
created: new Date(),
recipientId: 1,
fieldId: 1,
signatureImageAsBase64: payload.value.startsWith('data:') ? payload.value : null,
typedSignature: payload.value.startsWith('data:') ? null : payload.value,
} satisfies Signature;
signatureImageAsBase64: payload.value,
typedSignature: null,
};
}
if (field.type === FieldType.DATE) {
@@ -254,7 +249,7 @@ export const EmbedDirectTemplateClientPage = ({
}
};
useLayoutEffect(() => {
useEffect(() => {
const hash = window.location.hash.slice(1);
try {
@@ -269,17 +264,6 @@ export const EmbedDirectTemplateClientPage = ({
setFullName(data.name);
setIsNameLocked(!!data.lockName);
}
if (data.darkModeDisabled) {
document.documentElement.classList.add('dark-mode-disabled');
}
if (isPlatformOrEnterprise) {
injectCss({
css: data.css,
cssVars: data.cssVars,
});
}
} catch (err) {
console.error(err);
}
@@ -312,8 +296,8 @@ export const EmbedDirectTemplateClientPage = ({
fieldId: 1,
recipientId: 1,
created: new Date(),
signatureImageAsBase64: signature?.startsWith('data:') ? signature : null,
typedSignature: signature?.startsWith('data:') ? null : signature,
typedSignature: null,
signatureImageAsBase64: signature,
}}
/>
);
@@ -468,12 +452,10 @@ export const EmbedDirectTemplateClientPage = ({
/>
</div>
{!hidePoweredBy && (
<div className="bg-primary text-primary-foreground fixed bottom-0 left-0 z-40 rounded-tr px-2 py-1 text-xs font-medium opacity-60 hover:opacity-100">
<span>Powered by</span>
<Logo className="ml-2 inline-block h-[14px]" />
</div>
)}
<div className="bg-primary text-primary-foreground fixed bottom-0 left-0 z-40 rounded-tr px-2 py-1 text-xs font-medium opacity-60 hover:opacity-100">
<span>Powered by</span>
<Logo className="ml-2 inline-block h-[14px]" />
</div>
</div>
);
};
@@ -2,11 +2,8 @@ import { notFound } from 'next/navigation';
import { match } from 'ts-pattern';
import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise';
import { isDocumentPlatform } from '@documenso/ee/server-only/util/is-document-platform';
import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app';
import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
import { getTeamById } from '@documenso/lib/server-only/team/get-team';
import { getTemplateByDirectLinkToken } from '@documenso/lib/server-only/template/get-template-by-direct-link-token';
import { DocumentAccessAuth } from '@documenso/lib/types/document-auth';
import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth';
@@ -54,14 +51,6 @@ export default async function EmbedDirectTemplatePage({ params }: EmbedDirectTem
documentAuth: template.authOptions,
});
const [isPlatformDocument, isEnterpriseDocument] = await Promise.all([
isDocumentPlatform(template),
isUserEnterprise({
userId: template.userId,
teamId: template.teamId ?? undefined,
}),
]);
const isAccessAuthValid = match(derivedRecipientAccessAuth)
.with(DocumentAccessAuth.ACCOUNT, () => user !== null)
.with(null, () => true)
@@ -83,12 +72,6 @@ export default async function EmbedDirectTemplatePage({ params }: EmbedDirectTem
const fields = template.Field.filter((field) => field.recipientId === directTemplateRecipientId);
const team = template.teamId
? await getTeamById({ teamId: template.teamId, userId: template.userId }).catch(() => null)
: null;
const hidePoweredBy = team?.teamGlobalSettings?.brandingHidePoweredBy ?? false;
return (
<SigningProvider email={user?.email} fullName={user?.name} signature={user?.signature}>
<DocumentAuthProvider
@@ -103,8 +86,6 @@ export default async function EmbedDirectTemplatePage({ params }: EmbedDirectTem
recipient={recipient}
fields={fields}
metadata={template.templateMeta}
hidePoweredBy={isPlatformDocument || isEnterpriseDocument || hidePoweredBy}
isPlatformOrEnterprise={isPlatformDocument || isEnterpriseDocument}
/>
</DocumentAuthProvider>
</SigningProvider>
@@ -58,7 +58,6 @@ export const EmbedDocumentFields = ({
recipient={recipient}
onSignField={onSignField}
onUnsignField={onUnsignField}
typedSignatureEnabled={metadata?.typedSignatureEnabled}
/>
))
.with(FieldType.INITIALS, () => (
@@ -1,6 +1,6 @@
'use client';
import { useEffect, useLayoutEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import { Trans, msg } from '@lingui/macro';
import { useLingui } from '@lingui/react';
@@ -28,7 +28,6 @@ import { Logo } from '~/components/branding/logo';
import { EmbedClientLoading } from '../../client-loading';
import { EmbedDocumentCompleted } from '../../completed';
import { EmbedDocumentFields } from '../../document-fields';
import { injectCss } from '../../util';
import { ZSignDocumentEmbedDataSchema } from './schema';
export type EmbedSignDocumentClientPageProps = {
@@ -39,8 +38,6 @@ export type EmbedSignDocumentClientPageProps = {
fields: Field[];
metadata?: DocumentMeta | TemplateMeta | null;
isCompleted?: boolean;
hidePoweredBy?: boolean;
isPlatformOrEnterprise?: boolean;
};
export const EmbedSignDocumentClientPage = ({
@@ -51,8 +48,6 @@ export const EmbedSignDocumentClientPage = ({
fields,
metadata,
isCompleted,
hidePoweredBy = false,
isPlatformOrEnterprise = false,
}: EmbedSignDocumentClientPageProps) => {
const { _ } = useLingui();
const { toast } = useToast();
@@ -136,7 +131,7 @@ export const EmbedSignDocumentClientPage = ({
}
};
useLayoutEffect(() => {
useEffect(() => {
const hash = window.location.hash.slice(1);
try {
@@ -149,17 +144,6 @@ export const EmbedSignDocumentClientPage = ({
// Since a recipient can be provided a name we can lock it without requiring
// a to be provided by the parent application, unlike direct templates.
setIsNameLocked(!!data.lockName);
if (data.darkModeDisabled) {
document.documentElement.classList.add('dark-mode-disabled');
}
if (isPlatformOrEnterprise) {
injectCss({
css: data.css,
cssVars: data.cssVars,
});
}
} catch (err) {
console.error(err);
}
@@ -192,8 +176,8 @@ export const EmbedSignDocumentClientPage = ({
fieldId: 1,
recipientId: 1,
created: new Date(),
signatureImageAsBase64: signature?.startsWith('data:') ? signature : null,
typedSignature: signature?.startsWith('data:') ? null : signature,
typedSignature: null,
signatureImageAsBase64: signature,
}}
/>
);
@@ -218,7 +202,7 @@ export const EmbedSignDocumentClientPage = ({
className="group/document-widget fixed bottom-8 left-0 z-50 h-fit w-full flex-shrink-0 px-6 md:sticky md:top-4 md:z-auto md:w-[350px] md:px-0"
data-expanded={isExpanded || undefined}
>
<div className="border-border bg-widget flex w-full flex-col rounded-xl border px-4 py-4 md:py-6">
<div className="border-border bg-widget flex w-full flex-col rounded-xl border px-4 py-4 md:py-6">
{/* Header */}
<div>
<div className="flex items-center justify-between gap-x-2">
@@ -341,12 +325,10 @@ export const EmbedSignDocumentClientPage = ({
<EmbedDocumentFields recipient={recipient} fields={fields} metadata={metadata} />
</div>
{!hidePoweredBy && (
<div className="bg-primary text-primary-foreground fixed bottom-0 left-0 z-40 rounded-tr px-2 py-1 text-xs font-medium opacity-60 hover:opacity-100">
<span>Powered by</span>
<Logo className="ml-2 inline-block h-[14px]" />
</div>
)}
<div className="bg-primary text-primary-foreground fixed bottom-0 left-0 z-40 rounded-tr px-2 py-1 text-xs font-medium opacity-60 hover:opacity-100">
<span>Powered by</span>
<Logo className="ml-2 inline-block h-[14px]" />
</div>
</div>
);
};
@@ -2,14 +2,11 @@ import { notFound } from 'next/navigation';
import { match } from 'ts-pattern';
import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise';
import { isDocumentPlatform } from '@documenso/ee/server-only/util/is-document-platform';
import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app';
import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token';
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 { getTeamById } from '@documenso/lib/server-only/team/get-team';
import { DocumentAccessAuth } from '@documenso/lib/types/document-auth';
import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth';
import { DocumentStatus } from '@documenso/prisma/client';
@@ -59,14 +56,6 @@ export default async function EmbedSignDocumentPage({ params }: EmbedSignDocumen
return <EmbedPaywall />;
}
const [isPlatformDocument, isEnterpriseDocument] = await Promise.all([
isDocumentPlatform(document),
isUserEnterprise({
userId: document.userId,
teamId: document.teamId ?? undefined,
}),
]);
const { derivedRecipientAccessAuth } = extractDocumentAuthMethods({
documentAuth: document.authOptions,
});
@@ -85,12 +74,6 @@ export default async function EmbedSignDocumentPage({ params }: EmbedSignDocumen
);
}
const team = document.teamId
? await getTeamById({ teamId: document.teamId, userId: document.userId }).catch(() => null)
: null;
const hidePoweredBy = team?.teamGlobalSettings?.brandingHidePoweredBy ?? false;
return (
<SigningProvider
email={recipient.email}
@@ -110,8 +93,6 @@ export default async function EmbedSignDocumentPage({ params }: EmbedSignDocumen
fields={fields}
metadata={document.documentMeta}
isCompleted={document.status === DocumentStatus.COMPLETED}
hidePoweredBy={isPlatformDocument || isEnterpriseDocument || hidePoweredBy}
isPlatformOrEnterprise={isPlatformDocument || isEnterpriseDocument}
/>
</DocumentAuthProvider>
</SigningProvider>
-20
View File
@@ -1,20 +0,0 @@
import { type TCssVarsSchema, toNativeCssVars } from './css-vars';
export const injectCss = (options: { css?: string; cssVars?: TCssVarsSchema }) => {
const { css, cssVars } = options;
if (css) {
const style = document.createElement('style');
style.innerHTML = css;
document.head.appendChild(style);
}
if (cssVars) {
const nativeVars = toNativeCssVars(cssVars);
for (const [key, value] of Object.entries(nativeVars)) {
document.documentElement.style.setProperty(key, value);
}
}
};
@@ -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,17 +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<typeof ZUpdateTeamFormSchema>;
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();
@@ -48,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,
});
@@ -72,6 +111,8 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
form.reset({
name,
url,
documentVisibility,
includeSenderDetails,
});
if (url !== teamUrl) {
@@ -145,6 +186,68 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
)}
/>
<FormField
control={form.control}
name="documentVisibility"
render={({ field }) => (
<FormItem>
<FormLabel className="mt-4 flex flex-row items-center">
<Trans>Default Document Visibility</Trans>
<DocumentVisibilityTooltip />
</FormLabel>
<FormControl>
<DocumentVisibilitySelect
currentMemberRole={currentVisibilityRole}
isTeamSettings={true}
{...field}
onValueChange={field.onChange}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<div className="mb-4">
<FormField
control={form.control}
name="includeSenderDetails"
render={({ field }) => (
<FormItem>
<div className="mt-6 flex flex-row items-center gap-4">
<FormLabel>
<Trans>Send on Behalf of Team</Trans>
</FormLabel>
<FormControl>
<Checkbox
className="h-5 w-5"
checkClassName="text-white"
checked={field.value}
onCheckedChange={field.onChange}
/>
</FormControl>
</div>
{includeSenderDetailsCheck ? (
<blockquote className="text-foreground/50 text-xs italic">
<Trans>
"{email}" on behalf of "{teamName}" has invited you to sign "example
document".
</Trans>
</blockquote>
) : (
<blockquote className="text-foreground/50 text-xs italic">
<Trans>"{teamUrl}" has invited you to sign "example document".</Trans>
</blockquote>
)}
<FormMessage />
</FormItem>
)}
/>
</div>
<div className="flex flex-row justify-end space-x-4">
<AnimatePresence>
{form.formState.isDirty && (
@@ -138,7 +138,6 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => {
containerClassName={cn('rounded-lg border bg-background')}
defaultValue={user.signature ?? undefined}
onChange={(v) => onChange(v ?? '')}
allowTypedSignature={true}
/>
</FormControl>
<FormMessage />
+551 -222
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,6 +1,6 @@
{
"private": true,
"version": "1.8.1-rc.1",
"version": "1.8.1-rc.0",
"scripts": {
"build": "turbo run build",
"build:web": "turbo run build --filter=@documenso/web",
@@ -52,7 +52,7 @@
"husky": "^9.0.11",
"lint-staged": "^15.2.2",
"playwright": "1.43.0",
"prettier": "^3.3.3",
"prettier": "^2.5.1",
"rimraf": "^5.0.1",
"turbo": "^1.9.3"
},
-1
View File
@@ -302,7 +302,6 @@ export const ApiContractV1Implementation = createNextRoute(ApiContractV1, {
redirectUrl: body.meta.redirectUrl,
signingOrder: body.meta.signingOrder,
language: body.meta.language,
typedSignatureEnabled: body.meta.typedSignatureEnabled,
requestMetadata: extractNextApiRequestMetadata(args.req),
});
+6 -9
View File
@@ -3,6 +3,7 @@ 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';
import {
@@ -13,7 +14,6 @@ import {
import { ZFieldMetaSchema } from '@documenso/lib/types/field-meta';
import {
DocumentDataType,
DocumentDistributionMethod,
DocumentSigningOrder,
FieldType,
ReadStatus,
@@ -132,7 +132,6 @@ export const ZCreateDocumentMutationSchema = z.object({
redirectUrl: z.string(),
signingOrder: z.nativeEnum(DocumentSigningOrder).optional(),
language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
typedSignatureEnabled: z.boolean().optional().default(true),
})
.partial(),
authOptions: z
@@ -227,14 +226,14 @@ export type TCreateDocumentFromTemplateMutationResponseSchema = z.infer<
export const ZGenerateDocumentFromTemplateMutationSchema = z.object({
title: z.string().optional(),
externalId: z.string().optional(),
externalId: z.string().nullish(),
recipients: z
.array(
z.object({
id: z.number(),
email: z.string().email(),
name: z.string().optional(),
signingOrder: z.number().optional(),
email: z.string().email().min(1),
signingOrder: z.number().nullish(),
}),
)
.refine(
@@ -253,10 +252,8 @@ export const ZGenerateDocumentFromTemplateMutationSchema = z.object({
timezone: z.string(),
dateFormat: z.string(),
redirectUrl: ZUrlSchema,
signingOrder: z.nativeEnum(DocumentSigningOrder),
language: z.enum(SUPPORTED_LANGUAGE_CODES),
distributionMethod: z.nativeEnum(DocumentDistributionMethod),
typedSignatureEnabled: z.boolean(),
signingOrder: z.nativeEnum(DocumentSigningOrder).optional(),
language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
})
.partial()
.optional(),
@@ -1,271 +0,0 @@
import { expect, test } from '@playwright/test';
import { PDFDocument } from 'pdf-lib';
import { getDocumentByToken } from '@documenso/lib/server-only/document/get-document-by-token';
import { getFile } from '@documenso/lib/universal/upload/get-file';
import { prisma } from '@documenso/prisma';
import { DocumentStatus, FieldType } from '@documenso/prisma/client';
import { seedPendingDocumentWithFullFields } from '@documenso/prisma/seed/documents';
import { seedTeam } from '@documenso/prisma/seed/teams';
import { seedUser } from '@documenso/prisma/seed/users';
import { apiSignin } from '../fixtures/authentication';
test.describe('Signing Certificate Tests', () => {
test('individual document should always include signing certificate', async ({ page }) => {
const user = await seedUser();
const { document, recipients } = await seedPendingDocumentWithFullFields({
owner: user,
recipients: ['signer@example.com'],
fields: [FieldType.SIGNATURE],
});
const documentData = await prisma.documentData
.findFirstOrThrow({
where: {
id: document.documentDataId,
},
})
.then(async (data) => getFile(data));
const originalPdf = await PDFDocument.load(documentData);
const recipient = recipients[0];
// Sign the document
await page.goto(`/sign/${recipient.token}`);
const canvas = page.locator('canvas');
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
await page.mouse.down();
await page.mouse.move(box.x + box.width / 4, box.y + box.height / 4);
await page.mouse.up();
}
for (const field of recipient.Field) {
await page.locator(`#field-${field.id}`).getByRole('button').click();
await expect(page.locator(`#field-${field.id}`)).toHaveAttribute('data-inserted', 'true');
}
await page.getByRole('button', { name: 'Complete' }).click();
await page.getByRole('button', { name: 'Sign' }).click();
await page.waitForURL(`/sign/${recipient.token}/complete`);
await expect(async () => {
const { status } = await getDocumentByToken({
token: recipient.token,
});
expect(status).toBe(DocumentStatus.COMPLETED);
}).toPass();
// Get the completed document
const completedDocument = await prisma.document.findFirstOrThrow({
where: { id: document.id },
include: { documentData: true },
});
const completedDocumentData = await getFile(completedDocument.documentData);
// Load the PDF and check number of pages
const pdfDoc = await PDFDocument.load(completedDocumentData);
expect(pdfDoc.getPageCount()).toBe(originalPdf.getPageCount() + 1); // Original + Certificate
});
test('team document with signing certificate enabled should include certificate', async ({
page,
}) => {
const team = await seedTeam();
const { document, recipients } = await seedPendingDocumentWithFullFields({
owner: team.owner,
recipients: ['signer@example.com'],
fields: [FieldType.SIGNATURE],
updateDocumentOptions: {
teamId: team.id,
},
});
await prisma.teamGlobalSettings.create({
data: {
teamId: team.id,
includeSigningCertificate: true,
},
});
const documentData = await prisma.documentData
.findFirstOrThrow({
where: {
id: document.documentDataId,
},
})
.then(async (data) => getFile(data));
const originalPdf = await PDFDocument.load(documentData);
const recipient = recipients[0];
// Sign the document
await page.goto(`/sign/${recipient.token}`);
const canvas = page.locator('canvas');
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
await page.mouse.down();
await page.mouse.move(box.x + box.width / 4, box.y + box.height / 4);
await page.mouse.up();
}
for (const field of recipient.Field) {
await page.locator(`#field-${field.id}`).getByRole('button').click();
await expect(page.locator(`#field-${field.id}`)).toHaveAttribute('data-inserted', 'true');
}
await page.getByRole('button', { name: 'Complete' }).click();
await page.getByRole('button', { name: 'Sign' }).click();
await page.waitForURL(`/sign/${recipient.token}/complete`);
await expect(async () => {
const { status } = await getDocumentByToken({
token: recipient.token,
});
expect(status).toBe(DocumentStatus.COMPLETED);
}).toPass();
// Get the completed document
const completedDocument = await prisma.document.findFirstOrThrow({
where: { id: document.id },
include: { documentData: true },
});
const completedDocumentData = await getFile(completedDocument.documentData);
// Load the PDF and check number of pages
const completedPdf = await PDFDocument.load(completedDocumentData);
expect(completedPdf.getPageCount()).toBe(originalPdf.getPageCount() + 1); // Original + Certificate
});
test('team document with signing certificate disabled should not include certificate', async ({
page,
}) => {
const team = await seedTeam();
const { document, recipients } = await seedPendingDocumentWithFullFields({
owner: team.owner,
recipients: ['signer@example.com'],
fields: [FieldType.SIGNATURE],
updateDocumentOptions: {
teamId: team.id,
},
});
await prisma.teamGlobalSettings.create({
data: {
teamId: team.id,
includeSigningCertificate: false,
},
});
const documentData = await prisma.documentData
.findFirstOrThrow({
where: {
id: document.documentDataId,
},
})
.then(async (data) => getFile(data));
const originalPdf = await PDFDocument.load(documentData);
const recipient = recipients[0];
// Sign the document
await page.goto(`/sign/${recipient.token}`);
const canvas = page.locator('canvas');
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
await page.mouse.down();
await page.mouse.move(box.x + box.width / 4, box.y + box.height / 4);
await page.mouse.up();
}
for (const field of recipient.Field) {
await page.locator(`#field-${field.id}`).getByRole('button').click();
await expect(page.locator(`#field-${field.id}`)).toHaveAttribute('data-inserted', 'true');
}
await page.getByRole('button', { name: 'Complete' }).click();
await page.getByRole('button', { name: 'Sign' }).click();
await page.waitForURL(`/sign/${recipient.token}/complete`);
await expect(async () => {
const { status } = await getDocumentByToken({
token: recipient.token,
});
expect(status).toBe(DocumentStatus.COMPLETED);
}).toPass();
// Get the completed document
const completedDocument = await prisma.document.findFirstOrThrow({
where: { id: document.id },
include: { documentData: true },
});
const completedDocumentData = await getFile(completedDocument.documentData);
// Load the PDF and check number of pages
const completedPdf = await PDFDocument.load(completedDocumentData);
expect(completedPdf.getPageCount()).toBe(originalPdf.getPageCount());
});
test('team can toggle signing certificate setting', async ({ page }) => {
const team = await seedTeam();
await apiSignin({
page,
email: team.owner.email,
redirectPath: `/t/${team.url}/settings/preferences`,
});
// Toggle signing certificate setting
await page.getByLabel('Include the Signing Certificate in the Document').click();
await page.getByRole('button', { name: /Save/ }).first().click();
await page.waitForTimeout(1000);
// Verify the setting was saved
const updatedTeam = await prisma.team.findFirstOrThrow({
where: { id: team.id },
include: { teamGlobalSettings: true },
});
expect(updatedTeam.teamGlobalSettings?.includeSigningCertificate).toBe(false);
// Toggle the setting back to true
await page.getByLabel('Include the Signing Certificate in the Document').click();
await page.getByRole('button', { name: /Save/ }).first().click();
await page.waitForTimeout(1000);
// Verify the setting was saved
const updatedTeam2 = await prisma.team.findFirstOrThrow({
where: { id: team.id },
include: { teamGlobalSettings: true },
});
expect(updatedTeam2.teamGlobalSettings?.includeSigningCertificate).toBe(true);
});
});
@@ -17,17 +17,19 @@ test('[TEAMS]: update the default document visibility in the team global setting
page,
email: team.owner.email,
password: 'password',
redirectPath: `/t/${team.url}/settings/preferences`,
redirectPath: `/t/${team.url}/settings`,
});
// !: Brittle selector
await page.getByRole('combobox').first().click();
await page.getByRole('combobox').click();
await page.getByRole('option', { name: 'Admin' }).click();
await page.getByRole('button', { name: 'Save' }).first().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('Document preferences updated', { exact: true })).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 }) => {
@@ -39,7 +41,7 @@ test('[TEAMS]: update the sender details in the team global settings', async ({
page,
email: team.owner.email,
password: 'password',
redirectPath: `/t/${team.url}/settings/preferences`,
redirectPath: `/t/${team.url}/settings`,
});
const checkbox = page.getByLabel('Send on Behalf of Team');
@@ -47,11 +49,14 @@ test('[TEAMS]: update the sender details in the team global settings', async ({
await expect(checkbox).toBeChecked();
await page.getByRole('button', { name: 'Save' }).first().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('Document preferences updated', { exact: true })).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();
});
+2 -4
View File
@@ -7,17 +7,15 @@
"scripts": {
"test:dev": "NODE_OPTIONS=--experimental-require-module playwright test",
"test-ui:dev": "NODE_OPTIONS=--experimental-require-module playwright test --ui",
"test:e2e": "NODE_OPTIONS=--experimental-require-module start-server-and-test \"npm run start -w @documenso/web\" http://localhost:3000 \"playwright test $E2E_TEST_PATH\""
"test:e2e": "NODE_OPTIONS=--experimental-require-module start-server-and-test \"npm run start -w @documenso/web\" http://localhost:3000 \"playwright test\""
},
"keywords": [],
"author": "",
"devDependencies": {
"@playwright/test": "^1.18.1",
"@types/node": "^20.8.2",
"@documenso/lib": "*",
"@documenso/prisma": "*",
"@documenso/web": "*",
"pdf-lib": "^1.17.1"
"@documenso/web": "*"
},
"dependencies": {
"start-server-and-test": "^2.0.1"
@@ -9,7 +9,6 @@ export const getDocumentRelatedPrices = async () => {
return await getPricesByPlan([
STRIPE_PLAN_TYPE.REGULAR,
STRIPE_PLAN_TYPE.COMMUNITY,
STRIPE_PLAN_TYPE.PLATFORM,
STRIPE_PLAN_TYPE.ENTERPRISE,
]);
};
@@ -1,13 +0,0 @@
import { STRIPE_PLAN_TYPE } from '@documenso/lib/constants/billing';
import { getPricesByPlan } from './get-prices-by-plan';
export const getPlatformPlanPrices = async () => {
return await getPricesByPlan(STRIPE_PLAN_TYPE.PLATFORM);
};
export const getPlatformPlanPriceIds = async () => {
const prices = await getPlatformPlanPrices();
return prices.map((price) => price.id);
};
@@ -9,7 +9,6 @@ export const getPrimaryAccountPlanPrices = async () => {
return await getPricesByPlan([
STRIPE_PLAN_TYPE.REGULAR,
STRIPE_PLAN_TYPE.COMMUNITY,
STRIPE_PLAN_TYPE.PLATFORM,
STRIPE_PLAN_TYPE.ENTERPRISE,
]);
};
@@ -6,11 +6,7 @@ import { getPricesByPlan } from './get-prices-by-plan';
* Returns the Stripe prices of items that affect the amount of teams a user can create.
*/
export const getTeamRelatedPrices = async () => {
return await getPricesByPlan([
STRIPE_PLAN_TYPE.COMMUNITY,
STRIPE_PLAN_TYPE.PLATFORM,
STRIPE_PLAN_TYPE.ENTERPRISE,
]);
return await getPricesByPlan([STRIPE_PLAN_TYPE.COMMUNITY, STRIPE_PLAN_TYPE.ENTERPRISE]);
};
/**
@@ -1,61 +0,0 @@
import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app';
import { subscriptionsContainsActivePlan } from '@documenso/lib/utils/billing';
import { prisma } from '@documenso/prisma';
import type { Document, Subscription } from '@documenso/prisma/client';
import { getPlatformPlanPriceIds } from '../stripe/get-platform-plan-prices';
export type IsDocumentPlatformOptions = Pick<Document, 'id' | 'userId' | 'teamId'>;
/**
* Whether the user is platform, or has permission to use platform features on
* behalf of their team.
*
* It is assumed that the provided user is part of the provided team.
*/
export const isDocumentPlatform = async ({
userId,
teamId,
}: IsDocumentPlatformOptions): Promise<boolean> => {
let subscriptions: Subscription[] = [];
if (!IS_BILLING_ENABLED()) {
return true;
}
if (teamId) {
subscriptions = await prisma.team
.findFirstOrThrow({
where: {
id: teamId,
},
select: {
owner: {
include: {
Subscription: true,
},
},
},
})
.then((team) => team.owner.Subscription);
} else {
subscriptions = await prisma.user
.findFirstOrThrow({
where: {
id: userId,
},
select: {
Subscription: true,
},
})
.then((user) => user.Subscription);
}
if (subscriptions.length === 0) {
return false;
}
const platformPlanPriceIds = await getPlatformPlanPriceIds();
return subscriptionsContainsActivePlan(subscriptions, platformPlanPriceIds);
};
-1
View File
@@ -7,6 +7,5 @@ export enum STRIPE_PLAN_TYPE {
REGULAR = 'regular',
TEAM = 'team',
COMMUNITY = 'community',
PLATFORM = 'platform',
ENTERPRISE = 'enterprise',
}
@@ -17,14 +17,12 @@ const SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION_SCHEMA = z.object({
documentVisibility: z.nativeEnum(DocumentVisibility),
documentLanguage: z.string(),
includeSenderDetails: z.boolean(),
includeSigningCertificate: z.boolean(),
brandingEnabled: z.boolean(),
brandingLogo: z.string(),
brandingUrl: z.string(),
brandingCompanyDetails: z.string(),
brandingHidePoweredBy: z.boolean(),
teamId: z.number(),
typedSignatureEnabled: z.boolean(),
})
.nullish(),
}),
@@ -57,17 +57,7 @@ export const SEAL_DOCUMENT_JOB_DEFINITION = {
},
},
include: {
documentMeta: true,
Recipient: true,
team: {
select: {
teamGlobalSettings: {
select: {
includeSigningCertificate: true,
},
},
},
},
},
});
@@ -127,13 +117,7 @@ export const SEAL_DOCUMENT_JOB_DEFINITION = {
}
const pdfData = await getFile(documentData);
const certificateData =
document.team?.teamGlobalSettings?.includeSigningCertificate ?? true
? await getCertificatePdf({
documentId,
language: document.documentMeta?.language,
}).catch(() => null)
: null;
const certificateData = await getCertificatePdf({ documentId }).catch(() => null);
const newDataId = await io.runTask('decorate-and-sign-pdf', async () => {
const pdfDoc = await PDFDocument.load(pdfData);
+1 -1
View File
@@ -51,7 +51,7 @@
"pg": "^8.11.3",
"playwright": "1.43.0",
"react": "^18",
"remeda": "^2.17.3",
"remeda": "^2.12.1",
"sharp": "0.32.6",
"stripe": "^12.7.0",
"ts-pattern": "^5.0.5",
@@ -112,7 +112,6 @@ export const createDocument = async ({
documentMeta: {
create: {
language: team?.teamGlobalSettings?.documentLanguage,
typedSignatureEnabled: team?.teamGlobalSettings?.typedSignatureEnabled,
},
},
},
@@ -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';
@@ -47,15 +48,6 @@ export const sealDocument = async ({
documentData: true,
documentMeta: true,
Recipient: true,
team: {
select: {
teamGlobalSettings: {
select: {
includeSigningCertificate: true,
},
},
},
},
},
});
@@ -100,13 +92,11 @@ export const sealDocument = async ({
// !: Need to write the fields onto the document as a hard copy
const pdfData = await getFile(documentData);
const certificateData =
document.team?.teamGlobalSettings?.includeSigningCertificate ?? true
? await getCertificatePdf({
documentId,
language: document.documentMeta?.language,
}).catch(() => null)
: null;
const documentLanguage = ZSupportedLanguageCodeSchema.parse(document.documentMeta?.language);
const certificate = await getCertificatePdf({ documentId, language: documentLanguage })
.then(async (doc) => PDFDocument.load(doc))
.catch(() => null);
const doc = await PDFDocument.load(pdfData);
@@ -115,9 +105,7 @@ export const sealDocument = async ({
flattenForm(doc);
flattenAnnotations(doc);
if (certificateData) {
const certificate = await PDFDocument.load(certificateData);
if (certificate) {
const certificatePages = await doc.copyPages(certificate, certificate.getPageIndices());
certificatePages.forEach((page) => {
@@ -177,10 +177,6 @@ export const signFieldWithToken = async ({
throw new Error('Signature field must have a signature');
}
if (isSignatureField && !documentMeta?.typedSignatureEnabled && typedSignature) {
throw new Error('Typed signatures are not allowed. Please draw your signature');
}
return await prisma.$transaction(async (tx) => {
const updatedField = await tx.field.update({
where: {
@@ -2,13 +2,12 @@ import { DateTime } from 'luxon';
import type { Browser } from 'playwright';
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
import { type SupportedLanguageCodes, isValidLanguageCode } from '../../constants/i18n';
import type { SupportedLanguageCodes } from '../../constants/i18n';
import { encryptSecondaryData } from '../crypto/encrypt';
export type GetCertificatePdfOptions = {
documentId: number;
// eslint-disable-next-line @typescript-eslint/ban-types
language?: SupportedLanguageCodes | (string & {});
language?: SupportedLanguageCodes;
};
export const getCertificatePdf = async ({ documentId, language }: GetCertificatePdfOptions) => {
@@ -39,15 +38,15 @@ export const getCertificatePdf = async ({ documentId, language }: GetCertificate
const page = await browserContext.newPage();
const lang = isValidLanguageCode(language) ? language : 'en';
await page.context().addCookies([
{
name: 'language',
value: lang,
url: NEXT_PUBLIC_WEBAPP_URL(),
},
]);
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',
@@ -82,10 +82,7 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu
const fieldX = pageWidth * (Number(field.positionX) / 100);
const fieldY = pageHeight * (Number(field.positionY) / 100);
const font = await pdf.embedFont(
isSignatureField ? fontCaveat : fontNoto,
isSignatureField ? { features: { calt: false } } : undefined,
);
const font = await pdf.embedFont(isSignatureField ? fontCaveat : fontNoto);
if (field.type === FieldType.SIGNATURE || field.type === FieldType.FREE_SIGNATURE) {
await pdf.embedFont(fontCaveat);
@@ -95,89 +92,45 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu
.with(
{
type: P.union(FieldType.SIGNATURE, FieldType.FREE_SIGNATURE),
Signature: { signatureImageAsBase64: P.string },
},
async (field) => {
if (field.Signature?.signatureImageAsBase64) {
const image = await pdf.embedPng(field.Signature?.signatureImageAsBase64 ?? '');
const image = await pdf.embedPng(field.Signature?.signatureImageAsBase64 ?? '');
let imageWidth = image.width;
let imageHeight = image.height;
let imageWidth = image.width;
let imageHeight = image.height;
const scalingFactor = Math.min(fieldWidth / imageWidth, fieldHeight / imageHeight, 1);
const scalingFactor = Math.min(fieldWidth / imageWidth, fieldHeight / imageHeight, 1);
imageWidth = imageWidth * scalingFactor;
imageHeight = imageHeight * scalingFactor;
imageWidth = imageWidth * scalingFactor;
imageHeight = imageHeight * scalingFactor;
let imageX = fieldX + (fieldWidth - imageWidth) / 2;
let imageY = fieldY + (fieldHeight - imageHeight) / 2;
let imageX = fieldX + (fieldWidth - imageWidth) / 2;
let imageY = fieldY + (fieldHeight - imageHeight) / 2;
// Invert the Y axis since PDFs use a bottom-left coordinate system
imageY = pageHeight - imageY - imageHeight;
// Invert the Y axis since PDFs use a bottom-left coordinate system
imageY = pageHeight - imageY - imageHeight;
if (pageRotationInDegrees !== 0) {
const adjustedPosition = adjustPositionForRotation(
pageWidth,
pageHeight,
imageX,
imageY,
pageRotationInDegrees,
);
if (pageRotationInDegrees !== 0) {
const adjustedPosition = adjustPositionForRotation(
pageWidth,
pageHeight,
imageX,
imageY,
pageRotationInDegrees,
);
imageX = adjustedPosition.xPos;
imageY = adjustedPosition.yPos;
}
page.drawImage(image, {
x: imageX,
y: imageY,
width: imageWidth,
height: imageHeight,
rotate: degrees(pageRotationInDegrees),
});
} else {
const signatureText = field.Signature?.typedSignature ?? '';
const longestLineInTextForWidth = signatureText
.split('\n')
.sort((a, b) => b.length - a.length)[0];
let fontSize = maxFontSize;
let textWidth = font.widthOfTextAtSize(longestLineInTextForWidth, fontSize);
let textHeight = font.heightAtSize(fontSize);
const scalingFactor = Math.min(fieldWidth / textWidth, fieldHeight / textHeight, 1);
fontSize = Math.max(Math.min(fontSize * scalingFactor, maxFontSize), minFontSize);
textWidth = font.widthOfTextAtSize(longestLineInTextForWidth, fontSize);
textHeight = font.heightAtSize(fontSize);
let textX = fieldX + (fieldWidth - textWidth) / 2;
let textY = fieldY + (fieldHeight - textHeight) / 2;
// Invert the Y axis since PDFs use a bottom-left coordinate system
textY = pageHeight - textY - textHeight;
if (pageRotationInDegrees !== 0) {
const adjustedPosition = adjustPositionForRotation(
pageWidth,
pageHeight,
textX,
textY,
pageRotationInDegrees,
);
textX = adjustedPosition.xPos;
textY = adjustedPosition.yPos;
}
page.drawText(signatureText, {
x: textX,
y: textY,
size: fontSize,
font,
rotate: degrees(pageRotationInDegrees),
});
imageX = adjustedPosition.xPos;
imageY = adjustedPosition.yPos;
}
page.drawImage(image, {
x: imageX,
y: imageY,
width: imageWidth,
height: imageHeight,
rotate: degrees(pageRotationInDegrees),
});
},
)
.with({ type: FieldType.CHECKBOX }, (field) => {
@@ -12,8 +12,6 @@ export type UpdateTeamDocumentSettingsOptions = {
documentVisibility: DocumentVisibility;
documentLanguage: SupportedLanguageCodes;
includeSenderDetails: boolean;
typedSignatureEnabled: boolean;
includeSigningCertificate: boolean;
};
};
@@ -22,13 +20,7 @@ export const updateTeamDocumentSettings = async ({
teamId,
settings,
}: UpdateTeamDocumentSettingsOptions) => {
const {
documentVisibility,
documentLanguage,
includeSenderDetails,
includeSigningCertificate,
typedSignatureEnabled,
} = settings;
const { documentVisibility, documentLanguage, includeSenderDetails } = settings;
const member = await prisma.teamMember.findFirst({
where: {
@@ -50,15 +42,11 @@ export const updateTeamDocumentSettings = async ({
documentVisibility,
documentLanguage,
includeSenderDetails,
typedSignatureEnabled,
includeSigningCertificate,
},
update: {
documentVisibility,
documentLanguage,
includeSenderDetails,
typedSignatureEnabled,
includeSigningCertificate,
},
});
};
@@ -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,
},
},
},
},
});
@@ -64,7 +64,6 @@ export type CreateDocumentFromTemplateOptions = {
signingOrder?: DocumentSigningOrder;
language?: SupportedLanguageCodes;
distributionMethod?: DocumentDistributionMethod;
typedSignatureEnabled?: boolean;
};
requestMetadata?: RequestMetadata;
};
@@ -147,7 +146,7 @@ export const createDocumentFromTemplate = async ({
return {
templateRecipientId: templateRecipient.id,
fields: templateRecipient.Field,
name: foundRecipient ? (foundRecipient.name ?? '') : templateRecipient.name,
name: foundRecipient ? foundRecipient.name ?? '' : templateRecipient.name,
email: foundRecipient ? foundRecipient.email : templateRecipient.email,
role: templateRecipient.role,
signingOrder: foundRecipient?.signingOrder ?? templateRecipient.signingOrder,
@@ -197,8 +196,6 @@ export const createDocumentFromTemplate = async ({
override?.language ||
template.templateMeta?.language ||
template.team?.teamGlobalSettings?.documentLanguage,
typedSignatureEnabled:
override?.typedSignatureEnabled ?? template.templateMeta?.typedSignatureEnabled,
},
},
Recipient: {
+20 -19
View File
@@ -444,7 +444,7 @@ msgid "Advanced Options"
msgstr "Erweiterte Optionen"
#: packages/ui/primitives/document-flow/add-fields.tsx:576
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
msgid "Advanced settings"
msgstr "Erweiterte Einstellungen"
@@ -500,11 +500,11 @@ msgstr "Genehmigung"
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:383
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr "Schwarz"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
msgid "Blue"
msgstr "Blau"
@@ -562,7 +562,7 @@ msgstr "Checkbox-Werte"
msgid "Clear filters"
msgstr "Filter löschen"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
#: packages/ui/primitives/signature-pad/signature-pad.tsx:411
msgid "Clear Signature"
msgstr "Unterschrift löschen"
@@ -590,7 +590,7 @@ msgid "Configure Direct Recipient"
msgstr "Direkten Empfänger konfigurieren"
#: packages/ui/primitives/document-flow/add-fields.tsx:577
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
msgid "Configure the {0} field"
msgstr "Konfigurieren Sie das Feld {0}"
@@ -653,7 +653,7 @@ msgstr "Benutzerdefinierter Text"
#: packages/ui/primitives/document-flow/add-fields.tsx:934
#: packages/ui/primitives/document-flow/types.ts:53
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
msgid "Date"
msgstr "Datum"
@@ -793,7 +793,7 @@ msgid "Drag & drop your PDF here."
msgstr "Ziehen Sie Ihr PDF hierher."
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
msgid "Dropdown"
msgstr "Dropdown"
@@ -807,7 +807,7 @@ msgstr "Dropdown-Optionen"
#: 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:677
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
msgid "Email"
@@ -843,7 +843,6 @@ msgid "Enable signing order"
msgstr "Aktiviere die Signaturreihenfolge"
#: packages/ui/primitives/document-flow/add-fields.tsx:802
#: packages/ui/primitives/template-flow/add-template-fields.tsx:597
msgid "Enable Typed Signatures"
msgstr "Aktivieren Sie getippte Unterschriften"
@@ -931,7 +930,7 @@ msgstr "Globale Empfängerauthentifizierung"
msgid "Go Back"
msgstr "Zurück"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
msgid "Green"
msgstr "Grün"
@@ -1026,7 +1025,7 @@ msgstr "Min"
#: 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:703
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
msgid "Name"
@@ -1045,7 +1044,7 @@ msgid "Needs to view"
msgstr "Muss sehen"
#: packages/ui/primitives/document-flow/add-fields.tsx:693
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
msgid "No recipient matching this description was found."
msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden."
@@ -1054,7 +1053,7 @@ msgid "No recipients"
msgstr "Keine Empfänger"
#: packages/ui/primitives/document-flow/add-fields.tsx:708
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
msgid "No recipients with this role"
msgstr "Keine Empfänger mit dieser Rolle"
@@ -1084,7 +1083,7 @@ msgstr "Keine"
#: packages/ui/primitives/document-flow/add-fields.tsx:986
#: packages/ui/primitives/document-flow/types.ts:56
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
msgid "Number"
msgstr "Nummer"
@@ -1176,6 +1175,7 @@ msgid "Please try again or contact our support."
msgstr "Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support."
#: packages/ui/primitives/document-flow/types.ts:57
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
msgid "Radio"
msgstr "Radio"
@@ -1218,7 +1218,7 @@ msgstr "E-Mail des entfernten Empfängers"
msgid "Recipient signing request email"
msgstr "E-Mail zur Unterzeichnungsanfrage des Empfängers"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr "Rot"
@@ -1287,7 +1287,7 @@ msgstr "Zeilen pro Seite"
msgid "Save"
msgstr "Speichern"
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
msgid "Save Template"
msgstr "Vorlage speichern"
@@ -1380,7 +1380,7 @@ msgstr "Anmelden"
#: 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:625
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
msgid "Signature"
msgstr "Unterschrift"
@@ -1465,7 +1465,7 @@ msgstr "Vorlagentitel"
#: packages/ui/primitives/document-flow/add-fields.tsx:960
#: packages/ui/primitives/document-flow/types.ts:52
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
msgid "Text"
msgstr "Text"
@@ -1629,7 +1629,7 @@ msgid "Title"
msgstr "Titel"
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
msgid "To proceed further, please set at least one value for the {0} field."
msgstr "Um fortzufahren, legen Sie bitte mindestens einen Wert für das Feld {0} fest."
@@ -1814,3 +1814,4 @@ msgstr "Dein Passwort wurde aktualisiert."
#: packages/email/templates/team-delete.tsx:32
msgid "Your team has been deleted"
msgstr "Dein Team wurde gelöscht"
@@ -602,3 +602,4 @@ msgstr "Sie können Documenso kostenlos selbst hosten oder unsere sofort einsatz
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
msgid "Your browser does not support the video tag."
msgstr "Ihr Browser unterstützt das Video-Tag nicht."
+128 -161
View File
@@ -18,7 +18,7 @@ msgstr ""
"X-Crowdin-File: web.po\n"
"X-Crowdin-File-ID: 8\n"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
#: 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."
@@ -26,13 +26,13 @@ msgstr "\"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
msgstr "\"{0}\" wird im Dokument erscheinen, da es eine Zeitzone von \"{timezone}\" hat."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:60
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr "\"{documentTitle}\" wurde erfolgreich gelöscht"
#: 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."
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 ""
@@ -42,13 +42,13 @@ msgstr "\"{documentTitle}\" wurde erfolgreich gelöscht"
#~ "\"{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:226
#: 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}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterzeichnen."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
#~ msgstr "\"{teamUrl}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
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:80
msgid "({0}) has invited you to approve this document"
@@ -240,7 +240,7 @@ msgid "A unique URL to access your profile"
msgstr "Eine eindeutige URL, um auf dein Profil zuzugreifen"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
msgid "A unique URL to identify your team"
msgstr "Eine eindeutige URL, um dein Team zu identifizieren"
@@ -296,7 +296,7 @@ msgstr "Aktion"
msgid "Actions"
msgstr "Aktionen"
#: 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"
@@ -409,11 +409,11 @@ msgstr "Alle Dokumente wurden verarbeitet. Alle neuen Dokumente, die gesendet od
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:147
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
msgid "All inserted signatures will be voided"
msgstr "Alle eingefügten Unterschriften werden annulliert"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:148
msgid "All recipients will be notified"
msgstr "Alle Empfänger werden benachrichtigt"
@@ -472,12 +472,9 @@ msgstr "Eine E-Mail, in der die Übertragung dieses Teams angefordert wird, wurd
msgid "An error occurred"
msgstr "Ein Fehler ist aufgetreten"
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257
msgid "An error occurred while adding fields."
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
#: 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 "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden."
@@ -539,7 +536,7 @@ msgstr "Ein Fehler ist beim Entfernen des Feldes aufgetreten."
#: 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:190
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173
msgid "An error occurred while removing the signature."
msgstr "Ein Fehler ist aufgetreten, während die Unterschrift entfernt wurde."
@@ -563,7 +560,7 @@ msgstr "Beim Senden Ihrer Bestätigungs-E-Mail ist ein Fehler aufgetreten"
#: 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:164
#: 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 "Ein Fehler ist aufgetreten, während das Dokument unterzeichnet wurde."
@@ -573,7 +570,7 @@ msgid "An error occurred while trying to create a checkout session."
msgstr "Ein Fehler ist aufgetreten, während versucht wurde, eine Checkout-Sitzung zu erstellen."
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
msgid "An error occurred while updating the document settings."
msgstr "Ein Fehler ist aufgetreten, während die Dokumenteinstellungen aktualisiert wurden."
@@ -611,7 +608,7 @@ msgstr "Ein Fehler ist aufgetreten, während dein Dokument hochgeladen wurde."
#: 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:93
#: 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
@@ -693,7 +690,7 @@ msgstr "Bist du sicher, dass du den <0>{passkeyName}</0> Passkey entfernen möch
msgid "Are you sure you wish to delete this team?"
msgstr "Bist du dir sicher, dass du dieses Team löschen möchtest?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
#: 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
@@ -728,7 +725,7 @@ msgstr "Avatar"
msgid "Avatar Updated"
msgstr "Avatar aktualisiert"
#: 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 "Warte auf E-Mail-Bestätigung"
@@ -793,7 +790,7 @@ msgstr "Massenkopie"
msgid "Bulk Import"
msgstr "Bulk-Import"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
msgid "By deleting this document, the following will occur:"
msgstr "Durch das Löschen dieses Dokuments wird Folgendes passieren:"
@@ -814,7 +811,7 @@ msgid "By using the electronic signature feature, you are consenting to conduct
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:192
#: 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
@@ -836,7 +833,7 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
#: 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:305
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
#: 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
@@ -929,8 +926,8 @@ msgstr "Klicken Sie, um den Signatur-Link zu kopieren, um ihn an den Empfänger
#: 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:456
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
#: 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 "Klicken Sie, um das Feld einzufügen"
@@ -948,8 +945,8 @@ msgid "Close"
msgstr "Schließen"
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
#: 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 "Vollständig"
@@ -1048,26 +1045,18 @@ msgstr "Fortfahren"
msgid "Continue to login"
msgstr "Weiter zum Login"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
#: 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:154
#: 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:237
#: 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/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally."
msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately."
msgstr ""
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
msgid "Copied"
msgstr "Kopiert"
@@ -1258,21 +1247,22 @@ msgstr "Ablehnen"
msgid "Declined team invitation"
msgstr "Team-Einladung abgelehnt"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
#: 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:130
#: 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:50
#: 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:202
#: 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
@@ -1323,7 +1313,7 @@ msgstr "Dokument löschen"
msgid "Delete passkey"
msgstr "Passkey löschen"
#: 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 "Team löschen"
@@ -1362,7 +1352,7 @@ 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:242
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr "Gerät"
@@ -1473,7 +1463,7 @@ msgstr "Dokument abgebrochen"
msgid "Document completed"
msgstr "Dokument abgeschlossen"
#: apps/web/src/app/embed/completed.tsx:17
#: apps/web/src/app/embed/completed.tsx:16
msgid "Document Completed!"
msgstr "Dokument abgeschlossen!"
@@ -1491,7 +1481,7 @@ msgstr "Dokument erstellt mit einem <0>direkten Link</0>"
#: 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:61
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr "Dokument gelöscht"
@@ -1537,7 +1527,7 @@ msgstr "Dokument steht nicht mehr zur Unterschrift zur Verfügung"
msgid "Document pending"
msgstr "Dokument ausstehend"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
msgid "Document preferences updated"
msgstr "Dokumentpräferenzen aktualisiert"
@@ -1565,7 +1555,7 @@ msgstr "Dokument gesendet"
msgid "Document Signed"
msgstr "Dokument signiert"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
msgid "Document signing process will be cancelled"
msgstr "Der Dokumentenunterzeichnungsprozess wird abgebrochen"
@@ -1589,7 +1579,7 @@ msgstr "Dokument hochgeladen"
msgid "Document Viewed"
msgstr "Dokument angesehen"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
msgid "Document will be permanently deleted"
msgstr "Dokument wird dauerhaft gelöscht"
@@ -1609,7 +1599,7 @@ msgstr "Dokument wird dauerhaft gelöscht"
msgid "Documents"
msgstr "Dokumente"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
msgid "Documents created from template"
msgstr "Dokumente erstellt aus Vorlage"
@@ -1644,14 +1634,6 @@ msgstr "Auditprotokolle herunterladen"
msgid "Download Certificate"
msgstr "Zertifikat herunterladen"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:114
#~ msgid "Download with Certificate"
#~ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:118
#~ msgid "Download without 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"
@@ -1690,7 +1672,7 @@ msgstr "Duplizieren"
msgid "Edit"
msgstr "Bearbeiten"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
msgid "Edit Template"
msgstr "Vorlage bearbeiten"
@@ -1716,8 +1698,8 @@ msgstr "Offenlegung der elektronischen Unterschrift"
#: 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:393
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
#: 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
@@ -1778,10 +1760,6 @@ msgstr "Direktlinksignierung aktivieren"
msgid "Enable Direct Link Signing"
msgstr "Direktlinksignierung aktivieren"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
msgid "Enable Typed Signature"
msgstr ""
#: 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
@@ -1828,9 +1806,9 @@ msgstr "Geben Sie hier Ihren Text ein"
#: 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:186
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256
#: 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
@@ -1852,9 +1830,8 @@ msgstr "Geben Sie hier Ihren Text ein"
#: 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:129
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189
#: 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
@@ -1866,7 +1843,7 @@ msgstr "Fehler"
#~ msgid "Error updating global team settings"
#~ msgstr "Error updating global team settings"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
#: 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"
@@ -1882,7 +1859,7 @@ msgstr "Alle haben unterschrieben! Sie werden eine E-Mail-Kopie des unterzeichne
msgid "Exceeded timeout"
msgstr "Zeitüberschreitung überschritten"
#: 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 "Abgelaufen"
@@ -1924,8 +1901,8 @@ msgstr "Haben Sie Ihr Passwort vergessen?"
#: 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:378
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
#: 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"
@@ -2001,7 +1978,7 @@ msgid "Hey Im Timur"
msgstr "Hey, ich bin Timur"
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
#: 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 "Ausblenden"
@@ -2047,10 +2024,6 @@ msgstr "Posteingang Dokumente"
#~ msgid "Include Sender Details"
#~ msgstr "Include Sender Details"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
msgid "Include the Signing Certificate in the Document"
msgstr ""
#: 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"
@@ -2127,7 +2100,7 @@ msgid "Invoice"
msgstr "Rechnung"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
msgid "IP Address"
msgstr "IP-Adresse"
@@ -2267,7 +2240,7 @@ msgstr "Verwalten Sie das Profil von {0}"
msgid "Manage all teams you are currently associated with."
msgstr "Verwalten Sie alle Teams, mit denen Sie derzeit verbunden sind."
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
msgid "Manage and view template"
msgstr "Vorlage verwalten und anzeigen"
@@ -2434,8 +2407,8 @@ msgstr "Neuer Teamowner"
msgid "New Template"
msgstr "Neue Vorlage"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
#: 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 "Nächster"
@@ -2534,7 +2507,7 @@ msgstr "Auf dieser Seite können Sie neue Webhooks erstellen und die vorhandenen
msgid "On this page, you can edit the webhook and its settings."
msgstr "Auf dieser Seite können Sie den Webhook und seine Einstellungen bearbeiten."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:134
msgid "Once confirmed, the following will occur:"
msgstr "Sobald dies bestätigt ist, wird Folgendes geschehen:"
@@ -2542,11 +2515,11 @@ msgstr "Sobald dies bestätigt ist, wird Folgendes geschehen:"
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
msgstr "Sobald Sie den QR-Code gescannt oder den Code manuell eingegeben haben, geben Sie den von Ihrer Authentifizierungs-App bereitgestellten Code unten ein."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
#: 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:144
#: 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"
@@ -2710,7 +2683,7 @@ msgstr "Bitte überprüfe deine E-Mail auf Updates."
msgid "Please choose your new password"
msgstr "Bitte wählen Sie Ihr neues Passwort"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:174
msgid "Please contact support if you would like to revert this action."
msgstr "Bitte kontaktieren Sie den Support, wenn Sie diese Aktion rückgängig machen möchten."
@@ -2726,11 +2699,11 @@ msgstr "Bitte als angesehen markieren, um abzuschließen"
msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder."
msgstr "Bitte beachten Sie, dass das Fortfahren den direkten Linkempfänger entfernt und ihn in einen Platzhalter umwandelt."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:128
msgid "Please note that this action is <0>irreversible</0>."
msgstr "Bitte beachten Sie, dass diese Aktion <0>irreversibel</0> ist."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:119
msgid "Please note that this action is <0>irreversible</0>. Once confirmed, this document will be permanently deleted."
msgstr "Bitte beachten Sie, dass diese Aktion <0>irreversibel</0> ist. Nachdem dies bestätigt wurde, wird dieses Dokument dauerhaft gelöscht."
@@ -2778,10 +2751,6 @@ msgstr "Bitte versuchen Sie es später erneut oder melden Sie sich mit Ihren nor
msgid "Please try again later."
msgstr "Bitte versuchen Sie es später noch einmal."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:186
msgid "Please type {0} to confirm"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:134
msgid "Please type <0>{0}</0> to confirm."
msgstr "Bitte geben Sie <0>{0}</0> ein, um zu bestätigen."
@@ -2792,7 +2761,7 @@ msgstr "Bitte geben Sie <0>{0}</0> ein, um zu bestätigen."
msgid "Preferences"
msgstr "Einstellungen"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
msgid "Preview"
msgstr "Vorschau"
@@ -2870,7 +2839,7 @@ msgstr "Lesen Sie die vollständige <0>Offenlegung der Unterschrift</0>."
msgid "Ready"
msgstr "Bereit"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
msgid "Reason"
msgstr "Grund"
@@ -2916,7 +2885,7 @@ msgstr "Empfänger"
msgid "Recipients metrics"
msgstr "Empfängermetriken"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
msgid "Recipients will still retain their copy of the document"
msgstr "Empfänger behalten weiterhin ihre Kopie des Dokuments"
@@ -2997,7 +2966,7 @@ msgstr "Bestätigungs-E-Mail erneut senden"
msgid "Resend verification"
msgstr "Bestätigung erneut senden"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
#: apps/web/src/components/forms/public-profile-form.tsx:267
msgid "Reset"
msgstr "Zurücksetzen"
@@ -3078,7 +3047,7 @@ msgstr "Rollen"
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
#: 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:313
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr "Speichern"
@@ -3153,7 +3122,8 @@ msgstr "Bestätigungs-E-Mail senden"
msgid "Send document"
msgstr "Dokument senden"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
#: 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"
@@ -3174,7 +3144,7 @@ msgid "Sending..."
msgstr "Senden..."
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr "Gesendet"
@@ -3227,13 +3197,13 @@ msgstr "Vorlagen in Ihrem Team-Öffentliches Profil anzeigen, damit Ihre Zielgru
#: 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:313
#: 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 "Unterzeichnen"
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217
msgid "Sign as {0} <0>({1})</0>"
msgstr "Unterzeichnen als {0} <0>({1})</0>"
@@ -3241,8 +3211,8 @@ msgstr "Unterzeichnen als {0} <0>({1})</0>"
msgid "Sign as<0>{0} <1>({1})</1></0>"
msgstr "Unterzeichnen als<0>{0} <1>({1})</1></0>"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
msgid "Sign document"
msgstr "Dokument unterschreiben"
@@ -3274,8 +3244,8 @@ msgstr "Melden Sie sich bei Ihrem Konto an"
msgid "Sign Out"
msgstr "Ausloggen"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
#: 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 "Unterschreiben Sie das Dokument, um den Vorgang abzuschließen."
@@ -3301,15 +3271,15 @@ msgstr "Registrieren mit OIDC"
#: 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:247
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287
#: 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 "Unterschrift"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
msgid "Signature ID"
msgstr "Signatur-ID"
@@ -3322,7 +3292,7 @@ msgid "Signatures will appear once the document has been completed"
msgstr "Unterschriften erscheinen, sobald das Dokument abgeschlossen ist"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
#: 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 "Unterzeichnet"
@@ -3335,7 +3305,7 @@ msgstr "Signer-Ereignisse"
msgid "Signing Certificate"
msgstr "Unterzeichnungszertifikat"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
msgid "Signing certificate provided by"
msgstr "Unterzeichnungszertifikat bereitgestellt von"
@@ -3377,7 +3347,7 @@ msgstr "Website Einstellungen"
#: 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:82
#: 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:51
@@ -3399,8 +3369,8 @@ msgstr "Website Einstellungen"
#: 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:248
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
#: 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
@@ -3433,7 +3403,7 @@ msgstr "Etwas ist schiefgelaufen beim Senden der Bestätigungs-E-Mail."
msgid "Something went wrong while updating the team billing subscription, please contact support."
msgstr "Etwas ist schiefgelaufen beim Aktualisieren des Abonnements für die Team-Zahlung. Bitte kontaktieren Sie den Support."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
msgid "Something went wrong!"
msgstr "Etwas ist schiefgelaufen!"
@@ -3501,7 +3471,7 @@ msgstr "Abonnements"
#: 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:67
#: 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
@@ -3532,8 +3502,8 @@ msgstr "Team"
msgid "Team checkout"
msgstr "Teameinkaufs-Prüfung"
#: 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 E-Mail"
@@ -3576,7 +3546,7 @@ msgid "Team Member"
msgstr "Teammitglied"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr "Teamname"
@@ -3629,7 +3599,7 @@ msgid "Team transfer request expired"
msgstr "Der Antrag auf Teamübertragung ist abgelaufen"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr "Team-URL"
@@ -3649,7 +3619,7 @@ msgstr "Teams beschränkt"
#: 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:145
#: 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"
@@ -3679,11 +3649,11 @@ msgstr "Vorlage wurde aktualisiert."
msgid "Template moved"
msgstr "Vorlage verschoben"
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
msgid "Template saved"
msgstr "Vorlage gespeichert"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86
#: 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
@@ -3726,7 +3696,7 @@ msgstr "Der direkte Linkt wurde in die Zwischenablage kopiert"
msgid "The document has been successfully moved to the selected team."
msgstr "Das Dokument wurde erfolgreich in das ausgewählte Team verschoben."
#: apps/web/src/app/embed/completed.tsx:30
#: apps/web/src/app/embed/completed.tsx:29
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr "Das Dokument ist jetzt abgeschlossen. Bitte folgen Sie allen Anweisungen, die in der übergeordneten Anwendung bereitgestellt werden."
@@ -3738,7 +3708,7 @@ msgstr "Der Dokumenteneigentümer wurde über Ihre Entscheidung informiert. Er k
msgid "The document was created but could not be sent to recipients."
msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versendet werden."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161
msgid "The document will be hidden from your account"
msgstr "Das Dokument wird von Ihrem Konto verborgen werden"
@@ -3871,7 +3841,7 @@ msgstr "Sie haben in Ihrem Namen die Erlaubnis, zu:"
msgid "This action is not reversible. Please be certain."
msgstr "Diese Aktion ist nicht umkehrbar. Bitte seien Sie sicher."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
#: 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 "Dieses Dokument konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut."
@@ -3935,7 +3905,7 @@ msgstr "Dieser Preis beinhaltet mindestens 5 Plätze."
msgid "This session has expired. Please try again."
msgstr "Diese Sitzung ist abgelaufen. Bitte versuchen Sie es erneut."
#: 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 "Dieses Team und alle zugehörigen Daten, ausgenommen Rechnungen, werden permanent gelöscht."
@@ -3952,7 +3922,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new
msgstr "Dieser Token ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team für eine neue Einladung."
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
msgid "This URL is already in use."
msgstr "Diese URL wird bereits verwendet."
@@ -4085,13 +4055,13 @@ msgstr "übertragen {teamName}"
msgid "Transfer ownership of this team to a selected team member."
msgstr "Übertragen Sie die Inhaberschaft dieses Teams auf ein ausgewähltes Teammitglied."
#: 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 "Team übertragen"
#: 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 "Übertragen Sie das Eigentum des Teams auf ein anderes Teammitglied."
@@ -4135,17 +4105,13 @@ msgid "Type"
msgstr "Typ"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184
#~ msgid "Type 'delete' to confirm"
#~ msgstr "Geben Sie 'delete' ein, um zu bestätigen"
msgid "Type 'delete' to confirm"
msgstr "Geben Sie 'delete' ein, um zu bestätigen"
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:186
msgid "Type a command or search..."
msgstr "Geben Sie einen Befehl ein oder suchen Sie..."
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130
msgid "Typed signatures are not allowed. Please draw your signature."
msgstr ""
#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26
msgid "Uh oh! Looks like you're missing a token"
msgstr "Oh oh! Es sieht so aus, als fehlt Ihnen ein Token"
@@ -4238,10 +4204,10 @@ msgstr "Nicht autorisiert"
msgid "Uncompleted"
msgstr "Unvollendet"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284
#: 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"
@@ -4274,7 +4240,7 @@ msgstr "Passkey aktualisieren"
msgid "Update password"
msgstr "Passwort aktualisieren"
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Update profile"
msgstr "Profil aktualisieren"
@@ -4286,7 +4252,7 @@ msgstr "Empfänger aktualisieren"
msgid "Update role"
msgstr "Rolle aktualisieren"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
msgstr "Team aktualisieren"
@@ -4313,7 +4279,7 @@ msgstr "Webhook aktualisieren"
msgid "Updating password..."
msgstr "Passwort wird aktualisiert..."
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Updating profile..."
msgstr "Profil wird aktualisiert..."
@@ -4346,7 +4312,7 @@ msgstr "Die hochgeladene Datei ist zu klein"
msgid "Uploaded file not an allowed file type"
msgstr "Die hochgeladene Datei ist kein zulässiger Dateityp"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
msgid "Use"
msgstr "Verwenden"
@@ -4454,7 +4420,7 @@ msgstr "Codes ansehen"
msgid "View Document"
msgstr "Dokument anzeigen"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
msgid "View documents associated with this email"
msgstr "Dokumente ansehen, die mit dieser E-Mail verknüpft sind"
@@ -4480,7 +4446,7 @@ msgid "View teams"
msgstr "Teams ansehen"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
msgid "Viewed"
msgstr "Angesehen"
@@ -4640,7 +4606,7 @@ msgstr "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht h
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
msgstr "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht haben, Ihr öffentliches Profil zu aktualisieren. Bitte versuchen Sie es später erneut."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95
#: 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 "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht haben, Ihr Team zu aktualisieren. Bitte versuchen Sie es später erneut."
@@ -4683,8 +4649,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas
msgstr "Wir konnten die Zwei-Faktor-Authentifizierung für Ihr Konto nicht einrichten. Bitte stellen Sie sicher, dass Sie den Code korrekt eingegeben haben und versuchen Sie es erneut."
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
#: 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 "Wir konnten dieses Dokument zurzeit nicht einreichen. Bitte versuchen Sie es später erneut."
@@ -4692,7 +4658,7 @@ msgstr "Wir konnten dieses Dokument zurzeit nicht einreichen. Bitte versuchen Si
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:110
#: 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"
@@ -4817,7 +4783,7 @@ msgstr "Sie stehen kurz davor, \"{truncatedTitle}\" zu unterzeichnen.<0/> Sind S
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
msgstr "Sie stehen kurz davor, \"{truncatedTitle}\" anzusehen.<0/> Sind Sie sicher?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:103
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
msgstr "Sie sind dabei, <0>\"{documentTitle}\"</0> zu löschen"
@@ -4825,7 +4791,7 @@ msgstr "Sie sind dabei, <0>\"{documentTitle}\"</0> zu löschen"
msgid "You are about to delete the following team email from <0>{teamName}</0>."
msgstr "Sie stehen kurz davor, die folgende Team-E-Mail von <0>{teamName}</0> zu löschen."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:107
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
msgstr "Sie sind dabei, <0>\"{documentTitle}\"</0> zu verstecken"
@@ -4877,7 +4843,7 @@ msgstr "Sie können diese Links kopieren und mit den Empfängern teilen, damit s
msgid "You can update the profile URL by updating the team URL in the general settings page."
msgstr "Sie können die Profil-URL aktualisieren, indem Sie die Team-URL auf der Seite mit den allgemeinen Einstellungen aktualisieren."
#: 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 "Sie können Dokumente ansehen, die mit dieser E-Mail verknüpft sind, und diese Identität beim Senden von Dokumenten verwenden."
@@ -5075,7 +5041,7 @@ msgstr "Ihr Dokument wurde erfolgreich hochgeladen."
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
msgstr "Ihr Dokument wurde erfolgreich hochgeladen. Sie werden zur Vorlagenseite weitergeleitet."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104
#: 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"
@@ -5142,7 +5108,7 @@ msgstr "Ihr Team wurde erstellt."
msgid "Your team has been successfully deleted."
msgstr "Ihr Team wurde erfolgreich gelöscht."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
msgid "Your team has been successfully updated."
msgstr "Ihr Team wurde erfolgreich aktualisiert."
@@ -5158,7 +5124,7 @@ msgstr "Ihre Vorlage wurde erfolgreich gelöscht."
msgid "Your template will be duplicated."
msgstr "Ihre Vorlage wird dupliziert."
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
msgid "Your templates has been saved successfully."
msgstr "Ihre Vorlagen wurden erfolgreich gespeichert."
@@ -5174,3 +5140,4 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
msgid "Your tokens will be shown here once you create them."
msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben."
+19 -19
View File
@@ -439,7 +439,7 @@ msgid "Advanced Options"
msgstr "Advanced Options"
#: packages/ui/primitives/document-flow/add-fields.tsx:576
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
msgid "Advanced settings"
msgstr "Advanced settings"
@@ -495,11 +495,11 @@ msgstr "Approving"
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:383
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr "Black"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
msgid "Blue"
msgstr "Blue"
@@ -557,7 +557,7 @@ msgstr "Checkbox values"
msgid "Clear filters"
msgstr "Clear filters"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
#: packages/ui/primitives/signature-pad/signature-pad.tsx:411
msgid "Clear Signature"
msgstr "Clear Signature"
@@ -585,7 +585,7 @@ msgid "Configure Direct Recipient"
msgstr "Configure Direct Recipient"
#: packages/ui/primitives/document-flow/add-fields.tsx:577
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
msgid "Configure the {0} field"
msgstr "Configure the {0} field"
@@ -648,7 +648,7 @@ msgstr "Custom Text"
#: packages/ui/primitives/document-flow/add-fields.tsx:934
#: packages/ui/primitives/document-flow/types.ts:53
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
msgid "Date"
msgstr "Date"
@@ -788,7 +788,7 @@ msgid "Drag & drop your PDF here."
msgstr "Drag & drop your PDF here."
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
msgid "Dropdown"
msgstr "Dropdown"
@@ -802,7 +802,7 @@ msgstr "Dropdown options"
#: 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:677
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
msgid "Email"
@@ -838,7 +838,6 @@ msgid "Enable signing order"
msgstr "Enable signing order"
#: packages/ui/primitives/document-flow/add-fields.tsx:802
#: packages/ui/primitives/template-flow/add-template-fields.tsx:597
msgid "Enable Typed Signatures"
msgstr "Enable Typed Signatures"
@@ -926,7 +925,7 @@ msgstr "Global recipient action authentication"
msgid "Go Back"
msgstr "Go Back"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
msgid "Green"
msgstr "Green"
@@ -1021,7 +1020,7 @@ msgstr "Min"
#: 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:703
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
msgid "Name"
@@ -1040,7 +1039,7 @@ msgid "Needs to view"
msgstr "Needs to view"
#: packages/ui/primitives/document-flow/add-fields.tsx:693
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
msgid "No recipient matching this description was found."
msgstr "No recipient matching this description was found."
@@ -1049,7 +1048,7 @@ msgid "No recipients"
msgstr "No recipients"
#: packages/ui/primitives/document-flow/add-fields.tsx:708
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
msgid "No recipients with this role"
msgstr "No recipients with this role"
@@ -1079,7 +1078,7 @@ msgstr "None"
#: packages/ui/primitives/document-flow/add-fields.tsx:986
#: packages/ui/primitives/document-flow/types.ts:56
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
msgid "Number"
msgstr "Number"
@@ -1171,6 +1170,7 @@ msgid "Please try again or contact our support."
msgstr "Please try again or contact our support."
#: packages/ui/primitives/document-flow/types.ts:57
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
msgid "Radio"
msgstr "Radio"
@@ -1213,7 +1213,7 @@ msgstr "Recipient removed email"
msgid "Recipient signing request email"
msgstr "Recipient signing request email"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr "Red"
@@ -1282,7 +1282,7 @@ msgstr "Rows per page"
msgid "Save"
msgstr "Save"
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
msgid "Save Template"
msgstr "Save Template"
@@ -1375,7 +1375,7 @@ msgstr "Sign In"
#: 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:625
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
msgid "Signature"
msgstr "Signature"
@@ -1460,7 +1460,7 @@ msgstr "Template title"
#: packages/ui/primitives/document-flow/add-fields.tsx:960
#: packages/ui/primitives/document-flow/types.ts:52
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
msgid "Text"
msgstr "Text"
@@ -1624,7 +1624,7 @@ msgid "Title"
msgstr "Title"
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
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."
+127 -161
View File
@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
#: 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\"."
@@ -21,13 +21,13 @@ msgstr "\"{0}\" has invited you to sign \"example document\"."
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}\"."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:60
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr "\"{documentTitle}\" has been successfully deleted"
#: 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\"."
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 ""
@@ -37,13 +37,13 @@ msgstr "\"{documentTitle}\" has been successfully deleted"
#~ "\"{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:226
#: 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\"."
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:80
msgid "({0}) has invited you to approve this document"
@@ -235,7 +235,7 @@ 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:138
#: 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"
@@ -291,7 +291,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"
@@ -404,11 +404,11 @@ msgstr "All documents have been processed. Any new documents that are sent or re
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:147
#: 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"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:148
msgid "All recipients will be notified"
msgstr "All recipients will be notified"
@@ -467,12 +467,9 @@ 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)/templates/[id]/edit/edit-template.tsx:257
msgid "An error occurred while adding fields."
msgstr "An error occurred while adding fields."
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
#: 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."
@@ -534,7 +531,7 @@ msgstr "An error occurred while removing the field."
#: 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:190
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173
msgid "An error occurred while removing the signature."
msgstr "An error occurred while removing the signature."
@@ -558,7 +555,7 @@ msgstr "An error occurred while sending your confirmation email"
#: 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:164
#: 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 "An error occurred while signing the document."
@@ -568,7 +565,7 @@ 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:235
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
#: 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."
@@ -606,7 +603,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:93
#: 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
@@ -688,7 +685,7 @@ msgstr "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
msgid "Are you sure you wish to delete this team?"
msgstr "Are you sure you wish to delete this team?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
#: 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
@@ -723,7 +720,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"
@@ -788,7 +785,7 @@ msgstr "Bulk Copy"
msgid "Bulk Import"
msgstr "Bulk Import"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
msgid "By deleting this document, the following will occur:"
msgstr "By deleting this document, the following will occur:"
@@ -809,7 +806,7 @@ msgid "By using the electronic signature feature, you are consenting to conduct
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:192
#: 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
@@ -831,7 +828,7 @@ msgstr "By using the electronic signature feature, you are consenting to conduct
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
#: 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:305
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
#: 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
@@ -924,8 +921,8 @@ 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:456
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
#: 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"
@@ -943,8 +940,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:446
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
#: 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"
@@ -1043,26 +1040,18 @@ msgstr "Continue"
msgid "Continue to login"
msgstr "Continue to login"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
#: 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:154
#: 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:237
#: 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/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally."
msgstr "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately."
msgstr "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately."
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
msgid "Copied"
msgstr "Copied"
@@ -1253,21 +1242,22 @@ msgstr "Decline"
msgid "Declined team invitation"
msgstr "Declined team invitation"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
#: 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:130
#: 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:50
#: 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:202
#: 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
@@ -1318,7 +1308,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"
@@ -1357,7 +1347,7 @@ 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:242
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr "Device"
@@ -1468,7 +1458,7 @@ msgstr "Document Cancelled"
msgid "Document completed"
msgstr "Document completed"
#: apps/web/src/app/embed/completed.tsx:17
#: apps/web/src/app/embed/completed.tsx:16
msgid "Document Completed!"
msgstr "Document Completed!"
@@ -1486,7 +1476,7 @@ msgstr "Document created using a <0>direct link</0>"
#: 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:61
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr "Document deleted"
@@ -1532,7 +1522,7 @@ 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:103
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
msgid "Document preferences updated"
msgstr "Document preferences updated"
@@ -1560,7 +1550,7 @@ msgstr "Document sent"
msgid "Document Signed"
msgstr "Document Signed"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
msgid "Document signing process will be cancelled"
msgstr "Document signing process will be cancelled"
@@ -1584,7 +1574,7 @@ msgstr "Document uploaded"
msgid "Document Viewed"
msgstr "Document Viewed"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
msgid "Document will be permanently deleted"
msgstr "Document will be permanently deleted"
@@ -1604,7 +1594,7 @@ msgstr "Document will be permanently deleted"
msgid "Documents"
msgstr "Documents"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
msgid "Documents created from template"
msgstr "Documents created from template"
@@ -1639,14 +1629,6 @@ msgstr "Download Audit Logs"
msgid "Download Certificate"
msgstr "Download Certificate"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:114
#~ msgid "Download with Certificate"
#~ msgstr "Download with Certificate"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:118
#~ msgid "Download without Certificate"
#~ msgstr "Download without 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"
@@ -1685,7 +1667,7 @@ msgstr "Duplicate"
msgid "Edit"
msgstr "Edit"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
msgid "Edit Template"
msgstr "Edit Template"
@@ -1711,8 +1693,8 @@ msgstr "Electronic Signature Disclosure"
#: 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:393
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
#: 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
@@ -1773,10 +1755,6 @@ msgstr "Enable direct link signing"
msgid "Enable Direct Link Signing"
msgstr "Enable Direct Link Signing"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
msgid "Enable Typed Signature"
msgstr "Enable Typed Signature"
#: 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
@@ -1823,9 +1801,9 @@ msgstr "Enter your text here"
#: 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:186
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256
#: 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
@@ -1847,9 +1825,8 @@ msgstr "Enter your text here"
#: 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:129
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189
#: 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
@@ -1861,7 +1838,7 @@ msgstr "Error"
#~ msgid "Error updating global team settings"
#~ msgstr "Error updating global team settings"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
#: 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"
@@ -1877,7 +1854,7 @@ 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"
@@ -1919,8 +1896,8 @@ 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:378
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
#: 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"
@@ -1996,7 +1973,7 @@ msgid "Hey Im Timur"
msgstr "Hey Im Timur"
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
#: 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 "Hide"
@@ -2042,10 +2019,6 @@ msgstr "Inbox documents"
#~ msgid "Include Sender Details"
#~ msgstr "Include Sender Details"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
msgid "Include the Signing Certificate in the Document"
msgstr "Include the Signing Certificate in the Document"
#: 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"
@@ -2122,7 +2095,7 @@ 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:235
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
msgid "IP Address"
msgstr "IP Address"
@@ -2262,7 +2235,7 @@ 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:158
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
msgid "Manage and view template"
msgstr "Manage and view template"
@@ -2429,8 +2402,8 @@ msgstr "New team owner"
msgid "New Template"
msgstr "New Template"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
#: 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"
@@ -2529,7 +2502,7 @@ msgstr "On this page, you can create new Webhooks and manage the existing ones."
msgid "On this page, you can edit the webhook and its settings."
msgstr "On this page, you can edit the webhook and its settings."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:134
msgid "Once confirmed, the following will occur:"
msgstr "Once confirmed, the following will occur:"
@@ -2537,11 +2510,11 @@ 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:147
#: 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:144
#: 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"
@@ -2705,7 +2678,7 @@ msgstr "Please check your email for updates."
msgid "Please choose your new password"
msgstr "Please choose your new password"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:174
msgid "Please contact support if you would like to revert this action."
msgstr "Please contact support if you would like to revert this action."
@@ -2721,11 +2694,11 @@ msgstr "Please mark as viewed to complete"
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:130
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:128
msgid "Please note that this action is <0>irreversible</0>."
msgstr "Please note that this action is <0>irreversible</0>."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:119
msgid "Please note that this action is <0>irreversible</0>. Once confirmed, this document will be permanently deleted."
msgstr "Please note that this action is <0>irreversible</0>. Once confirmed, this document will be permanently deleted."
@@ -2773,10 +2746,6 @@ msgstr "Please try again later or login using your normal details"
msgid "Please try again later."
msgstr "Please try again later."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:186
msgid "Please type {0} to confirm"
msgstr "Please type {0} to confirm"
#: 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."
@@ -2787,7 +2756,7 @@ msgstr "Please type <0>{0}</0> to confirm."
msgid "Preferences"
msgstr "Preferences"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
msgid "Preview"
msgstr "Preview"
@@ -2865,7 +2834,7 @@ msgstr "Read the full <0>signature disclosure</0>."
msgid "Ready"
msgstr "Ready"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
msgid "Reason"
msgstr "Reason"
@@ -2911,7 +2880,7 @@ msgstr "Recipients"
msgid "Recipients metrics"
msgstr "Recipients metrics"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
msgid "Recipients will still retain their copy of the document"
msgstr "Recipients will still retain their copy of the document"
@@ -2992,7 +2961,7 @@ msgstr "Resend Confirmation Email"
msgid "Resend verification"
msgstr "Resend verification"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
#: 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"
@@ -3073,7 +3042,7 @@ msgstr "Roles"
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
#: 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:313
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr "Save"
@@ -3148,7 +3117,8 @@ msgstr "Send confirmation email"
msgid "Send document"
msgstr "Send document"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
#: 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"
@@ -3169,7 +3139,7 @@ msgid "Sending..."
msgstr "Sending..."
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr "Sent"
@@ -3222,13 +3192,13 @@ msgstr "Show templates in your team public profile for your audience to sign and
#: 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:313
#: 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 "Sign"
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217
msgid "Sign as {0} <0>({1})</0>"
msgstr "Sign as {0} <0>({1})</0>"
@@ -3236,8 +3206,8 @@ 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:346
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
#: 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"
@@ -3269,8 +3239,8 @@ msgstr "Sign in to your account"
msgid "Sign Out"
msgstr "Sign Out"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
#: 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."
@@ -3296,15 +3266,15 @@ msgstr "Sign Up with OIDC"
#: 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:247
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287
#: 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 "Signature"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
msgid "Signature ID"
msgstr "Signature ID"
@@ -3317,7 +3287,7 @@ 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:114
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
#: 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"
@@ -3330,7 +3300,7 @@ msgstr "Signer Events"
msgid "Signing Certificate"
msgstr "Signing Certificate"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
msgid "Signing certificate provided by"
msgstr "Signing certificate provided by"
@@ -3372,7 +3342,7 @@ msgstr "Site Settings"
#: 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:82
#: 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:51
@@ -3394,8 +3364,8 @@ msgstr "Site Settings"
#: 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:248
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
#: 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
@@ -3428,7 +3398,7 @@ 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:108
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
msgid "Something went wrong!"
msgstr "Something went wrong!"
@@ -3496,7 +3466,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:67
#: 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
@@ -3527,8 +3497,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"
@@ -3571,7 +3541,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:112
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr "Team Name"
@@ -3624,7 +3594,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:128
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr "Team URL"
@@ -3644,7 +3614,7 @@ msgstr "Teams restricted"
#: 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:145
#: 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"
@@ -3674,11 +3644,11 @@ msgstr "Template has been updated."
msgid "Template moved"
msgstr "Template moved"
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
#: 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:86
#: 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
@@ -3721,7 +3691,7 @@ msgstr "The direct link has been copied to your clipboard"
msgid "The document has been successfully moved to the selected team."
msgstr "The document has been successfully moved to the selected team."
#: apps/web/src/app/embed/completed.tsx:30
#: apps/web/src/app/embed/completed.tsx:29
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."
@@ -3733,7 +3703,7 @@ msgstr "The document owner has been notified of your decision. They may contact
msgid "The document was created but could not be sent to recipients."
msgstr "The document was created but could not be sent to recipients."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161
msgid "The document will be hidden from your account"
msgstr "The document will be hidden from your account"
@@ -3866,7 +3836,7 @@ msgstr "They have permission on your behalf to:"
msgid "This action is not reversible. Please be certain."
msgstr "This action is not reversible. Please be certain."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
#: 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 "This document could not be deleted at this time. Please try again."
@@ -3930,7 +3900,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."
@@ -3947,7 +3917,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:86
#: 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."
@@ -4080,13 +4050,13 @@ msgstr "transfer {teamName}"
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."
@@ -4130,17 +4100,13 @@ msgid "Type"
msgstr "Type"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184
#~ msgid "Type 'delete' to confirm"
#~ msgstr "Type 'delete' to confirm"
msgid "Type 'delete' to confirm"
msgstr "Type 'delete' to confirm"
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:186
msgid "Type a command or search..."
msgstr "Type a command or search..."
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130
msgid "Typed signatures are not allowed. Please draw your signature."
msgstr "Typed signatures are not allowed. Please draw your signature."
#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26
msgid "Uh oh! Looks like you're missing a token"
msgstr "Uh oh! Looks like you're missing a token"
@@ -4233,10 +4199,10 @@ msgstr "Unauthorized"
msgid "Uncompleted"
msgstr "Uncompleted"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284
#: 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"
@@ -4269,7 +4235,7 @@ msgstr "Update passkey"
msgid "Update password"
msgstr "Update password"
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Update profile"
msgstr "Update profile"
@@ -4281,7 +4247,7 @@ msgstr "Update Recipient"
msgid "Update role"
msgstr "Update role"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
msgstr "Update team"
@@ -4308,7 +4274,7 @@ msgstr "Update webhook"
msgid "Updating password..."
msgstr "Updating password..."
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Updating profile..."
msgstr "Updating profile..."
@@ -4341,7 +4307,7 @@ 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:169
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
msgid "Use"
msgstr "Use"
@@ -4449,7 +4415,7 @@ msgstr "View Codes"
msgid "View Document"
msgstr "View Document"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
#: 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"
@@ -4475,7 +4441,7 @@ msgid "View teams"
msgstr "View teams"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
msgid "Viewed"
msgstr "Viewed"
@@ -4635,7 +4601,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:95
#: 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."
@@ -4678,8 +4644,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas
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:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
#: 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."
@@ -4687,7 +4653,7 @@ msgstr "We were unable to submit this document at this time. Please try again la
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:110
#: 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"
@@ -4812,7 +4778,7 @@ msgstr "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
msgstr "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:103
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
msgstr "You are about to delete <0>\"{documentTitle}\"</0>"
@@ -4820,7 +4786,7 @@ msgstr "You are about to delete <0>\"{documentTitle}\"</0>"
msgid "You are about to delete the following team email from <0>{teamName}</0>."
msgstr "You are about to delete the following team email from <0>{teamName}</0>."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:107
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
msgstr "You are about to hide <0>\"{documentTitle}\"</0>"
@@ -4872,7 +4838,7 @@ msgstr "You can copy and share these links to recipients so they can action the
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."
@@ -5070,7 +5036,7 @@ 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:104
#: 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"
@@ -5137,7 +5103,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:68
#: 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."
@@ -5153,7 +5119,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/edit-template.tsx:247
#: 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."
+20 -19
View File
@@ -444,7 +444,7 @@ msgid "Advanced Options"
msgstr "Opciones avanzadas"
#: packages/ui/primitives/document-flow/add-fields.tsx:576
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
msgid "Advanced settings"
msgstr "Configuraciones avanzadas"
@@ -500,11 +500,11 @@ msgstr "Aprobando"
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:383
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr "Negro"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
msgid "Blue"
msgstr "Azul"
@@ -562,7 +562,7 @@ msgstr "Valores de Checkbox"
msgid "Clear filters"
msgstr "Limpiar filtros"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
#: packages/ui/primitives/signature-pad/signature-pad.tsx:411
msgid "Clear Signature"
msgstr "Limpiar firma"
@@ -590,7 +590,7 @@ msgid "Configure Direct Recipient"
msgstr "Configurar destinatario directo"
#: packages/ui/primitives/document-flow/add-fields.tsx:577
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
msgid "Configure the {0} field"
msgstr "Configurar el campo {0}"
@@ -653,7 +653,7 @@ msgstr "Texto personalizado"
#: packages/ui/primitives/document-flow/add-fields.tsx:934
#: packages/ui/primitives/document-flow/types.ts:53
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
msgid "Date"
msgstr "Fecha"
@@ -793,7 +793,7 @@ msgid "Drag & drop your PDF here."
msgstr "Arrastre y suelte su PDF aquí."
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
msgid "Dropdown"
msgstr "Menú desplegable"
@@ -807,7 +807,7 @@ msgstr "Opciones de menú desplegable"
#: 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:677
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
msgid "Email"
@@ -843,7 +843,6 @@ msgid "Enable signing order"
msgstr "Habilitar orden de firma"
#: packages/ui/primitives/document-flow/add-fields.tsx:802
#: packages/ui/primitives/template-flow/add-template-fields.tsx:597
msgid "Enable Typed Signatures"
msgstr "Habilitar firmas escritas"
@@ -931,7 +930,7 @@ msgstr "Autenticación de acción de destinatario global"
msgid "Go Back"
msgstr "Regresar"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
msgid "Green"
msgstr "Verde"
@@ -1026,7 +1025,7 @@ msgstr "Mín"
#: 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:703
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
msgid "Name"
@@ -1045,7 +1044,7 @@ msgid "Needs to view"
msgstr "Necesita ver"
#: packages/ui/primitives/document-flow/add-fields.tsx:693
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
msgid "No recipient matching this description was found."
msgstr "No se encontró ningún destinatario que coincidiera con esta descripción."
@@ -1054,7 +1053,7 @@ msgid "No recipients"
msgstr "Sin destinatarios"
#: packages/ui/primitives/document-flow/add-fields.tsx:708
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
msgid "No recipients with this role"
msgstr "No hay destinatarios con este rol"
@@ -1084,7 +1083,7 @@ msgstr "Ninguno"
#: packages/ui/primitives/document-flow/add-fields.tsx:986
#: packages/ui/primitives/document-flow/types.ts:56
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
msgid "Number"
msgstr "Número"
@@ -1176,6 +1175,7 @@ msgid "Please try again or contact our support."
msgstr "Por favor, inténtalo de nuevo o contacta a nuestro soporte."
#: packages/ui/primitives/document-flow/types.ts:57
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
msgid "Radio"
msgstr "Radio"
@@ -1218,7 +1218,7 @@ msgstr "Correo electrónico de destinatario eliminado"
msgid "Recipient signing request email"
msgstr "Correo electrónico de solicitud de firma de destinatario"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr "Rojo"
@@ -1287,7 +1287,7 @@ msgstr "Filas por página"
msgid "Save"
msgstr "Guardar"
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
msgid "Save Template"
msgstr "Guardar plantilla"
@@ -1380,7 +1380,7 @@ msgstr "Iniciar sesión"
#: 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:625
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
msgid "Signature"
msgstr "Firma"
@@ -1465,7 +1465,7 @@ msgstr "Título de plantilla"
#: packages/ui/primitives/document-flow/add-fields.tsx:960
#: packages/ui/primitives/document-flow/types.ts:52
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
msgid "Text"
msgstr "Texto"
@@ -1629,7 +1629,7 @@ msgid "Title"
msgstr "Título"
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
msgid "To proceed further, please set at least one value for the {0} field."
msgstr "Para continuar, por favor establezca al menos un valor para el campo {0}."
@@ -1814,3 +1814,4 @@ msgstr "Tu contraseña ha sido actualizada."
#: packages/email/templates/team-delete.tsx:32
msgid "Your team has been deleted"
msgstr "Tu equipo ha sido eliminado"
@@ -602,3 +602,4 @@ msgstr "Puedes autoalojar Documenso de forma gratuita o usar nuestra versión al
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
msgid "Your browser does not support the video tag."
msgstr "Tu navegador no soporta la etiqueta de video."
+128 -161
View File
@@ -18,7 +18,7 @@ msgstr ""
"X-Crowdin-File: web.po\n"
"X-Crowdin-File-ID: 8\n"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
#: 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\"."
@@ -26,13 +26,13 @@ msgstr "\"{0}\" te ha invitado a firmar \"ejemplo de documento\"."
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
msgstr "\"{0}\" aparecerá en el documento ya que tiene un huso horario de \"{timezone}\"."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:60
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr "\"{documentTitle}\" ha sido eliminado con éxito"
#: 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\"."
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 ""
@@ -42,13 +42,13 @@ msgstr "\"{documentTitle}\" ha sido eliminado con éxito"
#~ "\"{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:226
#: 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}\" en nombre de \"{0}\" te ha invitado a firmar \"documento de ejemplo\"."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
#~ msgstr "\"{teamUrl}\" te ha invitado a firmar \"ejemplo de documento\"."
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:80
msgid "({0}) has invited you to approve this document"
@@ -240,7 +240,7 @@ msgid "A unique URL to access your profile"
msgstr "Una URL única para acceder a tu perfil"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
msgid "A unique URL to identify your team"
msgstr "Una URL única para identificar tu equipo"
@@ -296,7 +296,7 @@ msgstr "Acción"
msgid "Actions"
msgstr "Acciones"
#: 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"
@@ -409,11 +409,11 @@ msgstr "Todos los documentos han sido procesados. Cualquier nuevo documento que
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:147
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
msgid "All inserted signatures will be voided"
msgstr "Todas las firmas insertadas serán anuladas"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:148
msgid "All recipients will be notified"
msgstr "Todos los destinatarios serán notificados"
@@ -472,12 +472,9 @@ msgstr "Se ha enviado un correo electrónico solicitando la transferencia de est
msgid "An error occurred"
msgstr "Ocurrió un error"
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257
msgid "An error occurred while adding fields."
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
#: 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 "Ocurrió un error al agregar firmantes."
@@ -539,7 +536,7 @@ msgstr "Ocurrió un error mientras se eliminaba el campo."
#: 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:190
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173
msgid "An error occurred while removing the signature."
msgstr "Ocurrió un error al eliminar la firma."
@@ -563,7 +560,7 @@ msgstr "Ocurrió un error al enviar tu correo electrónico de confirmación"
#: 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:164
#: 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 "Ocurrió un error al firmar el documento."
@@ -573,7 +570,7 @@ msgid "An error occurred while trying to create a checkout session."
msgstr "Ocurrió un error al intentar crear una sesión de pago."
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
msgid "An error occurred while updating the document settings."
msgstr "Ocurrió un error al actualizar la configuración del documento."
@@ -611,7 +608,7 @@ msgstr "Ocurrió un error al subir tu documento."
#: 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:93
#: 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
@@ -693,7 +690,7 @@ msgstr "¿Está seguro de que desea eliminar la clave de acceso <0>{passkeyName}
msgid "Are you sure you wish to delete this team?"
msgstr "¿Estás seguro de que deseas eliminar este equipo?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
#: 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
@@ -728,7 +725,7 @@ msgstr "Avatar"
msgid "Avatar Updated"
msgstr "Avatar actualizado"
#: 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 "Esperando confirmación de correo electrónico"
@@ -793,7 +790,7 @@ msgstr "Copia masiva"
msgid "Bulk Import"
msgstr "Importación masiva"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
msgid "By deleting this document, the following will occur:"
msgstr "Al eliminar este documento, ocurrirá lo siguiente:"
@@ -814,7 +811,7 @@ msgid "By using the electronic signature feature, you are consenting to conduct
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:192
#: 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
@@ -836,7 +833,7 @@ msgstr "Al utilizar la función de firma electrónica, usted está consintiendo
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
#: 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:305
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
#: 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
@@ -929,8 +926,8 @@ msgstr "Haga clic para copiar el enlace de firma para enviar al destinatario"
#: 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:456
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
#: 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 "Haga clic para insertar campo"
@@ -948,8 +945,8 @@ msgid "Close"
msgstr "Cerrar"
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
#: 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 "Completo"
@@ -1048,26 +1045,18 @@ msgstr "Continuar"
msgid "Continue to login"
msgstr "Continuar con el inicio de sesión"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
#: 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:154
#: 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:237
#: 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/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally."
msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately."
msgstr ""
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
msgid "Copied"
msgstr "Copiado"
@@ -1258,21 +1247,22 @@ msgstr "Rechazar"
msgid "Declined team invitation"
msgstr "Invitación de equipo rechazada"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
#: 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:130
#: 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:50
#: 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:202
#: 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
@@ -1323,7 +1313,7 @@ msgstr "Eliminar Documento"
msgid "Delete passkey"
msgstr "Eliminar clave de paso"
#: 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 "Eliminar equipo"
@@ -1362,7 +1352,7 @@ 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:242
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr "Dispositivo"
@@ -1473,7 +1463,7 @@ msgstr "Documento Cancelado"
msgid "Document completed"
msgstr "Documento completado"
#: apps/web/src/app/embed/completed.tsx:17
#: apps/web/src/app/embed/completed.tsx:16
msgid "Document Completed!"
msgstr "¡Documento completado!"
@@ -1491,7 +1481,7 @@ msgstr "Documento creado usando un <0>enlace directo</0>"
#: 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:61
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr "Documento eliminado"
@@ -1537,7 +1527,7 @@ msgstr "El documento ya no está disponible para firmar"
msgid "Document pending"
msgstr "Documento pendiente"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
msgid "Document preferences updated"
msgstr "Preferencias del documento actualizadas"
@@ -1565,7 +1555,7 @@ msgstr "Documento enviado"
msgid "Document Signed"
msgstr "Documento firmado"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
msgid "Document signing process will be cancelled"
msgstr "El proceso de firma del documento será cancelado"
@@ -1589,7 +1579,7 @@ msgstr "Documento subido"
msgid "Document Viewed"
msgstr "Documento visto"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
msgid "Document will be permanently deleted"
msgstr "El documento será eliminado permanentemente"
@@ -1609,7 +1599,7 @@ msgstr "El documento será eliminado permanentemente"
msgid "Documents"
msgstr "Documentos"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
#: 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"
@@ -1644,14 +1634,6 @@ msgstr "Descargar registros de auditoría"
msgid "Download Certificate"
msgstr "Descargar certificado"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:114
#~ msgid "Download with Certificate"
#~ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:118
#~ msgid "Download without 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"
@@ -1690,7 +1672,7 @@ msgstr "Duplicar"
msgid "Edit"
msgstr "Editar"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
msgid "Edit Template"
msgstr "Editar plantilla"
@@ -1716,8 +1698,8 @@ msgstr "Divulgación de Firma Electrónica"
#: 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:393
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
#: 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
@@ -1778,10 +1760,6 @@ msgstr "Habilitar firma de enlace directo"
msgid "Enable Direct Link Signing"
msgstr "Habilitar firma de enlace directo"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
msgid "Enable Typed Signature"
msgstr ""
#: 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
@@ -1828,9 +1806,9 @@ msgstr "Ingresa tu texto aquí"
#: 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:186
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256
#: 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
@@ -1852,9 +1830,8 @@ msgstr "Ingresa tu texto aquí"
#: 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:129
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189
#: 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
@@ -1866,7 +1843,7 @@ msgstr "Error"
#~ msgid "Error updating global team settings"
#~ msgstr "Error updating global team settings"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
#: 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"
@@ -1882,7 +1859,7 @@ msgstr "¡Todos han firmado! Recibirás una copia por correo electrónico del do
msgid "Exceeded timeout"
msgstr "Tiempo de espera excedido"
#: 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 "Expirado"
@@ -1924,8 +1901,8 @@ msgstr "¿Olvidaste tu contraseñ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:378
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
#: 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"
@@ -2001,7 +1978,7 @@ msgid "Hey Im Timur"
msgstr "Hola, soy Timur"
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
#: 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 "Ocultar"
@@ -2047,10 +2024,6 @@ msgstr "Documentos en bandeja de entrada"
#~ msgid "Include Sender Details"
#~ msgstr "Include Sender Details"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
msgid "Include the Signing Certificate in the Document"
msgstr ""
#: 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"
@@ -2127,7 +2100,7 @@ msgid "Invoice"
msgstr "Factura"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
msgid "IP Address"
msgstr "Dirección IP"
@@ -2267,7 +2240,7 @@ msgstr "Gestionar el perfil de {0}"
msgid "Manage all teams you are currently associated with."
msgstr "Gestionar todos los equipos con los que estás asociado actualmente."
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159
msgid "Manage and view template"
msgstr "Gestionar y ver plantilla"
@@ -2434,8 +2407,8 @@ msgstr "Nuevo propietario del equipo"
msgid "New Template"
msgstr "Nueva plantilla"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
#: 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 "Siguiente"
@@ -2534,7 +2507,7 @@ msgstr "En esta página, puedes editar el webhook y sus configuraciones."
msgid "On this page, you can edit the webhook and its settings."
msgstr "En esta página, puedes editar el webhook y su configuración."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:134
msgid "Once confirmed, the following will occur:"
msgstr "Una vez confirmado, ocurrirá lo siguiente:"
@@ -2542,11 +2515,11 @@ msgstr "Una vez confirmado, ocurrirá lo siguiente:"
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
msgstr "Una vez que hayas escaneado el código QR o ingresado el código manualmente, ingresa el código proporcionado por tu aplicación de autenticación a continuación."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
#: 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:144
#: 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"
@@ -2710,7 +2683,7 @@ msgstr "Por favor, revisa tu correo electrónico para actualizaciones."
msgid "Please choose your new password"
msgstr "Por favor, elige tu nueva contraseña"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:174
msgid "Please contact support if you would like to revert this action."
msgstr "Por favor, contacta al soporte si deseas revertir esta acción."
@@ -2726,11 +2699,11 @@ msgstr "Por favor, marca como visto para completar"
msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder."
msgstr "Por favor, ten en cuenta que proceder eliminará el destinatario de enlace directo y lo convertirá en un marcador de posición."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:128
msgid "Please note that this action is <0>irreversible</0>."
msgstr "Por favor, ten en cuenta que esta acción es <0>irreversible</0>."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:119
msgid "Please note that this action is <0>irreversible</0>. Once confirmed, this document will be permanently deleted."
msgstr "Por favor, ten en cuenta que esta acción es <0>irreversible</0>. Una vez confirmada, este documento será eliminado permanentemente."
@@ -2778,10 +2751,6 @@ msgstr "Por favor, intenta de nuevo más tarde o inicia sesión utilizando tus d
msgid "Please try again later."
msgstr "Por favor, intenta de nuevo más tarde."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:186
msgid "Please type {0} to confirm"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:134
msgid "Please type <0>{0}</0> to confirm."
msgstr "Por favor, escribe <0>{0}</0> para confirmar."
@@ -2792,7 +2761,7 @@ msgstr "Por favor, escribe <0>{0}</0> para confirmar."
msgid "Preferences"
msgstr "Preferencias"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
msgid "Preview"
msgstr "Vista previa"
@@ -2870,7 +2839,7 @@ msgstr "Lea la <0>divulgación de firma</0> completa."
msgid "Ready"
msgstr "Listo"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
msgid "Reason"
msgstr "Razón"
@@ -2916,7 +2885,7 @@ msgstr "Destinatarios"
msgid "Recipients metrics"
msgstr "Métricas de destinatarios"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
msgid "Recipients will still retain their copy of the document"
msgstr "Los destinatarios aún conservarán su copia del documento"
@@ -2997,7 +2966,7 @@ msgstr "Reenviar correo de confirmación"
msgid "Resend verification"
msgstr "Reenviar verificación"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
#: apps/web/src/components/forms/public-profile-form.tsx:267
msgid "Reset"
msgstr "Restablecer"
@@ -3078,7 +3047,7 @@ msgstr "Roles"
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
#: 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:313
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr "Guardar"
@@ -3153,7 +3122,8 @@ msgstr "Enviar correo de confirmación"
msgid "Send document"
msgstr "Enviar documento"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
#: 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"
@@ -3174,7 +3144,7 @@ msgid "Sending..."
msgstr "Enviando..."
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr "Enviado"
@@ -3227,13 +3197,13 @@ msgstr "Mostrar plantillas en el perfil público de tu equipo para que tu audien
#: 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:313
#: 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 "Firmar"
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217
msgid "Sign as {0} <0>({1})</0>"
msgstr "Firmar como {0} <0>({1})</0>"
@@ -3241,8 +3211,8 @@ msgstr "Firmar como {0} <0>({1})</0>"
msgid "Sign as<0>{0} <1>({1})</1></0>"
msgstr "Firmar como<0>{0} <1>({1})</1></0>"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
msgid "Sign document"
msgstr "Firmar documento"
@@ -3274,8 +3244,8 @@ msgstr "Inicia sesión en tu cuenta"
msgid "Sign Out"
msgstr "Cerrar sesión"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
#: 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 "Firma el documento para completar el proceso."
@@ -3301,15 +3271,15 @@ msgstr "Regístrate con OIDC"
#: 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:247
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287
#: 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 "Firma"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
msgid "Signature ID"
msgstr "ID de Firma"
@@ -3322,7 +3292,7 @@ msgid "Signatures will appear once the document has been completed"
msgstr "Las firmas aparecerán una vez que el documento se haya completado"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
#: 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 "Firmado"
@@ -3335,7 +3305,7 @@ msgstr "Eventos del Firmante"
msgid "Signing Certificate"
msgstr "Certificado de Firma"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
msgid "Signing certificate provided by"
msgstr "Certificado de firma proporcionado por"
@@ -3377,7 +3347,7 @@ msgstr "Configuraciones del sitio"
#: 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:82
#: 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:51
@@ -3399,8 +3369,8 @@ msgstr "Configuraciones del sitio"
#: 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:248
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
#: 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
@@ -3433,7 +3403,7 @@ msgstr "Algo salió mal al enviar el correo de confirmación."
msgid "Something went wrong while updating the team billing subscription, please contact support."
msgstr "Algo salió mal al actualizar la suscripción de facturación del equipo, por favor contacta al soporte."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
msgid "Something went wrong!"
msgstr "¡Algo salió mal!"
@@ -3501,7 +3471,7 @@ msgstr "Suscripciones"
#: 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:67
#: 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
@@ -3532,8 +3502,8 @@ msgstr "Equipo"
msgid "Team checkout"
msgstr "Checkout del equipo"
#: 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 "Correo del equipo"
@@ -3576,7 +3546,7 @@ msgid "Team Member"
msgstr "Miembro del equipo"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr "Nombre del equipo"
@@ -3629,7 +3599,7 @@ msgid "Team transfer request expired"
msgstr "Solicitud de transferencia del equipo expirada"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr "URL del equipo"
@@ -3649,7 +3619,7 @@ msgstr "Equipos restringidos"
#: 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:145
#: 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"
@@ -3679,11 +3649,11 @@ msgstr "La plantilla ha sido actualizada."
msgid "Template moved"
msgstr "Plantilla movida"
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
msgid "Template saved"
msgstr "Plantilla guardada"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86
#: 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
@@ -3726,7 +3696,7 @@ msgstr "El enlace directo ha sido copiado a tu portapapeles"
msgid "The document has been successfully moved to the selected team."
msgstr "El documento ha sido movido con éxito al equipo seleccionado."
#: apps/web/src/app/embed/completed.tsx:30
#: apps/web/src/app/embed/completed.tsx:29
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr "El documento ahora está completado, por favor sigue cualquier instrucción proporcionada dentro de la aplicación principal."
@@ -3738,7 +3708,7 @@ msgstr "The document owner has been notified of your decision. They may contact
msgid "The document was created but could not be sent to recipients."
msgstr "El documento fue creado pero no se pudo enviar a los destinatarios."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161
msgid "The document will be hidden from your account"
msgstr "El documento será ocultado de tu cuenta"
@@ -3871,7 +3841,7 @@ msgstr "Tienen permiso en tu nombre para:"
msgid "This action is not reversible. Please be certain."
msgstr "Esta acción no es reversible. Por favor, asegúrate."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
#: 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 "Este documento no se pudo eliminar en este momento. Por favor, inténtalo de nuevo."
@@ -3935,7 +3905,7 @@ msgstr "Este precio incluye un mínimo de 5 asientos."
msgid "This session has expired. Please try again."
msgstr "Esta sesión ha expirado. Por favor, inténtalo de nuevo."
#: 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 "Este equipo, y cualquier dato asociado, excluyendo las facturas de facturación, serán eliminados permanentemente."
@@ -3952,7 +3922,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new
msgstr "Este token es inválido o ha expirado. Por favor, contacta a tu equipo para una nueva invitación."
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
msgid "This URL is already in use."
msgstr "Esta URL ya está en uso."
@@ -4085,13 +4055,13 @@ msgstr "transferir {teamName}"
msgid "Transfer ownership of this team to a selected team member."
msgstr "Transferir la propiedad de este equipo a un miembro del equipo seleccionado."
#: 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 "Transferir equipo"
#: 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 "Transferir la propiedad del equipo a otro miembro del equipo."
@@ -4135,17 +4105,13 @@ msgid "Type"
msgstr "Tipo"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184
#~ msgid "Type 'delete' to confirm"
#~ msgstr "Escribe 'eliminar' para confirmar"
msgid "Type 'delete' to confirm"
msgstr "Escribe 'eliminar' para confirmar"
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:186
msgid "Type a command or search..."
msgstr "Escribe un comando o busca..."
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130
msgid "Typed signatures are not allowed. Please draw your signature."
msgstr ""
#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26
msgid "Uh oh! Looks like you're missing a token"
msgstr "¡Oh no! Parece que te falta un token"
@@ -4238,10 +4204,10 @@ msgstr "No autorizado"
msgid "Uncompleted"
msgstr "Incompleto"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284
#: 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"
@@ -4274,7 +4240,7 @@ msgstr "Actualizar clave de acceso"
msgid "Update password"
msgstr "Actualizar contraseña"
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Update profile"
msgstr "Actualizar perfil"
@@ -4286,7 +4252,7 @@ msgstr "Actualizar destinatario"
msgid "Update role"
msgstr "Actualizar rol"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
msgstr "Actualizar equipo"
@@ -4313,7 +4279,7 @@ msgstr "Actualizar webhook"
msgid "Updating password..."
msgstr "Actualizando contraseña..."
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Updating profile..."
msgstr "Actualizando perfil..."
@@ -4346,7 +4312,7 @@ msgstr "El archivo subido es demasiado pequeño"
msgid "Uploaded file not an allowed file type"
msgstr "El archivo subido no es un tipo de archivo permitido"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
msgid "Use"
msgstr "Usar"
@@ -4454,7 +4420,7 @@ msgstr "Ver Códigos"
msgid "View Document"
msgstr "Ver Documento"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
msgid "View documents associated with this email"
msgstr "Ver documentos asociados con este correo electrónico"
@@ -4480,7 +4446,7 @@ msgid "View teams"
msgstr "Ver equipos"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
msgid "Viewed"
msgstr "Visto"
@@ -4640,7 +4606,7 @@ msgstr "Encontramos un error desconocido al intentar actualizar tu contraseña.
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
msgstr "Encontramos un error desconocido al intentar actualizar tu perfil público. Por favor, inténtalo de nuevo más tarde."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95
#: 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 "Encontramos un error desconocido al intentar actualizar tu equipo. Por favor, inténtalo de nuevo más tarde."
@@ -4683,8 +4649,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas
msgstr "No pudimos configurar la autenticación de dos factores para tu cuenta. Asegúrate de haber ingresado correctamente tu código e inténtalo de nuevo."
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
#: 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 "No pudimos enviar este documento en este momento. Por favor, inténtalo de nuevo más tarde."
@@ -4692,7 +4658,7 @@ msgstr "No pudimos enviar este documento en este momento. Por favor, inténtalo
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:110
#: 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"
@@ -4817,7 +4783,7 @@ msgstr "Estás a punto de completar la firma de \"{truncatedTitle}\".<0/> ¿Est
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
msgstr "Estás a punto de completar la visualización de \"{truncatedTitle}\".<0/> ¿Estás seguro?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:103
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
msgstr "Estás a punto de eliminar <0>\"{documentTitle}\"</0>"
@@ -4825,7 +4791,7 @@ msgstr "Estás a punto de eliminar <0>\"{documentTitle}\"</0>"
msgid "You are about to delete the following team email from <0>{teamName}</0>."
msgstr "Estás a punto de eliminar el siguiente correo electrónico del equipo de <0>{teamName}</0>."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:107
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
msgstr "Estás a punto de ocultar <0>\"{documentTitle}\"</0>"
@@ -4877,7 +4843,7 @@ msgstr "Puede copiar y compartir estos enlaces con los destinatarios para que pu
msgid "You can update the profile URL by updating the team URL in the general settings page."
msgstr "Puedes actualizar la URL del perfil actualizando la URL del equipo en la página de configuración general."
#: 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 "Puedes ver documentos asociados a este correo electrónico y usar esta identidad al enviar documentos."
@@ -5075,7 +5041,7 @@ msgstr "Tu documento ha sido subido con éxito."
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
msgstr "Tu documento ha sido subido con éxito. Serás redirigido a la página de plantillas."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104
#: 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"
@@ -5142,7 +5108,7 @@ msgstr "Tu equipo ha sido creado."
msgid "Your team has been successfully deleted."
msgstr "Tu equipo ha sido eliminado con éxito."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
msgid "Your team has been successfully updated."
msgstr "Tu equipo ha sido actualizado con éxito."
@@ -5158,7 +5124,7 @@ msgstr "Tu plantilla ha sido eliminada con éxito."
msgid "Your template will be duplicated."
msgstr "Tu plantilla será duplicada."
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
msgid "Your templates has been saved successfully."
msgstr "Tus plantillas han sido guardadas con éxito."
@@ -5174,3 +5140,4 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
msgid "Your tokens will be shown here once you create them."
msgstr "Tus tokens se mostrarán aquí una vez que los crees."
+20 -19
View File
@@ -444,7 +444,7 @@ msgid "Advanced Options"
msgstr "Options avancées"
#: packages/ui/primitives/document-flow/add-fields.tsx:576
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
msgid "Advanced settings"
msgstr "Paramètres avancés"
@@ -500,11 +500,11 @@ msgstr "En attente d'approbation"
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:383
#: packages/ui/primitives/signature-pad/signature-pad.tsx:377
msgid "Black"
msgstr "Noir"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
msgid "Blue"
msgstr "Bleu"
@@ -562,7 +562,7 @@ msgstr "Valeurs de case à cocher"
msgid "Clear filters"
msgstr "Effacer les filtres"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
#: packages/ui/primitives/signature-pad/signature-pad.tsx:411
msgid "Clear Signature"
msgstr "Effacer la signature"
@@ -590,7 +590,7 @@ msgid "Configure Direct Recipient"
msgstr "Configurer le destinataire direct"
#: packages/ui/primitives/document-flow/add-fields.tsx:577
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
msgid "Configure the {0} field"
msgstr "Configurer le champ {0}"
@@ -653,7 +653,7 @@ msgstr "Texte personnalisé"
#: packages/ui/primitives/document-flow/add-fields.tsx:934
#: packages/ui/primitives/document-flow/types.ts:53
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
msgid "Date"
msgstr "Date"
@@ -793,7 +793,7 @@ msgid "Drag & drop your PDF here."
msgstr "Faites glisser et déposez votre PDF ici."
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
msgid "Dropdown"
msgstr "Liste déroulante"
@@ -807,7 +807,7 @@ msgstr "Options de liste déroulante"
#: 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:677
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
msgid "Email"
@@ -843,7 +843,6 @@ msgid "Enable signing order"
msgstr "Activer l'ordre de signature"
#: packages/ui/primitives/document-flow/add-fields.tsx:802
#: packages/ui/primitives/template-flow/add-template-fields.tsx:597
msgid "Enable Typed Signatures"
msgstr "Activer les signatures tapées"
@@ -931,7 +930,7 @@ msgstr "Authentification d'action de destinataire globale"
msgid "Go Back"
msgstr "Retourner"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
msgid "Green"
msgstr "Vert"
@@ -1026,7 +1025,7 @@ msgstr "Min"
#: 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:703
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
msgid "Name"
@@ -1045,7 +1044,7 @@ msgid "Needs to view"
msgstr "Nécessite une visualisation"
#: packages/ui/primitives/document-flow/add-fields.tsx:693
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
msgid "No recipient matching this description was found."
msgstr "Aucun destinataire correspondant à cette description n'a été trouvé."
@@ -1054,7 +1053,7 @@ msgid "No recipients"
msgstr "Aucun destinataire"
#: packages/ui/primitives/document-flow/add-fields.tsx:708
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
msgid "No recipients with this role"
msgstr "Aucun destinataire avec ce rôle"
@@ -1084,7 +1083,7 @@ msgstr "Aucun"
#: packages/ui/primitives/document-flow/add-fields.tsx:986
#: packages/ui/primitives/document-flow/types.ts:56
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
msgid "Number"
msgstr "Numéro"
@@ -1176,6 +1175,7 @@ msgid "Please try again or contact our support."
msgstr "Veuillez réessayer ou contacter notre support."
#: packages/ui/primitives/document-flow/types.ts:57
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
msgid "Radio"
msgstr "Radio"
@@ -1218,7 +1218,7 @@ msgstr "E-mail de destinataire supprimé"
msgid "Recipient signing request email"
msgstr "E-mail de demande de signature de destinataire"
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
msgid "Red"
msgstr "Rouge"
@@ -1287,7 +1287,7 @@ msgstr "Lignes par page"
msgid "Save"
msgstr "Sauvegarder"
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
msgid "Save Template"
msgstr "Sauvegarder le modèle"
@@ -1380,7 +1380,7 @@ msgstr "Se connecter"
#: 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:625
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
msgid "Signature"
msgstr "Signature"
@@ -1465,7 +1465,7 @@ msgstr "Titre du modèle"
#: packages/ui/primitives/document-flow/add-fields.tsx:960
#: packages/ui/primitives/document-flow/types.ts:52
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
msgid "Text"
msgstr "Texte"
@@ -1629,7 +1629,7 @@ msgid "Title"
msgstr "Titre"
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
msgid "To proceed further, please set at least one value for the {0} field."
msgstr "Pour continuer, veuillez définir au moins une valeur pour le champ {0}."
@@ -1814,3 +1814,4 @@ msgstr "Votre mot de passe a été mis à jour."
#: packages/email/templates/team-delete.tsx:32
msgid "Your team has been deleted"
msgstr "Votre équipe a été supprimée"
@@ -602,3 +602,4 @@ msgstr "Vous pouvez auto-héberger Documenso gratuitement ou utiliser notre vers
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
msgid "Your browser does not support the video tag."
msgstr "Votre navigateur ne prend pas en charge la balise vidéo."
+128 -161
View File
@@ -18,7 +18,7 @@ msgstr ""
"X-Crowdin-File: web.po\n"
"X-Crowdin-File-ID: 8\n"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
#: 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\"."
@@ -26,13 +26,13 @@ msgstr "\"{0}\" vous a invité à signer \"example document\"."
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
msgstr "\"{0}\" apparaîtra sur le document car il a un fuseau horaire de \"{timezone}\"."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:60
msgid "\"{documentTitle}\" has been successfully deleted"
msgstr "\"{documentTitle}\" a été supprimé avec succès"
#: 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\"."
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 ""
@@ -42,13 +42,13 @@ msgstr "\"{documentTitle}\" a été supprimé avec succès"
#~ "\"{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:226
#: 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}\" au nom de \"{0}\" vous a invité à signer \"exemple de document\"."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
#~ msgstr "\"{teamUrl}\" vous a invité à signer \"example document\"."
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:80
msgid "({0}) has invited you to approve this document"
@@ -240,7 +240,7 @@ msgid "A unique URL to access your profile"
msgstr "Une URL unique pour accéder à votre profil"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
msgid "A unique URL to identify your team"
msgstr "Une URL unique pour identifier votre équipe"
@@ -296,7 +296,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"
@@ -409,11 +409,11 @@ msgstr "Tous les documents ont été traités. Tous nouveaux documents envoyés
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:147
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145
msgid "All inserted signatures will be voided"
msgstr "Toutes les signatures insérées seront annulées"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:148
msgid "All recipients will be notified"
msgstr "Tous les destinataires seront notifiés"
@@ -472,12 +472,9 @@ msgstr "Un e-mail demandant le transfert de cette équipe a été envoyé."
msgid "An error occurred"
msgstr "Une erreur est survenue"
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257
msgid "An error occurred while adding fields."
msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
#: 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 "Une erreur est survenue lors de l'ajout de signataires."
@@ -539,7 +536,7 @@ msgstr "Une erreur est survenue lors de la suppression du champ."
#: 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:190
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:173
msgid "An error occurred while removing the signature."
msgstr "Une erreur est survenue lors de la suppression de la signature."
@@ -563,7 +560,7 @@ msgstr "Une erreur est survenue lors de l'envoi de votre e-mail de confirmation"
#: 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:164
#: 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 "Une erreur est survenue lors de la signature du document."
@@ -573,7 +570,7 @@ msgid "An error occurred while trying to create a checkout session."
msgstr "Une erreur est survenue lors de la création d'une session de paiement."
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
msgid "An error occurred while updating the document settings."
msgstr "Une erreur est survenue lors de la mise à jour des paramètres du document."
@@ -611,7 +608,7 @@ msgstr "Une erreur est survenue lors du téléchargement de votre 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:93
#: 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
@@ -693,7 +690,7 @@ msgstr "Êtes-vous sûr de vouloir supprimer la clé de passe <0>{passkeyName}</
msgid "Are you sure you wish to delete this team?"
msgstr "Êtes-vous sûr de vouloir supprimer cette équipe ?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
#: 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
@@ -728,7 +725,7 @@ msgstr "Avatar"
msgid "Avatar Updated"
msgstr "Avatar mis à jour"
#: 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 "En attente de confirmation par e-mail"
@@ -793,7 +790,7 @@ msgstr "Copie groupée"
msgid "Bulk Import"
msgstr "Importation en masse"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
msgid "By deleting this document, the following will occur:"
msgstr "En supprimant ce document, les éléments suivants se produiront :"
@@ -814,7 +811,7 @@ msgid "By using the electronic signature feature, you are consenting to conduct
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:192
#: 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
@@ -836,7 +833,7 @@ msgstr "En utilisant la fonctionnalité de signature électronique, vous consent
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
#: 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:305
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
#: 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
@@ -929,8 +926,8 @@ msgstr "Cliquez pour copier le lien de signature à envoyer au destinataire"
#: 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:456
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
#: 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 "Cliquez pour insérer le champ"
@@ -948,8 +945,8 @@ msgid "Close"
msgstr "Fermer"
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
#: 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 "Compléter"
@@ -1048,26 +1045,18 @@ msgstr "Continuer"
msgid "Continue to login"
msgstr "Continuer vers la connexion"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
#: 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:154
#: 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:237
#: 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/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally."
msgstr ""
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately."
msgstr ""
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
msgid "Copied"
msgstr "Copié"
@@ -1258,21 +1247,22 @@ msgstr "Décliner"
msgid "Declined team invitation"
msgstr "Invitation d'équipe refusée"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
#: 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:130
#: 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:50
#: 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:202
#: 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
@@ -1323,7 +1313,7 @@ msgstr "Supprimer le document"
msgid "Delete passkey"
msgstr "Supprimer la clé d'accès"
#: 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 "Supprimer l'équipe"
@@ -1362,7 +1352,7 @@ 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:242
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:234
msgid "Device"
msgstr "Appareil"
@@ -1473,7 +1463,7 @@ msgstr "Document Annulé"
msgid "Document completed"
msgstr "Document complété"
#: apps/web/src/app/embed/completed.tsx:17
#: apps/web/src/app/embed/completed.tsx:16
msgid "Document Completed!"
msgstr "Document Complété !"
@@ -1491,7 +1481,7 @@ msgstr "Document créé en utilisant un <0>lien direct</0>"
#: 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:61
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59
msgid "Document deleted"
msgstr "Document supprimé"
@@ -1537,7 +1527,7 @@ msgstr "Document non disponible pour signature"
msgid "Document pending"
msgstr "Document en attente"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103
#: 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"
@@ -1565,7 +1555,7 @@ msgstr "Document envoyé"
msgid "Document Signed"
msgstr "Document signé"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
msgid "Document signing process will be cancelled"
msgstr "Le processus de signature du document sera annulé"
@@ -1589,7 +1579,7 @@ msgstr "Document téléchargé"
msgid "Document Viewed"
msgstr "Document consulté"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
msgid "Document will be permanently deleted"
msgstr "Le document sera supprimé de manière permanente"
@@ -1609,7 +1599,7 @@ msgstr "Le document sera supprimé de manière permanente"
msgid "Documents"
msgstr "Documents"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
#: 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"
@@ -1644,14 +1634,6 @@ msgstr "Télécharger les journaux d'audit"
msgid "Download Certificate"
msgstr "Télécharger le certificat"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:114
#~ msgid "Download with Certificate"
#~ msgstr ""
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:118
#~ msgid "Download without 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"
@@ -1690,7 +1672,7 @@ msgstr "Dupliquer"
msgid "Edit"
msgstr "Modifier"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
msgid "Edit Template"
msgstr "Modifier le modèle"
@@ -1716,8 +1698,8 @@ msgstr "Divulgation de signature électronique"
#: 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:393
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
#: 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
@@ -1778,10 +1760,6 @@ msgstr "Activer la signature par lien direct"
msgid "Enable Direct Link Signing"
msgstr "Activer la signature par lien direct"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
msgid "Enable Typed Signature"
msgstr ""
#: 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
@@ -1828,9 +1806,9 @@ msgstr "Entrez votre texte ici"
#: 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:186
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256
#: 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
@@ -1852,9 +1830,8 @@ msgstr "Entrez votre texte ici"
#: 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:129
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:163
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:189
#: 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
@@ -1866,7 +1843,7 @@ msgstr "Erreur"
#~ msgid "Error updating global team settings"
#~ msgstr "Error updating global team settings"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
#: 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"
@@ -1882,7 +1859,7 @@ msgstr "Tout le monde a signé ! Vous recevrez une copie par email du document s
msgid "Exceeded timeout"
msgstr "Délai dépassé"
#: 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 "Expiré"
@@ -1924,8 +1901,8 @@ msgstr "Mot de passe oublié ?"
#: 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:378
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
#: 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"
@@ -2001,7 +1978,7 @@ msgid "Hey Im Timur"
msgstr "Salut, je suis Timur"
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
#: 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 "Cacher"
@@ -2047,10 +2024,6 @@ msgstr "Documents de la boîte de réception"
#~ msgid "Include Sender Details"
#~ msgstr "Include Sender Details"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
msgid "Include the Signing Certificate in the Document"
msgstr ""
#: 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"
@@ -2127,7 +2100,7 @@ msgid "Invoice"
msgstr "Facture"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:227
msgid "IP Address"
msgstr "Adresse IP"
@@ -2267,7 +2240,7 @@ msgstr "Gérer le profil de {0}"
msgid "Manage all teams you are currently associated with."
msgstr "Gérer toutes les équipes avec lesquelles vous êtes actuellement associé."
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
#: 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"
@@ -2434,8 +2407,8 @@ msgstr "Nouveau propriétaire d'équipe"
msgid "New Template"
msgstr "Nouveau modèle"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
#: 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 "Suivant"
@@ -2534,7 +2507,7 @@ msgstr "Sur cette page, vous pouvez créer de nouveaux webhooks et gérer ceux e
msgid "On this page, you can edit the webhook and its settings."
msgstr "Sur cette page, vous pouvez modifier le webhook et ses paramètres."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:134
msgid "Once confirmed, the following will occur:"
msgstr "Une fois confirmé, les éléments suivants se produiront :"
@@ -2542,11 +2515,11 @@ msgstr "Une fois confirmé, les éléments suivants se produiront :"
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
msgstr "Une fois que vous avez scanné le code QR ou saisi le code manuellement, entrez le code fourni par votre application d'authentification ci-dessous."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
#: 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:144
#: 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"
@@ -2710,7 +2683,7 @@ msgstr "Veuillez vérifier votre e-mail pour des mises à jour."
msgid "Please choose your new password"
msgstr "Veuillez choisir votre nouveau mot de passe"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:174
msgid "Please contact support if you would like to revert this action."
msgstr "Veuillez contacter le support si vous souhaitez annuler cette action."
@@ -2726,11 +2699,11 @@ msgstr "Veuillez marquer comme vu pour terminer"
msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder."
msgstr "Veuillez noter que la poursuite supprimera le destinataire de lien direct et le transformera en espace réservé."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:128
msgid "Please note that this action is <0>irreversible</0>."
msgstr "Veuillez noter que cette action est <0>irréversible</0>."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:119
msgid "Please note that this action is <0>irreversible</0>. Once confirmed, this document will be permanently deleted."
msgstr "Veuillez noter que cette action est <0>irréversible</0>. Une fois confirmée, ce document sera définitivement supprimé."
@@ -2778,10 +2751,6 @@ msgstr "Veuillez réessayer plus tard ou connectez-vous avec vos informations no
msgid "Please try again later."
msgstr "Veuillez réessayer plus tard."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:186
msgid "Please type {0} to confirm"
msgstr ""
#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:134
msgid "Please type <0>{0}</0> to confirm."
msgstr "Veuillez taper <0>{0}</0> pour confirmer."
@@ -2792,7 +2761,7 @@ msgstr "Veuillez taper <0>{0}</0> pour confirmer."
msgid "Preferences"
msgstr "Préférences"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
msgid "Preview"
msgstr "Aperçu"
@@ -2870,7 +2839,7 @@ msgstr "Lisez l'intégralité de la <0>divulgation de signature</0>."
msgid "Ready"
msgstr "Prêt"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
msgid "Reason"
msgstr "Raison"
@@ -2916,7 +2885,7 @@ msgstr "Destinataires"
msgid "Recipients metrics"
msgstr "Métriques des destinataires"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
msgid "Recipients will still retain their copy of the document"
msgstr "Les destinataires conservent toujours leur copie du document"
@@ -2997,7 +2966,7 @@ msgstr "Renvoyer l'e-mail de confirmation"
msgid "Resend verification"
msgstr "Renvoyer la vérification"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
#: apps/web/src/components/forms/public-profile-form.tsx:267
msgid "Reset"
msgstr "Réinitialiser"
@@ -3078,7 +3047,7 @@ msgstr "Rôles"
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
#: 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:313
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
msgid "Save"
msgstr "Sauvegarder"
@@ -3153,7 +3122,8 @@ msgstr "Envoyer l'e-mail de confirmation"
msgid "Send document"
msgstr "Envoyer le document"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
#: 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"
@@ -3174,7 +3144,7 @@ msgid "Sending..."
msgstr "Envoi..."
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
msgid "Sent"
msgstr "Envoyé"
@@ -3227,13 +3197,13 @@ msgstr "Afficher des modèles dans le profil public de votre équipe pour que vo
#: 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:313
#: 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 "Signer"
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:217
msgid "Sign as {0} <0>({1})</0>"
msgstr "Signer comme {0} <0>({1})</0>"
@@ -3241,8 +3211,8 @@ msgstr "Signer comme {0} <0>({1})</0>"
msgid "Sign as<0>{0} <1>({1})</1></0>"
msgstr "Signer comme<0>{0} <1>({1})</1></0>"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
msgid "Sign document"
msgstr "Signer le document"
@@ -3274,8 +3244,8 @@ msgstr "Connectez-vous à votre compte"
msgid "Sign Out"
msgstr "Déconnexion"
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
#: 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 "Signez le document pour terminer le processus."
@@ -3301,15 +3271,15 @@ msgstr "S'inscrire avec OIDC"
#: 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:247
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:282
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:408
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287
#: 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 "Signature"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
msgid "Signature ID"
msgstr "ID de signature"
@@ -3322,7 +3292,7 @@ msgid "Signatures will appear once the document has been completed"
msgstr "Les signatures apparaîtront une fois le document complété"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
#: 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 "Signé"
@@ -3335,7 +3305,7 @@ msgstr "Événements de signataire"
msgid "Signing Certificate"
msgstr "Certificat de signature"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
msgid "Signing certificate provided by"
msgstr "Certificat de signature fourni par"
@@ -3377,7 +3347,7 @@ msgstr "Paramètres du site"
#: 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:82
#: 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:51
@@ -3399,8 +3369,8 @@ msgstr "Paramètres du site"
#: 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:248
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
#: 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
@@ -3433,7 +3403,7 @@ msgstr "Quelque chose a mal tourné lors de l'envoi de l'e-mail de confirmation.
msgid "Something went wrong while updating the team billing subscription, please contact support."
msgstr "Quelque chose a mal tourné lors de la mise à jour de l'abonnement de l'équipe, veuillez contacter le support."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
msgid "Something went wrong!"
msgstr "Quelque chose a mal tourné !"
@@ -3501,7 +3471,7 @@ msgstr "Abonnements"
#: 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:67
#: 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
@@ -3532,8 +3502,8 @@ msgstr "Équipe"
msgid "Team checkout"
msgstr "Vérification de l'équipe"
#: 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 "Adresse e-mail de l'équipe"
@@ -3576,7 +3546,7 @@ msgid "Team Member"
msgstr "Membre de l'équipe"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
msgid "Team Name"
msgstr "Nom de l'équipe"
@@ -3629,7 +3599,7 @@ msgid "Team transfer request expired"
msgstr "Demande de transfert d'équipe expirée"
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
msgid "Team URL"
msgstr "URL de l'équipe"
@@ -3649,7 +3619,7 @@ msgstr "Équipes restreintes"
#: 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:145
#: 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"
@@ -3679,11 +3649,11 @@ msgstr "Le modèle a été mis à jour."
msgid "Template moved"
msgstr "Modèle déplacé"
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
msgid "Template saved"
msgstr "Modèle enregistré"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86
#: 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
@@ -3726,7 +3696,7 @@ msgstr "Le lien direct a été copié dans votre presse-papiers"
msgid "The document has been successfully moved to the selected team."
msgstr "Le document a été déplacé avec succès vers l'équipe sélectionnée."
#: apps/web/src/app/embed/completed.tsx:30
#: apps/web/src/app/embed/completed.tsx:29
msgid "The document is now completed, please follow any instructions provided within the parent application."
msgstr "Le document est maintenant complet, veuillez suivre toutes les instructions fournies dans l'application parente."
@@ -3738,7 +3708,7 @@ msgstr "Le propriétaire du document a été informé de votre décision. Il peu
msgid "The document was created but could not be sent to recipients."
msgstr "Le document a été créé mais n'a pas pu être envoyé aux destinataires."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161
msgid "The document will be hidden from your account"
msgstr "Le document sera caché de votre compte"
@@ -3871,7 +3841,7 @@ msgstr "Ils ont la permission en votre nom de:"
msgid "This action is not reversible. Please be certain."
msgstr "Cette action n'est pas réversible. Veuillez être sûr."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
#: 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 "Ce document n'a pas pu être supprimé pour le moment. Veuillez réessayer."
@@ -3935,7 +3905,7 @@ msgstr "Ce prix inclut un minimum de 5 sièges."
msgid "This session has expired. Please try again."
msgstr "Cette session a expiré. Veuillez réessayer."
#: 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 "Cette équipe, et toutes les données associées à l'exception des factures de facturation, seront définitivement supprimées."
@@ -3952,7 +3922,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new
msgstr "Ce jeton est invalide ou a expiré. Veuillez contacter votre équipe pour une nouvelle invitation."
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
msgid "This URL is already in use."
msgstr "Cette URL est déjà utilisée."
@@ -4085,13 +4055,13 @@ msgstr "transférer {teamName}"
msgid "Transfer ownership of this team to a selected team member."
msgstr "Transférer la propriété de cette équipe à un membre d'équipe sélectionné."
#: 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 "Transférer l'équipe"
#: 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 "Transférer la propriété de l'équipe à un autre membre de l'équipe."
@@ -4135,17 +4105,13 @@ msgid "Type"
msgstr "Type"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184
#~ msgid "Type 'delete' to confirm"
#~ msgstr "Tapez 'supprimer' pour confirmer"
msgid "Type 'delete' to confirm"
msgstr "Tapez 'supprimer' pour confirmer"
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:186
msgid "Type a command or search..."
msgstr "Tapez une commande ou recherchez..."
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:130
msgid "Typed signatures are not allowed. Please draw your signature."
msgstr ""
#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26
msgid "Uh oh! Looks like you're missing a token"
msgstr "Oh oh ! On dirait que vous manquez un jeton"
@@ -4238,10 +4204,10 @@ msgstr "Non autorisé"
msgid "Uncompleted"
msgstr "Non complet"
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284
#: 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"
@@ -4274,7 +4240,7 @@ msgstr "Mettre à jour la clé d'accès"
msgid "Update password"
msgstr "Mettre à jour le mot de passe"
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Update profile"
msgstr "Mettre à jour le profil"
@@ -4286,7 +4252,7 @@ msgstr "Mettre à jour le destinataire"
msgid "Update role"
msgstr "Mettre à jour le rôle"
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
msgid "Update team"
msgstr "Mettre à jour l'équipe"
@@ -4313,7 +4279,7 @@ msgstr "Mettre à jour le webhook"
msgid "Updating password..."
msgstr "Mise à jour du mot de passe..."
#: apps/web/src/components/forms/profile.tsx:151
#: apps/web/src/components/forms/profile.tsx:150
msgid "Updating profile..."
msgstr "Mise à jour du profil..."
@@ -4346,7 +4312,7 @@ msgstr "Le fichier téléchargé est trop petit"
msgid "Uploaded file not an allowed file type"
msgstr "Le fichier téléchargé n'est pas un type de fichier autorisé"
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170
msgid "Use"
msgstr "Utiliser"
@@ -4454,7 +4420,7 @@ msgstr "Voir les codes"
msgid "View Document"
msgstr "Voir le document"
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
msgid "View documents associated with this email"
msgstr "Voir les documents associés à cet e-mail"
@@ -4480,7 +4446,7 @@ msgid "View teams"
msgstr "Voir les équipes"
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
msgid "Viewed"
msgstr "Vu"
@@ -4640,7 +4606,7 @@ msgstr "Une erreur inconnue s'est produite lors de la mise à jour de votre mot
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
msgstr "Une erreur inconnue s'est produite lors de la mise à jour de votre profil public. Veuillez réessayer plus tard."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95
#: 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 "Une erreur inconnue s'est produite lors de la mise à jour de votre équipe. Veuillez réessayer plus tard."
@@ -4683,8 +4649,8 @@ msgid "We were unable to setup two-factor authentication for your account. Pleas
msgstr "Nous n'avons pas pu configurer l'authentification à deux facteurs pour votre compte. Veuillez vous assurer que vous avez correctement entré votre code et réessayez."
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
#: 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 "Nous n'avons pas pu soumettre ce document pour le moment. Veuillez réessayer plus tard."
@@ -4692,7 +4658,7 @@ msgstr "Nous n'avons pas pu soumettre ce document pour le moment. Veuillez rées
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:110
#: 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"
@@ -4817,7 +4783,7 @@ msgstr "Vous êtes sur le point de terminer la signature de \"{truncatedTitle}\"
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
msgstr "Vous êtes sur le point de terminer la visualisation de \"{truncatedTitle}\".<0/> Êtes-vous sûr?"
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:103
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
msgstr "Vous êtes sur le point de supprimer <0>\"{documentTitle}\"</0>"
@@ -4825,7 +4791,7 @@ msgstr "Vous êtes sur le point de supprimer <0>\"{documentTitle}\"</0>"
msgid "You are about to delete the following team email from <0>{teamName}</0>."
msgstr "Vous êtes sur le point de supprimer l'e-mail d'équipe suivant de <0>{teamName}</0>."
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:107
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
msgstr "Vous êtes sur le point de cacher <0>\"{documentTitle}\"</0>"
@@ -4877,7 +4843,7 @@ msgstr "Vous pouvez copier et partager ces liens avec les destinataires afin qu'
msgid "You can update the profile URL by updating the team URL in the general settings page."
msgstr "Vous pouvez mettre à jour l'URL de profil en mettant à jour l'URL de l'équipe dans la page des paramètres généraux."
#: 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 "Vous pouvez voir les documents associés à cet e-mail et utiliser cette identité lors de l'envoi de documents."
@@ -5075,7 +5041,7 @@ msgstr "Votre document a été téléchargé avec succès."
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
msgstr "Votre document a été téléchargé avec succès. Vous serez redirigé vers la page de modèle."
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104
#: 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"
@@ -5142,7 +5108,7 @@ msgstr "Votre équipe a été créée."
msgid "Your team has been successfully deleted."
msgstr "Votre équipe a été supprimée avec succès."
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
msgid "Your team has been successfully updated."
msgstr "Votre équipe a été mise à jour avec succès."
@@ -5158,7 +5124,7 @@ msgstr "Votre modèle a été supprimé avec succès."
msgid "Your template will be duplicated."
msgstr "Votre modèle sera dupliqué."
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224
msgid "Your templates has been saved successfully."
msgstr "Vos modèles ont été enregistrés avec succès."
@@ -5174,3 +5140,4 @@ msgstr "Votre jeton a été créé avec succès ! Assurez-vous de le copier car
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
msgid "Your tokens will be shown here once you create them."
msgstr "Vos jetons seront affichés ici une fois que vous les aurez créés."
+7 -7
View File
@@ -1,20 +1,20 @@
/* eslint-disable turbo/no-undeclared-env-vars */
import { NEXT_PUBLIC_WEBAPP_URL } from '../constants/app';
import { APP_BASE_URL } from '../constants/app';
export const getBaseUrl = () => {
if (typeof window !== 'undefined') {
return '';
}
const marketingAppUrl = APP_BASE_URL();
if (marketingAppUrl) {
return marketingAppUrl;
}
if (process.env.VERCEL_URL) {
return `https://${process.env.VERCEL_URL}`;
}
const webAppUrl = NEXT_PUBLIC_WEBAPP_URL();
if (webAppUrl) {
return webAppUrl;
}
return `http://localhost:${process.env.PORT ?? 3000}`;
};
+1 -2
View File
@@ -24,8 +24,7 @@ module.exports = {
plugins: [
'@trivago/prettier-plugin-sort-imports',
// !: Disabled until Prettier 3.x is supported.
// 'prettier-plugin-sql',
'prettier-plugin-sql',
'prettier-plugin-tailwindcss',
],
+5 -4
View File
@@ -7,9 +7,10 @@
"clean": "rimraf node_modules"
},
"dependencies": {
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.9"
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
"prettier": "^2.8.8",
"prettier-plugin-sql": "^0.14.0",
"prettier-plugin-tailwindcss": "^0.2.8"
},
"devDependencies": {}
}
}
@@ -1,2 +0,0 @@
-- AlterTable
ALTER TABLE "DocumentMeta" ALTER COLUMN "typedSignatureEnabled" SET DEFAULT true;
@@ -1,2 +0,0 @@
-- AlterTable
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "typedSignatureEnabled" BOOLEAN NOT NULL DEFAULT true;
@@ -1,2 +0,0 @@
-- AlterTable
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "includeSigningCertificate" BOOLEAN NOT NULL DEFAULT true;
@@ -1,7 +0,0 @@
-- Existing templates should not have this enabled by default.
-- AlterTable
ALTER TABLE "TemplateMeta" ADD COLUMN "typedSignatureEnabled" BOOLEAN NOT NULL DEFAULT false;
-- New templates should have this enabled by default.
-- AlterTable
ALTER TABLE "TemplateMeta" ALTER COLUMN "typedSignatureEnabled" SET DEFAULT true;
+18 -22
View File
@@ -374,7 +374,7 @@ model DocumentMeta {
document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
redirectUrl String?
signingOrder DocumentSigningOrder @default(PARALLEL)
typedSignatureEnabled Boolean @default(true)
typedSignatureEnabled Boolean @default(false)
language String @default("en")
distributionMethod DocumentDistributionMethod @default(EMAIL)
emailSettings Json?
@@ -511,12 +511,10 @@ enum TeamMemberInviteStatus {
}
model TeamGlobalSettings {
teamId Int @unique
documentVisibility DocumentVisibility @default(EVERYONE)
documentLanguage String @default("en")
includeSenderDetails Boolean @default(true)
typedSignatureEnabled Boolean @default(true)
includeSigningCertificate Boolean @default(true)
teamId Int @unique
documentVisibility DocumentVisibility @default(EVERYONE)
documentLanguage String @default("en")
includeSenderDetails Boolean @default(true)
brandingEnabled Boolean @default(false)
brandingLogo String @default("")
@@ -630,21 +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)
typedSignatureEnabled Boolean @default(true)
distributionMethod DocumentDistributionMethod @default(EMAIL)
templateId Int @unique
template Template @relation(fields: [templateId], references: [id], onDelete: Cascade)
redirectUrl String?
language String @default("en")
emailSettings Json?
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 {
+1 -4
View File
@@ -3,7 +3,7 @@ const { fontFamily } = require('tailwindcss/defaultTheme');
/** @type {import('tailwindcss').Config} */
module.exports = {
darkMode: ['variant', '&:is(.dark:not(.dark-mode-disabled) *)'],
darkMode: ['class'],
content: ['src/**/*.{ts,tsx}'],
theme: {
extend: {
@@ -108,9 +108,6 @@ module.exports = {
'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
},
borderRadius: {
DEFAULT: 'calc(var(--radius) - 3px)',
'2xl': 'calc(var(--radius) + 4px)',
xl: 'calc(var(--radius) + 2px)',
lg: 'var(--radius)',
md: 'calc(var(--radius) - 2px)',
sm: 'calc(var(--radius) - 4px)',
+1 -1
View File
@@ -11,7 +11,7 @@
"@tailwindcss/typography": "^0.5.9",
"autoprefixer": "^10.4.13",
"postcss": "^8.4.32",
"tailwindcss": "3.4.15",
"tailwindcss": "3.3.2",
"tailwindcss-animate": "^1.0.5"
},
"devDependencies": {},
+2 -2
View File
@@ -151,6 +151,8 @@ export const ZUpdateTeamMutationSchema = z.object({
data: z.object({
name: ZTeamNameSchema,
url: ZTeamUrlSchema,
documentVisibility: z.nativeEnum(DocumentVisibility).optional(),
includeSenderDetails: z.boolean().optional(),
}),
});
@@ -210,8 +212,6 @@ export const ZUpdateTeamDocumentSettingsMutationSchema = z.object({
.default(DocumentVisibility.EVERYONE),
documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES).optional().default('en'),
includeSenderDetails: z.boolean().optional().default(false),
typedSignatureEnabled: z.boolean().optional().default(true),
includeSigningCertificate: z.boolean().optional().default(true),
}),
});
@@ -35,7 +35,6 @@ import {
ZSetSigningOrderForTemplateMutationSchema,
ZToggleTemplateDirectLinkMutationSchema,
ZUpdateTemplateSettingsMutationSchema,
ZUpdateTemplateTypedSignatureSettingsMutationSchema,
} from './schema';
export const templateRouter = router({
@@ -360,48 +359,4 @@ export const templateRouter = router({
});
}
}),
updateTemplateTypedSignatureSettings: authenticatedProcedure
.input(ZUpdateTemplateTypedSignatureSettingsMutationSchema)
.mutation(async ({ input, ctx }) => {
try {
const { templateId, teamId, typedSignatureEnabled } = input;
const template = await getTemplateById({
id: templateId,
teamId,
userId: ctx.user.id,
}).catch(() => null);
if (!template) {
throw new TRPCError({
code: 'NOT_FOUND',
message: 'Template not found',
});
}
return await updateTemplateSettings({
templateId,
teamId,
userId: ctx.user.id,
data: {},
meta: {
typedSignatureEnabled,
},
requestMetadata: extractNextApiRequestMetadata(ctx.req),
});
} catch (err) {
console.error(err);
if (err instanceof TRPCError) {
throw err;
}
throw new TRPCError({
code: 'BAD_REQUEST',
message:
'We were unable to update the settings for this template. Please try again later.',
});
}
}),
});
@@ -114,7 +114,6 @@ export const ZUpdateTemplateSettingsMutationSchema = z.object({
'Please enter a valid URL, make sure you include http:// or https:// part of the url.',
}),
language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
typedSignatureEnabled: z.boolean().optional(),
})
.optional(),
});
@@ -139,12 +138,6 @@ export const ZMoveTemplatesToTeamSchema = z.object({
teamId: z.number(),
});
export const ZUpdateTemplateTypedSignatureSettingsMutationSchema = z.object({
templateId: z.number(),
teamId: z.number().optional(),
typedSignatureEnabled: z.boolean(),
});
export type TCreateTemplateMutationSchema = z.infer<typeof ZCreateTemplateMutationSchema>;
export type TCreateDocumentFromTemplateMutationSchema = z.infer<
typeof ZCreateDocumentFromTemplateMutationSchema
+1 -1
View File
@@ -34,7 +34,7 @@ const getCardClassNames = (
const baseClasses = 'field-card-container relative z-20 h-full w-full transition-all';
const insertedClasses =
'bg-primary/20 border-primary ring-primary/20 ring-offset-primary/20 ring-2 ring-offset-2 dark:shadow-none';
'bg-documenso/20 border-documenso ring-documenso-200 ring-offset-documenso-200 ring-2 ring-offset-2 dark:shadow-none';
const nonRequiredClasses =
'border-yellow-300 shadow-none ring-2 ring-yellow-100 ring-offset-2 ring-offset-yellow-100 dark:border-2';
const validatingClasses = 'border-orange-300 ring-1 ring-orange-300';
+1 -1
View File
@@ -74,7 +74,7 @@
"react-hook-form": "^7.45.4",
"react-pdf": "7.7.3",
"react-rnd": "^10.4.1",
"remeda": "^2.17.3",
"remeda": "^1.27.1",
"tailwind-merge": "^1.12.0",
"tailwindcss-animate": "^1.0.5",
"ts-pattern": "^5.0.5",
+3 -3
View File
@@ -36,11 +36,11 @@ const Card = React.forwardRef<HTMLDivElement, CardProps>(
className={cn(
'bg-background text-foreground group relative rounded-lg border-2 backdrop-blur-[2px]',
{
'gradient-border-mask before:pointer-events-none before:absolute before:-inset-[2px] before:rounded-lg before:p-[2px] before:[background:linear-gradient(var(--card-gradient-degrees),theme(colors.primary.DEFAULT/50%)_5%,theme(colors.border/80%)_30%)]':
'gradient-border-mask before:pointer-events-none before:absolute before:-inset-[2px] before:rounded-lg before:p-[2px] before:[background:linear-gradient(var(--card-gradient-degrees),theme(colors.documenso.DEFAULT/50%)_5%,theme(colors.border/80%)_30%)]':
gradient,
'dark:gradient-border-mask before:pointer-events-none before:absolute before:-inset-[2px] before:rounded-lg before:p-[2px] before:[background:linear-gradient(var(--card-gradient-degrees),theme(colors.primary.DEFAULT/70%)_5%,theme(colors.border/80%)_30%)]':
'dark:gradient-border-mask before:pointer-events-none before:absolute before:-inset-[2px] before:rounded-lg before:p-[2px] before:[background:linear-gradient(var(--card-gradient-degrees),theme(colors.documenso.DEFAULT/70%)_5%,theme(colors.border/80%)_30%)]':
gradient,
'shadow-[0_0_0_4px_theme(colors.gray.100/70%),0_0_0_1px_theme(colors.gray.100/70%),0_0_0_0.5px_var(colors.primary.DEFAULT/70%)]':
'shadow-[0_0_0_4px_theme(colors.gray.100/70%),0_0_0_1px_theme(colors.gray.100/70%),0_0_0_0.5px_theme(colors.primary.DEFAULT/70%)]':
true,
'dark:shadow-[0]': true,
},
@@ -141,7 +141,7 @@ export const RadioFieldAdvancedSettings = ({
{values.map((value) => (
<div key={value.id} className="mt-2 flex items-center gap-4">
<Checkbox
className="data-[state=checked]:bg-documenso border-foreground/30 data-[state=checked]:ring-primary dark:data-[state=checked]:ring-offset-background h-5 w-5 rounded-full data-[state=checked]:ring-1 data-[state=checked]:ring-offset-2 data-[state=checked]:ring-offset-white"
className="data-[state=checked]:bg-documenso border-foreground/30 data-[state=checked]:ring-documenso dark:data-[state=checked]:ring-offset-background h-5 w-5 rounded-full data-[state=checked]:ring-1 data-[state=checked]:ring-offset-2 data-[state=checked]:ring-offset-white"
checked={value.checked}
onCheckedChange={(checked) => handleCheckedChange(Boolean(checked), value.id)}
/>
@@ -38,7 +38,6 @@ export type SignaturePadProps = Omit<HTMLAttributes<HTMLCanvasElement>, 'onChang
containerClassName?: string;
disabled?: boolean;
allowTypedSignature?: boolean;
defaultValue?: string;
};
export const SignaturePad = ({
@@ -57,7 +56,7 @@ export const SignaturePad = ({
const [lines, setLines] = useState<Point[][]>([]);
const [currentLine, setCurrentLine] = useState<Point[]>([]);
const [selectedColor, setSelectedColor] = useState('black');
const [typedSignature, setTypedSignature] = useState(defaultValue ?? '');
const [typedSignature, setTypedSignature] = useState('');
const perfectFreehandOptions = useMemo(() => {
const size = $el.current ? Math.min($el.current.height, $el.current.width) * 0.03 : 10;
@@ -207,7 +206,6 @@ export const SignaturePad = ({
if (ctx) {
const canvasWidth = $el.current.width;
const canvasHeight = $el.current.height;
const fontFamily = String(fontCaveat.style.fontFamily);
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
ctx.textAlign = 'center';
@@ -219,7 +217,7 @@ export const SignaturePad = ({
// Start with a base font size
let fontSize = 18;
ctx.font = `${fontSize}px ${fontFamily}`;
ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`;
// Measure 10 characters and calculate scale factor
const characterWidth = ctx.measureText('m'.repeat(10)).width;
@@ -229,7 +227,7 @@ export const SignaturePad = ({
fontSize = fontSize * scaleFactor;
// Adjust font size if it exceeds canvas width
ctx.font = `${fontSize}px ${fontFamily}`;
ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`;
const textWidth = ctx.measureText(typedSignature).width;
@@ -238,7 +236,7 @@ export const SignaturePad = ({
}
// Set final font and render text
ctx.font = `${fontSize}px ${fontFamily}`;
ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`;
ctx.fillText(typedSignature, canvasWidth / 2, canvasHeight / 2);
}
}
@@ -249,7 +247,7 @@ export const SignaturePad = ({
setTypedSignature(newValue);
if (newValue.trim() !== '') {
onChange?.(newValue);
onChange?.($el.current?.toDataURL() || null);
} else {
onChange?.(null);
}
@@ -258,7 +256,7 @@ export const SignaturePad = ({
useEffect(() => {
if (typedSignature.trim() !== '') {
renderTypedSignature();
onChange?.(typedSignature);
onChange?.($el.current?.toDataURL() || null);
} else {
onClearClick();
}
@@ -305,10 +303,6 @@ export const SignaturePad = ({
$el.current.width = $el.current.clientWidth * DPI;
$el.current.height = $el.current.clientHeight * DPI;
}
if (defaultValue && typedSignature) {
renderTypedSignature();
}
}, []);
unsafe_useEffectOnce(() => {
@@ -55,10 +55,8 @@ import { FRIENDLY_FIELD_TYPE } from '@documenso/ui/primitives/document-flow/type
import { Popover, PopoverContent, PopoverTrigger } from '@documenso/ui/primitives/popover';
import { getSignerColorStyles, useSignerColors } from '../../lib/signer-colors';
import { Checkbox } from '../checkbox';
import type { FieldFormType } from '../document-flow/add-fields';
import { FieldAdvancedSettings } from '../document-flow/field-item-advanced-settings';
import { Form, FormControl, FormField, FormItem, FormLabel } from '../form/form';
import { useStep } from '../stepper';
import type { TAddTemplateFieldsFormSchema } from './add-template-fields.types';
@@ -82,7 +80,6 @@ export type AddTemplateFieldsFormProps = {
fields: Field[];
onSubmit: (_data: TAddTemplateFieldsFormSchema) => void;
teamId?: number;
typedSignatureEnabled?: boolean;
};
export const AddTemplateFieldsFormPartial = ({
@@ -92,7 +89,6 @@ export const AddTemplateFieldsFormPartial = ({
fields,
onSubmit,
teamId,
typedSignatureEnabled,
}: AddTemplateFieldsFormProps) => {
const { _ } = useLingui();
@@ -101,7 +97,13 @@ export const AddTemplateFieldsFormPartial = ({
const [showAdvancedSettings, setShowAdvancedSettings] = useState(false);
const [currentField, setCurrentField] = useState<FieldFormType>();
const form = useForm<TAddTemplateFieldsFormSchema>({
const {
control,
handleSubmit,
formState: { isSubmitting },
setValue,
getValues,
} = useForm<TAddTemplateFieldsFormSchema>({
defaultValues: {
fields: fields.map((field) => ({
nativeId: field.id,
@@ -119,14 +121,13 @@ export const AddTemplateFieldsFormPartial = ({
recipients.find((recipient) => recipient.id === field.recipientId)?.token ?? '',
fieldMeta: field.fieldMeta ? ZFieldMetaSchema.parse(field.fieldMeta) : undefined,
})),
typedSignatureEnabled: typedSignatureEnabled ?? false,
},
});
const onFormSubmit = form.handleSubmit(onSubmit);
const onFormSubmit = handleSubmit(onSubmit);
const handleSavedFieldSettings = (fieldState: FieldMeta) => {
const initialValues = form.getValues();
const initialValues = getValues();
const updatedFields = initialValues.fields.map((field) => {
if (field.formId === currentField?.formId) {
@@ -141,7 +142,7 @@ export const AddTemplateFieldsFormPartial = ({
return field;
});
form.setValue('fields', updatedFields);
setValue('fields', updatedFields);
};
const {
@@ -150,7 +151,7 @@ export const AddTemplateFieldsFormPartial = ({
update,
fields: localFields,
} = useFieldArray({
control: form.control,
control,
name: 'fields',
});
@@ -401,12 +402,6 @@ export const AddTemplateFieldsFormPartial = ({
setShowAdvancedSettings((prev) => !prev);
};
const isTypedSignatureEnabled = form.watch('typedSignatureEnabled');
const handleTypedSignatureChange = (value: boolean) => {
form.setValue('typedSignatureEnabled', value, { shouldDirty: true });
};
return (
<>
{showAdvancedSettings && currentField ? (
@@ -573,334 +568,305 @@ export const AddTemplateFieldsFormPartial = ({
</Popover>
)}
<Form {...form}>
<FormField
control={form.control}
name="typedSignatureEnabled"
render={({ field: { value, ...field } }) => (
<FormItem className="mb-6 flex flex-row items-center space-x-2 space-y-0">
<FormControl>
<Checkbox
{...field}
id="typedSignatureEnabled"
checkClassName="text-white"
checked={value}
onCheckedChange={(checked) => field.onChange(checked)}
disabled={form.formState.isSubmitting}
/>
</FormControl>
<FormLabel
htmlFor="typedSignatureEnabled"
className="text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
>
<Trans>Enable Typed Signatures</Trans>
</FormLabel>
</FormItem>
)}
/>
<div className="-mx-2 flex-1 overflow-y-auto px-2">
<fieldset className="my-2 grid grid-cols-3 gap-4">
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.SIGNATURE)}
onMouseDown={() => setSelectedField(FieldType.SIGNATURE)}
data-selected={selectedField === FieldType.SIGNATURE ? true : undefined}
<div className="-mx-2 flex-1 overflow-y-auto px-2">
<fieldset className="my-2 grid grid-cols-3 gap-4">
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.SIGNATURE)}
onMouseDown={() => setSelectedField(FieldType.SIGNATURE)}
data-selected={selectedField === FieldType.SIGNATURE ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="flex flex-col items-center justify-center px-6 py-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-lg font-normal',
fontCaveat.className,
)}
>
<Trans>Signature</Trans>
</p>
</CardContent>
</Card>
</button>
<CardContent className="flex flex-col items-center justify-center px-6 py-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-lg font-normal',
fontCaveat.className,
)}
>
<Trans>Signature</Trans>
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.INITIALS)}
onMouseDown={() => setSelectedField(FieldType.INITIALS)}
data-selected={selectedField === FieldType.INITIALS ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.INITIALS)}
onMouseDown={() => setSelectedField(FieldType.INITIALS)}
data-selected={selectedField === FieldType.INITIALS ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="flex flex-col items-center justify-center px-6 py-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Contact className="h-4 w-4" />
Initials
</p>
</CardContent>
</Card>
</button>
<CardContent className="flex flex-col items-center justify-center px-6 py-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Contact className="h-4 w-4" />
Initials
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.EMAIL)}
onMouseDown={() => setSelectedField(FieldType.EMAIL)}
data-selected={selectedField === FieldType.EMAIL ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.EMAIL)}
onMouseDown={() => setSelectedField(FieldType.EMAIL)}
data-selected={selectedField === FieldType.EMAIL ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Mail className="h-4 w-4" />
<Trans>Email</Trans>
</p>
</CardContent>
</Card>
</button>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Mail className="h-4 w-4" />
<Trans>Email</Trans>
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.NAME)}
onMouseDown={() => setSelectedField(FieldType.NAME)}
data-selected={selectedField === FieldType.NAME ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.NAME)}
onMouseDown={() => setSelectedField(FieldType.NAME)}
data-selected={selectedField === FieldType.NAME ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<User className="h-4 w-4" />
<Trans>Name</Trans>
</p>
</CardContent>
</Card>
</button>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<User className="h-4 w-4" />
<Trans>Name</Trans>
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.DATE)}
onMouseDown={() => setSelectedField(FieldType.DATE)}
data-selected={selectedField === FieldType.DATE ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.DATE)}
onMouseDown={() => setSelectedField(FieldType.DATE)}
data-selected={selectedField === FieldType.DATE ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<CalendarDays className="h-4 w-4" />
<Trans>Date</Trans>
</p>
</CardContent>
</Card>
</button>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<CalendarDays className="h-4 w-4" />
<Trans>Date</Trans>
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.TEXT)}
onMouseDown={() => setSelectedField(FieldType.TEXT)}
data-selected={selectedField === FieldType.TEXT ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.TEXT)}
onMouseDown={() => setSelectedField(FieldType.TEXT)}
data-selected={selectedField === FieldType.TEXT ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Type className="h-4 w-4" />
<Trans>Text</Trans>
</p>
</CardContent>
</Card>
</button>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Type className="h-4 w-4" />
<Trans>Text</Trans>
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.NUMBER)}
onMouseDown={() => setSelectedField(FieldType.NUMBER)}
data-selected={selectedField === FieldType.NUMBER ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.NUMBER)}
onMouseDown={() => setSelectedField(FieldType.NUMBER)}
data-selected={selectedField === FieldType.NUMBER ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Hash className="h-4 w-4" />
<Trans>Number</Trans>
</p>
</CardContent>
</Card>
</button>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Hash className="h-4 w-4" />
<Trans>Number</Trans>
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.RADIO)}
onMouseDown={() => setSelectedField(FieldType.RADIO)}
data-selected={selectedField === FieldType.RADIO ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.RADIO)}
onMouseDown={() => setSelectedField(FieldType.RADIO)}
data-selected={selectedField === FieldType.RADIO ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Disc className="h-4 w-4" />
Radio
</p>
</CardContent>
</Card>
</button>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<Disc className="h-4 w-4" />
<Trans>Radio</Trans>
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.CHECKBOX)}
onMouseDown={() => setSelectedField(FieldType.CHECKBOX)}
data-selected={selectedField === FieldType.CHECKBOX ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.CHECKBOX)}
onMouseDown={() => setSelectedField(FieldType.CHECKBOX)}
data-selected={selectedField === FieldType.CHECKBOX ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<CheckSquare className="h-4 w-4" />
{/* Not translated on purpose. */}
Checkbox
</p>
</CardContent>
</Card>
</button>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<CheckSquare className="h-4 w-4" />
Checkbox
</p>
</CardContent>
</Card>
</button>
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.DROPDOWN)}
onMouseDown={() => setSelectedField(FieldType.DROPDOWN)}
data-selected={selectedField === FieldType.DROPDOWN ? true : undefined}
<button
type="button"
className="group h-full w-full"
onClick={() => setSelectedField(FieldType.DROPDOWN)}
onMouseDown={() => setSelectedField(FieldType.DROPDOWN)}
data-selected={selectedField === FieldType.DROPDOWN ? true : undefined}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<Card
className={cn(
'flex h-full w-full cursor-pointer items-center justify-center group-disabled:opacity-50',
// selectedSignerStyles.borderClass,
)}
>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<ChevronDown className="h-4 w-4" />
<Trans>Dropdown</Trans>
</p>
</CardContent>
</Card>
</button>
</fieldset>
</div>
</Form>
{hasErrors && (
<div className="mt-4">
<ul>
<li className="text-sm text-red-500">
<Trans>
To proceed further, please set at least one value for the{' '}
{emptyCheckboxFields.length > 0
? 'Checkbox'
: emptyRadioFields.length > 0
? 'Radio'
: 'Select'}{' '}
field.
</Trans>
</li>
</ul>
</div>
)}
<DocumentFlowFormContainerFooter>
<DocumentFlowFormContainerStep step={currentStep} maxStep={totalSteps} />
<DocumentFlowFormContainerActions
loading={form.formState.isSubmitting}
disabled={form.formState.isSubmitting}
goNextLabel={msg`Save Template`}
disableNextStep={hasErrors}
onGoBackClick={() => {
previousStep();
remove();
}}
onGoNextClick={() => void onFormSubmit()}
/>
</DocumentFlowFormContainerFooter>
<CardContent className="p-4">
<p
className={cn(
'text-muted-foreground group-data-[selected]:text-foreground flex items-center justify-center gap-x-1.5 text-sm font-normal',
)}
>
<ChevronDown className="h-4 w-4" />
<Trans>Dropdown</Trans>
</p>
</CardContent>
</Card>
</button>
</fieldset>
</div>
</div>
</DocumentFlowFormContainerContent>
{hasErrors && (
<div className="mt-4">
<ul>
<li className="text-sm text-red-500">
<Trans>
To proceed further, please set at least one value for the{' '}
{emptyCheckboxFields.length > 0
? 'Checkbox'
: emptyRadioFields.length > 0
? 'Radio'
: 'Select'}{' '}
field.
</Trans>
</li>
</ul>
</div>
)}
<DocumentFlowFormContainerFooter>
<DocumentFlowFormContainerStep step={currentStep} maxStep={totalSteps} />
<DocumentFlowFormContainerActions
loading={isSubmitting}
disabled={isSubmitting}
goNextLabel={msg`Save Template`}
disableNextStep={hasErrors}
onGoBackClick={() => {
previousStep();
remove();
}}
onGoNextClick={() => void onFormSubmit()}
/>
</DocumentFlowFormContainerFooter>
</>
)}
</>
@@ -20,7 +20,6 @@ export const ZAddTemplateFieldsFormSchema = z.object({
fieldMeta: ZFieldMetaSchema,
}),
),
typedSignatureEnabled: z.boolean(),
});
export type TAddTemplateFieldsFormSchema = z.infer<typeof ZAddTemplateFieldsFormSchema>;
+1 -1
View File
@@ -138,7 +138,7 @@
--new-surface-white: 0, 0%, 91%;
}
.dark:not(.dark-mode-disabled) {
.dark {
--background: 0 0% 14.9%;
--foreground: 0 0% 97%;