mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 08:13:56 +10:00
Compare commits
6 Commits
chore/open
...
v1.8.1-rc.
| Author | SHA1 | Date | |
|---|---|---|---|
| 337bdb3553 | |||
| ab654a63d8 | |||
| dcb7c2436f | |||
| fa33f83696 | |||
| b15e1d6c47 | |||
| cd5adce7df |
@ -27,9 +27,6 @@
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^18",
|
||||
"@types/react-dom": "^18",
|
||||
"autoprefixer": "^10.0.1",
|
||||
"postcss": "^8",
|
||||
"tailwindcss": "^3.3.0",
|
||||
"typescript": "^5"
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@documenso/marketing",
|
||||
"version": "1.8.1-rc.0",
|
||||
"version": "1.8.1-rc.1",
|
||||
"private": true,
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
|
||||
@ -6,7 +6,6 @@ import { z } from 'zod';
|
||||
|
||||
import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
|
||||
import { getCompletedDocumentsMonthly } from '@documenso/lib/server-only/user/get-monthly-completed-document';
|
||||
import { getSignerConversionMonthly } from '@documenso/lib/server-only/user/get-signer-conversion';
|
||||
import { getUserMonthlyGrowth } from '@documenso/lib/server-only/user/get-user-monthly-growth';
|
||||
|
||||
import { FUNDING_RAISED } from '~/app/(marketing)/open/data';
|
||||
@ -20,7 +19,6 @@ import { MonthlyCompletedDocumentsChart } from './monthly-completed-documents-ch
|
||||
import { MonthlyNewUsersChart } from './monthly-new-users-chart';
|
||||
import { MonthlyTotalUsersChart } from './monthly-total-users-chart';
|
||||
import { SalaryBands } from './salary-bands';
|
||||
import { SignerConversionChart } from './signer-conversion-chart';
|
||||
import { TeamMembers } from './team-members';
|
||||
import { OpenPageTooltip } from './tooltip';
|
||||
import { TotalSignedDocumentsChart } from './total-signed-documents-chart';
|
||||
@ -145,7 +143,6 @@ export default async function OpenPage() {
|
||||
EARLY_ADOPTERS_DATA,
|
||||
MONTHLY_USERS,
|
||||
MONTHLY_COMPLETED_DOCUMENTS,
|
||||
MONTHLY_SIGNER_CONVERSION,
|
||||
] = await Promise.all([
|
||||
fetchGithubStats(),
|
||||
fetchOpenIssues(),
|
||||
@ -154,7 +151,6 @@ export default async function OpenPage() {
|
||||
fetchEarlyAdopters(),
|
||||
getUserMonthlyGrowth(),
|
||||
getCompletedDocumentsMonthly(),
|
||||
getSignerConversionMonthly(),
|
||||
]);
|
||||
|
||||
return (
|
||||
@ -285,17 +281,6 @@ export default async function OpenPage() {
|
||||
data={MONTHLY_COMPLETED_DOCUMENTS}
|
||||
className="col-span-12 lg:col-span-6"
|
||||
/>
|
||||
<SignerConversionChart
|
||||
className="col-span-12 lg:col-span-6"
|
||||
title={_(msg`Signers that Signed Up`)}
|
||||
data={MONTHLY_SIGNER_CONVERSION}
|
||||
/>
|
||||
<SignerConversionChart
|
||||
className="col-span-12 lg:col-span-6"
|
||||
title={_(msg`Total Signers that Signed Up`)}
|
||||
data={MONTHLY_SIGNER_CONVERSION}
|
||||
cumulative
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,64 +0,0 @@
|
||||
'use client';
|
||||
|
||||
import { DateTime } from 'luxon';
|
||||
import { Bar, BarChart, ResponsiveContainer, Tooltip, XAxis, YAxis } from 'recharts';
|
||||
|
||||
import type { GetSignerConversionMonthlyResult } from '@documenso/lib/server-only/user/get-signer-conversion';
|
||||
|
||||
export type SignerConversionChartProps = {
|
||||
className?: string;
|
||||
title: string;
|
||||
cumulative?: boolean;
|
||||
data: GetSignerConversionMonthlyResult;
|
||||
};
|
||||
|
||||
export const SignerConversionChart = ({
|
||||
className,
|
||||
data,
|
||||
title,
|
||||
cumulative = false,
|
||||
}: SignerConversionChartProps) => {
|
||||
const formattedData = [...data].reverse().map(({ month, count, cume_count }) => {
|
||||
return {
|
||||
month: DateTime.fromFormat(month, 'yyyy-MM').toFormat('MMM yyyy'),
|
||||
count: Number(count),
|
||||
signed_count: Number(cume_count),
|
||||
};
|
||||
});
|
||||
|
||||
return (
|
||||
<div className={className}>
|
||||
<div className="border-border flex flex-1 flex-col justify-center rounded-2xl border p-6 pl-2">
|
||||
<div className="mb-6 flex px-4">
|
||||
<h3 className="text-lg font-semibold">{title}</h3>
|
||||
</div>
|
||||
|
||||
<ResponsiveContainer width="100%" height={400}>
|
||||
<BarChart data={formattedData}>
|
||||
<XAxis dataKey="month" />
|
||||
<YAxis />
|
||||
|
||||
<Tooltip
|
||||
labelStyle={{
|
||||
color: 'hsl(var(--primary-foreground))',
|
||||
}}
|
||||
formatter={(value) => [
|
||||
Number(value).toLocaleString('en-US'),
|
||||
cumulative ? 'Total Signers' : 'Monthly Signers',
|
||||
]}
|
||||
cursor={{ fill: 'hsl(var(--primary) / 10%)' }}
|
||||
/>
|
||||
|
||||
<Bar
|
||||
dataKey={cumulative ? 'signed_count' : 'count'}
|
||||
fill="hsl(var(--primary))"
|
||||
radius={[4, 4, 0, 0]}
|
||||
maxBarSize={60}
|
||||
name={cumulative ? 'Total Signers' : 'Monthly Signers'}
|
||||
/>
|
||||
</BarChart>
|
||||
</ResponsiveContainer>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@documenso/web",
|
||||
"version": "1.8.1-rc.0",
|
||||
"version": "1.8.1-rc.1",
|
||||
"private": true,
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
@ -28,6 +28,7 @@
|
||||
"@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",
|
||||
@ -53,7 +54,7 @@
|
||||
"react-icons": "^4.11.0",
|
||||
"react-rnd": "^10.4.1",
|
||||
"recharts": "^2.7.2",
|
||||
"remeda": "^2.12.1",
|
||||
"remeda": "^2.17.3",
|
||||
"sharp": "0.32.6",
|
||||
"ts-pattern": "^5.0.5",
|
||||
"ua-parser-js": "^1.0.37",
|
||||
|
||||
@ -145,10 +145,7 @@ export default async function AdminStatsPage() {
|
||||
msg`Monthly Active Users: Users that had at least one of their documents completed`,
|
||||
)}
|
||||
/>
|
||||
<SignerConversionChart
|
||||
title={_(msg`Signers that Signed Up`)}
|
||||
data={signerConversionMonthly}
|
||||
/>
|
||||
<SignerConversionChart title="Signers that Signed Up" data={signerConversionMonthly} />
|
||||
<SignerConversionChart
|
||||
title={_(msg`Total Signers that Signed Up`)}
|
||||
data={signerConversionMonthly}
|
||||
|
||||
@ -47,6 +47,8 @@ export const DeleteDocumentDialog = ({
|
||||
const { refreshLimits } = useLimits();
|
||||
const { _ } = useLingui();
|
||||
|
||||
const deleteMessage = msg`delete`;
|
||||
|
||||
const [inputValue, setInputValue] = useState('');
|
||||
const [isDeleteEnabled, setIsDeleteEnabled] = useState(status === DocumentStatus.DRAFT);
|
||||
|
||||
@ -87,7 +89,7 @@ export const DeleteDocumentDialog = ({
|
||||
|
||||
const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
setInputValue(event.target.value);
|
||||
setIsDeleteEnabled(event.target.value === _(msg`delete`));
|
||||
setIsDeleteEnabled(event.target.value === _(deleteMessage));
|
||||
};
|
||||
|
||||
return (
|
||||
@ -181,7 +183,7 @@ export const DeleteDocumentDialog = ({
|
||||
type="text"
|
||||
value={inputValue}
|
||||
onChange={onInputChange}
|
||||
placeholder={_(msg`Type 'delete' to confirm`)}
|
||||
placeholder={_(msg`Please type ${`'${_(deleteMessage)}'`} to confirm`)}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
@ -141,6 +141,23 @@ 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({
|
||||
@ -211,6 +228,12 @@ 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);
|
||||
@ -225,14 +248,13 @@ 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 signers.`),
|
||||
description: _(msg`An error occurred while adding fields.`),
|
||||
variant: 'destructive',
|
||||
});
|
||||
}
|
||||
@ -301,6 +323,7 @@ export const EditTemplateForm = ({
|
||||
fields={fields}
|
||||
onSubmit={onAddFieldsFormSubmit}
|
||||
teamId={team?.id}
|
||||
typedSignatureEnabled={template.templateMeta?.typedSignatureEnabled}
|
||||
/>
|
||||
</Stepper>
|
||||
</DocumentFlowFormContainer>
|
||||
|
||||
@ -73,7 +73,6 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps)
|
||||
|
||||
const mockedDocumentMeta = templateMeta
|
||||
? {
|
||||
typedSignatureEnabled: false,
|
||||
...templateMeta,
|
||||
signingOrder: templateMeta.signingOrder || DocumentSigningOrder.SEQUENTIAL,
|
||||
documentId: 0,
|
||||
@ -155,7 +154,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,11 +209,19 @@ 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>
|
||||
)}
|
||||
</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,
|
||||
typedSignature: null,
|
||||
};
|
||||
signatureImageAsBase64: value.value.startsWith('data:') ? value.value : null,
|
||||
typedSignature: value.value.startsWith('data:') ? null : value.value,
|
||||
} satisfies Signature;
|
||||
}
|
||||
|
||||
if (field.type === FieldType.DATE) {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
|
||||
import { createContext, useContext, useState } from 'react';
|
||||
import { createContext, useContext, useEffect, useState } from 'react';
|
||||
|
||||
export type SigningContextValue = {
|
||||
fullName: string;
|
||||
@ -44,6 +44,12 @@ 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 { useMemo, useState, useTransition } from 'react';
|
||||
import { useLayoutEffect, useMemo, useRef, useState, useTransition } from 'react';
|
||||
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
@ -51,6 +51,10 @@ 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();
|
||||
|
||||
@ -108,6 +112,7 @@ export const SignatureField = ({
|
||||
actionTarget: field.type,
|
||||
});
|
||||
};
|
||||
|
||||
const onSign = async (authOptions?: TRecipientActionAuth, signature?: string) => {
|
||||
try {
|
||||
const value = signature || providedSignature;
|
||||
@ -117,11 +122,23 @@ 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: true,
|
||||
isBase64: !isTypedSignature,
|
||||
authOptions,
|
||||
};
|
||||
|
||||
@ -176,6 +193,41 @@ 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}
|
||||
@ -205,10 +257,15 @@ export const SignatureField = ({
|
||||
)}
|
||||
|
||||
{state === 'signed-text' && (
|
||||
<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 */}
|
||||
<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>
|
||||
)}
|
||||
|
||||
<Dialog open={showSignatureModal} onOpenChange={setShowSignatureModal}>
|
||||
|
||||
@ -52,13 +52,7 @@ 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}
|
||||
documentVisibility={team.teamGlobalSettings?.documentVisibility}
|
||||
includeSenderDetails={team.teamGlobalSettings?.includeSenderDetails}
|
||||
/>
|
||||
<UpdateTeamForm teamId={team.id} teamName={team.name} teamUrl={team.url} />
|
||||
|
||||
<section className="mt-6 space-y-6">
|
||||
{(team.teamEmail || team.emailVerification) && (
|
||||
|
||||
@ -39,6 +39,8 @@ 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>;
|
||||
@ -68,6 +70,8 @@ export const TeamDocumentPreferencesForm = ({
|
||||
? settings?.documentLanguage
|
||||
: 'en',
|
||||
includeSenderDetails: settings?.includeSenderDetails ?? false,
|
||||
typedSignatureEnabled: settings?.typedSignatureEnabled ?? true,
|
||||
includeSigningCertificate: settings?.includeSigningCertificate ?? true,
|
||||
},
|
||||
resolver: zodResolver(ZTeamDocumentPreferencesFormSchema),
|
||||
});
|
||||
@ -76,7 +80,13 @@ export const TeamDocumentPreferencesForm = ({
|
||||
|
||||
const onSubmit = async (data: TTeamDocumentPreferencesFormSchema) => {
|
||||
try {
|
||||
const { documentVisibility, documentLanguage, includeSenderDetails } = data;
|
||||
const {
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
includeSigningCertificate,
|
||||
typedSignatureEnabled,
|
||||
} = data;
|
||||
|
||||
await updateTeamDocumentPreferences({
|
||||
teamId: team.id,
|
||||
@ -84,6 +94,8 @@ export const TeamDocumentPreferencesForm = ({
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
typedSignatureEnabled,
|
||||
includeSigningCertificate,
|
||||
},
|
||||
});
|
||||
|
||||
@ -105,7 +117,7 @@ export const TeamDocumentPreferencesForm = ({
|
||||
<Form {...form}>
|
||||
<form onSubmit={form.handleSubmit(onSubmit)}>
|
||||
<fieldset
|
||||
className="flex h-full max-w-xl flex-col gap-y-4"
|
||||
className="flex h-full max-w-xl flex-col gap-y-6"
|
||||
disabled={form.formState.isSubmitting}
|
||||
>
|
||||
<FormField
|
||||
@ -227,6 +239,67 @@ 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>
|
||||
|
||||
@ -1,8 +1,12 @@
|
||||
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({}),
|
||||
});
|
||||
|
||||
@ -10,6 +10,7 @@ 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
apps/web/src/app/embed/css-vars.ts
Normal file
59
apps/web/src/app/embed/css-vars.ts
Normal file
@ -0,0 +1,59 @@
|
||||
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, useState } from 'react';
|
||||
import { useEffect, useLayoutEffect, 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, TemplateMeta } from '@documenso/prisma/client';
|
||||
import type { DocumentMeta, Recipient, Signature, TemplateMeta } from '@documenso/prisma/client';
|
||||
import { type DocumentData, type Field, FieldType } from '@documenso/prisma/client';
|
||||
import { trpc } from '@documenso/trpc/react';
|
||||
import type {
|
||||
@ -38,6 +38,7 @@ 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 = {
|
||||
@ -47,6 +48,8 @@ export type EmbedDirectTemplateClientPageProps = {
|
||||
recipient: Recipient;
|
||||
fields: Field[];
|
||||
metadata?: DocumentMeta | TemplateMeta | null;
|
||||
hidePoweredBy?: boolean;
|
||||
isPlatformOrEnterprise?: boolean;
|
||||
};
|
||||
|
||||
export const EmbedDirectTemplateClientPage = ({
|
||||
@ -56,6 +59,8 @@ export const EmbedDirectTemplateClientPage = ({
|
||||
recipient,
|
||||
fields,
|
||||
metadata,
|
||||
hidePoweredBy = false,
|
||||
isPlatformOrEnterprise = false,
|
||||
}: EmbedDirectTemplateClientPageProps) => {
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
@ -108,9 +113,9 @@ export const EmbedDirectTemplateClientPage = ({
|
||||
created: new Date(),
|
||||
recipientId: 1,
|
||||
fieldId: 1,
|
||||
signatureImageAsBase64: payload.value,
|
||||
typedSignature: null,
|
||||
};
|
||||
signatureImageAsBase64: payload.value.startsWith('data:') ? payload.value : null,
|
||||
typedSignature: payload.value.startsWith('data:') ? null : payload.value,
|
||||
} satisfies Signature;
|
||||
}
|
||||
|
||||
if (field.type === FieldType.DATE) {
|
||||
@ -249,7 +254,7 @@ export const EmbedDirectTemplateClientPage = ({
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
useLayoutEffect(() => {
|
||||
const hash = window.location.hash.slice(1);
|
||||
|
||||
try {
|
||||
@ -264,6 +269,17 @@ 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);
|
||||
}
|
||||
@ -296,8 +312,8 @@ export const EmbedDirectTemplateClientPage = ({
|
||||
fieldId: 1,
|
||||
recipientId: 1,
|
||||
created: new Date(),
|
||||
typedSignature: null,
|
||||
signatureImageAsBase64: signature,
|
||||
signatureImageAsBase64: signature?.startsWith('data:') ? signature : null,
|
||||
typedSignature: signature?.startsWith('data:') ? null : signature,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
@ -452,10 +468,12 @@ 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>
|
||||
);
|
||||
};
|
||||
|
||||
@ -2,8 +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 { 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';
|
||||
@ -51,6 +54,14 @@ 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)
|
||||
@ -72,6 +83,12 @@ 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
|
||||
@ -86,6 +103,8 @@ export default async function EmbedDirectTemplatePage({ params }: EmbedDirectTem
|
||||
recipient={recipient}
|
||||
fields={fields}
|
||||
metadata={template.templateMeta}
|
||||
hidePoweredBy={isPlatformDocument || isEnterpriseDocument || hidePoweredBy}
|
||||
isPlatformOrEnterprise={isPlatformDocument || isEnterpriseDocument}
|
||||
/>
|
||||
</DocumentAuthProvider>
|
||||
</SigningProvider>
|
||||
|
||||
@ -58,6 +58,7 @@ export const EmbedDocumentFields = ({
|
||||
recipient={recipient}
|
||||
onSignField={onSignField}
|
||||
onUnsignField={onUnsignField}
|
||||
typedSignatureEnabled={metadata?.typedSignatureEnabled}
|
||||
/>
|
||||
))
|
||||
.with(FieldType.INITIALS, () => (
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useEffect, useLayoutEffect, useState } from 'react';
|
||||
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
@ -28,6 +28,7 @@ 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 = {
|
||||
@ -38,6 +39,8 @@ export type EmbedSignDocumentClientPageProps = {
|
||||
fields: Field[];
|
||||
metadata?: DocumentMeta | TemplateMeta | null;
|
||||
isCompleted?: boolean;
|
||||
hidePoweredBy?: boolean;
|
||||
isPlatformOrEnterprise?: boolean;
|
||||
};
|
||||
|
||||
export const EmbedSignDocumentClientPage = ({
|
||||
@ -48,6 +51,8 @@ export const EmbedSignDocumentClientPage = ({
|
||||
fields,
|
||||
metadata,
|
||||
isCompleted,
|
||||
hidePoweredBy = false,
|
||||
isPlatformOrEnterprise = false,
|
||||
}: EmbedSignDocumentClientPageProps) => {
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
@ -131,7 +136,7 @@ export const EmbedSignDocumentClientPage = ({
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
useLayoutEffect(() => {
|
||||
const hash = window.location.hash.slice(1);
|
||||
|
||||
try {
|
||||
@ -144,6 +149,17 @@ 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);
|
||||
}
|
||||
@ -176,8 +192,8 @@ export const EmbedSignDocumentClientPage = ({
|
||||
fieldId: 1,
|
||||
recipientId: 1,
|
||||
created: new Date(),
|
||||
typedSignature: null,
|
||||
signatureImageAsBase64: signature,
|
||||
signatureImageAsBase64: signature?.startsWith('data:') ? signature : null,
|
||||
typedSignature: signature?.startsWith('data:') ? null : signature,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
@ -325,10 +341,12 @@ 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>
|
||||
);
|
||||
};
|
||||
|
||||
@ -2,11 +2,14 @@ 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';
|
||||
@ -56,6 +59,14 @@ 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,
|
||||
});
|
||||
@ -74,6 +85,12 @@ 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}
|
||||
@ -93,6 +110,8 @@ 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
apps/web/src/app/embed/util.ts
Normal file
20
apps/web/src/app/embed/util.ts
Normal file
@ -0,0 +1,20 @@
|
||||
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,22 +6,14 @@ 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,
|
||||
@ -37,29 +29,17 @@ 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,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
}: UpdateTeamDialogProps) => {
|
||||
export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogProps) => {
|
||||
const router = useRouter();
|
||||
const { data: session } = useSession();
|
||||
const email = session?.user?.email;
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
|
||||
@ -68,36 +48,17 @@ export const UpdateTeamForm = ({
|
||||
defaultValues: {
|
||||
name: teamName,
|
||||
url: teamUrl,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
},
|
||||
});
|
||||
|
||||
const { mutateAsync: updateTeam } = trpc.team.updateTeam.useMutation();
|
||||
const includeSenderDetailsCheck = form.watch('includeSenderDetails');
|
||||
|
||||
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) => {
|
||||
const onFormSubmit = async ({ name, url }: TUpdateTeamFormSchema) => {
|
||||
try {
|
||||
await updateTeam({
|
||||
data: {
|
||||
name,
|
||||
url,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
},
|
||||
teamId,
|
||||
});
|
||||
@ -111,8 +72,6 @@ export const UpdateTeamForm = ({
|
||||
form.reset({
|
||||
name,
|
||||
url,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
});
|
||||
|
||||
if (url !== teamUrl) {
|
||||
@ -186,68 +145,6 @@ export const UpdateTeamForm = ({
|
||||
)}
|
||||
/>
|
||||
|
||||
<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,6 +138,7 @@ 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 />
|
||||
|
||||
773
package-lock.json
generated
773
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
{
|
||||
"private": true,
|
||||
"version": "1.8.1-rc.0",
|
||||
"version": "1.8.1-rc.1",
|
||||
"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": "^2.5.1",
|
||||
"prettier": "^3.3.3",
|
||||
"rimraf": "^5.0.1",
|
||||
"turbo": "^1.9.3"
|
||||
},
|
||||
|
||||
@ -302,6 +302,7 @@ 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),
|
||||
});
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@ 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 {
|
||||
@ -14,6 +13,7 @@ import {
|
||||
import { ZFieldMetaSchema } from '@documenso/lib/types/field-meta';
|
||||
import {
|
||||
DocumentDataType,
|
||||
DocumentDistributionMethod,
|
||||
DocumentSigningOrder,
|
||||
FieldType,
|
||||
ReadStatus,
|
||||
@ -132,6 +132,7 @@ 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
|
||||
@ -226,14 +227,14 @@ export type TCreateDocumentFromTemplateMutationResponseSchema = z.infer<
|
||||
|
||||
export const ZGenerateDocumentFromTemplateMutationSchema = z.object({
|
||||
title: z.string().optional(),
|
||||
externalId: z.string().nullish(),
|
||||
externalId: z.string().optional(),
|
||||
recipients: z
|
||||
.array(
|
||||
z.object({
|
||||
id: z.number(),
|
||||
email: z.string().email(),
|
||||
name: z.string().optional(),
|
||||
email: z.string().email().min(1),
|
||||
signingOrder: z.number().nullish(),
|
||||
signingOrder: z.number().optional(),
|
||||
}),
|
||||
)
|
||||
.refine(
|
||||
@ -252,8 +253,10 @@ export const ZGenerateDocumentFromTemplateMutationSchema = z.object({
|
||||
timezone: z.string(),
|
||||
dateFormat: z.string(),
|
||||
redirectUrl: ZUrlSchema,
|
||||
signingOrder: z.nativeEnum(DocumentSigningOrder).optional(),
|
||||
language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(),
|
||||
signingOrder: z.nativeEnum(DocumentSigningOrder),
|
||||
language: z.enum(SUPPORTED_LANGUAGE_CODES),
|
||||
distributionMethod: z.nativeEnum(DocumentDistributionMethod),
|
||||
typedSignatureEnabled: z.boolean(),
|
||||
})
|
||||
.partial()
|
||||
.optional(),
|
||||
|
||||
@ -0,0 +1,271 @@
|
||||
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,19 +17,17 @@ test('[TEAMS]: update the default document visibility in the team global setting
|
||||
page,
|
||||
email: team.owner.email,
|
||||
password: 'password',
|
||||
redirectPath: `/t/${team.url}/settings`,
|
||||
redirectPath: `/t/${team.url}/settings/preferences`,
|
||||
});
|
||||
|
||||
await page.getByRole('combobox').click();
|
||||
// !: Brittle selector
|
||||
await page.getByRole('combobox').first().click();
|
||||
await page.getByRole('option', { name: 'Admin' }).click();
|
||||
await page.getByRole('button', { name: 'Update team' }).click();
|
||||
await page.getByRole('button', { name: 'Save' }).first().click();
|
||||
|
||||
const toast = page.locator('li[role="status"][data-state="open"]').first();
|
||||
await expect(toast).toBeVisible();
|
||||
await expect(toast.getByText('Success', { exact: true })).toBeVisible();
|
||||
await expect(
|
||||
toast.getByText('Your team has been successfully updated.', { exact: true }),
|
||||
).toBeVisible();
|
||||
await expect(toast.getByText('Document preferences updated', { exact: true })).toBeVisible();
|
||||
});
|
||||
|
||||
test('[TEAMS]: update the sender details in the team global settings', async ({ page }) => {
|
||||
@ -41,7 +39,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`,
|
||||
redirectPath: `/t/${team.url}/settings/preferences`,
|
||||
});
|
||||
|
||||
const checkbox = page.getByLabel('Send on Behalf of Team');
|
||||
@ -49,14 +47,11 @@ test('[TEAMS]: update the sender details in the team global settings', async ({
|
||||
|
||||
await expect(checkbox).toBeChecked();
|
||||
|
||||
await page.getByRole('button', { name: 'Update team' }).click();
|
||||
await page.getByRole('button', { name: 'Save' }).first().click();
|
||||
|
||||
const toast = page.locator('li[role="status"][data-state="open"]').first();
|
||||
await expect(toast).toBeVisible();
|
||||
await expect(toast.getByText('Success', { exact: true })).toBeVisible();
|
||||
await expect(
|
||||
toast.getByText('Your team has been successfully updated.', { exact: true }),
|
||||
).toBeVisible();
|
||||
await expect(toast.getByText('Document preferences updated', { exact: true })).toBeVisible();
|
||||
|
||||
await expect(checkbox).toBeChecked();
|
||||
});
|
||||
|
||||
@ -7,15 +7,17 @@
|
||||
"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\""
|
||||
"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\""
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.18.1",
|
||||
"@types/node": "^20.8.2",
|
||||
"@documenso/lib": "*",
|
||||
"@documenso/prisma": "*",
|
||||
"@documenso/web": "*"
|
||||
"@documenso/web": "*",
|
||||
"pdf-lib": "^1.17.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"start-server-and-test": "^2.0.1"
|
||||
|
||||
@ -9,6 +9,7 @@ export const getDocumentRelatedPrices = async () => {
|
||||
return await getPricesByPlan([
|
||||
STRIPE_PLAN_TYPE.REGULAR,
|
||||
STRIPE_PLAN_TYPE.COMMUNITY,
|
||||
STRIPE_PLAN_TYPE.PLATFORM,
|
||||
STRIPE_PLAN_TYPE.ENTERPRISE,
|
||||
]);
|
||||
};
|
||||
|
||||
13
packages/ee/server-only/stripe/get-platform-plan-prices.ts
Normal file
13
packages/ee/server-only/stripe/get-platform-plan-prices.ts
Normal file
@ -0,0 +1,13 @@
|
||||
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,6 +9,7 @@ export const getPrimaryAccountPlanPrices = async () => {
|
||||
return await getPricesByPlan([
|
||||
STRIPE_PLAN_TYPE.REGULAR,
|
||||
STRIPE_PLAN_TYPE.COMMUNITY,
|
||||
STRIPE_PLAN_TYPE.PLATFORM,
|
||||
STRIPE_PLAN_TYPE.ENTERPRISE,
|
||||
]);
|
||||
};
|
||||
|
||||
@ -6,7 +6,11 @@ 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.ENTERPRISE]);
|
||||
return await getPricesByPlan([
|
||||
STRIPE_PLAN_TYPE.COMMUNITY,
|
||||
STRIPE_PLAN_TYPE.PLATFORM,
|
||||
STRIPE_PLAN_TYPE.ENTERPRISE,
|
||||
]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
61
packages/ee/server-only/util/is-document-platform.ts
Normal file
61
packages/ee/server-only/util/is-document-platform.ts
Normal file
@ -0,0 +1,61 @@
|
||||
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);
|
||||
};
|
||||
@ -7,5 +7,6 @@ export enum STRIPE_PLAN_TYPE {
|
||||
REGULAR = 'regular',
|
||||
TEAM = 'team',
|
||||
COMMUNITY = 'community',
|
||||
PLATFORM = 'platform',
|
||||
ENTERPRISE = 'enterprise',
|
||||
}
|
||||
|
||||
@ -17,12 +17,14 @@ 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,7 +57,17 @@ export const SEAL_DOCUMENT_JOB_DEFINITION = {
|
||||
},
|
||||
},
|
||||
include: {
|
||||
documentMeta: true,
|
||||
Recipient: true,
|
||||
team: {
|
||||
select: {
|
||||
teamGlobalSettings: {
|
||||
select: {
|
||||
includeSigningCertificate: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -117,7 +127,13 @@ export const SEAL_DOCUMENT_JOB_DEFINITION = {
|
||||
}
|
||||
|
||||
const pdfData = await getFile(documentData);
|
||||
const certificateData = await getCertificatePdf({ documentId }).catch(() => null);
|
||||
const certificateData =
|
||||
document.team?.teamGlobalSettings?.includeSigningCertificate ?? true
|
||||
? await getCertificatePdf({
|
||||
documentId,
|
||||
language: document.documentMeta?.language,
|
||||
}).catch(() => null)
|
||||
: null;
|
||||
|
||||
const newDataId = await io.runTask('decorate-and-sign-pdf', async () => {
|
||||
const pdfDoc = await PDFDocument.load(pdfData);
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
"pg": "^8.11.3",
|
||||
"playwright": "1.43.0",
|
||||
"react": "^18",
|
||||
"remeda": "^2.12.1",
|
||||
"remeda": "^2.17.3",
|
||||
"sharp": "0.32.6",
|
||||
"stripe": "^12.7.0",
|
||||
"ts-pattern": "^5.0.5",
|
||||
|
||||
@ -112,6 +112,7 @@ export const createDocument = async ({
|
||||
documentMeta: {
|
||||
create: {
|
||||
language: team?.teamGlobalSettings?.documentLanguage,
|
||||
typedSignatureEnabled: team?.teamGlobalSettings?.typedSignatureEnabled,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@ -10,7 +10,6 @@ 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';
|
||||
@ -48,6 +47,15 @@ export const sealDocument = async ({
|
||||
documentData: true,
|
||||
documentMeta: true,
|
||||
Recipient: true,
|
||||
team: {
|
||||
select: {
|
||||
teamGlobalSettings: {
|
||||
select: {
|
||||
includeSigningCertificate: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -92,11 +100,13 @@ export const sealDocument = async ({
|
||||
// !: Need to write the fields onto the document as a hard copy
|
||||
const pdfData = await getFile(documentData);
|
||||
|
||||
const documentLanguage = ZSupportedLanguageCodeSchema.parse(document.documentMeta?.language);
|
||||
|
||||
const certificate = await getCertificatePdf({ documentId, language: documentLanguage })
|
||||
.then(async (doc) => PDFDocument.load(doc))
|
||||
.catch(() => null);
|
||||
const certificateData =
|
||||
document.team?.teamGlobalSettings?.includeSigningCertificate ?? true
|
||||
? await getCertificatePdf({
|
||||
documentId,
|
||||
language: document.documentMeta?.language,
|
||||
}).catch(() => null)
|
||||
: null;
|
||||
|
||||
const doc = await PDFDocument.load(pdfData);
|
||||
|
||||
@ -105,7 +115,9 @@ export const sealDocument = async ({
|
||||
flattenForm(doc);
|
||||
flattenAnnotations(doc);
|
||||
|
||||
if (certificate) {
|
||||
if (certificateData) {
|
||||
const certificate = await PDFDocument.load(certificateData);
|
||||
|
||||
const certificatePages = await doc.copyPages(certificate, certificate.getPageIndices());
|
||||
|
||||
certificatePages.forEach((page) => {
|
||||
|
||||
@ -177,6 +177,10 @@ 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,12 +2,13 @@ import { DateTime } from 'luxon';
|
||||
import type { Browser } from 'playwright';
|
||||
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
||||
import type { SupportedLanguageCodes } from '../../constants/i18n';
|
||||
import { type SupportedLanguageCodes, isValidLanguageCode } from '../../constants/i18n';
|
||||
import { encryptSecondaryData } from '../crypto/encrypt';
|
||||
|
||||
export type GetCertificatePdfOptions = {
|
||||
documentId: number;
|
||||
language?: SupportedLanguageCodes;
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
language?: SupportedLanguageCodes | (string & {});
|
||||
};
|
||||
|
||||
export const getCertificatePdf = async ({ documentId, language }: GetCertificatePdfOptions) => {
|
||||
@ -38,15 +39,15 @@ export const getCertificatePdf = async ({ documentId, language }: GetCertificate
|
||||
|
||||
const page = await browserContext.newPage();
|
||||
|
||||
if (language) {
|
||||
const lang = isValidLanguageCode(language) ? language : 'en';
|
||||
|
||||
await page.context().addCookies([
|
||||
{
|
||||
name: 'language',
|
||||
value: language,
|
||||
value: lang,
|
||||
url: NEXT_PUBLIC_WEBAPP_URL(),
|
||||
},
|
||||
]);
|
||||
}
|
||||
|
||||
await page.goto(`${NEXT_PUBLIC_WEBAPP_URL()}/__htmltopdf/certificate?d=${encryptedId}`, {
|
||||
waitUntil: 'networkidle',
|
||||
|
||||
@ -82,7 +82,10 @@ 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);
|
||||
const font = await pdf.embedFont(
|
||||
isSignatureField ? fontCaveat : fontNoto,
|
||||
isSignatureField ? { features: { calt: false } } : undefined,
|
||||
);
|
||||
|
||||
if (field.type === FieldType.SIGNATURE || field.type === FieldType.FREE_SIGNATURE) {
|
||||
await pdf.embedFont(fontCaveat);
|
||||
@ -92,9 +95,9 @@ 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 ?? '');
|
||||
|
||||
let imageWidth = image.width;
|
||||
@ -131,6 +134,50 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu
|
||||
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),
|
||||
});
|
||||
}
|
||||
},
|
||||
)
|
||||
.with({ type: FieldType.CHECKBOX }, (field) => {
|
||||
|
||||
@ -12,6 +12,8 @@ export type UpdateTeamDocumentSettingsOptions = {
|
||||
documentVisibility: DocumentVisibility;
|
||||
documentLanguage: SupportedLanguageCodes;
|
||||
includeSenderDetails: boolean;
|
||||
typedSignatureEnabled: boolean;
|
||||
includeSigningCertificate: boolean;
|
||||
};
|
||||
};
|
||||
|
||||
@ -20,7 +22,13 @@ export const updateTeamDocumentSettings = async ({
|
||||
teamId,
|
||||
settings,
|
||||
}: UpdateTeamDocumentSettingsOptions) => {
|
||||
const { documentVisibility, documentLanguage, includeSenderDetails } = settings;
|
||||
const {
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
includeSigningCertificate,
|
||||
typedSignatureEnabled,
|
||||
} = settings;
|
||||
|
||||
const member = await prisma.teamMember.findFirst({
|
||||
where: {
|
||||
@ -42,11 +50,15 @@ export const updateTeamDocumentSettings = async ({
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
typedSignatureEnabled,
|
||||
includeSigningCertificate,
|
||||
},
|
||||
update: {
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
typedSignatureEnabled,
|
||||
includeSigningCertificate,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
@ -4,7 +4,6 @@ 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;
|
||||
@ -12,8 +11,6 @@ export type UpdateTeamOptions = {
|
||||
data: {
|
||||
name?: string;
|
||||
url?: string;
|
||||
documentVisibility?: DocumentVisibility;
|
||||
includeSenderDetails?: boolean;
|
||||
};
|
||||
};
|
||||
|
||||
@ -45,18 +42,6 @@ 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,6 +64,7 @@ export type CreateDocumentFromTemplateOptions = {
|
||||
signingOrder?: DocumentSigningOrder;
|
||||
language?: SupportedLanguageCodes;
|
||||
distributionMethod?: DocumentDistributionMethod;
|
||||
typedSignatureEnabled?: boolean;
|
||||
};
|
||||
requestMetadata?: RequestMetadata;
|
||||
};
|
||||
@ -146,7 +147,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,
|
||||
@ -196,6 +197,8 @@ export const createDocumentFromTemplate = async ({
|
||||
override?.language ||
|
||||
template.templateMeta?.language ||
|
||||
template.team?.teamGlobalSettings?.documentLanguage,
|
||||
typedSignatureEnabled:
|
||||
override?.typedSignatureEnabled ?? template.templateMeta?.typedSignatureEnabled,
|
||||
},
|
||||
},
|
||||
Recipient: {
|
||||
|
||||
@ -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:409
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
|
||||
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:377
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:383
|
||||
msgid "Black"
|
||||
msgstr "Schwarz"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
|
||||
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:411
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
|
||||
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:410
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
|
||||
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:697
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
|
||||
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:827
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
|
||||
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:645
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:677
|
||||
#: 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,6 +843,7 @@ 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"
|
||||
|
||||
@ -930,7 +931,7 @@ msgstr "Globale Empfängerauthentifizierung"
|
||||
msgid "Go Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
|
||||
msgid "Green"
|
||||
msgstr "Grün"
|
||||
|
||||
@ -1025,7 +1026,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:671
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:703
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
@ -1044,7 +1045,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:511
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden."
|
||||
|
||||
@ -1053,7 +1054,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:526
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
|
||||
msgid "No recipients with this role"
|
||||
msgstr "Keine Empfänger mit dieser Rolle"
|
||||
|
||||
@ -1083,7 +1084,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:749
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
|
||||
msgid "Number"
|
||||
msgstr "Nummer"
|
||||
|
||||
@ -1175,7 +1176,6 @@ 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:384
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
|
||||
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:861
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
|
||||
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:593
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:625
|
||||
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:723
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
|
||||
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:841
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
|
||||
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,4 +1814,3 @@ 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,4 +602,3 @@ 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."
|
||||
|
||||
|
||||
@ -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:214
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
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:60
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
|
||||
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 "\"{email}\" im Namen von \"{teamName}\" hat Sie eingeladen, \"Beispieldo
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
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:179
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138
|
||||
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:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: 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:145
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:147
|
||||
msgid "All inserted signatures will be voided"
|
||||
msgstr "Alle eingefügten Unterschriften werden annulliert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:148
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
|
||||
msgid "All recipients will be notified"
|
||||
msgstr "Alle Empfänger werden benachrichtigt"
|
||||
|
||||
@ -472,9 +472,12 @@ 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:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden."
|
||||
|
||||
@ -536,7 +539,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:173
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190
|
||||
msgid "An error occurred while removing the signature."
|
||||
msgstr "Ein Fehler ist aufgetreten, während die Unterschrift entfernt wurde."
|
||||
|
||||
@ -560,7 +563,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:147
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164
|
||||
#: 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."
|
||||
@ -570,7 +573,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "Ein Fehler ist aufgetreten, während die Dokumenteinstellungen aktualisiert wurden."
|
||||
|
||||
@ -608,7 +611,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:134
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93
|
||||
#: 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
|
||||
@ -690,7 +693,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:98
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
|
||||
#: 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
|
||||
@ -725,7 +728,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar aktualisiert"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "Warte auf E-Mail-Bestätigung"
|
||||
|
||||
@ -790,7 +793,7 @@ msgstr "Massenkopie"
|
||||
msgid "Bulk Import"
|
||||
msgstr "Bulk-Import"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
|
||||
msgid "By deleting this document, the following will occur:"
|
||||
msgstr "Durch das Löschen dieses Dokuments wird Folgendes passieren:"
|
||||
|
||||
@ -811,7 +814,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:190
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:192
|
||||
#: 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
|
||||
@ -833,7 +836,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:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: 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
|
||||
@ -926,8 +929,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:440
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
|
||||
msgid "Click to insert field"
|
||||
msgstr "Klicken Sie, um das Feld einzufügen"
|
||||
|
||||
@ -945,8 +948,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:430
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Vollständig"
|
||||
@ -1045,18 +1048,26 @@ msgstr "Fortfahren"
|
||||
msgid "Continue to login"
|
||||
msgstr "Weiter zum Login"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Steuert die Standardsprache eines hochgeladenen Dokuments. Diese wird als Sprache in der E-Mail-Kommunikation mit den Empfängern verwendet."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Steuert die Standard-sichtbarkeit eines hochgeladenen Dokuments."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
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"
|
||||
@ -1247,22 +1258,21 @@ msgstr "Ablehnen"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Team-Einladung abgelehnt"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
msgid "Default Document Language"
|
||||
msgstr "Standardsprache des Dokuments"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Standard Sichtbarkeit des Dokuments"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:50
|
||||
msgid "delete"
|
||||
msgstr "löschen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: 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
|
||||
@ -1313,7 +1323,7 @@ msgstr "Dokument löschen"
|
||||
msgid "Delete passkey"
|
||||
msgstr "Passkey löschen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Team löschen"
|
||||
@ -1352,7 +1362,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:234
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242
|
||||
msgid "Device"
|
||||
msgstr "Gerät"
|
||||
|
||||
@ -1463,7 +1473,7 @@ msgstr "Dokument abgebrochen"
|
||||
msgid "Document completed"
|
||||
msgstr "Dokument abgeschlossen"
|
||||
|
||||
#: apps/web/src/app/embed/completed.tsx:16
|
||||
#: apps/web/src/app/embed/completed.tsx:17
|
||||
msgid "Document Completed!"
|
||||
msgstr "Dokument abgeschlossen!"
|
||||
|
||||
@ -1481,7 +1491,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:59
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Dokument gelöscht"
|
||||
|
||||
@ -1527,7 +1537,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:91
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103
|
||||
msgid "Document preferences updated"
|
||||
msgstr "Dokumentpräferenzen aktualisiert"
|
||||
|
||||
@ -1555,7 +1565,7 @@ msgstr "Dokument gesendet"
|
||||
msgid "Document Signed"
|
||||
msgstr "Dokument signiert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
|
||||
msgid "Document signing process will be cancelled"
|
||||
msgstr "Der Dokumentenunterzeichnungsprozess wird abgebrochen"
|
||||
|
||||
@ -1579,7 +1589,7 @@ msgstr "Dokument hochgeladen"
|
||||
msgid "Document Viewed"
|
||||
msgstr "Dokument angesehen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
|
||||
msgid "Document will be permanently deleted"
|
||||
msgstr "Dokument wird dauerhaft gelöscht"
|
||||
|
||||
@ -1599,7 +1609,7 @@ msgstr "Dokument wird dauerhaft gelöscht"
|
||||
msgid "Documents"
|
||||
msgstr "Dokumente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
msgid "Documents created from template"
|
||||
msgstr "Dokumente erstellt aus Vorlage"
|
||||
|
||||
@ -1634,6 +1644,14 @@ 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"
|
||||
@ -1672,7 +1690,7 @@ msgstr "Duplizieren"
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
msgid "Edit Template"
|
||||
msgstr "Vorlage bearbeiten"
|
||||
|
||||
@ -1698,8 +1716,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:377
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
|
||||
#: 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
|
||||
@ -1760,6 +1778,10 @@ 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
|
||||
@ -1806,9 +1828,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: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/[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/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
|
||||
@ -1830,8 +1852,9 @@ 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:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172
|
||||
#: 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]/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
|
||||
@ -1843,7 +1866,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:128
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Jeder kann auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
@ -1859,7 +1882,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:120
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
msgid "Expired"
|
||||
msgstr "Abgelaufen"
|
||||
|
||||
@ -1901,8 +1924,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:362
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
|
||||
#: apps/web/src/components/forms/profile.tsx:110
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:312
|
||||
msgid "Full Name"
|
||||
@ -1978,7 +2001,7 @@ msgid "Hey I’m 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:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
|
||||
msgid "Hide"
|
||||
msgstr "Ausblenden"
|
||||
@ -2024,6 +2047,10 @@ 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"
|
||||
@ -2100,7 +2127,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:227
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235
|
||||
msgid "IP Address"
|
||||
msgstr "IP-Adresse"
|
||||
|
||||
@ -2240,7 +2267,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:159
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
msgid "Manage and view template"
|
||||
msgstr "Vorlage verwalten und anzeigen"
|
||||
|
||||
@ -2407,8 +2434,8 @@ msgstr "Neuer Teamowner"
|
||||
msgid "New Template"
|
||||
msgstr "Neue Vorlage"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:521
|
||||
msgid "Next"
|
||||
msgstr "Nächster"
|
||||
@ -2507,7 +2534,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:134
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
|
||||
msgid "Once confirmed, the following will occur:"
|
||||
msgstr "Sobald dies bestätigt ist, wird Folgendes geschehen:"
|
||||
|
||||
@ -2515,11 +2542,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:134
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Nur Administratoren können auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
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"
|
||||
|
||||
@ -2683,7 +2710,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:174
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
|
||||
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."
|
||||
|
||||
@ -2699,11 +2726,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:128
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130
|
||||
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:119
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
|
||||
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."
|
||||
|
||||
@ -2751,6 +2778,10 @@ 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."
|
||||
@ -2761,7 +2792,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:204
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
@ -2839,7 +2870,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:281
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
|
||||
msgid "Reason"
|
||||
msgstr "Grund"
|
||||
|
||||
@ -2885,7 +2916,7 @@ msgstr "Empfänger"
|
||||
msgid "Recipients metrics"
|
||||
msgstr "Empfängermetriken"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
|
||||
msgid "Recipients will still retain their copy of the document"
|
||||
msgstr "Empfänger behalten weiterhin ihre Kopie des Dokuments"
|
||||
|
||||
@ -2966,7 +2997,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:266
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Zurücksetzen"
|
||||
@ -3047,7 +3078,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:232
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
@ -3122,8 +3153,7 @@ msgstr "Bestätigungs-E-Mail senden"
|
||||
msgid "Send document"
|
||||
msgstr "Dokument senden"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr "Im Namen des Teams senden"
|
||||
|
||||
@ -3144,7 +3174,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:248
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
|
||||
msgid "Sent"
|
||||
msgstr "Gesendet"
|
||||
|
||||
@ -3197,13 +3227,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:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: 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:217
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
|
||||
msgid "Sign as {0} <0>({1})</0>"
|
||||
msgstr "Unterzeichnen als {0} <0>({1})</0>"
|
||||
|
||||
@ -3211,8 +3241,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:330
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
|
||||
msgid "Sign document"
|
||||
msgstr "Dokument unterschreiben"
|
||||
|
||||
@ -3244,8 +3274,8 @@ msgstr "Melden Sie sich bei Ihrem Konto an"
|
||||
msgid "Sign Out"
|
||||
msgstr "Ausloggen"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
|
||||
msgid "Sign the document to complete the process."
|
||||
msgstr "Unterschreiben Sie das Dokument, um den Vorgang abzuschließen."
|
||||
|
||||
@ -3271,15 +3301,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: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/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/components/forms/profile.tsx:132
|
||||
msgid "Signature"
|
||||
msgstr "Unterschrift"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
|
||||
msgid "Signature ID"
|
||||
msgstr "Signatur-ID"
|
||||
|
||||
@ -3292,7 +3322,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:270
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
msgstr "Unterzeichnet"
|
||||
@ -3305,7 +3335,7 @@ msgstr "Signer-Ereignisse"
|
||||
msgid "Signing Certificate"
|
||||
msgstr "Unterzeichnungszertifikat"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
|
||||
msgid "Signing certificate provided by"
|
||||
msgstr "Unterzeichnungszertifikat bereitgestellt von"
|
||||
|
||||
@ -3347,7 +3377,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:80
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: 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
|
||||
@ -3369,8 +3399,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:243
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
|
||||
#: 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
|
||||
@ -3403,7 +3433,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:96
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108
|
||||
msgid "Something went wrong!"
|
||||
msgstr "Etwas ist schiefgelaufen!"
|
||||
|
||||
@ -3471,7 +3501,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:106
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67
|
||||
#: 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
|
||||
@ -3502,8 +3532,8 @@ msgstr "Team"
|
||||
msgid "Team checkout"
|
||||
msgstr "Teameinkaufs-Prüfung"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
msgid "Team email"
|
||||
msgstr "Team E-Mail"
|
||||
|
||||
@ -3546,7 +3576,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:153
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112
|
||||
msgid "Team Name"
|
||||
msgstr "Teamname"
|
||||
|
||||
@ -3599,7 +3629,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:169
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128
|
||||
msgid "Team URL"
|
||||
msgstr "Team-URL"
|
||||
|
||||
@ -3619,7 +3649,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:146
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: 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"
|
||||
@ -3649,11 +3679,11 @@ msgstr "Vorlage wurde aktualisiert."
|
||||
msgid "Template moved"
|
||||
msgstr "Vorlage verschoben"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
|
||||
msgid "Template saved"
|
||||
msgstr "Vorlage gespeichert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86
|
||||
#: 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
|
||||
@ -3696,7 +3726,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:29
|
||||
#: apps/web/src/app/embed/completed.tsx:30
|
||||
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."
|
||||
|
||||
@ -3708,7 +3738,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:161
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "Das Dokument wird von Ihrem Konto verborgen werden"
|
||||
|
||||
@ -3841,7 +3871,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:81
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
|
||||
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."
|
||||
|
||||
@ -3905,7 +3935,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:201
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
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."
|
||||
|
||||
@ -3922,7 +3952,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:127
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86
|
||||
msgid "This URL is already in use."
|
||||
msgstr "Diese URL wird bereits verwendet."
|
||||
|
||||
@ -4055,13 +4085,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:175
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: 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:179
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
msgid "Transfer the ownership of the team to another team member."
|
||||
msgstr "Übertragen Sie das Eigentum des Teams auf ein anderes Teammitglied."
|
||||
|
||||
@ -4105,13 +4135,17 @@ 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"
|
||||
@ -4204,10 +4238,10 @@ msgstr "Nicht autorisiert"
|
||||
msgid "Uncompleted"
|
||||
msgstr "Unvollendet"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276
|
||||
#: 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
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
@ -4240,7 +4274,7 @@ msgstr "Passkey aktualisieren"
|
||||
msgid "Update password"
|
||||
msgstr "Passwort aktualisieren"
|
||||
|
||||
#: apps/web/src/components/forms/profile.tsx:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Update profile"
|
||||
msgstr "Profil aktualisieren"
|
||||
|
||||
@ -4252,7 +4286,7 @@ msgstr "Empfänger aktualisieren"
|
||||
msgid "Update role"
|
||||
msgstr "Rolle aktualisieren"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
|
||||
msgid "Update team"
|
||||
msgstr "Team aktualisieren"
|
||||
|
||||
@ -4279,7 +4313,7 @@ msgstr "Webhook aktualisieren"
|
||||
msgid "Updating password..."
|
||||
msgstr "Passwort wird aktualisiert..."
|
||||
|
||||
#: apps/web/src/components/forms/profile.tsx:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Updating profile..."
|
||||
msgstr "Profil wird aktualisiert..."
|
||||
|
||||
@ -4312,7 +4346,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
msgid "Use"
|
||||
msgstr "Verwenden"
|
||||
|
||||
@ -4420,7 +4454,7 @@ msgstr "Codes ansehen"
|
||||
msgid "View Document"
|
||||
msgstr "Dokument anzeigen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "Dokumente ansehen, die mit dieser E-Mail verknüpft sind"
|
||||
|
||||
@ -4446,7 +4480,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:259
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
|
||||
msgid "Viewed"
|
||||
msgstr "Angesehen"
|
||||
|
||||
@ -4606,7 +4640,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:136
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95
|
||||
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."
|
||||
|
||||
@ -4649,8 +4683,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:245
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
|
||||
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."
|
||||
|
||||
@ -4658,7 +4692,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:98
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110
|
||||
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"
|
||||
|
||||
@ -4783,7 +4817,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:103
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
msgstr "Sie sind dabei, <0>\"{documentTitle}\"</0> zu löschen"
|
||||
|
||||
@ -4791,7 +4825,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:107
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
|
||||
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
|
||||
msgstr "Sie sind dabei, <0>\"{documentTitle}\"</0> zu verstecken"
|
||||
|
||||
@ -4843,7 +4877,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:71
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
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."
|
||||
|
||||
@ -5041,7 +5075,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:92
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr "Ihre Dokumentpräferenzen wurden aktualisiert"
|
||||
|
||||
@ -5108,7 +5142,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:107
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Ihr Team wurde erfolgreich aktualisiert."
|
||||
|
||||
@ -5124,7 +5158,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:224
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247
|
||||
msgid "Your templates has been saved successfully."
|
||||
msgstr "Ihre Vorlagen wurden erfolgreich gespeichert."
|
||||
|
||||
@ -5140,4 +5174,3 @@ 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."
|
||||
|
||||
|
||||
@ -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:409
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
|
||||
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:377
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:383
|
||||
msgid "Black"
|
||||
msgstr "Black"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
|
||||
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:411
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
|
||||
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:410
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
|
||||
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:697
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
|
||||
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:827
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
|
||||
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:645
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:677
|
||||
#: 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,6 +838,7 @@ 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"
|
||||
|
||||
@ -925,7 +926,7 @@ msgstr "Global recipient action authentication"
|
||||
msgid "Go Back"
|
||||
msgstr "Go Back"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
|
||||
msgid "Green"
|
||||
msgstr "Green"
|
||||
|
||||
@ -1020,7 +1021,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:671
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:703
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
@ -1039,7 +1040,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:511
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "No recipient matching this description was found."
|
||||
|
||||
@ -1048,7 +1049,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:526
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
|
||||
msgid "No recipients with this role"
|
||||
msgstr "No recipients with this role"
|
||||
|
||||
@ -1078,7 +1079,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:749
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
|
||||
msgid "Number"
|
||||
msgstr "Number"
|
||||
|
||||
@ -1170,7 +1171,6 @@ 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:384
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
|
||||
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:861
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
|
||||
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:593
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:625
|
||||
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:723
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
|
||||
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:841
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
|
||||
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."
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ msgstr ""
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
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:60
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
|
||||
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 "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"exampl
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
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:179
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138
|
||||
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:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: 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:145
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:147
|
||||
msgid "All inserted signatures will be voided"
|
||||
msgstr "All inserted signatures will be voided"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:148
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
|
||||
msgid "All recipients will be notified"
|
||||
msgstr "All recipients will be notified"
|
||||
|
||||
@ -467,9 +467,12 @@ 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:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "An error occurred while adding signers."
|
||||
|
||||
@ -531,7 +534,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:173
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190
|
||||
msgid "An error occurred while removing the signature."
|
||||
msgstr "An error occurred while removing the signature."
|
||||
|
||||
@ -555,7 +558,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:147
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164
|
||||
#: 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."
|
||||
@ -565,7 +568,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "An error occurred while updating the document settings."
|
||||
|
||||
@ -603,7 +606,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:134
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93
|
||||
#: 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
|
||||
@ -685,7 +688,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:98
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
|
||||
#: 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
|
||||
@ -720,7 +723,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar Updated"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "Awaiting email confirmation"
|
||||
|
||||
@ -785,7 +788,7 @@ msgstr "Bulk Copy"
|
||||
msgid "Bulk Import"
|
||||
msgstr "Bulk Import"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
|
||||
msgid "By deleting this document, the following will occur:"
|
||||
msgstr "By deleting this document, the following will occur:"
|
||||
|
||||
@ -806,7 +809,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:190
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:192
|
||||
#: 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
|
||||
@ -828,7 +831,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:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: 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
|
||||
@ -921,8 +924,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:440
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
|
||||
msgid "Click to insert field"
|
||||
msgstr "Click to insert field"
|
||||
|
||||
@ -940,8 +943,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:430
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Complete"
|
||||
@ -1040,18 +1043,26 @@ msgstr "Continue"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continue to login"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Controls the default visibility of an uploaded document."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
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"
|
||||
@ -1242,22 +1253,21 @@ msgstr "Decline"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Declined team invitation"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
msgid "Default Document Language"
|
||||
msgstr "Default Document Language"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Default Document Visibility"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:50
|
||||
msgid "delete"
|
||||
msgstr "delete"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: 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
|
||||
@ -1308,7 +1318,7 @@ msgstr "Delete Document"
|
||||
msgid "Delete passkey"
|
||||
msgstr "Delete passkey"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Delete team"
|
||||
@ -1347,7 +1357,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:234
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242
|
||||
msgid "Device"
|
||||
msgstr "Device"
|
||||
|
||||
@ -1458,7 +1468,7 @@ msgstr "Document Cancelled"
|
||||
msgid "Document completed"
|
||||
msgstr "Document completed"
|
||||
|
||||
#: apps/web/src/app/embed/completed.tsx:16
|
||||
#: apps/web/src/app/embed/completed.tsx:17
|
||||
msgid "Document Completed!"
|
||||
msgstr "Document Completed!"
|
||||
|
||||
@ -1476,7 +1486,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:59
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Document deleted"
|
||||
|
||||
@ -1522,7 +1532,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:91
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103
|
||||
msgid "Document preferences updated"
|
||||
msgstr "Document preferences updated"
|
||||
|
||||
@ -1550,7 +1560,7 @@ msgstr "Document sent"
|
||||
msgid "Document Signed"
|
||||
msgstr "Document Signed"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
|
||||
msgid "Document signing process will be cancelled"
|
||||
msgstr "Document signing process will be cancelled"
|
||||
|
||||
@ -1574,7 +1584,7 @@ msgstr "Document uploaded"
|
||||
msgid "Document Viewed"
|
||||
msgstr "Document Viewed"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
|
||||
msgid "Document will be permanently deleted"
|
||||
msgstr "Document will be permanently deleted"
|
||||
|
||||
@ -1594,7 +1604,7 @@ msgstr "Document will be permanently deleted"
|
||||
msgid "Documents"
|
||||
msgstr "Documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
msgid "Documents created from template"
|
||||
msgstr "Documents created from template"
|
||||
|
||||
@ -1629,6 +1639,14 @@ 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"
|
||||
@ -1667,7 +1685,7 @@ msgstr "Duplicate"
|
||||
msgid "Edit"
|
||||
msgstr "Edit"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
msgid "Edit Template"
|
||||
msgstr "Edit Template"
|
||||
|
||||
@ -1693,8 +1711,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:377
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
|
||||
#: 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
|
||||
@ -1755,6 +1773,10 @@ 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
|
||||
@ -1801,9 +1823,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: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/[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/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
|
||||
@ -1825,8 +1847,9 @@ 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:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172
|
||||
#: 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]/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
|
||||
@ -1838,7 +1861,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:128
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Everyone can access and view the document"
|
||||
|
||||
@ -1854,7 +1877,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:120
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
msgid "Expired"
|
||||
msgstr "Expired"
|
||||
|
||||
@ -1896,8 +1919,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:362
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
|
||||
#: apps/web/src/components/forms/profile.tsx:110
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:312
|
||||
msgid "Full Name"
|
||||
@ -1973,7 +1996,7 @@ msgid "Hey I’m Timur"
|
||||
msgstr "Hey I’m Timur"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
|
||||
msgid "Hide"
|
||||
msgstr "Hide"
|
||||
@ -2019,6 +2042,10 @@ 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"
|
||||
@ -2095,7 +2122,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:227
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235
|
||||
msgid "IP Address"
|
||||
msgstr "IP Address"
|
||||
|
||||
@ -2235,7 +2262,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:159
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
msgid "Manage and view template"
|
||||
msgstr "Manage and view template"
|
||||
|
||||
@ -2402,8 +2429,8 @@ msgstr "New team owner"
|
||||
msgid "New Template"
|
||||
msgstr "New Template"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:521
|
||||
msgid "Next"
|
||||
msgstr "Next"
|
||||
@ -2502,7 +2529,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:134
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
|
||||
msgid "Once confirmed, the following will occur:"
|
||||
msgstr "Once confirmed, the following will occur:"
|
||||
|
||||
@ -2510,11 +2537,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:134
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Only admins can access and view the document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr "Only managers and above can access and view the document"
|
||||
|
||||
@ -2678,7 +2705,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:174
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
|
||||
msgid "Please contact support if you would like to revert this action."
|
||||
msgstr "Please contact support if you would like to revert this action."
|
||||
|
||||
@ -2694,11 +2721,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:128
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130
|
||||
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:119
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
|
||||
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."
|
||||
|
||||
@ -2746,6 +2773,10 @@ 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."
|
||||
@ -2756,7 +2787,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:204
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
msgid "Preview"
|
||||
msgstr "Preview"
|
||||
|
||||
@ -2834,7 +2865,7 @@ msgstr "Read the full <0>signature disclosure</0>."
|
||||
msgid "Ready"
|
||||
msgstr "Ready"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:281
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
|
||||
msgid "Reason"
|
||||
msgstr "Reason"
|
||||
|
||||
@ -2880,7 +2911,7 @@ msgstr "Recipients"
|
||||
msgid "Recipients metrics"
|
||||
msgstr "Recipients metrics"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
|
||||
msgid "Recipients will still retain their copy of the document"
|
||||
msgstr "Recipients will still retain their copy of the document"
|
||||
|
||||
@ -2961,7 +2992,7 @@ msgstr "Resend Confirmation Email"
|
||||
msgid "Resend verification"
|
||||
msgstr "Resend verification"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Reset"
|
||||
@ -3042,7 +3073,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:232
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
msgid "Save"
|
||||
msgstr "Save"
|
||||
|
||||
@ -3117,8 +3148,7 @@ msgstr "Send confirmation email"
|
||||
msgid "Send document"
|
||||
msgstr "Send document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr "Send on Behalf of Team"
|
||||
|
||||
@ -3139,7 +3169,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:248
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
|
||||
msgid "Sent"
|
||||
msgstr "Sent"
|
||||
|
||||
@ -3192,13 +3222,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:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: 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:217
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
|
||||
msgid "Sign as {0} <0>({1})</0>"
|
||||
msgstr "Sign as {0} <0>({1})</0>"
|
||||
|
||||
@ -3206,8 +3236,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:330
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
|
||||
msgid "Sign document"
|
||||
msgstr "Sign document"
|
||||
|
||||
@ -3239,8 +3269,8 @@ msgstr "Sign in to your account"
|
||||
msgid "Sign Out"
|
||||
msgstr "Sign Out"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
|
||||
msgid "Sign the document to complete the process."
|
||||
msgstr "Sign the document to complete the process."
|
||||
|
||||
@ -3266,15 +3296,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: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/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/components/forms/profile.tsx:132
|
||||
msgid "Signature"
|
||||
msgstr "Signature"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
|
||||
msgid "Signature ID"
|
||||
msgstr "Signature ID"
|
||||
|
||||
@ -3287,7 +3317,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:270
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
msgstr "Signed"
|
||||
@ -3300,7 +3330,7 @@ msgstr "Signer Events"
|
||||
msgid "Signing Certificate"
|
||||
msgstr "Signing Certificate"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
|
||||
msgid "Signing certificate provided by"
|
||||
msgstr "Signing certificate provided by"
|
||||
|
||||
@ -3342,7 +3372,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:80
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: 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
|
||||
@ -3364,8 +3394,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:243
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
|
||||
#: 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
|
||||
@ -3398,7 +3428,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:96
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108
|
||||
msgid "Something went wrong!"
|
||||
msgstr "Something went wrong!"
|
||||
|
||||
@ -3466,7 +3496,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:106
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67
|
||||
#: 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
|
||||
@ -3497,8 +3527,8 @@ msgstr "Team"
|
||||
msgid "Team checkout"
|
||||
msgstr "Team checkout"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
msgid "Team email"
|
||||
msgstr "Team email"
|
||||
|
||||
@ -3541,7 +3571,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:153
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112
|
||||
msgid "Team Name"
|
||||
msgstr "Team Name"
|
||||
|
||||
@ -3594,7 +3624,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:169
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128
|
||||
msgid "Team URL"
|
||||
msgstr "Team URL"
|
||||
|
||||
@ -3614,7 +3644,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:146
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: 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"
|
||||
@ -3644,11 +3674,11 @@ msgstr "Template has been updated."
|
||||
msgid "Template moved"
|
||||
msgstr "Template moved"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
|
||||
msgid "Template saved"
|
||||
msgstr "Template saved"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86
|
||||
#: 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
|
||||
@ -3691,7 +3721,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:29
|
||||
#: apps/web/src/app/embed/completed.tsx:30
|
||||
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."
|
||||
|
||||
@ -3703,7 +3733,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:161
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "The document will be hidden from your account"
|
||||
|
||||
@ -3836,7 +3866,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:81
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
|
||||
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."
|
||||
|
||||
@ -3900,7 +3930,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:201
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
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."
|
||||
|
||||
@ -3917,7 +3947,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:127
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86
|
||||
msgid "This URL is already in use."
|
||||
msgstr "This URL is already in use."
|
||||
|
||||
@ -4050,13 +4080,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:175
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: 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:179
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
msgid "Transfer the ownership of the team to another team member."
|
||||
msgstr "Transfer the ownership of the team to another team member."
|
||||
|
||||
@ -4100,13 +4130,17 @@ 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"
|
||||
@ -4199,10 +4233,10 @@ msgstr "Unauthorized"
|
||||
msgid "Uncompleted"
|
||||
msgstr "Uncompleted"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:229
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:254
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:265
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:276
|
||||
#: 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
|
||||
msgid "Unknown"
|
||||
msgstr "Unknown"
|
||||
|
||||
@ -4235,7 +4269,7 @@ msgstr "Update passkey"
|
||||
msgid "Update password"
|
||||
msgstr "Update password"
|
||||
|
||||
#: apps/web/src/components/forms/profile.tsx:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Update profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
@ -4247,7 +4281,7 @@ msgstr "Update Recipient"
|
||||
msgid "Update role"
|
||||
msgstr "Update role"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
|
||||
msgid "Update team"
|
||||
msgstr "Update team"
|
||||
|
||||
@ -4274,7 +4308,7 @@ msgstr "Update webhook"
|
||||
msgid "Updating password..."
|
||||
msgstr "Updating password..."
|
||||
|
||||
#: apps/web/src/components/forms/profile.tsx:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Updating profile..."
|
||||
msgstr "Updating profile..."
|
||||
|
||||
@ -4307,7 +4341,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
msgid "Use"
|
||||
msgstr "Use"
|
||||
|
||||
@ -4415,7 +4449,7 @@ msgstr "View Codes"
|
||||
msgid "View Document"
|
||||
msgstr "View Document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "View documents associated with this email"
|
||||
|
||||
@ -4441,7 +4475,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:259
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
|
||||
msgid "Viewed"
|
||||
msgstr "Viewed"
|
||||
|
||||
@ -4601,7 +4635,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:136
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95
|
||||
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."
|
||||
|
||||
@ -4644,8 +4678,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:245
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
|
||||
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."
|
||||
|
||||
@ -4653,7 +4687,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:98
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110
|
||||
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"
|
||||
|
||||
@ -4778,7 +4812,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:103
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
msgstr "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
|
||||
@ -4786,7 +4820,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:107
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
|
||||
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
|
||||
msgstr "You are about to hide <0>\"{documentTitle}\"</0>"
|
||||
|
||||
@ -4838,7 +4872,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:71
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
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."
|
||||
|
||||
@ -5036,7 +5070,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:92
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr "Your document preferences have been updated"
|
||||
|
||||
@ -5103,7 +5137,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:107
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Your team has been successfully updated."
|
||||
|
||||
@ -5119,7 +5153,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:224
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247
|
||||
msgid "Your templates has been saved successfully."
|
||||
msgstr "Your templates has been saved successfully."
|
||||
|
||||
|
||||
@ -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:409
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
|
||||
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:377
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:383
|
||||
msgid "Black"
|
||||
msgstr "Negro"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
|
||||
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:411
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
|
||||
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:410
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
|
||||
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:697
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
|
||||
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:827
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
|
||||
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:645
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:677
|
||||
#: 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,6 +843,7 @@ 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"
|
||||
|
||||
@ -930,7 +931,7 @@ msgstr "Autenticación de acción de destinatario global"
|
||||
msgid "Go Back"
|
||||
msgstr "Regresar"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
|
||||
msgid "Green"
|
||||
msgstr "Verde"
|
||||
|
||||
@ -1025,7 +1026,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:671
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:703
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
@ -1044,7 +1045,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:511
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "No se encontró ningún destinatario que coincidiera con esta descripción."
|
||||
|
||||
@ -1053,7 +1054,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:526
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
|
||||
msgid "No recipients with this role"
|
||||
msgstr "No hay destinatarios con este rol"
|
||||
|
||||
@ -1083,7 +1084,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:749
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
|
||||
msgid "Number"
|
||||
msgstr "Número"
|
||||
|
||||
@ -1175,7 +1176,6 @@ 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:384
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
|
||||
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:861
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
|
||||
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:593
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:625
|
||||
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:723
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
|
||||
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:841
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
|
||||
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,4 +1814,3 @@ 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,4 +602,3 @@ 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."
|
||||
|
||||
|
||||
@ -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:214
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
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:60
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
|
||||
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 "\"{email}\" en nombre de \"{teamName}\" te ha invitado a firmar \"ejempl
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
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:179
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138
|
||||
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:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: 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:145
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:147
|
||||
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:148
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
|
||||
msgid "All recipients will be notified"
|
||||
msgstr "Todos los destinatarios serán notificados"
|
||||
|
||||
@ -472,9 +472,12 @@ 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:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "Ocurrió un error al agregar firmantes."
|
||||
|
||||
@ -536,7 +539,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:173
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190
|
||||
msgid "An error occurred while removing the signature."
|
||||
msgstr "Ocurrió un error al eliminar la firma."
|
||||
|
||||
@ -560,7 +563,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:147
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164
|
||||
#: 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."
|
||||
@ -570,7 +573,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "Ocurrió un error al actualizar la configuración del documento."
|
||||
|
||||
@ -608,7 +611,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:134
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93
|
||||
#: 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
|
||||
@ -690,7 +693,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:98
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
|
||||
#: 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
|
||||
@ -725,7 +728,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar actualizado"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "Esperando confirmación de correo electrónico"
|
||||
|
||||
@ -790,7 +793,7 @@ msgstr "Copia masiva"
|
||||
msgid "Bulk Import"
|
||||
msgstr "Importación masiva"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
|
||||
msgid "By deleting this document, the following will occur:"
|
||||
msgstr "Al eliminar este documento, ocurrirá lo siguiente:"
|
||||
|
||||
@ -811,7 +814,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:190
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:192
|
||||
#: 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
|
||||
@ -833,7 +836,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:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: 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
|
||||
@ -926,8 +929,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:440
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
|
||||
msgid "Click to insert field"
|
||||
msgstr "Haga clic para insertar campo"
|
||||
|
||||
@ -945,8 +948,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:430
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Completo"
|
||||
@ -1045,18 +1048,26 @@ 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:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Controla el idioma predeterminado de un documento cargado. Este se utilizará como el idioma en las comunicaciones por correo electrónico con los destinatarios."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Controla la visibilidad predeterminada de un documento cargado."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
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"
|
||||
@ -1247,22 +1258,21 @@ msgstr "Rechazar"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Invitación de equipo rechazada"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
msgid "Default Document Language"
|
||||
msgstr "Idioma predeterminado del documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Visibilidad predeterminada del documento"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:50
|
||||
msgid "delete"
|
||||
msgstr "eliminar"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: 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
|
||||
@ -1313,7 +1323,7 @@ msgstr "Eliminar Documento"
|
||||
msgid "Delete passkey"
|
||||
msgstr "Eliminar clave de paso"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Eliminar equipo"
|
||||
@ -1352,7 +1362,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:234
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242
|
||||
msgid "Device"
|
||||
msgstr "Dispositivo"
|
||||
|
||||
@ -1463,7 +1473,7 @@ msgstr "Documento Cancelado"
|
||||
msgid "Document completed"
|
||||
msgstr "Documento completado"
|
||||
|
||||
#: apps/web/src/app/embed/completed.tsx:16
|
||||
#: apps/web/src/app/embed/completed.tsx:17
|
||||
msgid "Document Completed!"
|
||||
msgstr "¡Documento completado!"
|
||||
|
||||
@ -1481,7 +1491,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:59
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Documento eliminado"
|
||||
|
||||
@ -1527,7 +1537,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:91
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103
|
||||
msgid "Document preferences updated"
|
||||
msgstr "Preferencias del documento actualizadas"
|
||||
|
||||
@ -1555,7 +1565,7 @@ msgstr "Documento enviado"
|
||||
msgid "Document Signed"
|
||||
msgstr "Documento firmado"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
|
||||
msgid "Document signing process will be cancelled"
|
||||
msgstr "El proceso de firma del documento será cancelado"
|
||||
|
||||
@ -1579,7 +1589,7 @@ msgstr "Documento subido"
|
||||
msgid "Document Viewed"
|
||||
msgstr "Documento visto"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
|
||||
msgid "Document will be permanently deleted"
|
||||
msgstr "El documento será eliminado permanentemente"
|
||||
|
||||
@ -1599,7 +1609,7 @@ msgstr "El documento será eliminado permanentemente"
|
||||
msgid "Documents"
|
||||
msgstr "Documentos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
msgid "Documents created from template"
|
||||
msgstr "Documentos creados a partir de la plantilla"
|
||||
|
||||
@ -1634,6 +1644,14 @@ 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"
|
||||
@ -1672,7 +1690,7 @@ msgstr "Duplicar"
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
msgid "Edit Template"
|
||||
msgstr "Editar plantilla"
|
||||
|
||||
@ -1698,8 +1716,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:377
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
|
||||
#: 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
|
||||
@ -1760,6 +1778,10 @@ 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
|
||||
@ -1806,9 +1828,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: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/[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/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
|
||||
@ -1830,8 +1852,9 @@ 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:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172
|
||||
#: 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]/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
|
||||
@ -1843,7 +1866,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:128
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Todos pueden acceder y ver el documento"
|
||||
|
||||
@ -1859,7 +1882,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:120
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
msgid "Expired"
|
||||
msgstr "Expirado"
|
||||
|
||||
@ -1901,8 +1924,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:362
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
|
||||
#: apps/web/src/components/forms/profile.tsx:110
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:312
|
||||
msgid "Full Name"
|
||||
@ -1978,7 +2001,7 @@ msgid "Hey I’m 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:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
|
||||
msgid "Hide"
|
||||
msgstr "Ocultar"
|
||||
@ -2024,6 +2047,10 @@ 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"
|
||||
@ -2100,7 +2127,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:227
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235
|
||||
msgid "IP Address"
|
||||
msgstr "Dirección IP"
|
||||
|
||||
@ -2240,7 +2267,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:159
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
msgid "Manage and view template"
|
||||
msgstr "Gestionar y ver plantilla"
|
||||
|
||||
@ -2407,8 +2434,8 @@ msgstr "Nuevo propietario del equipo"
|
||||
msgid "New Template"
|
||||
msgstr "Nueva plantilla"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:521
|
||||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
@ -2507,7 +2534,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:134
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
|
||||
msgid "Once confirmed, the following will occur:"
|
||||
msgstr "Una vez confirmado, ocurrirá lo siguiente:"
|
||||
|
||||
@ -2515,11 +2542,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:134
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Solo los administradores pueden acceder y ver el documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr "Solo los gerentes y superiores pueden acceder y ver el documento"
|
||||
|
||||
@ -2683,7 +2710,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:174
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
|
||||
msgid "Please contact support if you would like to revert this action."
|
||||
msgstr "Por favor, contacta al soporte si deseas revertir esta acción."
|
||||
|
||||
@ -2699,11 +2726,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:128
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130
|
||||
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:119
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
|
||||
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."
|
||||
|
||||
@ -2751,6 +2778,10 @@ 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."
|
||||
@ -2761,7 +2792,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:204
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
msgid "Preview"
|
||||
msgstr "Vista previa"
|
||||
|
||||
@ -2839,7 +2870,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:281
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
|
||||
msgid "Reason"
|
||||
msgstr "Razón"
|
||||
|
||||
@ -2885,7 +2916,7 @@ msgstr "Destinatarios"
|
||||
msgid "Recipients metrics"
|
||||
msgstr "Métricas de destinatarios"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
|
||||
msgid "Recipients will still retain their copy of the document"
|
||||
msgstr "Los destinatarios aún conservarán su copia del documento"
|
||||
|
||||
@ -2966,7 +2997,7 @@ msgstr "Reenviar correo de confirmación"
|
||||
msgid "Resend verification"
|
||||
msgstr "Reenviar verificación"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Restablecer"
|
||||
@ -3047,7 +3078,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:232
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
@ -3122,8 +3153,7 @@ msgstr "Enviar correo de confirmación"
|
||||
msgid "Send document"
|
||||
msgstr "Enviar documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr "Enviar en nombre del equipo"
|
||||
|
||||
@ -3144,7 +3174,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:248
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
|
||||
msgid "Sent"
|
||||
msgstr "Enviado"
|
||||
|
||||
@ -3197,13 +3227,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:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: 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:217
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
|
||||
msgid "Sign as {0} <0>({1})</0>"
|
||||
msgstr "Firmar como {0} <0>({1})</0>"
|
||||
|
||||
@ -3211,8 +3241,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:330
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
|
||||
msgid "Sign document"
|
||||
msgstr "Firmar documento"
|
||||
|
||||
@ -3244,8 +3274,8 @@ msgstr "Inicia sesión en tu cuenta"
|
||||
msgid "Sign Out"
|
||||
msgstr "Cerrar sesión"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
|
||||
msgid "Sign the document to complete the process."
|
||||
msgstr "Firma el documento para completar el proceso."
|
||||
|
||||
@ -3271,15 +3301,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: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/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/components/forms/profile.tsx:132
|
||||
msgid "Signature"
|
||||
msgstr "Firma"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
|
||||
msgid "Signature ID"
|
||||
msgstr "ID de Firma"
|
||||
|
||||
@ -3292,7 +3322,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:270
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
msgstr "Firmado"
|
||||
@ -3305,7 +3335,7 @@ msgstr "Eventos del Firmante"
|
||||
msgid "Signing Certificate"
|
||||
msgstr "Certificado de Firma"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
|
||||
msgid "Signing certificate provided by"
|
||||
msgstr "Certificado de firma proporcionado por"
|
||||
|
||||
@ -3347,7 +3377,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:80
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: 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
|
||||
@ -3369,8 +3399,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:243
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
|
||||
#: 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
|
||||
@ -3403,7 +3433,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:96
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108
|
||||
msgid "Something went wrong!"
|
||||
msgstr "¡Algo salió mal!"
|
||||
|
||||
@ -3471,7 +3501,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:106
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67
|
||||
#: 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
|
||||
@ -3502,8 +3532,8 @@ msgstr "Equipo"
|
||||
msgid "Team checkout"
|
||||
msgstr "Checkout del equipo"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
msgid "Team email"
|
||||
msgstr "Correo del equipo"
|
||||
|
||||
@ -3546,7 +3576,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:153
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112
|
||||
msgid "Team Name"
|
||||
msgstr "Nombre del equipo"
|
||||
|
||||
@ -3599,7 +3629,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:169
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128
|
||||
msgid "Team URL"
|
||||
msgstr "URL del equipo"
|
||||
|
||||
@ -3619,7 +3649,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:146
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: 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"
|
||||
@ -3649,11 +3679,11 @@ msgstr "La plantilla ha sido actualizada."
|
||||
msgid "Template moved"
|
||||
msgstr "Plantilla movida"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
|
||||
msgid "Template saved"
|
||||
msgstr "Plantilla guardada"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86
|
||||
#: 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
|
||||
@ -3696,7 +3726,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:29
|
||||
#: apps/web/src/app/embed/completed.tsx:30
|
||||
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."
|
||||
|
||||
@ -3708,7 +3738,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:161
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "El documento será ocultado de tu cuenta"
|
||||
|
||||
@ -3841,7 +3871,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:81
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
|
||||
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."
|
||||
|
||||
@ -3905,7 +3935,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:201
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
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."
|
||||
|
||||
@ -3922,7 +3952,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:127
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86
|
||||
msgid "This URL is already in use."
|
||||
msgstr "Esta URL ya está en uso."
|
||||
|
||||
@ -4055,13 +4085,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:175
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: 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:179
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
msgid "Transfer the ownership of the team to another team member."
|
||||
msgstr "Transferir la propiedad del equipo a otro miembro del equipo."
|
||||
|
||||
@ -4105,13 +4135,17 @@ 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"
|
||||
@ -4204,10 +4238,10 @@ msgstr "No autorizado"
|
||||
msgid "Uncompleted"
|
||||
msgstr "Incompleto"
|
||||
|
||||
#: 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
|
||||
#: 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
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
@ -4240,7 +4274,7 @@ msgstr "Actualizar clave de acceso"
|
||||
msgid "Update password"
|
||||
msgstr "Actualizar contraseña"
|
||||
|
||||
#: apps/web/src/components/forms/profile.tsx:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Update profile"
|
||||
msgstr "Actualizar perfil"
|
||||
|
||||
@ -4252,7 +4286,7 @@ msgstr "Actualizar destinatario"
|
||||
msgid "Update role"
|
||||
msgstr "Actualizar rol"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
|
||||
msgid "Update team"
|
||||
msgstr "Actualizar equipo"
|
||||
|
||||
@ -4279,7 +4313,7 @@ msgstr "Actualizar webhook"
|
||||
msgid "Updating password..."
|
||||
msgstr "Actualizando contraseña..."
|
||||
|
||||
#: apps/web/src/components/forms/profile.tsx:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Updating profile..."
|
||||
msgstr "Actualizando perfil..."
|
||||
|
||||
@ -4312,7 +4346,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
msgid "Use"
|
||||
msgstr "Usar"
|
||||
|
||||
@ -4420,7 +4454,7 @@ msgstr "Ver Códigos"
|
||||
msgid "View Document"
|
||||
msgstr "Ver Documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "Ver documentos asociados con este correo electrónico"
|
||||
|
||||
@ -4446,7 +4480,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:259
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
|
||||
msgid "Viewed"
|
||||
msgstr "Visto"
|
||||
|
||||
@ -4606,7 +4640,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:136
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95
|
||||
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."
|
||||
|
||||
@ -4649,8 +4683,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:245
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
|
||||
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."
|
||||
|
||||
@ -4658,7 +4692,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:98
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110
|
||||
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"
|
||||
|
||||
@ -4783,7 +4817,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:103
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
msgstr "Estás a punto de eliminar <0>\"{documentTitle}\"</0>"
|
||||
|
||||
@ -4791,7 +4825,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:107
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
|
||||
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
|
||||
msgstr "Estás a punto de ocultar <0>\"{documentTitle}\"</0>"
|
||||
|
||||
@ -4843,7 +4877,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:71
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
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."
|
||||
|
||||
@ -5041,7 +5075,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:92
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr "Tus preferencias de documento han sido actualizadas"
|
||||
|
||||
@ -5108,7 +5142,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:107
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Tu equipo ha sido actualizado con éxito."
|
||||
|
||||
@ -5124,7 +5158,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:224
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247
|
||||
msgid "Your templates has been saved successfully."
|
||||
msgstr "Tus plantillas han sido guardadas con éxito."
|
||||
|
||||
@ -5140,4 +5174,3 @@ 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."
|
||||
|
||||
|
||||
@ -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:409
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:414
|
||||
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:377
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:383
|
||||
msgid "Black"
|
||||
msgstr "Noir"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:391
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:397
|
||||
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:411
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:417
|
||||
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:410
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:415
|
||||
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:697
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:729
|
||||
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:827
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:860
|
||||
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:645
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:677
|
||||
#: 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,6 +843,7 @@ 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"
|
||||
|
||||
@ -930,7 +931,7 @@ msgstr "Authentification d'action de destinataire globale"
|
||||
msgid "Go Back"
|
||||
msgstr "Retourner"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:398
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:404
|
||||
msgid "Green"
|
||||
msgstr "Vert"
|
||||
|
||||
@ -1025,7 +1026,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:671
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:703
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
@ -1044,7 +1045,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:511
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:516
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "Aucun destinataire correspondant à cette description n'a été trouvé."
|
||||
|
||||
@ -1053,7 +1054,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:526
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:531
|
||||
msgid "No recipients with this role"
|
||||
msgstr "Aucun destinataire avec ce rôle"
|
||||
|
||||
@ -1083,7 +1084,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:749
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:781
|
||||
msgid "Number"
|
||||
msgstr "Numéro"
|
||||
|
||||
@ -1175,7 +1176,6 @@ 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:384
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:390
|
||||
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:861
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:893
|
||||
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:593
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:625
|
||||
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:723
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:755
|
||||
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:841
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:873
|
||||
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,4 +1814,3 @@ 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,4 +602,3 @@ 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."
|
||||
|
||||
|
||||
@ -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:214
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
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:60
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62
|
||||
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 "\"{email}\" au nom de \"{teamName}\" vous a invité à signer \"example
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
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:179
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138
|
||||
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:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: 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:145
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:147
|
||||
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:148
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150
|
||||
msgid "All recipients will be notified"
|
||||
msgstr "Tous les destinataires seront notifiés"
|
||||
|
||||
@ -472,9 +472,12 @@ 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:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "Une erreur est survenue lors de l'ajout de signataires."
|
||||
|
||||
@ -536,7 +539,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:173
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:190
|
||||
msgid "An error occurred while removing the signature."
|
||||
msgstr "Une erreur est survenue lors de la suppression de la signature."
|
||||
|
||||
@ -560,7 +563,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:147
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:164
|
||||
#: 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."
|
||||
@ -570,7 +573,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "Une erreur est survenue lors de la mise à jour des paramètres du document."
|
||||
|
||||
@ -608,7 +611,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:134
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93
|
||||
#: 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
|
||||
@ -690,7 +693,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:98
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100
|
||||
#: 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
|
||||
@ -725,7 +728,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar mis à jour"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "En attente de confirmation par e-mail"
|
||||
|
||||
@ -790,7 +793,7 @@ msgstr "Copie groupée"
|
||||
msgid "Bulk Import"
|
||||
msgstr "Importation en masse"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:156
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158
|
||||
msgid "By deleting this document, the following will occur:"
|
||||
msgstr "En supprimant ce document, les éléments suivants se produiront :"
|
||||
|
||||
@ -811,7 +814,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:190
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:192
|
||||
#: 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
|
||||
@ -833,7 +836,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:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: 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
|
||||
@ -926,8 +929,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:440
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:456
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:335
|
||||
msgid "Click to insert field"
|
||||
msgstr "Cliquez pour insérer le champ"
|
||||
|
||||
@ -945,8 +948,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:430
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Compléter"
|
||||
@ -1045,18 +1048,26 @@ msgstr "Continuer"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continuer vers la connexion"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Contrôle la langue par défaut d'un document téléchargé. Cela sera utilisé comme langue dans les communications par e-mail avec les destinataires."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Contrôle la visibilité par défaut d'un document téléchargé."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
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é"
|
||||
@ -1247,22 +1258,21 @@ 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:153
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
msgid "Default Document Language"
|
||||
msgstr "Langue par défaut du document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Visibilité par défaut du document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:50
|
||||
msgid "delete"
|
||||
msgstr "supprimer"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: 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
|
||||
@ -1313,7 +1323,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:197
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Supprimer l'équipe"
|
||||
@ -1352,7 +1362,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:234
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242
|
||||
msgid "Device"
|
||||
msgstr "Appareil"
|
||||
|
||||
@ -1463,7 +1473,7 @@ msgstr "Document Annulé"
|
||||
msgid "Document completed"
|
||||
msgstr "Document complété"
|
||||
|
||||
#: apps/web/src/app/embed/completed.tsx:16
|
||||
#: apps/web/src/app/embed/completed.tsx:17
|
||||
msgid "Document Completed!"
|
||||
msgstr "Document Complété !"
|
||||
|
||||
@ -1481,7 +1491,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:59
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Document supprimé"
|
||||
|
||||
@ -1527,7 +1537,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:91
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103
|
||||
msgid "Document preferences updated"
|
||||
msgstr "Préférences de document mises à jour"
|
||||
|
||||
@ -1555,7 +1565,7 @@ msgstr "Document envoyé"
|
||||
msgid "Document Signed"
|
||||
msgstr "Document signé"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:142
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144
|
||||
msgid "Document signing process will be cancelled"
|
||||
msgstr "Le processus de signature du document sera annulé"
|
||||
|
||||
@ -1579,7 +1589,7 @@ msgstr "Document téléchargé"
|
||||
msgid "Document Viewed"
|
||||
msgstr "Document consulté"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:139
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141
|
||||
msgid "Document will be permanently deleted"
|
||||
msgstr "Le document sera supprimé de manière permanente"
|
||||
|
||||
@ -1599,7 +1609,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:195
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
msgid "Documents created from template"
|
||||
msgstr "Documents créés à partir du modèle"
|
||||
|
||||
@ -1634,6 +1644,14 @@ 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"
|
||||
@ -1672,7 +1690,7 @@ msgstr "Dupliquer"
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
msgid "Edit Template"
|
||||
msgstr "Modifier le modèle"
|
||||
|
||||
@ -1698,8 +1716,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:377
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:393
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:273
|
||||
#: 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
|
||||
@ -1760,6 +1778,10 @@ 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
|
||||
@ -1806,9 +1828,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: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/[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/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
|
||||
@ -1830,8 +1852,9 @@ 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:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:172
|
||||
#: 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]/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
|
||||
@ -1843,7 +1866,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:128
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Tout le monde peut accéder et voir le document"
|
||||
|
||||
@ -1859,7 +1882,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:120
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
msgid "Expired"
|
||||
msgstr "Expiré"
|
||||
|
||||
@ -1901,8 +1924,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:362
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:378
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:258
|
||||
#: apps/web/src/components/forms/profile.tsx:110
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:312
|
||||
msgid "Full Name"
|
||||
@ -1978,7 +2001,7 @@ msgid "Hey I’m 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:200
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
|
||||
msgid "Hide"
|
||||
msgstr "Cacher"
|
||||
@ -2024,6 +2047,10 @@ 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"
|
||||
@ -2100,7 +2127,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:227
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235
|
||||
msgid "IP Address"
|
||||
msgstr "Adresse IP"
|
||||
|
||||
@ -2240,7 +2267,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:159
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
msgid "Manage and view template"
|
||||
msgstr "Gérer et afficher le modèle"
|
||||
|
||||
@ -2407,8 +2434,8 @@ msgstr "Nouveau propriétaire d'équipe"
|
||||
msgid "New Template"
|
||||
msgstr "Nouveau modèle"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:437
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:316
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:521
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
@ -2507,7 +2534,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:134
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136
|
||||
msgid "Once confirmed, the following will occur:"
|
||||
msgstr "Une fois confirmé, les éléments suivants se produiront :"
|
||||
|
||||
@ -2515,11 +2542,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:134
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Seules les administrateurs peuvent accéder et voir le document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
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"
|
||||
|
||||
@ -2683,7 +2710,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:174
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176
|
||||
msgid "Please contact support if you would like to revert this action."
|
||||
msgstr "Veuillez contacter le support si vous souhaitez annuler cette action."
|
||||
|
||||
@ -2699,11 +2726,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:128
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130
|
||||
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:119
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121
|
||||
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é."
|
||||
|
||||
@ -2751,6 +2778,10 @@ 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."
|
||||
@ -2761,7 +2792,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:204
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
msgid "Preview"
|
||||
msgstr "Aperçu"
|
||||
|
||||
@ -2839,7 +2870,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:281
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289
|
||||
msgid "Reason"
|
||||
msgstr "Raison"
|
||||
|
||||
@ -2885,7 +2916,7 @@ msgstr "Destinataires"
|
||||
msgid "Recipients metrics"
|
||||
msgstr "Métriques des destinataires"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166
|
||||
msgid "Recipients will still retain their copy of the document"
|
||||
msgstr "Les destinataires conservent toujours leur copie du document"
|
||||
|
||||
@ -2966,7 +2997,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:266
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Réinitialiser"
|
||||
@ -3047,7 +3078,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:232
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
msgid "Save"
|
||||
msgstr "Sauvegarder"
|
||||
|
||||
@ -3122,8 +3153,7 @@ 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:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr "Envoyer au nom de l'équipe"
|
||||
|
||||
@ -3144,7 +3174,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:248
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256
|
||||
msgid "Sent"
|
||||
msgstr "Envoyé"
|
||||
|
||||
@ -3197,13 +3227,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:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: 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:217
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:274
|
||||
msgid "Sign as {0} <0>({1})</0>"
|
||||
msgstr "Signer comme {0} <0>({1})</0>"
|
||||
|
||||
@ -3211,8 +3241,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:330
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:346
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:226
|
||||
msgid "Sign document"
|
||||
msgstr "Signer le document"
|
||||
|
||||
@ -3244,8 +3274,8 @@ msgstr "Connectez-vous à votre compte"
|
||||
msgid "Sign Out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:367
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:247
|
||||
msgid "Sign the document to complete the process."
|
||||
msgstr "Signez le document pour terminer le processus."
|
||||
|
||||
@ -3271,15 +3301,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: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/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/components/forms/profile.tsx:132
|
||||
msgid "Signature"
|
||||
msgstr "Signature"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:220
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228
|
||||
msgid "Signature ID"
|
||||
msgstr "ID de signature"
|
||||
|
||||
@ -3292,7 +3322,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:270
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
msgstr "Signé"
|
||||
@ -3305,7 +3335,7 @@ msgstr "Événements de signataire"
|
||||
msgid "Signing Certificate"
|
||||
msgstr "Certificat de signature"
|
||||
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:303
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311
|
||||
msgid "Signing certificate provided by"
|
||||
msgstr "Certificat de signature fourni par"
|
||||
|
||||
@ -3347,7 +3377,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:80
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: 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
|
||||
@ -3369,8 +3399,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:243
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:125
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:248
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:130
|
||||
#: 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
|
||||
@ -3403,7 +3433,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:96
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108
|
||||
msgid "Something went wrong!"
|
||||
msgstr "Quelque chose a mal tourné !"
|
||||
|
||||
@ -3471,7 +3501,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:106
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67
|
||||
#: 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
|
||||
@ -3502,8 +3532,8 @@ msgstr "Équipe"
|
||||
msgid "Team checkout"
|
||||
msgstr "Vérification de l'équipe"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
msgid "Team email"
|
||||
msgstr "Adresse e-mail de l'équipe"
|
||||
|
||||
@ -3546,7 +3576,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:153
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112
|
||||
msgid "Team Name"
|
||||
msgstr "Nom de l'équipe"
|
||||
|
||||
@ -3599,7 +3629,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:169
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128
|
||||
msgid "Team URL"
|
||||
msgstr "URL de l'équipe"
|
||||
|
||||
@ -3619,7 +3649,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:146
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: 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"
|
||||
@ -3649,11 +3679,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:223
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246
|
||||
msgid "Template saved"
|
||||
msgstr "Modèle enregistré"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86
|
||||
#: 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
|
||||
@ -3696,7 +3726,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:29
|
||||
#: apps/web/src/app/embed/completed.tsx:30
|
||||
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."
|
||||
|
||||
@ -3708,7 +3738,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:161
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "Le document sera caché de votre compte"
|
||||
|
||||
@ -3841,7 +3871,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:81
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83
|
||||
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."
|
||||
|
||||
@ -3905,7 +3935,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:201
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
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."
|
||||
|
||||
@ -3922,7 +3952,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:127
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86
|
||||
msgid "This URL is already in use."
|
||||
msgstr "Cette URL est déjà utilisée."
|
||||
|
||||
@ -4055,13 +4085,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:175
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: 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:179
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
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."
|
||||
|
||||
@ -4105,13 +4135,17 @@ 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"
|
||||
@ -4204,10 +4238,10 @@ msgstr "Non autorisé"
|
||||
msgid "Uncompleted"
|
||||
msgstr "Non complet"
|
||||
|
||||
#: 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
|
||||
#: 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
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
@ -4240,7 +4274,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:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Update profile"
|
||||
msgstr "Mettre à jour le profil"
|
||||
|
||||
@ -4252,7 +4286,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:278
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175
|
||||
msgid "Update team"
|
||||
msgstr "Mettre à jour l'équipe"
|
||||
|
||||
@ -4279,7 +4313,7 @@ msgstr "Mettre à jour le webhook"
|
||||
msgid "Updating password..."
|
||||
msgstr "Mise à jour du mot de passe..."
|
||||
|
||||
#: apps/web/src/components/forms/profile.tsx:150
|
||||
#: apps/web/src/components/forms/profile.tsx:151
|
||||
msgid "Updating profile..."
|
||||
msgstr "Mise à jour du profil..."
|
||||
|
||||
@ -4312,7 +4346,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:170
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
msgid "Use"
|
||||
msgstr "Utiliser"
|
||||
|
||||
@ -4420,7 +4454,7 @@ msgstr "Voir les codes"
|
||||
msgid "View Document"
|
||||
msgstr "Voir le document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "Voir les documents associés à cet e-mail"
|
||||
|
||||
@ -4446,7 +4480,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:259
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267
|
||||
msgid "Viewed"
|
||||
msgstr "Vu"
|
||||
|
||||
@ -4606,7 +4640,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:136
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95
|
||||
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."
|
||||
|
||||
@ -4649,8 +4683,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:245
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:127
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:250
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:132
|
||||
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."
|
||||
|
||||
@ -4658,7 +4692,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:98
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110
|
||||
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"
|
||||
|
||||
@ -4783,7 +4817,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:103
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
msgstr "Vous êtes sur le point de supprimer <0>\"{documentTitle}\"</0>"
|
||||
|
||||
@ -4791,7 +4825,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:107
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109
|
||||
msgid "You are about to hide <0>\"{documentTitle}\"</0>"
|
||||
msgstr "Vous êtes sur le point de cacher <0>\"{documentTitle}\"</0>"
|
||||
|
||||
@ -4843,7 +4877,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:71
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
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."
|
||||
|
||||
@ -5041,7 +5075,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:92
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr "Vos préférences de document ont été mises à jour"
|
||||
|
||||
@ -5108,7 +5142,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:107
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Votre équipe a été mise à jour avec succès."
|
||||
|
||||
@ -5124,7 +5158,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:224
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247
|
||||
msgid "Your templates has been saved successfully."
|
||||
msgstr "Vos modèles ont été enregistrés avec succès."
|
||||
|
||||
@ -5140,4 +5174,3 @@ 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."
|
||||
|
||||
|
||||
@ -24,7 +24,8 @@ module.exports = {
|
||||
|
||||
plugins: [
|
||||
'@trivago/prettier-plugin-sort-imports',
|
||||
'prettier-plugin-sql',
|
||||
// !: Disabled until Prettier 3.x is supported.
|
||||
// 'prettier-plugin-sql',
|
||||
'prettier-plugin-tailwindcss',
|
||||
],
|
||||
|
||||
|
||||
@ -7,10 +7,9 @@
|
||||
"clean": "rimraf node_modules"
|
||||
},
|
||||
"dependencies": {
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
||||
"prettier": "^2.8.8",
|
||||
"prettier-plugin-sql": "^0.14.0",
|
||||
"prettier-plugin-tailwindcss": "^0.2.8"
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
||||
"prettier": "^3.3.3",
|
||||
"prettier-plugin-tailwindcss": "^0.6.9"
|
||||
},
|
||||
"devDependencies": {}
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "DocumentMeta" ALTER COLUMN "typedSignatureEnabled" SET DEFAULT true;
|
||||
@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "typedSignatureEnabled" BOOLEAN NOT NULL DEFAULT true;
|
||||
@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "includeSigningCertificate" BOOLEAN NOT NULL DEFAULT true;
|
||||
@ -0,0 +1,7 @@
|
||||
-- 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;
|
||||
@ -374,7 +374,7 @@ model DocumentMeta {
|
||||
document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
|
||||
redirectUrl String?
|
||||
signingOrder DocumentSigningOrder @default(PARALLEL)
|
||||
typedSignatureEnabled Boolean @default(false)
|
||||
typedSignatureEnabled Boolean @default(true)
|
||||
language String @default("en")
|
||||
distributionMethod DocumentDistributionMethod @default(EMAIL)
|
||||
emailSettings Json?
|
||||
@ -515,6 +515,8 @@ model TeamGlobalSettings {
|
||||
documentVisibility DocumentVisibility @default(EVERYONE)
|
||||
documentLanguage String @default("en")
|
||||
includeSenderDetails Boolean @default(true)
|
||||
typedSignatureEnabled Boolean @default(true)
|
||||
includeSigningCertificate Boolean @default(true)
|
||||
|
||||
brandingEnabled Boolean @default(false)
|
||||
brandingLogo String @default("")
|
||||
@ -635,11 +637,13 @@ model TemplateMeta {
|
||||
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")
|
||||
distributionMethod DocumentDistributionMethod @default(EMAIL)
|
||||
emailSettings Json?
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ const { fontFamily } = require('tailwindcss/defaultTheme');
|
||||
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
darkMode: ['class'],
|
||||
darkMode: ['variant', '&:is(.dark:not(.dark-mode-disabled) *)'],
|
||||
content: ['src/**/*.{ts,tsx}'],
|
||||
theme: {
|
||||
extend: {
|
||||
@ -108,6 +108,9 @@ 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)',
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"postcss": "^8.4.32",
|
||||
"tailwindcss": "3.3.2",
|
||||
"tailwindcss": "3.4.15",
|
||||
"tailwindcss-animate": "^1.0.5"
|
||||
},
|
||||
"devDependencies": {},
|
||||
|
||||
@ -151,8 +151,6 @@ export const ZUpdateTeamMutationSchema = z.object({
|
||||
data: z.object({
|
||||
name: ZTeamNameSchema,
|
||||
url: ZTeamUrlSchema,
|
||||
documentVisibility: z.nativeEnum(DocumentVisibility).optional(),
|
||||
includeSenderDetails: z.boolean().optional(),
|
||||
}),
|
||||
});
|
||||
|
||||
@ -212,6 +210,8 @@ 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,6 +35,7 @@ import {
|
||||
ZSetSigningOrderForTemplateMutationSchema,
|
||||
ZToggleTemplateDirectLinkMutationSchema,
|
||||
ZUpdateTemplateSettingsMutationSchema,
|
||||
ZUpdateTemplateTypedSignatureSettingsMutationSchema,
|
||||
} from './schema';
|
||||
|
||||
export const templateRouter = router({
|
||||
@ -359,4 +360,48 @@ 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,6 +114,7 @@ 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(),
|
||||
});
|
||||
@ -138,6 +139,12 @@ 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
|
||||
|
||||
@ -34,7 +34,7 @@ const getCardClassNames = (
|
||||
const baseClasses = 'field-card-container relative z-20 h-full w-full transition-all';
|
||||
|
||||
const insertedClasses =
|
||||
'bg-documenso/20 border-documenso ring-documenso-200 ring-offset-documenso-200 ring-2 ring-offset-2 dark:shadow-none';
|
||||
'bg-primary/20 border-primary ring-primary/20 ring-offset-primary/20 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';
|
||||
|
||||
@ -74,7 +74,7 @@
|
||||
"react-hook-form": "^7.45.4",
|
||||
"react-pdf": "7.7.3",
|
||||
"react-rnd": "^10.4.1",
|
||||
"remeda": "^1.27.1",
|
||||
"remeda": "^2.17.3",
|
||||
"tailwind-merge": "^1.12.0",
|
||||
"tailwindcss-animate": "^1.0.5",
|
||||
"ts-pattern": "^5.0.5",
|
||||
|
||||
@ -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.documenso.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.primary.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.documenso.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.primary.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_theme(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_var(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-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"
|
||||
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"
|
||||
checked={value.checked}
|
||||
onCheckedChange={(checked) => handleCheckedChange(Boolean(checked), value.id)}
|
||||
/>
|
||||
|
||||
@ -38,6 +38,7 @@ export type SignaturePadProps = Omit<HTMLAttributes<HTMLCanvasElement>, 'onChang
|
||||
containerClassName?: string;
|
||||
disabled?: boolean;
|
||||
allowTypedSignature?: boolean;
|
||||
defaultValue?: string;
|
||||
};
|
||||
|
||||
export const SignaturePad = ({
|
||||
@ -56,7 +57,7 @@ export const SignaturePad = ({
|
||||
const [lines, setLines] = useState<Point[][]>([]);
|
||||
const [currentLine, setCurrentLine] = useState<Point[]>([]);
|
||||
const [selectedColor, setSelectedColor] = useState('black');
|
||||
const [typedSignature, setTypedSignature] = useState('');
|
||||
const [typedSignature, setTypedSignature] = useState(defaultValue ?? '');
|
||||
|
||||
const perfectFreehandOptions = useMemo(() => {
|
||||
const size = $el.current ? Math.min($el.current.height, $el.current.width) * 0.03 : 10;
|
||||
@ -206,6 +207,7 @@ 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';
|
||||
@ -217,7 +219,7 @@ export const SignaturePad = ({
|
||||
|
||||
// Start with a base font size
|
||||
let fontSize = 18;
|
||||
ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`;
|
||||
ctx.font = `${fontSize}px ${fontFamily}`;
|
||||
|
||||
// Measure 10 characters and calculate scale factor
|
||||
const characterWidth = ctx.measureText('m'.repeat(10)).width;
|
||||
@ -227,7 +229,7 @@ export const SignaturePad = ({
|
||||
fontSize = fontSize * scaleFactor;
|
||||
|
||||
// Adjust font size if it exceeds canvas width
|
||||
ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`;
|
||||
ctx.font = `${fontSize}px ${fontFamily}`;
|
||||
|
||||
const textWidth = ctx.measureText(typedSignature).width;
|
||||
|
||||
@ -236,7 +238,7 @@ export const SignaturePad = ({
|
||||
}
|
||||
|
||||
// Set final font and render text
|
||||
ctx.font = `${fontSize}px ${fontCaveat.style.fontFamily}`;
|
||||
ctx.font = `${fontSize}px ${fontFamily}`;
|
||||
ctx.fillText(typedSignature, canvasWidth / 2, canvasHeight / 2);
|
||||
}
|
||||
}
|
||||
@ -247,7 +249,7 @@ export const SignaturePad = ({
|
||||
setTypedSignature(newValue);
|
||||
|
||||
if (newValue.trim() !== '') {
|
||||
onChange?.($el.current?.toDataURL() || null);
|
||||
onChange?.(newValue);
|
||||
} else {
|
||||
onChange?.(null);
|
||||
}
|
||||
@ -256,7 +258,7 @@ export const SignaturePad = ({
|
||||
useEffect(() => {
|
||||
if (typedSignature.trim() !== '') {
|
||||
renderTypedSignature();
|
||||
onChange?.($el.current?.toDataURL() || null);
|
||||
onChange?.(typedSignature);
|
||||
} else {
|
||||
onClearClick();
|
||||
}
|
||||
@ -303,6 +305,10 @@ export const SignaturePad = ({
|
||||
$el.current.width = $el.current.clientWidth * DPI;
|
||||
$el.current.height = $el.current.clientHeight * DPI;
|
||||
}
|
||||
|
||||
if (defaultValue && typedSignature) {
|
||||
renderTypedSignature();
|
||||
}
|
||||
}, []);
|
||||
|
||||
unsafe_useEffectOnce(() => {
|
||||
|
||||
@ -55,8 +55,10 @@ 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';
|
||||
|
||||
@ -80,6 +82,7 @@ export type AddTemplateFieldsFormProps = {
|
||||
fields: Field[];
|
||||
onSubmit: (_data: TAddTemplateFieldsFormSchema) => void;
|
||||
teamId?: number;
|
||||
typedSignatureEnabled?: boolean;
|
||||
};
|
||||
|
||||
export const AddTemplateFieldsFormPartial = ({
|
||||
@ -89,6 +92,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
fields,
|
||||
onSubmit,
|
||||
teamId,
|
||||
typedSignatureEnabled,
|
||||
}: AddTemplateFieldsFormProps) => {
|
||||
const { _ } = useLingui();
|
||||
|
||||
@ -97,13 +101,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
const [showAdvancedSettings, setShowAdvancedSettings] = useState(false);
|
||||
const [currentField, setCurrentField] = useState<FieldFormType>();
|
||||
|
||||
const {
|
||||
control,
|
||||
handleSubmit,
|
||||
formState: { isSubmitting },
|
||||
setValue,
|
||||
getValues,
|
||||
} = useForm<TAddTemplateFieldsFormSchema>({
|
||||
const form = useForm<TAddTemplateFieldsFormSchema>({
|
||||
defaultValues: {
|
||||
fields: fields.map((field) => ({
|
||||
nativeId: field.id,
|
||||
@ -121,13 +119,14 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
recipients.find((recipient) => recipient.id === field.recipientId)?.token ?? '',
|
||||
fieldMeta: field.fieldMeta ? ZFieldMetaSchema.parse(field.fieldMeta) : undefined,
|
||||
})),
|
||||
typedSignatureEnabled: typedSignatureEnabled ?? false,
|
||||
},
|
||||
});
|
||||
|
||||
const onFormSubmit = handleSubmit(onSubmit);
|
||||
const onFormSubmit = form.handleSubmit(onSubmit);
|
||||
|
||||
const handleSavedFieldSettings = (fieldState: FieldMeta) => {
|
||||
const initialValues = getValues();
|
||||
const initialValues = form.getValues();
|
||||
|
||||
const updatedFields = initialValues.fields.map((field) => {
|
||||
if (field.formId === currentField?.formId) {
|
||||
@ -142,7 +141,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
return field;
|
||||
});
|
||||
|
||||
setValue('fields', updatedFields);
|
||||
form.setValue('fields', updatedFields);
|
||||
};
|
||||
|
||||
const {
|
||||
@ -151,7 +150,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
update,
|
||||
fields: localFields,
|
||||
} = useFieldArray({
|
||||
control,
|
||||
control: form.control,
|
||||
name: 'fields',
|
||||
});
|
||||
|
||||
@ -402,6 +401,12 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
setShowAdvancedSettings((prev) => !prev);
|
||||
};
|
||||
|
||||
const isTypedSignatureEnabled = form.watch('typedSignatureEnabled');
|
||||
|
||||
const handleTypedSignatureChange = (value: boolean) => {
|
||||
form.setValue('typedSignatureEnabled', value, { shouldDirty: true });
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
{showAdvancedSettings && currentField ? (
|
||||
@ -568,6 +573,33 @@ 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
|
||||
@ -772,7 +804,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
)}
|
||||
>
|
||||
<Disc className="h-4 w-4" />
|
||||
<Trans>Radio</Trans>
|
||||
Radio
|
||||
</p>
|
||||
</CardContent>
|
||||
</Card>
|
||||
@ -798,6 +830,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
)}
|
||||
>
|
||||
<CheckSquare className="h-4 w-4" />
|
||||
{/* Not translated on purpose. */}
|
||||
Checkbox
|
||||
</p>
|
||||
</CardContent>
|
||||
@ -831,8 +864,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
</button>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</DocumentFlowFormContainerContent>
|
||||
</Form>
|
||||
|
||||
{hasErrors && (
|
||||
<div className="mt-4">
|
||||
@ -856,8 +888,8 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
<DocumentFlowFormContainerStep step={currentStep} maxStep={totalSteps} />
|
||||
|
||||
<DocumentFlowFormContainerActions
|
||||
loading={isSubmitting}
|
||||
disabled={isSubmitting}
|
||||
loading={form.formState.isSubmitting}
|
||||
disabled={form.formState.isSubmitting}
|
||||
goNextLabel={msg`Save Template`}
|
||||
disableNextStep={hasErrors}
|
||||
onGoBackClick={() => {
|
||||
@ -867,6 +899,8 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
onGoNextClick={() => void onFormSubmit()}
|
||||
/>
|
||||
</DocumentFlowFormContainerFooter>
|
||||
</div>
|
||||
</DocumentFlowFormContainerContent>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
|
||||
@ -20,6 +20,7 @@ export const ZAddTemplateFieldsFormSchema = z.object({
|
||||
fieldMeta: ZFieldMetaSchema,
|
||||
}),
|
||||
),
|
||||
typedSignatureEnabled: z.boolean(),
|
||||
});
|
||||
|
||||
export type TAddTemplateFieldsFormSchema = z.infer<typeof ZAddTemplateFieldsFormSchema>;
|
||||
|
||||
@ -138,7 +138,7 @@
|
||||
--new-surface-white: 0, 0%, 91%;
|
||||
}
|
||||
|
||||
.dark {
|
||||
.dark:not(.dark-mode-disabled) {
|
||||
--background: 0 0% 14.9%;
|
||||
--foreground: 0 0% 97%;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user