mirror of
https://github.com/documenso/documenso.git
synced 2025-11-10 04:22:32 +10:00
feat: add global settings for teams (#1391)
## Description This PR introduces global settings for teams. At the moment, it allows team admins to configure the following: * The default visibility of the documents uploaded to the team account * Whether to include the document owner (sender) details when sending emails to the recipients. ### Include Sender Details If the Sender Details setting is enabled, the emails sent by the team will include the sender's name: > "Example User" on behalf of "Example Team" has invited you to sign "document.pdf" Otherwise, the email will say: > "Example Team" has invited you to sign "document.pdf" ### Default Document Visibility This new option allows users to set the default visibility for the documents uploaded to the team account. It can have the following values: * Everyone * Manager and above * Admins only If the default document visibility isn't set, the document will be set to the role of the user who created the document: * If a user with the "User" role creates a document, the document's visibility is set to "Everyone". * Manager role -> "Manager and above" * Admin role -> "Admins only" Otherwise, if there is a default document visibility value, it uses that value. #### Gotcha To avoid issues, the `document owner` and the `recipient` can access the document irrespective of their role. For example: * If a team member with the role "Member" uploads a document and the default document visibility is "Admins", only the document owner and admins can access the document. * Similar to the other scenarios. * If an admin uploads a document and the default document visibility is "Admins", the recipient can access the document. * The admins have access to all the documents. * Managers have access to documents with the visibility set to "Everyone" and "Manager and above" * Members have access only to the documents with the visibility set to "Everyone". ## Testing Performed Tested it locally.
This commit is contained in:
@ -11,6 +11,7 @@
|
||||
"templates": "Templates",
|
||||
"direct-links": "Direct Signing Links",
|
||||
"document-visibility": "Document Visibility",
|
||||
"teams": "Teams",
|
||||
"-- Legal Overview": {
|
||||
"type": "separator",
|
||||
"title": "Legal Overview"
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
---
|
||||
title: Document Visibility
|
||||
description: Learn how to control the visibility of your team documents.
|
||||
---
|
||||
|
||||
# Team's Document Visibility
|
||||
|
||||
By default, all documents created in a team are visible to all team members. However, you can control the visibility of your documents by changing the document's visibility settings.
|
||||
|
||||
To set the visibility of a document, click on the **Document visibility** dropdown in the document's settings panel.
|
||||
|
||||

|
||||
|
||||
The document visibility can be set to one of the following options:
|
||||
|
||||
- **Everyone** - The document is visible to all team members.
|
||||
- **Managers and above** - The document is visible to people with the role of Manager or above.
|
||||
- **Admin only** - The document is only visible to the team's admins.
|
||||
5
apps/documentation/pages/users/teams/_meta.json
Normal file
5
apps/documentation/pages/users/teams/_meta.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"general-settings": "General Settings",
|
||||
"document-visibility": "Document Visibility",
|
||||
"sender-details": "Email Sender Details"
|
||||
}
|
||||
45
apps/documentation/pages/users/teams/document-visibility.mdx
Normal file
45
apps/documentation/pages/users/teams/document-visibility.mdx
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
title: Document Visibility
|
||||
description: Learn how to control the visibility of your team documents.
|
||||
---
|
||||
|
||||
import { Callout } from 'nextra/components';
|
||||
|
||||
# Team's Document Visibility
|
||||
|
||||
The default document visibility option allows you to control who can view and access the documents uploaded to your team account. The document visibility can be set to one of the following options:
|
||||
|
||||
- **Everyone** - The document is visible to all team members.
|
||||
- **Managers and above** - The document is visible to team members with the role of _Manager or above_ and _Admin_.
|
||||
- **Admin only** - The document is only visible to the team's admins.
|
||||
|
||||

|
||||
|
||||
The default document visibility is set to "_EVERYONE_" by default. You can change this setting by going to the [team's general settings page](/users/teams/general-settings) and selecting a different visibility option.
|
||||
|
||||
<Callout type="warning">
|
||||
If the team member uploading the document has a role lower than the default document visibility,
|
||||
the document visibility will be set to a lower visibility level matching the team member's role.
|
||||
</Callout>
|
||||
|
||||
Here's how it works:
|
||||
|
||||
- If a user with the "_Member_" role creates a document and the default document visibility is set to "_Admin_" or "_Managers and above_", the document's visibility is set to "_Everyone_".
|
||||
- If a user with the "_Manager_" role creates a document and the default document visibility is set to "_Admin_", the document's visibility is set to "_Managers and above_".
|
||||
- Otherwise, the document's visibility is set to the default document visibility.
|
||||
|
||||
You can change the visibility of a document at any time by editing the document and selecting a different visibility option.
|
||||
|
||||

|
||||
|
||||
<Callout type="warning">
|
||||
Updating the default document visibility in the team's general settings will not affect the
|
||||
visibility of existing documents. You will need to update the visibility of each document
|
||||
individually.
|
||||
</Callout>
|
||||
|
||||
## A Note on Document Access
|
||||
|
||||
The `document owner` (the user who created the document) always has access to the document, regardless of the document's visibility settings. This means that even if a document is set to "Admins only", the document owner can still view and edit the document.
|
||||
|
||||
The `recipient` (the user who receives the document for signature, approval, etc.) also has access to the document, regardless of the document's visibility settings. This means that even if a document is set to "Admins only", the recipient can still view and sign the document.
|
||||
15
apps/documentation/pages/users/teams/general-settings.mdx
Normal file
15
apps/documentation/pages/users/teams/general-settings.mdx
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
title: General Settings
|
||||
description: Learn how to manage your team's General settings.
|
||||
---
|
||||
|
||||
# General Settings
|
||||
|
||||
You can manage your team's general settings by clicking on the **General Settings** tab in the team's settings dashboard.
|
||||
|
||||

|
||||
|
||||
The general settings page allows you to update the following settings:
|
||||
|
||||
- **Document Visibility** - Set the default visibility of the documents created by team members. Learn more about [document visibility](/users/teams/document-visibility).
|
||||
- **Sender Details** - Set whether the sender's name should be included in the emails sent by the team. Learn more about [sender details](/users/teams/sender-details).
|
||||
14
apps/documentation/pages/users/teams/sender-details.mdx
Normal file
14
apps/documentation/pages/users/teams/sender-details.mdx
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: Email Sender Details
|
||||
description: Learn how to update the sender details for your team's email notifications.
|
||||
---
|
||||
|
||||
## Sender Details
|
||||
|
||||
If the **Sender Details** setting is enabled, the emails sent by the team will include the sender's name. The email will say:
|
||||
|
||||
> "Example User" on behalf of "Example Team" has invited you to sign "document.pdf"
|
||||
|
||||
If the **Sender Details** setting is disabled, the emails sent by the team will not include the sender's name. The email will say:
|
||||
|
||||
> "Example Team" has invited you to sign "document.pdf"
|
||||
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
BIN
apps/documentation/public/teams/team-general-settings.webp
Normal file
BIN
apps/documentation/public/teams/team-general-settings.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
@ -74,7 +74,7 @@ export const DocumentPageView = async ({ params, team }: DocumentPageViewProps)
|
||||
const isRecipient = document?.Recipient.find((recipient) => recipient.email === user.email);
|
||||
let canAccessDocument = true;
|
||||
|
||||
if (team && !isRecipient) {
|
||||
if (team && !isRecipient && document?.userId !== user.id) {
|
||||
canAccessDocument = match([documentVisibility, currentTeamMemberRole])
|
||||
.with([DocumentVisibility.EVERYONE, TeamMemberRole.ADMIN], () => true)
|
||||
.with([DocumentVisibility.EVERYONE, TeamMemberRole.MANAGER], () => true)
|
||||
|
||||
@ -55,7 +55,7 @@ export const DocumentEditPageView = async ({ params, team }: DocumentEditPageVie
|
||||
const isRecipient = document?.Recipient.find((recipient) => recipient.email === user.email);
|
||||
let canAccessDocument = true;
|
||||
|
||||
if (!isRecipient) {
|
||||
if (!isRecipient && document?.userId !== user.id) {
|
||||
canAccessDocument = match([documentVisibility, currentTeamMemberRole])
|
||||
.with([DocumentVisibility.EVERYONE, TeamMemberRole.ADMIN], () => true)
|
||||
.with([DocumentVisibility.EVERYONE, TeamMemberRole.MANAGER], () => true)
|
||||
|
||||
@ -52,7 +52,13 @@ export default async function TeamsSettingsPage({ params }: TeamsSettingsPagePro
|
||||
|
||||
<AvatarImageForm className="mb-8" team={team} user={session.user} />
|
||||
|
||||
<UpdateTeamForm teamId={team.id} teamName={team.name} teamUrl={team.url} />
|
||||
<UpdateTeamForm
|
||||
teamId={team.id}
|
||||
teamName={team.name}
|
||||
teamUrl={team.url}
|
||||
documentVisibility={team.teamGlobalSettings?.documentVisibility}
|
||||
includeSenderDetails={team.teamGlobalSettings?.includeSenderDetails}
|
||||
/>
|
||||
|
||||
<section className="mt-6 space-y-6">
|
||||
{(team.teamEmail || team.emailVerification) && (
|
||||
|
||||
@ -0,0 +1,319 @@
|
||||
'use client';
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
import { zodResolver } from '@hookform/resolvers/zod';
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { Loader } from 'lucide-react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { z } from 'zod';
|
||||
|
||||
import { getFile } from '@documenso/lib/universal/upload/get-file';
|
||||
import { putFile } from '@documenso/lib/universal/upload/put-file';
|
||||
import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
|
||||
import { trpc } from '@documenso/trpc/react';
|
||||
import { cn } from '@documenso/ui/lib/utils';
|
||||
import { Button } from '@documenso/ui/primitives/button';
|
||||
import {
|
||||
Form,
|
||||
FormControl,
|
||||
FormDescription,
|
||||
FormField,
|
||||
FormItem,
|
||||
FormLabel,
|
||||
} from '@documenso/ui/primitives/form/form';
|
||||
import { Input } from '@documenso/ui/primitives/input';
|
||||
import { Switch } from '@documenso/ui/primitives/switch';
|
||||
import { Textarea } from '@documenso/ui/primitives/textarea';
|
||||
import { useToast } from '@documenso/ui/primitives/use-toast';
|
||||
|
||||
const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
|
||||
const ACCEPTED_FILE_TYPES = ['image/jpeg', 'image/png', 'image/webp'];
|
||||
|
||||
const ZTeamBrandingPreferencesFormSchema = z.object({
|
||||
brandingEnabled: z.boolean(),
|
||||
brandingLogo: z
|
||||
.instanceof(File)
|
||||
.refine((file) => file.size <= MAX_FILE_SIZE, 'File size must be less than 5MB')
|
||||
.refine(
|
||||
(file) => ACCEPTED_FILE_TYPES.includes(file.type),
|
||||
'Only .jpg, .png, and .webp files are accepted',
|
||||
)
|
||||
.nullish(),
|
||||
brandingUrl: z.string().url().optional().or(z.literal('')),
|
||||
brandingCompanyDetails: z.string().max(500).optional(),
|
||||
});
|
||||
|
||||
type TTeamBrandingPreferencesFormSchema = z.infer<typeof ZTeamBrandingPreferencesFormSchema>;
|
||||
|
||||
export type TeamBrandingPreferencesFormProps = {
|
||||
team: Team;
|
||||
settings?: TeamGlobalSettings | null;
|
||||
};
|
||||
|
||||
export function TeamBrandingPreferencesForm({ team, settings }: TeamBrandingPreferencesFormProps) {
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
|
||||
const [previewUrl, setPreviewUrl] = useState<string>('');
|
||||
const [hasLoadedPreview, setHasLoadedPreview] = useState(false);
|
||||
|
||||
const { mutateAsync: updateTeamBrandingSettings } =
|
||||
trpc.team.updateTeamBrandingSettings.useMutation();
|
||||
|
||||
const form = useForm<TTeamBrandingPreferencesFormSchema>({
|
||||
defaultValues: {
|
||||
brandingEnabled: settings?.brandingEnabled ?? false,
|
||||
brandingUrl: settings?.brandingUrl ?? '',
|
||||
brandingLogo: undefined,
|
||||
brandingCompanyDetails: settings?.brandingCompanyDetails ?? '',
|
||||
},
|
||||
resolver: zodResolver(ZTeamBrandingPreferencesFormSchema),
|
||||
});
|
||||
|
||||
const isBrandingEnabled = form.watch('brandingEnabled');
|
||||
|
||||
const onSubmit = async (data: TTeamBrandingPreferencesFormSchema) => {
|
||||
try {
|
||||
const { brandingEnabled, brandingLogo, brandingUrl, brandingCompanyDetails } = data;
|
||||
|
||||
let uploadedBrandingLogo = settings?.brandingLogo;
|
||||
|
||||
if (brandingLogo) {
|
||||
uploadedBrandingLogo = JSON.stringify(await putFile(brandingLogo));
|
||||
}
|
||||
|
||||
if (brandingLogo === null) {
|
||||
uploadedBrandingLogo = '';
|
||||
}
|
||||
|
||||
await updateTeamBrandingSettings({
|
||||
teamId: team.id,
|
||||
settings: {
|
||||
brandingEnabled,
|
||||
brandingLogo: uploadedBrandingLogo,
|
||||
brandingUrl,
|
||||
brandingCompanyDetails,
|
||||
},
|
||||
});
|
||||
|
||||
toast({
|
||||
title: _(msg`Branding preferences updated`),
|
||||
description: _(msg`Your branding preferences have been updated`),
|
||||
});
|
||||
} catch (err) {
|
||||
toast({
|
||||
title: _(msg`Something went wrong`),
|
||||
description: _(
|
||||
msg`We were unable to update your branding preferences at this time, please try again later`,
|
||||
),
|
||||
variant: 'destructive',
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (settings?.brandingLogo) {
|
||||
const file = JSON.parse(settings.brandingLogo);
|
||||
|
||||
if ('type' in file && 'data' in file) {
|
||||
void getFile(file).then((binaryData) => {
|
||||
const objectUrl = URL.createObjectURL(new Blob([binaryData]));
|
||||
|
||||
setPreviewUrl(objectUrl);
|
||||
setHasLoadedPreview(true);
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
setHasLoadedPreview(true);
|
||||
}, [settings?.brandingLogo]);
|
||||
|
||||
// Cleanup ObjectURL on unmount or when previewUrl changes
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
if (previewUrl.startsWith('blob:')) {
|
||||
URL.revokeObjectURL(previewUrl);
|
||||
}
|
||||
};
|
||||
}, [previewUrl]);
|
||||
|
||||
return (
|
||||
<Form {...form}>
|
||||
<form onSubmit={form.handleSubmit(onSubmit)}>
|
||||
<fieldset
|
||||
className="flex h-full max-w-xl flex-col gap-y-4"
|
||||
disabled={form.formState.isSubmitting}
|
||||
>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="brandingEnabled"
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex-1">
|
||||
<FormLabel>Enable Custom Branding</FormLabel>
|
||||
|
||||
<div>
|
||||
<FormControl>
|
||||
<Switch
|
||||
ref={field.ref}
|
||||
name={field.name}
|
||||
checked={field.value}
|
||||
onCheckedChange={field.onChange}
|
||||
/>
|
||||
</FormControl>
|
||||
</div>
|
||||
|
||||
<FormDescription>
|
||||
<Trans>Enable custom branding for all documents in this team.</Trans>
|
||||
</FormDescription>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<div className="relative flex w-full flex-col gap-y-4">
|
||||
{!isBrandingEnabled && <div className="bg-background/60 absolute inset-0 z-[9999]" />}
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="brandingLogo"
|
||||
render={({ field: { value: _value, onChange, ...field } }) => (
|
||||
<FormItem className="flex-1">
|
||||
<FormLabel>Branding Logo</FormLabel>
|
||||
|
||||
<div className="flex flex-col gap-4">
|
||||
<div className="border-border bg-background relative h-48 w-full overflow-hidden rounded-lg border">
|
||||
{previewUrl ? (
|
||||
<img
|
||||
src={previewUrl}
|
||||
alt="Logo preview"
|
||||
className="h-full w-full object-contain p-4"
|
||||
/>
|
||||
) : (
|
||||
<div className="bg-muted/20 dark:bg-muted text-muted-foreground relative flex h-full w-full items-center justify-center text-sm">
|
||||
Please upload a logo
|
||||
{!hasLoadedPreview && (
|
||||
<div className="bg-muted dark:bg-muted absolute inset-0 z-[999] flex items-center justify-center">
|
||||
<Loader className="text-muted-foreground h-8 w-8 animate-spin" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="relative">
|
||||
<FormControl className="relative">
|
||||
<Input
|
||||
type="file"
|
||||
accept={ACCEPTED_FILE_TYPES.join(',')}
|
||||
disabled={!isBrandingEnabled}
|
||||
onChange={(e) => {
|
||||
const file = e.target.files?.[0];
|
||||
|
||||
if (file) {
|
||||
if (previewUrl.startsWith('blob:')) {
|
||||
URL.revokeObjectURL(previewUrl);
|
||||
}
|
||||
|
||||
const objectUrl = URL.createObjectURL(file);
|
||||
|
||||
setPreviewUrl(objectUrl);
|
||||
|
||||
onChange(file);
|
||||
}
|
||||
}}
|
||||
className={cn(
|
||||
'h-auto p-2',
|
||||
'file:text-primary hover:file:bg-primary/90',
|
||||
'file:mr-4 file:cursor-pointer file:rounded-md file:border-0',
|
||||
'file:p-2 file:py-2 file:font-medium',
|
||||
'file:bg-primary file:text-primary-foreground',
|
||||
!isBrandingEnabled && 'cursor-not-allowed',
|
||||
)}
|
||||
{...field}
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<div className="absolute right-2 top-0 inline-flex h-full items-center justify-center">
|
||||
<Button
|
||||
type="button"
|
||||
variant="link"
|
||||
size="sm"
|
||||
className="text-destructive text-xs"
|
||||
onClick={() => {
|
||||
setPreviewUrl('');
|
||||
onChange(null);
|
||||
}}
|
||||
>
|
||||
<Trans>Remove</Trans>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<FormDescription>
|
||||
<Trans>Upload your brand logo (max 5MB, JPG, PNG, or WebP)</Trans>
|
||||
</FormDescription>
|
||||
</div>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="brandingUrl"
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex-1">
|
||||
<FormLabel>Brand Website</FormLabel>
|
||||
|
||||
<FormControl>
|
||||
<Input
|
||||
type="url"
|
||||
placeholder="https://example.com"
|
||||
disabled={!isBrandingEnabled}
|
||||
{...field}
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<FormDescription>
|
||||
<Trans>Your brand website URL</Trans>
|
||||
</FormDescription>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="brandingCompanyDetails"
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex-1">
|
||||
<FormLabel>Brand Details</FormLabel>
|
||||
|
||||
<FormControl>
|
||||
<Textarea
|
||||
placeholder={_(msg`Enter your brand details`)}
|
||||
className="min-h-[100px] resize-y"
|
||||
disabled={!isBrandingEnabled}
|
||||
{...field}
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
<FormDescription>
|
||||
<Trans>Additional brand information to display at the bottom of emails</Trans>
|
||||
</FormDescription>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-row justify-end space-x-4">
|
||||
<Button type="submit" loading={form.formState.isSubmitting}>
|
||||
<Trans>Save</Trans>
|
||||
</Button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</Form>
|
||||
);
|
||||
}
|
||||
@ -0,0 +1,235 @@
|
||||
'use client';
|
||||
|
||||
import { zodResolver } from '@hookform/resolvers/zod';
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { useSession } from 'next-auth/react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { z } from 'zod';
|
||||
|
||||
import {
|
||||
SUPPORTED_LANGUAGES,
|
||||
SUPPORTED_LANGUAGE_CODES,
|
||||
isValidLanguageCode,
|
||||
} from '@documenso/lib/constants/i18n';
|
||||
import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
|
||||
import { DocumentVisibility } from '@documenso/prisma/client';
|
||||
import { trpc } from '@documenso/trpc/react';
|
||||
import { Alert } from '@documenso/ui/primitives/alert';
|
||||
import { Button } from '@documenso/ui/primitives/button';
|
||||
import {
|
||||
Form,
|
||||
FormControl,
|
||||
FormDescription,
|
||||
FormField,
|
||||
FormItem,
|
||||
FormLabel,
|
||||
} from '@documenso/ui/primitives/form/form';
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from '@documenso/ui/primitives/select';
|
||||
import { Switch } from '@documenso/ui/primitives/switch';
|
||||
import { useToast } from '@documenso/ui/primitives/use-toast';
|
||||
|
||||
const ZTeamDocumentPreferencesFormSchema = z.object({
|
||||
documentVisibility: z.nativeEnum(DocumentVisibility),
|
||||
documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES),
|
||||
includeSenderDetails: z.boolean(),
|
||||
});
|
||||
|
||||
type TTeamDocumentPreferencesFormSchema = z.infer<typeof ZTeamDocumentPreferencesFormSchema>;
|
||||
|
||||
export type TeamDocumentPreferencesFormProps = {
|
||||
team: Team;
|
||||
settings?: TeamGlobalSettings | null;
|
||||
};
|
||||
|
||||
export const TeamDocumentPreferencesForm = ({
|
||||
team,
|
||||
settings,
|
||||
}: TeamDocumentPreferencesFormProps) => {
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
const { data } = useSession();
|
||||
|
||||
const placeholderEmail = data?.user.email ?? 'user@example.com';
|
||||
|
||||
const { mutateAsync: updateTeamDocumentPreferences } =
|
||||
trpc.team.updateTeamDocumentSettings.useMutation();
|
||||
|
||||
const form = useForm<TTeamDocumentPreferencesFormSchema>({
|
||||
defaultValues: {
|
||||
documentVisibility: settings?.documentVisibility ?? 'EVERYONE',
|
||||
documentLanguage: isValidLanguageCode(settings?.documentLanguage)
|
||||
? settings?.documentLanguage
|
||||
: 'en',
|
||||
includeSenderDetails: settings?.includeSenderDetails ?? false,
|
||||
},
|
||||
resolver: zodResolver(ZTeamDocumentPreferencesFormSchema),
|
||||
});
|
||||
|
||||
const includeSenderDetails = form.watch('includeSenderDetails');
|
||||
|
||||
const onSubmit = async (data: TTeamDocumentPreferencesFormSchema) => {
|
||||
try {
|
||||
const { documentVisibility, documentLanguage, includeSenderDetails } = data;
|
||||
|
||||
await updateTeamDocumentPreferences({
|
||||
teamId: team.id,
|
||||
settings: {
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
},
|
||||
});
|
||||
|
||||
toast({
|
||||
title: _(msg`Document preferences updated`),
|
||||
description: _(msg`Your document preferences have been updated`),
|
||||
});
|
||||
} catch (err) {
|
||||
toast({
|
||||
title: _(msg`Something went wrong!`),
|
||||
description: _(
|
||||
msg`We were unable to update your document preferences at this time, please try again later`,
|
||||
),
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Form {...form}>
|
||||
<form onSubmit={form.handleSubmit(onSubmit)}>
|
||||
<fieldset
|
||||
className="flex h-full max-w-xl flex-col gap-y-4"
|
||||
disabled={form.formState.isSubmitting}
|
||||
>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="documentVisibility"
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex-1">
|
||||
<FormLabel>
|
||||
<Trans>Default Document Visibility</Trans>
|
||||
</FormLabel>
|
||||
|
||||
<FormControl>
|
||||
<Select {...field} onValueChange={field.onChange}>
|
||||
<SelectTrigger className="bg-background text-muted-foreground">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
|
||||
<SelectContent>
|
||||
<SelectItem value={DocumentVisibility.EVERYONE}>
|
||||
<Trans>Everyone can access and view the document</Trans>
|
||||
</SelectItem>
|
||||
<SelectItem value={DocumentVisibility.MANAGER_AND_ABOVE}>
|
||||
<Trans>Only managers and above can access and view the document</Trans>
|
||||
</SelectItem>
|
||||
<SelectItem value={DocumentVisibility.ADMIN}>
|
||||
<Trans>Only admins can access and view the document</Trans>
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</FormControl>
|
||||
|
||||
<FormDescription>
|
||||
<Trans>Controls the default visibility of an uploaded document.</Trans>
|
||||
</FormDescription>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="documentLanguage"
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex-1">
|
||||
<FormLabel>
|
||||
<Trans>Default Document Language</Trans>
|
||||
</FormLabel>
|
||||
|
||||
<FormControl>
|
||||
<Select {...field} onValueChange={field.onChange}>
|
||||
<SelectTrigger className="bg-background text-muted-foreground">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
|
||||
<SelectContent>
|
||||
{Object.entries(SUPPORTED_LANGUAGES).map(([code, language]) => (
|
||||
<SelectItem key={code} value={code}>
|
||||
{language.full}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</FormControl>
|
||||
|
||||
<FormDescription>
|
||||
<Trans>
|
||||
Controls the default language of an uploaded document. This will be used as the
|
||||
language in email communications with the recipients.
|
||||
</Trans>
|
||||
</FormDescription>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="includeSenderDetails"
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex-1">
|
||||
<FormLabel>
|
||||
<Trans>Send on Behalf of Team</Trans>
|
||||
</FormLabel>
|
||||
|
||||
<div>
|
||||
<FormControl className="block">
|
||||
<Switch
|
||||
ref={field.ref}
|
||||
name={field.name}
|
||||
checked={field.value}
|
||||
onCheckedChange={field.onChange}
|
||||
/>
|
||||
</FormControl>
|
||||
</div>
|
||||
|
||||
<div className="pt-2">
|
||||
<div className="text-muted-foreground text-xs font-medium">
|
||||
<Trans>Preview</Trans>
|
||||
</div>
|
||||
|
||||
<Alert variant="neutral" className="mt-1 px-2.5 py-1.5 text-sm">
|
||||
{includeSenderDetails
|
||||
? _(msg`"${placeholderEmail}" on behalf of "${team.name}" has invited you to sign "example
|
||||
document".`)
|
||||
: _(msg`"${team.name}" has invited you to sign "example document".`)}
|
||||
</Alert>
|
||||
</div>
|
||||
|
||||
<FormDescription>
|
||||
<Trans>
|
||||
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.
|
||||
</Trans>
|
||||
</FormDescription>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<div className="flex flex-row justify-end space-x-4">
|
||||
<Button type="submit" loading={form.formState.isSubmitting}>
|
||||
<Trans>Save</Trans>
|
||||
</Button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</Form>
|
||||
);
|
||||
};
|
||||
@ -0,0 +1,52 @@
|
||||
import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
|
||||
import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
|
||||
import { getTeamByUrl } from '@documenso/lib/server-only/team/get-team';
|
||||
|
||||
import { SettingsHeader } from '~/components/(dashboard)/settings/layout/header';
|
||||
|
||||
import { TeamBrandingPreferencesForm } from './branding-preferences';
|
||||
import { TeamDocumentPreferencesForm } from './document-preferences';
|
||||
|
||||
export type TeamsSettingsPageProps = {
|
||||
params: {
|
||||
teamUrl: string;
|
||||
};
|
||||
};
|
||||
|
||||
export default async function TeamsSettingsPage({ params }: TeamsSettingsPageProps) {
|
||||
await setupI18nSSR();
|
||||
|
||||
const { _ } = useLingui();
|
||||
|
||||
const { teamUrl } = params;
|
||||
|
||||
const session = await getRequiredServerComponentSession();
|
||||
|
||||
const team = await getTeamByUrl({ userId: session.user.id, teamUrl });
|
||||
|
||||
return (
|
||||
<div>
|
||||
<SettingsHeader
|
||||
title={_(msg`Team Preferences`)}
|
||||
subtitle={_(msg`Here you can set preferences and defaults for your team.`)}
|
||||
/>
|
||||
|
||||
<section>
|
||||
<TeamDocumentPreferencesForm team={team} settings={team.teamGlobalSettings} />
|
||||
</section>
|
||||
|
||||
<SettingsHeader
|
||||
title={_(msg`Branding Preferences`)}
|
||||
subtitle={_(msg`Here you can set preferences and defaults for branding.`)}
|
||||
className="mt-8"
|
||||
/>
|
||||
|
||||
<section>
|
||||
<TeamBrandingPreferencesForm team={team} settings={team.teamGlobalSettings} />
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -6,14 +6,22 @@ import { zodResolver } from '@hookform/resolvers/zod';
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { AnimatePresence, motion } from 'framer-motion';
|
||||
import { useSession } from 'next-auth/react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { match } from 'ts-pattern';
|
||||
import type { z } from 'zod';
|
||||
|
||||
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
|
||||
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
|
||||
import { DocumentVisibility } from '@documenso/prisma/client';
|
||||
import { trpc } from '@documenso/trpc/react';
|
||||
import { ZUpdateTeamMutationSchema } from '@documenso/trpc/server/team-router/schema';
|
||||
import {
|
||||
DocumentVisibilitySelect,
|
||||
DocumentVisibilityTooltip,
|
||||
} from '@documenso/ui/components/document/document-visibility-select';
|
||||
import { Button } from '@documenso/ui/primitives/button';
|
||||
import { Checkbox } from '@documenso/ui/primitives/checkbox';
|
||||
import {
|
||||
Form,
|
||||
FormControl,
|
||||
@ -29,18 +37,29 @@ export type UpdateTeamDialogProps = {
|
||||
teamId: number;
|
||||
teamName: string;
|
||||
teamUrl: string;
|
||||
documentVisibility?: DocumentVisibility;
|
||||
includeSenderDetails?: boolean;
|
||||
};
|
||||
|
||||
const ZUpdateTeamFormSchema = ZUpdateTeamMutationSchema.shape.data.pick({
|
||||
name: true,
|
||||
url: true,
|
||||
documentVisibility: true,
|
||||
includeSenderDetails: true,
|
||||
});
|
||||
|
||||
type TUpdateTeamFormSchema = z.infer<typeof ZUpdateTeamFormSchema>;
|
||||
|
||||
export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogProps) => {
|
||||
export const UpdateTeamForm = ({
|
||||
teamId,
|
||||
teamName,
|
||||
teamUrl,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
}: UpdateTeamDialogProps) => {
|
||||
const router = useRouter();
|
||||
|
||||
const { data: session } = useSession();
|
||||
const email = session?.user?.email;
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
|
||||
@ -49,17 +68,36 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
|
||||
defaultValues: {
|
||||
name: teamName,
|
||||
url: teamUrl,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
},
|
||||
});
|
||||
|
||||
const { mutateAsync: updateTeam } = trpc.team.updateTeam.useMutation();
|
||||
const includeSenderDetailsCheck = form.watch('includeSenderDetails');
|
||||
|
||||
const onFormSubmit = async ({ name, url }: TUpdateTeamFormSchema) => {
|
||||
const mapVisibilityToRole = (visibility: DocumentVisibility): DocumentVisibility =>
|
||||
match(visibility)
|
||||
.with(DocumentVisibility.ADMIN, () => DocumentVisibility.ADMIN)
|
||||
.with(DocumentVisibility.MANAGER_AND_ABOVE, () => DocumentVisibility.MANAGER_AND_ABOVE)
|
||||
.otherwise(() => DocumentVisibility.EVERYONE);
|
||||
|
||||
const currentVisibilityRole = mapVisibilityToRole(
|
||||
documentVisibility ?? DocumentVisibility.EVERYONE,
|
||||
);
|
||||
const onFormSubmit = async ({
|
||||
name,
|
||||
url,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
}: TUpdateTeamFormSchema) => {
|
||||
try {
|
||||
await updateTeam({
|
||||
data: {
|
||||
name,
|
||||
url,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
},
|
||||
teamId,
|
||||
});
|
||||
@ -73,6 +111,8 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
|
||||
form.reset({
|
||||
name,
|
||||
url,
|
||||
documentVisibility,
|
||||
includeSenderDetails,
|
||||
});
|
||||
|
||||
if (url !== teamUrl) {
|
||||
@ -146,6 +186,68 @@ export const UpdateTeamForm = ({ teamId, teamName, teamUrl }: UpdateTeamDialogPr
|
||||
)}
|
||||
/>
|
||||
|
||||
<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 && (
|
||||
|
||||
@ -6,7 +6,7 @@ import Link from 'next/link';
|
||||
import { useParams, usePathname } from 'next/navigation';
|
||||
|
||||
import { Trans } from '@lingui/macro';
|
||||
import { Braces, CreditCard, Globe2Icon, Settings, Users, Webhook } from 'lucide-react';
|
||||
import { Braces, CreditCard, Globe2Icon, Settings, Settings2, Users, Webhook } from 'lucide-react';
|
||||
|
||||
import { useFeatureFlags } from '@documenso/lib/client-only/providers/feature-flag';
|
||||
import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app';
|
||||
@ -26,6 +26,7 @@ export const DesktopNav = ({ className, ...props }: DesktopNavProps) => {
|
||||
const teamUrl = typeof params?.teamUrl === 'string' ? params?.teamUrl : '';
|
||||
|
||||
const settingsPath = `/t/${teamUrl}/settings`;
|
||||
const preferencesPath = `/t/${teamUrl}/settings/preferences`;
|
||||
const publicProfilePath = `/t/${teamUrl}/settings/public-profile`;
|
||||
const membersPath = `/t/${teamUrl}/settings/members`;
|
||||
const tokensPath = `/t/${teamUrl}/settings/tokens`;
|
||||
@ -44,6 +45,20 @@ export const DesktopNav = ({ className, ...props }: DesktopNavProps) => {
|
||||
</Button>
|
||||
</Link>
|
||||
|
||||
<Link href={preferencesPath}>
|
||||
<Button
|
||||
variant="ghost"
|
||||
className={cn(
|
||||
'w-full justify-start',
|
||||
pathname?.startsWith(preferencesPath) && 'bg-secondary',
|
||||
)}
|
||||
>
|
||||
<Settings2 className="mr-2 h-5 w-5" />
|
||||
|
||||
<Trans>Preferences</Trans>
|
||||
</Button>
|
||||
</Link>
|
||||
|
||||
{isPublicProfileEnabled && (
|
||||
<Link href={publicProfilePath}>
|
||||
<Button
|
||||
|
||||
@ -6,7 +6,7 @@ import Link from 'next/link';
|
||||
import { useParams, usePathname } from 'next/navigation';
|
||||
|
||||
import { Trans } from '@lingui/macro';
|
||||
import { Braces, CreditCard, Globe2Icon, Key, User, Webhook } from 'lucide-react';
|
||||
import { Braces, CreditCard, Globe2Icon, Key, Settings2, User, Webhook } from 'lucide-react';
|
||||
|
||||
import { useFeatureFlags } from '@documenso/lib/client-only/providers/feature-flag';
|
||||
import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app';
|
||||
@ -26,6 +26,7 @@ export const MobileNav = ({ className, ...props }: MobileNavProps) => {
|
||||
const teamUrl = typeof params?.teamUrl === 'string' ? params?.teamUrl : '';
|
||||
|
||||
const settingsPath = `/t/${teamUrl}/settings`;
|
||||
const preferencesPath = `/t/${teamUrl}/preferences`;
|
||||
const publicProfilePath = `/t/${teamUrl}/settings/public-profile`;
|
||||
const membersPath = `/t/${teamUrl}/settings/members`;
|
||||
const tokensPath = `/t/${teamUrl}/settings/tokens`;
|
||||
@ -52,6 +53,21 @@ export const MobileNav = ({ className, ...props }: MobileNavProps) => {
|
||||
</Button>
|
||||
</Link>
|
||||
|
||||
<Link href={preferencesPath}>
|
||||
<Button
|
||||
variant="ghost"
|
||||
className={cn(
|
||||
'w-full justify-start',
|
||||
pathname?.startsWith(preferencesPath) &&
|
||||
pathname.split('/').length === 4 &&
|
||||
'bg-secondary',
|
||||
)}
|
||||
>
|
||||
<Settings2 className="mr-2 h-5 w-5" />
|
||||
<Trans>Preferences</Trans>
|
||||
</Button>
|
||||
</Link>
|
||||
|
||||
{isPublicProfileEnabled && (
|
||||
<Link href={publicProfilePath}>
|
||||
<Button
|
||||
|
||||
59
apps/web/src/pages/api/branding/logo/team/[teamId].ts
Normal file
59
apps/web/src/pages/api/branding/logo/team/[teamId].ts
Normal file
@ -0,0 +1,59 @@
|
||||
import type { NextApiRequest, NextApiResponse } from 'next';
|
||||
|
||||
import sharp from 'sharp';
|
||||
|
||||
import { getFile } from '@documenso/lib/universal/upload/get-file';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
|
||||
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
|
||||
const teamId = Number(req.query['teamId']);
|
||||
|
||||
if (teamId === 0 || Number.isNaN(teamId)) {
|
||||
return res.status(400).json({
|
||||
status: 'error',
|
||||
message: 'Invalid team ID',
|
||||
});
|
||||
}
|
||||
|
||||
const settings = await prisma.teamGlobalSettings.findFirst({
|
||||
where: {
|
||||
teamId,
|
||||
},
|
||||
});
|
||||
|
||||
if (!settings || !settings.brandingEnabled) {
|
||||
return res.status(404).json({
|
||||
status: 'error',
|
||||
message: 'Not found',
|
||||
});
|
||||
}
|
||||
|
||||
if (!settings.brandingLogo) {
|
||||
return res.status(404).json({
|
||||
status: 'error',
|
||||
message: 'Not found',
|
||||
});
|
||||
}
|
||||
|
||||
const file = await getFile(JSON.parse(settings.brandingLogo)).catch(() => null);
|
||||
|
||||
if (!file) {
|
||||
return res.status(404).json({
|
||||
status: 'error',
|
||||
message: 'Not found',
|
||||
});
|
||||
}
|
||||
|
||||
const img = await sharp(file)
|
||||
.toFormat('png', {
|
||||
quality: 80,
|
||||
})
|
||||
.toBuffer();
|
||||
|
||||
res.setHeader('Content-Type', 'image/png');
|
||||
res.setHeader('Content-Length', img.length);
|
||||
// Stale while revalidate for 1 hours to 24 hours
|
||||
res.setHeader('Cache-Control', 'public, s-maxage=3600, stale-while-revalidate=86400');
|
||||
|
||||
res.status(200).send(img);
|
||||
}
|
||||
@ -36,7 +36,7 @@ test('[DOCUMENT_AUTH]: should allow signing when no auth setup', async ({ page }
|
||||
await expect(page.getByRole('heading', { name: 'Sign Document' })).toBeVisible();
|
||||
|
||||
// Add signature.
|
||||
const canvas = page.locator('canvas');
|
||||
const canvas = page.locator('canvas').first();
|
||||
const box = await canvas.boundingBox();
|
||||
if (box) {
|
||||
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
|
||||
@ -93,7 +93,7 @@ test('[DOCUMENT_AUTH]: should allow signing with valid global auth', async ({ pa
|
||||
await expect(page.getByRole('heading', { name: 'Sign Document' })).toBeVisible();
|
||||
|
||||
// Add signature.
|
||||
const canvas = page.locator('canvas');
|
||||
const canvas = page.locator('canvas').first();
|
||||
const box = await canvas.boundingBox();
|
||||
if (box) {
|
||||
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
|
||||
@ -262,7 +262,7 @@ test('[DOCUMENT_AUTH]: should allow field signing when required for recipient au
|
||||
}
|
||||
|
||||
// Add signature.
|
||||
const canvas = page.locator('canvas');
|
||||
const canvas = page.locator('canvas').first();
|
||||
const box = await canvas.boundingBox();
|
||||
if (box) {
|
||||
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
|
||||
@ -373,7 +373,7 @@ test('[DOCUMENT_AUTH]: should allow field signing when required for recipient an
|
||||
}
|
||||
|
||||
// Add signature.
|
||||
const canvas = page.locator('canvas');
|
||||
const canvas = page.locator('canvas').first();
|
||||
const box = await canvas.boundingBox();
|
||||
if (box) {
|
||||
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
|
||||
|
||||
@ -462,6 +462,45 @@ test('[TEAMS]: check document visibility based on team member role', async ({ pa
|
||||
}
|
||||
});
|
||||
|
||||
test('[TEAMS]: ensure document owner can see document regardless of visibility', async ({
|
||||
page,
|
||||
}) => {
|
||||
const team = await seedTeam();
|
||||
|
||||
// Seed a member user
|
||||
const memberUser = await seedTeamMember({
|
||||
teamId: team.id,
|
||||
role: TeamMemberRole.MEMBER,
|
||||
});
|
||||
|
||||
// Seed a document with ADMIN visibility but make the member user a recipient
|
||||
await seedDocuments([
|
||||
{
|
||||
sender: memberUser,
|
||||
recipients: [],
|
||||
type: DocumentStatus.COMPLETED,
|
||||
documentOptions: {
|
||||
teamId: team.id,
|
||||
visibility: 'ADMIN',
|
||||
title: 'Admin Document with Member Document Owner',
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
await apiSignin({
|
||||
page,
|
||||
email: memberUser.email,
|
||||
redirectPath: `/t/${team.url}/documents?status=COMPLETED`,
|
||||
});
|
||||
|
||||
// Check that the member user can see the document
|
||||
await expect(
|
||||
page.getByRole('link', { name: 'Admin Document with Member Document Owner', exact: true }),
|
||||
).toBeVisible();
|
||||
|
||||
await apiSignout({ page });
|
||||
});
|
||||
|
||||
test('[TEAMS]: ensure recipient can see document regardless of visibility', async ({ page }) => {
|
||||
const team = await seedTeam();
|
||||
|
||||
|
||||
62
packages/app-tests/e2e/teams/team-global-settings.spec.ts
Normal file
62
packages/app-tests/e2e/teams/team-global-settings.spec.ts
Normal file
@ -0,0 +1,62 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
|
||||
import { seedTeam } from '@documenso/prisma/seed/teams';
|
||||
|
||||
import { apiSignin } from '../fixtures/authentication';
|
||||
|
||||
test.describe.configure({ mode: 'parallel' });
|
||||
|
||||
test('[TEAMS]: update the default document visibility in the team global settings', async ({
|
||||
page,
|
||||
}) => {
|
||||
const team = await seedTeam({
|
||||
createTeamMembers: 1,
|
||||
});
|
||||
|
||||
await apiSignin({
|
||||
page,
|
||||
email: team.owner.email,
|
||||
password: 'password',
|
||||
redirectPath: `/t/${team.url}/settings`,
|
||||
});
|
||||
|
||||
await page.getByRole('combobox').click();
|
||||
await page.getByRole('option', { name: 'Admin' }).click();
|
||||
await page.getByRole('button', { name: 'Update team' }).click();
|
||||
|
||||
const toast = page.locator('li[role="status"][data-state="open"]').first();
|
||||
await expect(toast).toBeVisible();
|
||||
await expect(toast.getByText('Success', { exact: true })).toBeVisible();
|
||||
await expect(
|
||||
toast.getByText('Your team has been successfully updated.', { exact: true }),
|
||||
).toBeVisible();
|
||||
});
|
||||
|
||||
test('[TEAMS]: update the sender details in the team global settings', async ({ page }) => {
|
||||
const team = await seedTeam({
|
||||
createTeamMembers: 1,
|
||||
});
|
||||
|
||||
await apiSignin({
|
||||
page,
|
||||
email: team.owner.email,
|
||||
password: 'password',
|
||||
redirectPath: `/t/${team.url}/settings`,
|
||||
});
|
||||
|
||||
const checkbox = page.getByLabel('Send on Behalf of Team');
|
||||
await checkbox.check();
|
||||
|
||||
await expect(checkbox).toBeChecked();
|
||||
|
||||
await page.getByRole('button', { name: 'Update team' }).click();
|
||||
|
||||
const toast = page.locator('li[role="status"][data-state="open"]').first();
|
||||
await expect(toast).toBeVisible();
|
||||
await expect(toast.getByText('Success', { exact: true })).toBeVisible();
|
||||
await expect(
|
||||
toast.getByText('Your team has been successfully updated.', { exact: true }),
|
||||
).toBeVisible();
|
||||
|
||||
await expect(checkbox).toBeChecked();
|
||||
});
|
||||
@ -29,7 +29,7 @@ test('[TEAMS]: initiate and cancel team transfer', async ({ page }) => {
|
||||
await page.getByLabel('Confirm by typing transfer').fill('transfer');
|
||||
await page.getByRole('button', { name: 'Transfer' }).click();
|
||||
|
||||
await expect(page.locator('[id="\\:r2\\:-form-item-message"]')).toContainText(
|
||||
await expect(page.locator('[id*="form-item-message"]').first()).toContainText(
|
||||
`You must enter 'transfer ${team.name}' to proceed`,
|
||||
);
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ test('[USER] can sign up with email and password', async ({ page }: { page: Page
|
||||
await page.getByLabel('Email').fill(email);
|
||||
await page.getByLabel('Password', { exact: true }).fill(password);
|
||||
|
||||
const canvas = page.locator('canvas');
|
||||
const canvas = page.locator('canvas').first();
|
||||
const box = await canvas.boundingBox();
|
||||
|
||||
if (box) {
|
||||
|
||||
@ -12,7 +12,7 @@ test('[USER] update full name', async ({ page }) => {
|
||||
|
||||
await page.getByLabel('Full Name').fill('John Doe');
|
||||
|
||||
const canvas = page.locator('canvas');
|
||||
const canvas = page.locator('canvas').first();
|
||||
const box = await canvas.boundingBox();
|
||||
|
||||
if (box) {
|
||||
|
||||
44
packages/email/providers/branding.tsx
Normal file
44
packages/email/providers/branding.tsx
Normal file
@ -0,0 +1,44 @@
|
||||
'use client';
|
||||
|
||||
import { createContext, useContext } from 'react';
|
||||
|
||||
type BrandingContextValue = {
|
||||
brandingEnabled: boolean;
|
||||
brandingUrl: string;
|
||||
brandingLogo: string;
|
||||
brandingCompanyDetails: string;
|
||||
brandingHidePoweredBy: boolean;
|
||||
};
|
||||
|
||||
const BrandingContext = createContext<BrandingContextValue | undefined>(undefined);
|
||||
|
||||
const defaultBrandingContextValue: BrandingContextValue = {
|
||||
brandingEnabled: false,
|
||||
brandingUrl: '',
|
||||
brandingLogo: '',
|
||||
brandingCompanyDetails: '',
|
||||
brandingHidePoweredBy: false,
|
||||
};
|
||||
|
||||
export const BrandingProvider = (props: {
|
||||
branding?: BrandingContextValue;
|
||||
children: React.ReactNode;
|
||||
}) => {
|
||||
return (
|
||||
<BrandingContext.Provider value={props.branding ?? defaultBrandingContextValue}>
|
||||
{props.children}
|
||||
</BrandingContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
export const useBranding = () => {
|
||||
const ctx = useContext(BrandingContext);
|
||||
|
||||
if (!ctx) {
|
||||
throw new Error('Branding context not found');
|
||||
}
|
||||
|
||||
return ctx;
|
||||
};
|
||||
|
||||
export type BrandingSettings = BrandingContextValue;
|
||||
@ -1,11 +1,18 @@
|
||||
import * as reactEmail from '@react-email/render';
|
||||
import * as ReactEmail from '@react-email/render';
|
||||
|
||||
import config from '@documenso/tailwind-config';
|
||||
|
||||
import { Tailwind } from './components';
|
||||
import { BrandingProvider, type BrandingSettings } from './providers/branding';
|
||||
|
||||
export const render: typeof reactEmail.render = (element, options) => {
|
||||
return reactEmail.render(
|
||||
export type RenderOptions = ReactEmail.Options & {
|
||||
branding?: BrandingSettings;
|
||||
};
|
||||
|
||||
export const render = (element: React.ReactNode, options?: RenderOptions) => {
|
||||
const { branding, ...otherOptions } = options ?? {};
|
||||
|
||||
return ReactEmail.render(
|
||||
<Tailwind
|
||||
config={{
|
||||
theme: {
|
||||
@ -15,14 +22,16 @@ export const render: typeof reactEmail.render = (element, options) => {
|
||||
},
|
||||
}}
|
||||
>
|
||||
{element}
|
||||
<BrandingProvider branding={branding}>{element}</BrandingProvider>
|
||||
</Tailwind>,
|
||||
options,
|
||||
otherOptions,
|
||||
);
|
||||
};
|
||||
|
||||
export const renderAsync: typeof reactEmail.renderAsync = async (element, options) => {
|
||||
return reactEmail.renderAsync(
|
||||
export const renderAsync = async (element: React.ReactNode, options?: RenderOptions) => {
|
||||
const { branding, ...otherOptions } = options ?? {};
|
||||
|
||||
return await ReactEmail.renderAsync(
|
||||
<Tailwind
|
||||
config={{
|
||||
theme: {
|
||||
@ -32,8 +41,8 @@ export const renderAsync: typeof reactEmail.renderAsync = async (element, option
|
||||
},
|
||||
}}
|
||||
>
|
||||
{element}
|
||||
<BrandingProvider branding={branding}>{element}</BrandingProvider>
|
||||
</Tailwind>,
|
||||
options,
|
||||
otherOptions,
|
||||
);
|
||||
};
|
||||
|
||||
@ -46,13 +46,6 @@ export const TemplateDocumentCompleted = ({
|
||||
</Text>
|
||||
|
||||
<Section className="mb-6 mt-8 text-center">
|
||||
{/* <Button
|
||||
className="mr-4 inline-flex items-center justify-center rounded-lg border border-solid border-slate-200 px-4 py-2 text-center text-sm font-medium text-black no-underline"
|
||||
href={reviewLink}
|
||||
>
|
||||
<Img src={getAssetUrl('/static/review.png')} className="-mb-1 mr-2 inline h-5 w-5" />
|
||||
Review
|
||||
</Button> */}
|
||||
<Button
|
||||
className="rounded-lg border border-solid border-slate-200 px-4 py-2 text-center text-sm font-medium text-black no-underline"
|
||||
href={downloadLink}
|
||||
|
||||
@ -18,6 +18,7 @@ export interface TemplateDocumentInviteProps {
|
||||
selfSigner: boolean;
|
||||
isTeamInvite: boolean;
|
||||
teamName?: string;
|
||||
includeSenderDetails?: boolean;
|
||||
}
|
||||
|
||||
export const TemplateDocumentInvite = ({
|
||||
@ -29,6 +30,7 @@ export const TemplateDocumentInvite = ({
|
||||
selfSigner,
|
||||
isTeamInvite,
|
||||
teamName,
|
||||
includeSenderDetails,
|
||||
}: TemplateDocumentInviteProps) => {
|
||||
const { _ } = useLingui();
|
||||
|
||||
@ -46,10 +48,19 @@ export const TemplateDocumentInvite = ({
|
||||
<br />"{documentName}"
|
||||
</Trans>
|
||||
) : isTeamInvite ? (
|
||||
<>
|
||||
{includeSenderDetails ? (
|
||||
<Trans>
|
||||
{inviterName} on behalf of {teamName} has invited you to {_(actionVerb).toLowerCase()}
|
||||
<br />"{documentName}"
|
||||
{inviterName} on behalf of {teamName} has invited you to{' '}
|
||||
{_(actionVerb).toLowerCase()}
|
||||
</Trans>
|
||||
) : (
|
||||
<Trans>
|
||||
{teamName} has invited you to {_(actionVerb).toLowerCase()}
|
||||
</Trans>
|
||||
)}
|
||||
<br />"{documentName}"
|
||||
</>
|
||||
) : (
|
||||
<Trans>
|
||||
{inviterName} has invited you to {_(actionVerb).toLowerCase()}
|
||||
|
||||
@ -1,15 +1,18 @@
|
||||
import { Trans } from '@lingui/macro';
|
||||
|
||||
import { Link, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
|
||||
export type TemplateFooterProps = {
|
||||
isDocument?: boolean;
|
||||
};
|
||||
|
||||
export const TemplateFooter = ({ isDocument = true }: TemplateFooterProps) => {
|
||||
const branding = useBranding();
|
||||
|
||||
return (
|
||||
<Section>
|
||||
{isDocument && (
|
||||
{isDocument && !branding.brandingHidePoweredBy && (
|
||||
<Text className="my-4 text-base text-slate-400">
|
||||
<Trans>
|
||||
This document was sent using{' '}
|
||||
@ -20,11 +23,24 @@ export const TemplateFooter = ({ isDocument = true }: TemplateFooterProps) => {
|
||||
</Text>
|
||||
)}
|
||||
|
||||
{branding.brandingCompanyDetails ? (
|
||||
<Text className="my-8 text-sm text-slate-400">
|
||||
{branding.brandingCompanyDetails.split('\n').map((line, idx) => {
|
||||
return (
|
||||
<>
|
||||
{idx > 0 && <br />}
|
||||
{line}
|
||||
</>
|
||||
);
|
||||
})}
|
||||
</Text>
|
||||
) : (
|
||||
<Text className="my-8 text-sm text-slate-400">
|
||||
Documenso, Inc.
|
||||
<br />
|
||||
2261 Market Street, #5211, San Francisco, CA 94114, USA
|
||||
</Text>
|
||||
)}
|
||||
</Section>
|
||||
);
|
||||
};
|
||||
|
||||
@ -2,6 +2,7 @@ import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import type { TemplateConfirmationEmailProps } from '../template-components/template-confirmation-email';
|
||||
import { TemplateConfirmationEmail } from '../template-components/template-confirmation-email';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
@ -11,6 +12,7 @@ export const ConfirmEmailTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: TemplateConfirmationEmailProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Please confirm your email address`;
|
||||
|
||||
@ -26,11 +28,15 @@ export const ConfirmEmailTemplate = ({
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateConfirmationEmail
|
||||
confirmationLink={confirmationLink}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { msg } from '@lingui/macro';
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { formatTeamUrl } from '@documenso/lib/utils/teams';
|
||||
@ -10,11 +10,13 @@ import {
|
||||
Head,
|
||||
Hr,
|
||||
Html,
|
||||
Img,
|
||||
Link,
|
||||
Preview,
|
||||
Section,
|
||||
Text,
|
||||
} from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import TemplateImage from '../template-components/template-image';
|
||||
|
||||
@ -34,6 +36,7 @@ export const ConfirmTeamEmailTemplate = ({
|
||||
token = '',
|
||||
}: ConfirmTeamEmailProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Accept team email request for ${teamName} on Documenso`;
|
||||
|
||||
@ -45,11 +48,15 @@ export const ConfirmTeamEmailTemplate = ({
|
||||
<Body className="mx-auto my-auto font-sans">
|
||||
<Section className="bg-white">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 px-2 pt-2 backdrop-blur-sm">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6 p-2" />
|
||||
) : (
|
||||
<TemplateImage
|
||||
assetBaseUrl={assetBaseUrl}
|
||||
className="mb-4 h-6 p-2"
|
||||
staticAsset="logo.png"
|
||||
/>
|
||||
)}
|
||||
|
||||
<Section>
|
||||
<TemplateImage
|
||||
@ -61,12 +68,14 @@ export const ConfirmTeamEmailTemplate = ({
|
||||
|
||||
<Section className="p-2 text-slate-500">
|
||||
<Text className="text-center text-lg font-medium text-black">
|
||||
Verify your team email address
|
||||
<Trans>Verify your team email address</Trans>
|
||||
</Text>
|
||||
|
||||
<Text className="text-center text-base">
|
||||
<Trans>
|
||||
<span className="font-bold">{teamName}</span> has requested to use your email
|
||||
address for their team on Documenso.
|
||||
</Trans>
|
||||
</Text>
|
||||
|
||||
<div className="mx-auto mt-6 w-fit rounded-lg bg-gray-50 px-4 py-2 text-base font-medium text-slate-600">
|
||||
@ -75,25 +84,29 @@ export const ConfirmTeamEmailTemplate = ({
|
||||
|
||||
<Section className="mt-6">
|
||||
<Text className="my-0 text-sm">
|
||||
By accepting this request, you will be granting <strong>{teamName}</strong> access
|
||||
to:
|
||||
<Trans>
|
||||
By accepting this request, you will be granting <strong>{teamName}</strong>{' '}
|
||||
access to:
|
||||
</Trans>
|
||||
</Text>
|
||||
|
||||
<ul className="mb-0 mt-2">
|
||||
<li className="text-sm">
|
||||
View all documents sent to and from this email address
|
||||
<Trans>View all documents sent to and from this email address</Trans>
|
||||
</li>
|
||||
<li className="mt-1 text-sm">
|
||||
Allow document recipients to reply directly to this email address
|
||||
<Trans>Allow document recipients to reply directly to this email address</Trans>
|
||||
</li>
|
||||
<li className="mt-1 text-sm">
|
||||
Send documents on behalf of the team using the email address
|
||||
<Trans>Send documents on behalf of the team using the email address</Trans>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<Text className="mt-2 text-sm">
|
||||
<Trans>
|
||||
You can revoke access at any time in your team settings on Documenso{' '}
|
||||
<Link href={`${baseUrl}/settings/teams`}>here.</Link>
|
||||
</Trans>
|
||||
</Text>
|
||||
</Section>
|
||||
|
||||
@ -102,12 +115,14 @@ export const ConfirmTeamEmailTemplate = ({
|
||||
className="bg-documenso-500 inline-flex items-center justify-center rounded-lg px-6 py-3 text-center text-sm font-medium text-black no-underline"
|
||||
href={`${baseUrl}/team/verify/email/${token}`}
|
||||
>
|
||||
Accept
|
||||
<Trans>Accept</Trans>
|
||||
</Button>
|
||||
</Section>
|
||||
</Section>
|
||||
|
||||
<Text className="text-center text-xs text-slate-500">Link expires in 1 hour.</Text>
|
||||
<Text className="text-center text-xs text-slate-500">
|
||||
<Trans>Link expires in 1 hour.</Trans>
|
||||
</Text>
|
||||
</Container>
|
||||
|
||||
<Hr className="mx-auto mt-12 max-w-xl" />
|
||||
|
||||
@ -2,6 +2,7 @@ import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import type { TemplateDocumentCancelProps } from '../template-components/template-document-cancel';
|
||||
import { TemplateDocumentCancel } from '../template-components/template-document-cancel';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
@ -15,6 +16,7 @@ export const DocumentCancelTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: DocumentCancelEmailTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`${inviterName} has cancelled the document ${documentName}, you don't need to sign it anymore.`;
|
||||
|
||||
@ -31,11 +33,15 @@ export const DocumentCancelTemplate = ({
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentCancel
|
||||
inviterName={inviterName}
|
||||
|
||||
@ -2,6 +2,7 @@ import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import type { TemplateDocumentCompletedProps } from '../template-components/template-document-completed';
|
||||
import { TemplateDocumentCompleted } from '../template-components/template-document-completed';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
@ -17,6 +18,7 @@ export const DocumentCompletedEmailTemplate = ({
|
||||
customBody,
|
||||
}: DocumentCompletedEmailTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Completed Document`;
|
||||
|
||||
@ -33,11 +35,15 @@ export const DocumentCompletedEmailTemplate = ({
|
||||
<Section className="bg-white">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
||||
<Section className="p-2">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentCompleted
|
||||
downloadLink={downloadLink}
|
||||
|
||||
@ -4,6 +4,7 @@ import { useLingui } from '@lingui/react';
|
||||
import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
|
||||
|
||||
import { Body, Button, Container, Head, Html, Img, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import TemplateDocumentImage from '../template-components/template-document-image';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import { RecipientRole } from '.prisma/client';
|
||||
@ -24,6 +25,7 @@ export const DocumentCreatedFromDirectTemplateEmailTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: DocumentCompletedEmailTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const action = _(RECIPIENT_ROLES_DESCRIPTION[recipientRole].actioned).toLowerCase();
|
||||
|
||||
@ -42,11 +44,15 @@ export const DocumentCreatedFromDirectTemplateEmailTemplate = ({
|
||||
<Section className="bg-white">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
||||
<Section className="p-2">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentImage className="mt-6" assetBaseUrl={assetBaseUrl} />
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-
|
||||
import type { RecipientRole } from '@documenso/prisma/client';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Img, Link, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import type { TemplateDocumentInviteProps } from '../template-components/template-document-invite';
|
||||
import { TemplateDocumentInvite } from '../template-components/template-document-invite';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
@ -16,6 +17,7 @@ export type DocumentInviteEmailTemplateProps = Partial<TemplateDocumentInvitePro
|
||||
isTeamInvite?: boolean;
|
||||
teamName?: string;
|
||||
teamEmail?: string;
|
||||
includeSenderDetails?: boolean;
|
||||
};
|
||||
|
||||
export const DocumentInviteEmailTemplate = ({
|
||||
@ -29,16 +31,24 @@ export const DocumentInviteEmailTemplate = ({
|
||||
selfSigner = false,
|
||||
isTeamInvite = false,
|
||||
teamName,
|
||||
includeSenderDetails,
|
||||
}: DocumentInviteEmailTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const action = _(RECIPIENT_ROLES_DESCRIPTION[role].actionVerb).toLowerCase();
|
||||
|
||||
const previewText = selfSigner
|
||||
? msg`Please ${action} your document ${documentName}`
|
||||
: isTeamInvite
|
||||
let previewText = msg`${inviterName} has invited you to ${action} ${documentName}`;
|
||||
|
||||
if (isTeamInvite) {
|
||||
previewText = includeSenderDetails
|
||||
? msg`${inviterName} on behalf of ${teamName} has invited you to ${action} ${documentName}`
|
||||
: msg`${inviterName} has invited you to ${action} ${documentName}`;
|
||||
: msg`${teamName} has invited you to ${action} ${documentName}`;
|
||||
}
|
||||
|
||||
if (selfSigner) {
|
||||
previewText = msg`Please ${action} your document ${documentName}`;
|
||||
}
|
||||
|
||||
const getAssetUrl = (path: string) => {
|
||||
return new URL(path, assetBaseUrl).toString();
|
||||
@ -53,11 +63,15 @@ export const DocumentInviteEmailTemplate = ({
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentInvite
|
||||
inviterName={inviterName}
|
||||
@ -69,6 +83,7 @@ export const DocumentInviteEmailTemplate = ({
|
||||
selfSigner={selfSigner}
|
||||
isTeamInvite={isTeamInvite}
|
||||
teamName={teamName}
|
||||
includeSenderDetails={includeSenderDetails}
|
||||
/>
|
||||
</Section>
|
||||
</Container>
|
||||
@ -89,7 +104,7 @@ export const DocumentInviteEmailTemplate = ({
|
||||
<pre className="font-sans text-base text-slate-400">{customBody}</pre>
|
||||
) : (
|
||||
<Trans>
|
||||
{inviterName} has invited you to {action} the document {documentName}.
|
||||
{inviterName} has invited you to {action} the document "{documentName}".
|
||||
</Trans>
|
||||
)}
|
||||
</Text>
|
||||
|
||||
@ -2,6 +2,7 @@ import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import type { TemplateDocumentPendingProps } from '../template-components/template-document-pending';
|
||||
import { TemplateDocumentPending } from '../template-components/template-document-pending';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
@ -13,6 +14,7 @@ export const DocumentPendingEmailTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: DocumentPendingEmailTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Pending Document`;
|
||||
|
||||
@ -29,11 +31,15 @@ export const DocumentPendingEmailTemplate = ({
|
||||
<Section className="bg-white">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentPending documentName={documentName} assetBaseUrl={assetBaseUrl} />
|
||||
</Section>
|
||||
|
||||
@ -2,6 +2,7 @@ import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import type { TemplateDocumentSelfSignedProps } from '../template-components/template-document-self-signed';
|
||||
import { TemplateDocumentSelfSigned } from '../template-components/template-document-self-signed';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
@ -13,6 +14,7 @@ export const DocumentSelfSignedEmailTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: DocumentSelfSignedTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Completed Document`;
|
||||
|
||||
@ -29,11 +31,15 @@ export const DocumentSelfSignedEmailTemplate = ({
|
||||
<Section className="bg-white">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
||||
<Section className="p-2">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentSelfSigned documentName={documentName} assetBaseUrl={assetBaseUrl} />
|
||||
</Section>
|
||||
|
||||
@ -2,6 +2,7 @@ import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import {
|
||||
TemplateDocumentDelete,
|
||||
type TemplateDocumentDeleteProps,
|
||||
@ -16,6 +17,7 @@ export const DocumentSuperDeleteEmailTemplate = ({
|
||||
reason = 'Unknown',
|
||||
}: DocumentDeleteEmailTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`An admin has deleted your document "${documentName}".`;
|
||||
|
||||
@ -32,11 +34,15 @@ export const DocumentSuperDeleteEmailTemplate = ({
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentDelete
|
||||
reason={reason}
|
||||
|
||||
@ -2,6 +2,7 @@ import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import type { TemplateForgotPasswordProps } from '../template-components/template-forgot-password';
|
||||
import { TemplateForgotPassword } from '../template-components/template-forgot-password';
|
||||
@ -13,6 +14,7 @@ export const ForgotPasswordTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: ForgotPasswordTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Password Reset Requested`;
|
||||
|
||||
@ -29,11 +31,15 @@ export const ForgotPasswordTemplate = ({
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateForgotPassword
|
||||
resetPasswordLink={resetPasswordLink}
|
||||
|
||||
@ -2,6 +2,7 @@ import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import type { TemplateDocumentCancelProps } from '../template-components/template-document-cancel';
|
||||
import TemplateDocumentImage from '../template-components/template-document-image';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
@ -14,6 +15,7 @@ export const RecipientRemovedFromDocumentTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: DocumentCancelEmailTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`${inviterName} has removed you from the document ${documentName}.`;
|
||||
|
||||
@ -30,11 +32,15 @@ export const RecipientRemovedFromDocumentTemplate = ({
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentImage className="mt-6" assetBaseUrl={assetBaseUrl} />
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Img, Link, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import type { TemplateResetPasswordProps } from '../template-components/template-reset-password';
|
||||
import { TemplateResetPassword } from '../template-components/template-reset-password';
|
||||
@ -14,6 +15,7 @@ export const ResetPasswordTemplate = ({
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: ResetPasswordTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Password Reset Successful`;
|
||||
|
||||
@ -30,11 +32,15 @@ export const ResetPasswordTemplate = ({
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateResetPassword
|
||||
userName={userName}
|
||||
|
||||
@ -3,7 +3,8 @@ import { useLingui } from '@lingui/react';
|
||||
|
||||
import { formatTeamUrl } from '@documenso/lib/utils/teams';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components';
|
||||
import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import TemplateImage from '../template-components/template-image';
|
||||
|
||||
@ -21,6 +22,7 @@ export const TeamDeleteEmailTemplate = ({
|
||||
isOwner = false,
|
||||
}: TeamDeleteEmailProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = isOwner
|
||||
? msg`Your team has been deleted`
|
||||
@ -42,11 +44,15 @@ export const TeamDeleteEmailTemplate = ({
|
||||
<Body className="mx-auto my-auto font-sans">
|
||||
<Section className="bg-white text-slate-500">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6 p-2" />
|
||||
) : (
|
||||
<TemplateImage
|
||||
assetBaseUrl={assetBaseUrl}
|
||||
className="mb-4 h-6 p-2"
|
||||
staticAsset="logo.png"
|
||||
/>
|
||||
)}
|
||||
|
||||
<Section>
|
||||
<TemplateImage
|
||||
|
||||
@ -3,7 +3,8 @@ import { useLingui } from '@lingui/react';
|
||||
|
||||
import { formatTeamUrl } from '@documenso/lib/utils/teams';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components';
|
||||
import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import TemplateImage from '../template-components/template-image';
|
||||
|
||||
@ -23,6 +24,7 @@ export const TeamEmailRemovedTemplate = ({
|
||||
teamUrl = 'demo',
|
||||
}: TeamEmailRemovedTemplateProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Team email removed for ${teamName} on Documenso`;
|
||||
|
||||
@ -34,11 +36,15 @@ export const TeamEmailRemovedTemplate = ({
|
||||
<Body className="mx-auto my-auto font-sans">
|
||||
<Section className="bg-white text-slate-500">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 px-2 pt-2 backdrop-blur-sm">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6 p-2" />
|
||||
) : (
|
||||
<TemplateImage
|
||||
assetBaseUrl={assetBaseUrl}
|
||||
className="mb-4 h-6 p-2"
|
||||
staticAsset="logo.png"
|
||||
/>
|
||||
)}
|
||||
|
||||
<Section>
|
||||
<TemplateImage
|
||||
|
||||
@ -3,7 +3,19 @@ import { useLingui } from '@lingui/react';
|
||||
|
||||
import { formatTeamUrl } from '@documenso/lib/utils/teams';
|
||||
|
||||
import { Body, Button, Container, Head, Hr, Html, Preview, Section, Text } from '../components';
|
||||
import {
|
||||
Body,
|
||||
Button,
|
||||
Container,
|
||||
Head,
|
||||
Hr,
|
||||
Html,
|
||||
Img,
|
||||
Preview,
|
||||
Section,
|
||||
Text,
|
||||
} from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import TemplateImage from '../template-components/template-image';
|
||||
|
||||
@ -25,6 +37,7 @@ export const TeamInviteEmailTemplate = ({
|
||||
token = '',
|
||||
}: TeamInviteEmailProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`Accept invitation to join a team on Documenso`;
|
||||
|
||||
@ -36,11 +49,15 @@ export const TeamInviteEmailTemplate = ({
|
||||
<Body className="mx-auto my-auto font-sans">
|
||||
<Section className="bg-white text-slate-500">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6 p-2" />
|
||||
) : (
|
||||
<TemplateImage
|
||||
assetBaseUrl={assetBaseUrl}
|
||||
className="mb-4 h-6 p-2"
|
||||
staticAsset="logo.png"
|
||||
/>
|
||||
)}
|
||||
|
||||
<Section>
|
||||
<TemplateImage
|
||||
|
||||
@ -3,7 +3,8 @@ import { useLingui } from '@lingui/react';
|
||||
|
||||
import { formatTeamUrl } from '@documenso/lib/utils/teams';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components';
|
||||
import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import TemplateImage from '../template-components/template-image';
|
||||
|
||||
@ -25,6 +26,7 @@ export const TeamJoinEmailTemplate = ({
|
||||
teamUrl = 'demo',
|
||||
}: TeamJoinEmailProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`A team member has joined a team on Documenso`;
|
||||
|
||||
@ -36,11 +38,15 @@ export const TeamJoinEmailTemplate = ({
|
||||
<Body className="mx-auto my-auto font-sans">
|
||||
<Section className="bg-white text-slate-500">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6 p-2" />
|
||||
) : (
|
||||
<TemplateImage
|
||||
assetBaseUrl={assetBaseUrl}
|
||||
className="mb-4 h-6 p-2"
|
||||
staticAsset="logo.png"
|
||||
/>
|
||||
)}
|
||||
|
||||
<Section>
|
||||
<TemplateImage
|
||||
|
||||
@ -3,7 +3,8 @@ import { useLingui } from '@lingui/react';
|
||||
|
||||
import { formatTeamUrl } from '@documenso/lib/utils/teams';
|
||||
|
||||
import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components';
|
||||
import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
import TemplateImage from '../template-components/template-image';
|
||||
|
||||
@ -25,6 +26,7 @@ export const TeamLeaveEmailTemplate = ({
|
||||
teamUrl = 'demo',
|
||||
}: TeamLeaveEmailProps) => {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = msg`A team member has left a team on Documenso`;
|
||||
|
||||
@ -36,11 +38,15 @@ export const TeamLeaveEmailTemplate = ({
|
||||
<Body className="mx-auto my-auto font-sans">
|
||||
<Section className="bg-white text-slate-500">
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6 p-2" />
|
||||
) : (
|
||||
<TemplateImage
|
||||
assetBaseUrl={assetBaseUrl}
|
||||
className="mb-4 h-6 p-2"
|
||||
staticAsset="logo.png"
|
||||
/>
|
||||
)}
|
||||
|
||||
<Section>
|
||||
<TemplateImage
|
||||
|
||||
@ -169,7 +169,7 @@ export class LocalJobProvider extends BaseJobProvider {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(`[JOBS]: Job ${options.name} failed`, error);
|
||||
console.log(`[JOBS]: Job ${options.name} failed`, error);
|
||||
|
||||
const taskHasExceededRetries = error instanceof BackgroundTaskExceededRetriesError;
|
||||
const jobHasExceededRetries =
|
||||
@ -295,7 +295,7 @@ export class LocalJobProvider extends BaseJobProvider {
|
||||
});
|
||||
|
||||
return result;
|
||||
} catch {
|
||||
} catch (err) {
|
||||
task = await prisma.backgroundJobTask.update({
|
||||
where: {
|
||||
id: task.id,
|
||||
@ -309,6 +309,8 @@ export class LocalJobProvider extends BaseJobProvider {
|
||||
},
|
||||
});
|
||||
|
||||
console.log(`[JOBS:${task.id}] Task failed`, err);
|
||||
|
||||
throw new BackgroundTaskFailedError('Task failed');
|
||||
}
|
||||
},
|
||||
|
||||
@ -26,6 +26,7 @@ import { ZRequestMetadataSchema } from '../../../universal/extract-request-metad
|
||||
import { createDocumentAuditLogData } from '../../../utils/document-audit-logs';
|
||||
import { renderCustomEmailTemplate } from '../../../utils/render-custom-email-template';
|
||||
import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
|
||||
import { type JobDefinition } from '../../client/_internal/job';
|
||||
|
||||
const SEND_SIGNING_EMAIL_JOB_DEFINITION_ID = 'send.signing.requested.email';
|
||||
@ -65,6 +66,7 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
|
||||
select: {
|
||||
teamEmail: true,
|
||||
name: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -126,12 +128,16 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
|
||||
|
||||
if (isTeamDocument && team) {
|
||||
emailSubject = i18n._(msg`${team.name} invited you to ${recipientActionVerb} a document`);
|
||||
emailMessage =
|
||||
customEmail?.message ||
|
||||
i18n._(
|
||||
msg`${user.name} on behalf of ${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`,
|
||||
emailMessage = customEmail?.message ?? '';
|
||||
|
||||
if (!emailMessage) {
|
||||
emailMessage = i18n._(
|
||||
team.teamGlobalSettings?.includeSenderDetails
|
||||
? msg`${user.name} on behalf of ${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`
|
||||
: msg`${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const customEmailTemplate = {
|
||||
'signer.name': name,
|
||||
@ -154,13 +160,19 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = {
|
||||
isTeamInvite: isTeamDocument,
|
||||
teamName: team?.name,
|
||||
teamEmail: team?.teamEmail?.email,
|
||||
includeSenderDetails: team?.teamGlobalSettings?.includeSenderDetails,
|
||||
});
|
||||
|
||||
await io.runTask('send-signing-email', async () => {
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: documentMeta?.language }),
|
||||
renderEmailWithI18N(template, { lang: documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
import { DocumentVisibility } from '@documenso/prisma/client';
|
||||
|
||||
import { sendTeamDeleteEmail } from '../../../server-only/team/delete-team';
|
||||
import type { JobDefinition } from '../../client/_internal/job';
|
||||
|
||||
@ -10,6 +12,19 @@ const SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION_SCHEMA = z.object({
|
||||
name: z.string(),
|
||||
url: z.string(),
|
||||
ownerUserId: z.number(),
|
||||
teamGlobalSettings: z
|
||||
.object({
|
||||
documentVisibility: z.nativeEnum(DocumentVisibility),
|
||||
documentLanguage: z.string(),
|
||||
includeSenderDetails: z.boolean(),
|
||||
brandingEnabled: z.boolean(),
|
||||
brandingLogo: z.string(),
|
||||
brandingUrl: z.string(),
|
||||
brandingCompanyDetails: z.string(),
|
||||
brandingHidePoweredBy: z.boolean(),
|
||||
teamId: z.number(),
|
||||
})
|
||||
.nullish(),
|
||||
}),
|
||||
members: z.array(
|
||||
z.object({
|
||||
@ -35,8 +50,7 @@ export const SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION = {
|
||||
await io.runTask(`send-team-deleted-email--${team.url}_${member.id}`, async () => {
|
||||
await sendTeamDeleteEmail({
|
||||
email: member.email,
|
||||
teamName: team.name,
|
||||
teamUrl: team.url,
|
||||
team,
|
||||
isOwner: member.id === team.ownerUserId,
|
||||
});
|
||||
});
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { createElement } from 'react';
|
||||
|
||||
import { msg } from '@lingui/macro';
|
||||
import { z } from 'zod';
|
||||
|
||||
@ -10,6 +12,7 @@ import { getI18nInstance } from '../../../client-only/providers/i18n.server';
|
||||
import { WEBAPP_BASE_URL } from '../../../constants/app';
|
||||
import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email';
|
||||
import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
|
||||
import type { JobDefinition } from '../../client/_internal/job';
|
||||
|
||||
const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION_ID = 'send.team-member-joined.email';
|
||||
@ -43,6 +46,7 @@ export const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION = {
|
||||
user: true,
|
||||
},
|
||||
},
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
@ -64,7 +68,7 @@ export const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION = {
|
||||
await io.runTask(
|
||||
`send-team-member-joined-email--${invitedMember.id}_${member.id}`,
|
||||
async () => {
|
||||
const emailContent = TeamJoinEmailTemplate({
|
||||
const emailContent = createElement(TeamJoinEmailTemplate, {
|
||||
assetBaseUrl: WEBAPP_BASE_URL,
|
||||
baseUrl: WEBAPP_BASE_URL,
|
||||
memberName: invitedMember.user.name || '',
|
||||
@ -73,13 +77,26 @@ export const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION = {
|
||||
teamUrl: team.url,
|
||||
});
|
||||
|
||||
const branding = team.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const lang = team.teamGlobalSettings?.documentLanguage;
|
||||
|
||||
// !: Replace with the actual language of the recipient later
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(emailContent),
|
||||
renderEmailWithI18N(emailContent, { plainText: true }),
|
||||
renderEmailWithI18N(emailContent, {
|
||||
lang,
|
||||
branding,
|
||||
}),
|
||||
renderEmailWithI18N(emailContent, {
|
||||
lang,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance();
|
||||
const i18n = await getI18nInstance(lang);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: member.user.email,
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { createElement } from 'react';
|
||||
|
||||
import { msg } from '@lingui/macro';
|
||||
import { z } from 'zod';
|
||||
|
||||
@ -10,6 +12,7 @@ import { getI18nInstance } from '../../../client-only/providers/i18n.server';
|
||||
import { WEBAPP_BASE_URL } from '../../../constants/app';
|
||||
import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email';
|
||||
import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
|
||||
import type { JobDefinition } from '../../client/_internal/job';
|
||||
|
||||
const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION_ID = 'send.team-member-left.email';
|
||||
@ -43,6 +46,7 @@ export const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION = {
|
||||
user: true,
|
||||
},
|
||||
},
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
@ -54,7 +58,7 @@ export const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION = {
|
||||
|
||||
for (const member of team.members) {
|
||||
await io.runTask(`send-team-member-left-email--${oldMember.id}_${member.id}`, async () => {
|
||||
const emailContent = TeamJoinEmailTemplate({
|
||||
const emailContent = createElement(TeamJoinEmailTemplate, {
|
||||
assetBaseUrl: WEBAPP_BASE_URL,
|
||||
baseUrl: WEBAPP_BASE_URL,
|
||||
memberName: oldMember.name || '',
|
||||
@ -63,12 +67,25 @@ export const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION = {
|
||||
teamUrl: team.url,
|
||||
});
|
||||
|
||||
const branding = team.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const lang = team.teamGlobalSettings?.documentLanguage;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(emailContent),
|
||||
renderEmailWithI18N(emailContent, { plainText: true }),
|
||||
renderEmailWithI18N(emailContent, {
|
||||
lang,
|
||||
branding,
|
||||
}),
|
||||
renderEmailWithI18N(emailContent, {
|
||||
lang,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance();
|
||||
const i18n = await getI18nInstance(lang);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: member.user.email,
|
||||
|
||||
@ -5,7 +5,9 @@ import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-log
|
||||
import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
||||
import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { DocumentSource, WebhookTriggerEvents } from '@documenso/prisma/client';
|
||||
import { DocumentSource, DocumentVisibility, WebhookTriggerEvents } from '@documenso/prisma/client';
|
||||
import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
|
||||
import { TeamMemberRole } from '@documenso/prisma/client';
|
||||
|
||||
import { triggerWebhook } from '../webhooks/trigger/trigger-webhook';
|
||||
|
||||
@ -48,6 +50,51 @@ export const createDocument = async ({
|
||||
throw new AppError(AppErrorCode.NOT_FOUND, 'Team not found');
|
||||
}
|
||||
|
||||
let team: (Team & { teamGlobalSettings: TeamGlobalSettings | null }) | null = null;
|
||||
let userTeamRole: TeamMemberRole | undefined;
|
||||
|
||||
if (teamId) {
|
||||
const teamWithUserRole = await prisma.team.findFirstOrThrow({
|
||||
where: {
|
||||
id: teamId,
|
||||
},
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
members: {
|
||||
where: {
|
||||
userId: userId,
|
||||
},
|
||||
select: {
|
||||
role: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
team = teamWithUserRole;
|
||||
userTeamRole = teamWithUserRole.members[0]?.role;
|
||||
}
|
||||
|
||||
const determineVisibility = (
|
||||
globalVisibility: DocumentVisibility | null | undefined,
|
||||
userRole: TeamMemberRole,
|
||||
): DocumentVisibility => {
|
||||
const defaultVisibility = globalVisibility ?? DocumentVisibility.EVERYONE;
|
||||
|
||||
if (userRole === TeamMemberRole.ADMIN) {
|
||||
return defaultVisibility;
|
||||
}
|
||||
|
||||
if (userRole === TeamMemberRole.MANAGER) {
|
||||
if (defaultVisibility === DocumentVisibility.ADMIN) {
|
||||
return DocumentVisibility.MANAGER_AND_ABOVE;
|
||||
}
|
||||
return defaultVisibility;
|
||||
}
|
||||
|
||||
return DocumentVisibility.EVERYONE;
|
||||
};
|
||||
|
||||
return await prisma.$transaction(async (tx) => {
|
||||
const document = await tx.document.create({
|
||||
data: {
|
||||
@ -56,8 +103,17 @@ export const createDocument = async ({
|
||||
documentDataId,
|
||||
userId,
|
||||
teamId,
|
||||
visibility: determineVisibility(
|
||||
team?.teamGlobalSettings?.documentVisibility,
|
||||
userTeamRole ?? TeamMemberRole.MEMBER,
|
||||
),
|
||||
formValues,
|
||||
source: DocumentSource.DOCUMENT,
|
||||
documentMeta: {
|
||||
create: {
|
||||
language: team?.teamGlobalSettings?.documentLanguage,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@ -7,7 +7,14 @@ import { msg } from '@lingui/macro';
|
||||
import { mailer } from '@documenso/email/mailer';
|
||||
import DocumentCancelTemplate from '@documenso/email/templates/document-cancel';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { Document, DocumentMeta, Recipient, User } from '@documenso/prisma/client';
|
||||
import type {
|
||||
Document,
|
||||
DocumentMeta,
|
||||
Recipient,
|
||||
Team,
|
||||
TeamGlobalSettings,
|
||||
User,
|
||||
} from '@documenso/prisma/client';
|
||||
import { DocumentStatus, SendStatus } from '@documenso/prisma/client';
|
||||
|
||||
import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
@ -18,6 +25,7 @@ import { extractDerivedDocumentEmailSettings } from '../../types/document-email'
|
||||
import type { RequestMetadata } from '../../universal/extract-request-metadata';
|
||||
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export type DeleteDocumentOptions = {
|
||||
id: number;
|
||||
@ -50,8 +58,9 @@ export const deleteDocument = async ({
|
||||
Recipient: true,
|
||||
documentMeta: true,
|
||||
team: {
|
||||
select: {
|
||||
include: {
|
||||
members: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -74,6 +83,7 @@ export const deleteDocument = async ({
|
||||
await handleDocumentOwnerDelete({
|
||||
document,
|
||||
user,
|
||||
team: document.team,
|
||||
requestMetadata,
|
||||
});
|
||||
}
|
||||
@ -114,6 +124,11 @@ type HandleDocumentOwnerDeleteOptions = {
|
||||
Recipient: Recipient[];
|
||||
documentMeta: DocumentMeta | null;
|
||||
};
|
||||
team?:
|
||||
| (Team & {
|
||||
teamGlobalSettings?: TeamGlobalSettings | null;
|
||||
})
|
||||
| null;
|
||||
user: User;
|
||||
requestMetadata?: RequestMetadata;
|
||||
};
|
||||
@ -121,6 +136,7 @@ type HandleDocumentOwnerDeleteOptions = {
|
||||
const handleDocumentOwnerDelete = async ({
|
||||
document,
|
||||
user,
|
||||
team,
|
||||
requestMetadata,
|
||||
}: HandleDocumentOwnerDeleteOptions) => {
|
||||
if (document.deletedAt) {
|
||||
@ -203,9 +219,17 @@ const handleDocumentOwnerDelete = async ({
|
||||
assetBaseUrl,
|
||||
});
|
||||
|
||||
const branding = team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance(document.documentMeta?.language);
|
||||
|
||||
@ -123,6 +123,8 @@ export const findDocuments = async ({
|
||||
},
|
||||
}))
|
||||
.otherwise(() => ({ visibility: DocumentVisibility.EVERYONE })),
|
||||
{
|
||||
OR: [
|
||||
{
|
||||
Recipient: {
|
||||
some: {
|
||||
@ -130,6 +132,11 @@ export const findDocuments = async ({
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
userId: user.id,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
let filters: Prisma.DocumentWhereInput | null = findDocumentsFilter(status, user);
|
||||
|
||||
@ -142,6 +142,8 @@ export const getDocumentWhereInput = async ({
|
||||
{ visibility: DocumentVisibility.MANAGER_AND_ABOVE },
|
||||
])
|
||||
.otherwise(() => [{ visibility: DocumentVisibility.EVERYONE }]),
|
||||
{
|
||||
OR: [
|
||||
{
|
||||
Recipient: {
|
||||
some: {
|
||||
@ -149,6 +151,11 @@ export const getDocumentWhereInput = async ({
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
userId: user.id,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
return {
|
||||
|
||||
@ -6,11 +6,10 @@ import { prisma } from '@documenso/prisma';
|
||||
import { TeamMemberRole } from '@documenso/prisma/client';
|
||||
import type { Prisma, User } from '@documenso/prisma/client';
|
||||
import { SigningStatus } from '@documenso/prisma/client';
|
||||
import { DocumentVisibility } from '@documenso/prisma/client';
|
||||
import { isExtendedDocumentStatus } from '@documenso/prisma/guards/is-extended-document-status';
|
||||
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
|
||||
|
||||
import { DocumentVisibility } from '../../types/document-visibility';
|
||||
|
||||
export type GetStatsInput = {
|
||||
user: User;
|
||||
team?: Omit<GetTeamCountsOption, 'createdAt'>;
|
||||
@ -207,47 +206,45 @@ const getTeamCounts = async (options: GetTeamCountsOption) => {
|
||||
let notSignedCountsGroupByArgs = null;
|
||||
let hasSignedCountsGroupByArgs = null;
|
||||
|
||||
const visibilityFilters = [
|
||||
...match(options.currentTeamMemberRole)
|
||||
.with(TeamMemberRole.ADMIN, () => [
|
||||
{ visibility: DocumentVisibility.EVERYONE },
|
||||
{ visibility: DocumentVisibility.MANAGER_AND_ABOVE },
|
||||
{ visibility: DocumentVisibility.ADMIN },
|
||||
])
|
||||
.with(TeamMemberRole.MANAGER, () => [
|
||||
{ visibility: DocumentVisibility.EVERYONE },
|
||||
{ visibility: DocumentVisibility.MANAGER_AND_ABOVE },
|
||||
])
|
||||
.otherwise(() => [{ visibility: DocumentVisibility.EVERYONE }]),
|
||||
];
|
||||
const visibilityFiltersWhereInput: Prisma.DocumentWhereInput = {
|
||||
AND: [
|
||||
{ deletedAt: null },
|
||||
{
|
||||
OR: [
|
||||
match(options.currentTeamMemberRole)
|
||||
.with(TeamMemberRole.ADMIN, () => ({
|
||||
visibility: {
|
||||
in: [
|
||||
DocumentVisibility.EVERYONE,
|
||||
DocumentVisibility.MANAGER_AND_ABOVE,
|
||||
DocumentVisibility.ADMIN,
|
||||
],
|
||||
},
|
||||
}))
|
||||
.with(TeamMemberRole.MANAGER, () => ({
|
||||
visibility: {
|
||||
in: [DocumentVisibility.EVERYONE, DocumentVisibility.MANAGER_AND_ABOVE],
|
||||
},
|
||||
}))
|
||||
.otherwise(() => ({
|
||||
visibility: {
|
||||
equals: DocumentVisibility.EVERYONE,
|
||||
},
|
||||
})),
|
||||
{
|
||||
OR: [
|
||||
{ userId: options.userId },
|
||||
{ Recipient: { some: { email: options.currentUserEmail } } },
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
ownerCountsWhereInput = {
|
||||
...ownerCountsWhereInput,
|
||||
OR: [
|
||||
{
|
||||
AND: [
|
||||
{
|
||||
visibility: {
|
||||
in: visibilityFilters.map((filter) => filter.visibility),
|
||||
},
|
||||
},
|
||||
{
|
||||
Recipient: {
|
||||
none: {
|
||||
email: options.currentUserEmail,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
Recipient: {
|
||||
some: {
|
||||
email: options.currentUserEmail,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
...visibilityFiltersWhereInput,
|
||||
...searchFilter,
|
||||
};
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@ import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
||||
import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
import { getDocumentWhereInput } from './get-document-by-id';
|
||||
|
||||
export type ResendDocumentOptions = {
|
||||
@ -66,6 +67,7 @@ export const resendDocument = async ({
|
||||
select: {
|
||||
teamEmail: true,
|
||||
name: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -158,12 +160,20 @@ export const resendDocument = async ({
|
||||
teamName: document.team?.name,
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
await prisma.$transaction(
|
||||
async (tx) => {
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
}),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
@ -16,6 +16,7 @@ import { getFile } from '../../universal/upload/get-file';
|
||||
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
|
||||
import { renderCustomEmailTemplate } from '../../utils/render-custom-email-template';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export interface SendDocumentOptions {
|
||||
documentId: number;
|
||||
@ -36,6 +37,7 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
|
||||
select: {
|
||||
id: true,
|
||||
url: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -82,9 +84,17 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
|
||||
downloadLink: documentOwnerDownloadLink,
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
await mailer.sendMail({
|
||||
@ -151,9 +161,17 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
|
||||
: undefined,
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
await mailer.sendMail({
|
||||
|
||||
@ -10,6 +10,7 @@ import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
||||
import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export interface SendDeleteEmailOptions {
|
||||
documentId: number;
|
||||
@ -24,6 +25,11 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt
|
||||
include: {
|
||||
User: true,
|
||||
documentMeta: true,
|
||||
team: {
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -49,9 +55,17 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt
|
||||
assetBaseUrl,
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template),
|
||||
renderEmailWithI18N(template, { plainText: true }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance();
|
||||
|
||||
@ -10,6 +10,7 @@ import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
||||
import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export interface SendPendingEmailOptions {
|
||||
documentId: number;
|
||||
@ -33,6 +34,11 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE
|
||||
},
|
||||
},
|
||||
documentMeta: true,
|
||||
team: {
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -63,12 +69,20 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE
|
||||
assetBaseUrl,
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance();
|
||||
const i18n = await getI18nInstance(document.documentMeta?.language);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: {
|
||||
|
||||
@ -17,6 +17,7 @@ import { extractDerivedDocumentEmailSettings } from '../../types/document-email'
|
||||
import type { RequestMetadata } from '../../universal/extract-request-metadata';
|
||||
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export type SuperDeleteDocumentOptions = {
|
||||
id: number;
|
||||
@ -32,6 +33,11 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo
|
||||
Recipient: true,
|
||||
documentMeta: true,
|
||||
User: true,
|
||||
team: {
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -65,9 +71,17 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo
|
||||
assetBaseUrl,
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: document.documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance(document.documentMeta?.language);
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
'use server';
|
||||
|
||||
import { match } from 'ts-pattern';
|
||||
|
||||
import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise';
|
||||
import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs';
|
||||
import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
||||
import type { CreateDocumentAuditLogDataResponse } from '@documenso/lib/utils/document-audit-logs';
|
||||
import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { DocumentVisibility } from '@documenso/prisma/client';
|
||||
import { DocumentStatus } from '@documenso/prisma/client';
|
||||
import { DocumentVisibility } from '@documenso/prisma/client';
|
||||
import { DocumentStatus, TeamMemberRole } from '@documenso/prisma/client';
|
||||
|
||||
import { AppError, AppErrorCode } from '../../errors/app-error';
|
||||
import type { TDocumentAccessAuthTypes, TDocumentActionAuthTypes } from '../../types/document-auth';
|
||||
@ -20,7 +22,7 @@ export type UpdateDocumentSettingsOptions = {
|
||||
data: {
|
||||
title?: string;
|
||||
externalId?: string | null;
|
||||
visibility?: string | null;
|
||||
visibility?: DocumentVisibility | null;
|
||||
globalAccessAuth?: TDocumentAccessAuthTypes | null;
|
||||
globalActionAuth?: TDocumentActionAuthTypes | null;
|
||||
};
|
||||
@ -63,8 +65,62 @@ export const updateDocumentSettings = async ({
|
||||
teamId: null,
|
||||
}),
|
||||
},
|
||||
include: {
|
||||
team: {
|
||||
select: {
|
||||
members: {
|
||||
where: {
|
||||
userId,
|
||||
},
|
||||
select: {
|
||||
role: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (teamId) {
|
||||
const currentUserRole = document.team?.members[0]?.role;
|
||||
|
||||
match(currentUserRole)
|
||||
.with(TeamMemberRole.ADMIN, () => true)
|
||||
.with(TeamMemberRole.MANAGER, () => {
|
||||
const allowedVisibilities: DocumentVisibility[] = [
|
||||
DocumentVisibility.EVERYONE,
|
||||
DocumentVisibility.MANAGER_AND_ABOVE,
|
||||
];
|
||||
|
||||
if (
|
||||
!allowedVisibilities.includes(document.visibility) ||
|
||||
(data.visibility && !allowedVisibilities.includes(data.visibility))
|
||||
) {
|
||||
throw new AppError(
|
||||
AppErrorCode.UNAUTHORIZED,
|
||||
'You do not have permission to update the document visibility',
|
||||
);
|
||||
}
|
||||
})
|
||||
.with(TeamMemberRole.MEMBER, () => {
|
||||
if (
|
||||
document.visibility !== DocumentVisibility.EVERYONE ||
|
||||
(data.visibility && data.visibility !== DocumentVisibility.EVERYONE)
|
||||
) {
|
||||
throw new AppError(
|
||||
AppErrorCode.UNAUTHORIZED,
|
||||
'You do not have permission to update the document visibility',
|
||||
);
|
||||
}
|
||||
})
|
||||
.otherwise(() => {
|
||||
throw new AppError(
|
||||
AppErrorCode.UNAUTHORIZED,
|
||||
'You do not have permission to update the document',
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
const { documentAuthOption } = extractDocumentAuthMethods({
|
||||
documentAuth: document.authOptions,
|
||||
});
|
||||
|
||||
@ -29,6 +29,7 @@ import { AppError, AppErrorCode } from '../../errors/app-error';
|
||||
import { extractDerivedDocumentEmailSettings } from '../../types/document-email';
|
||||
import { canRecipientBeModified } from '../../utils/recipients';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export interface SetRecipientsForDocumentOptions {
|
||||
userId: number;
|
||||
@ -67,6 +68,11 @@ export const setRecipientsForDocument = async ({
|
||||
include: {
|
||||
Field: true,
|
||||
documentMeta: true,
|
||||
team: {
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -300,6 +306,10 @@ export const setRecipientsForDocument = async ({
|
||||
assetBaseUrl,
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language }),
|
||||
renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }),
|
||||
|
||||
@ -11,10 +11,12 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams
|
||||
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
|
||||
import { createTokenVerification } from '@documenso/lib/utils/token-verification';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
|
||||
import { Prisma } from '@documenso/prisma/client';
|
||||
|
||||
import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export type CreateTeamEmailVerificationOptions = {
|
||||
userId: number;
|
||||
@ -48,6 +50,7 @@ export const createTeamEmailVerification = async ({
|
||||
include: {
|
||||
teamEmail: true,
|
||||
emailVerification: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
@ -80,7 +83,7 @@ export const createTeamEmailVerification = async ({
|
||||
},
|
||||
});
|
||||
|
||||
await sendTeamEmailVerificationEmail(data.email, token, team.name, team.url);
|
||||
await sendTeamEmailVerificationEmail(data.email, token, team);
|
||||
},
|
||||
{ timeout: 30_000 },
|
||||
);
|
||||
@ -112,25 +115,36 @@ export const createTeamEmailVerification = async ({
|
||||
export const sendTeamEmailVerificationEmail = async (
|
||||
email: string,
|
||||
token: string,
|
||||
teamName: string,
|
||||
teamUrl: string,
|
||||
team: Team & {
|
||||
teamGlobalSettings?: TeamGlobalSettings | null;
|
||||
},
|
||||
) => {
|
||||
const assetBaseUrl = process.env.NEXT_PUBLIC_WEBAPP_URL || 'http://localhost:3000';
|
||||
|
||||
const template = createElement(ConfirmTeamEmailTemplate, {
|
||||
assetBaseUrl,
|
||||
baseUrl: WEBAPP_BASE_URL,
|
||||
teamName,
|
||||
teamUrl,
|
||||
teamName: team.name,
|
||||
teamUrl: team.url,
|
||||
token,
|
||||
});
|
||||
|
||||
const branding = team.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const lang = team.teamGlobalSettings?.documentLanguage;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template),
|
||||
renderEmailWithI18N(template, { plainText: true }),
|
||||
renderEmailWithI18N(template, { lang, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance();
|
||||
const i18n = await getI18nInstance(lang);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: email,
|
||||
@ -139,7 +153,7 @@ export const sendTeamEmailVerificationEmail = async (
|
||||
address: FROM_ADDRESS,
|
||||
},
|
||||
subject: i18n._(
|
||||
msg`A request to use your email has been initiated by ${teamName} on Documenso`,
|
||||
msg`A request to use your email has been initiated by ${team.name} on Documenso`,
|
||||
),
|
||||
html,
|
||||
text,
|
||||
|
||||
@ -4,7 +4,6 @@ import { msg } from '@lingui/macro';
|
||||
import { nanoid } from 'nanoid';
|
||||
|
||||
import { mailer } from '@documenso/email/mailer';
|
||||
import type { TeamInviteEmailProps } from '@documenso/email/templates/team-invite';
|
||||
import { TeamInviteEmailTemplate } from '@documenso/email/templates/team-invite';
|
||||
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
|
||||
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
|
||||
@ -12,11 +11,13 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams
|
||||
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
|
||||
import { isTeamRoleWithinUserHierarchy } from '@documenso/lib/utils/teams';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
|
||||
import { TeamMemberInviteStatus } from '@documenso/prisma/client';
|
||||
import type { TCreateTeamMemberInvitesMutationSchema } from '@documenso/trpc/server/team-router/schema';
|
||||
|
||||
import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export type CreateTeamMemberInvitesOptions = {
|
||||
userId: number;
|
||||
@ -59,6 +60,7 @@ export const createTeamMemberInvites = async ({
|
||||
},
|
||||
},
|
||||
invites: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
@ -112,8 +114,7 @@ export const createTeamMemberInvites = async ({
|
||||
sendTeamMemberInviteEmail({
|
||||
email,
|
||||
token,
|
||||
teamName: team.name,
|
||||
teamUrl: team.url,
|
||||
team,
|
||||
senderName: userName,
|
||||
}),
|
||||
),
|
||||
@ -134,8 +135,13 @@ export const createTeamMemberInvites = async ({
|
||||
}
|
||||
};
|
||||
|
||||
type SendTeamMemberInviteEmailOptions = Omit<TeamInviteEmailProps, 'baseUrl' | 'assetBaseUrl'> & {
|
||||
type SendTeamMemberInviteEmailOptions = {
|
||||
email: string;
|
||||
senderName: string;
|
||||
token: string;
|
||||
team: Team & {
|
||||
teamGlobalSettings?: TeamGlobalSettings | null;
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
@ -143,20 +149,33 @@ type SendTeamMemberInviteEmailOptions = Omit<TeamInviteEmailProps, 'baseUrl' | '
|
||||
*/
|
||||
export const sendTeamMemberInviteEmail = async ({
|
||||
email,
|
||||
...emailTemplateOptions
|
||||
senderName,
|
||||
token,
|
||||
team,
|
||||
}: SendTeamMemberInviteEmailOptions) => {
|
||||
const template = createElement(TeamInviteEmailTemplate, {
|
||||
assetBaseUrl: WEBAPP_BASE_URL,
|
||||
baseUrl: WEBAPP_BASE_URL,
|
||||
...emailTemplateOptions,
|
||||
senderName,
|
||||
token,
|
||||
teamName: team.name,
|
||||
teamUrl: team.url,
|
||||
});
|
||||
|
||||
const branding = team.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template),
|
||||
renderEmailWithI18N(template, { plainText: true }),
|
||||
renderEmailWithI18N(template, { lang: team.teamGlobalSettings?.documentLanguage, branding }),
|
||||
renderEmailWithI18N(template, {
|
||||
lang: team.teamGlobalSettings?.documentLanguage,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance();
|
||||
const i18n = await getI18nInstance(team.teamGlobalSettings?.documentLanguage);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: email,
|
||||
@ -164,9 +183,7 @@ export const sendTeamMemberInviteEmail = async ({
|
||||
name: FROM_NAME,
|
||||
address: FROM_ADDRESS,
|
||||
},
|
||||
subject: i18n._(
|
||||
msg`You have been invited to join ${emailTemplateOptions.teamName} on Documenso`,
|
||||
),
|
||||
subject: i18n._(msg`You have been invited to join ${team.name} on Documenso`),
|
||||
html,
|
||||
text,
|
||||
});
|
||||
|
||||
@ -11,6 +11,7 @@ import { prisma } from '@documenso/prisma';
|
||||
|
||||
import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export type DeleteTeamEmailOptions = {
|
||||
userId: number;
|
||||
@ -54,6 +55,7 @@ export const deleteTeamEmail = async ({ userId, userEmail, teamId }: DeleteTeamE
|
||||
email: true,
|
||||
},
|
||||
},
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
@ -77,12 +79,18 @@ export const deleteTeamEmail = async ({ userId, userEmail, teamId }: DeleteTeamE
|
||||
teamUrl: team.url,
|
||||
});
|
||||
|
||||
const branding = team.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const lang = team.teamGlobalSettings?.documentLanguage;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template),
|
||||
renderEmailWithI18N(template, { plainText: true }),
|
||||
renderEmailWithI18N(template, { lang, branding }),
|
||||
renderEmailWithI18N(template, { lang, branding, plainText: true }),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance();
|
||||
const i18n = await getI18nInstance(lang);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: {
|
||||
|
||||
@ -1,16 +1,20 @@
|
||||
import { createElement } from 'react';
|
||||
|
||||
import { msg } from '@lingui/macro';
|
||||
|
||||
import { mailer } from '@documenso/email/mailer';
|
||||
import type { TeamDeleteEmailProps } from '@documenso/email/templates/team-delete';
|
||||
import { TeamDeleteEmailTemplate } from '@documenso/email/templates/team-delete';
|
||||
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
|
||||
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
|
||||
import { AppError } from '@documenso/lib/errors/app-error';
|
||||
import { stripe } from '@documenso/lib/server-only/stripe';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { Team, TeamGlobalSettings } from '@documenso/prisma/client';
|
||||
|
||||
import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { jobs } from '../../jobs/client';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
|
||||
export type DeleteTeamOptions = {
|
||||
userId: number;
|
||||
@ -38,6 +42,7 @@ export const deleteTeam = async ({ userId, teamId }: DeleteTeamOptions) => {
|
||||
},
|
||||
},
|
||||
},
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
@ -60,6 +65,7 @@ export const deleteTeam = async ({ userId, teamId }: DeleteTeamOptions) => {
|
||||
name: team.name,
|
||||
url: team.url,
|
||||
ownerUserId: team.ownerUserId,
|
||||
teamGlobalSettings: team.teamGlobalSettings,
|
||||
},
|
||||
members: team.members.map((member) => ({
|
||||
id: member.user.id,
|
||||
@ -80,33 +86,42 @@ export const deleteTeam = async ({ userId, teamId }: DeleteTeamOptions) => {
|
||||
);
|
||||
};
|
||||
|
||||
type SendTeamDeleteEmailOptions = Omit<TeamDeleteEmailProps, 'baseUrl' | 'assetBaseUrl'> & {
|
||||
type SendTeamDeleteEmailOptions = {
|
||||
email: string;
|
||||
teamName: string;
|
||||
team: Pick<Team, 'url' | 'name'> & {
|
||||
teamGlobalSettings?: TeamGlobalSettings | null;
|
||||
};
|
||||
isOwner: boolean;
|
||||
};
|
||||
|
||||
export const sendTeamDeleteEmail = async ({
|
||||
email,
|
||||
...emailTemplateOptions
|
||||
}: SendTeamDeleteEmailOptions) => {
|
||||
export const sendTeamDeleteEmail = async ({ email, isOwner, team }: SendTeamDeleteEmailOptions) => {
|
||||
const template = createElement(TeamDeleteEmailTemplate, {
|
||||
assetBaseUrl: WEBAPP_BASE_URL,
|
||||
baseUrl: WEBAPP_BASE_URL,
|
||||
...emailTemplateOptions,
|
||||
teamUrl: team.url,
|
||||
isOwner,
|
||||
});
|
||||
|
||||
const branding = team.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const lang = team.teamGlobalSettings?.documentLanguage;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(template),
|
||||
renderEmailWithI18N(template, { plainText: true }),
|
||||
renderEmailWithI18N(template, { lang, branding }),
|
||||
renderEmailWithI18N(template, { lang, branding, plainText: true }),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance(lang);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: email,
|
||||
from: {
|
||||
name: FROM_NAME,
|
||||
address: FROM_ADDRESS,
|
||||
},
|
||||
subject: `Team "${emailTemplateOptions.teamName}" has been deleted on Documenso`,
|
||||
subject: i18n._(msg`Team "${team.name}" has been deleted on Documenso`),
|
||||
html,
|
||||
text,
|
||||
});
|
||||
|
||||
@ -30,6 +30,7 @@ export const getTeamById = async ({ userId, teamId }: GetTeamByIdOptions) => {
|
||||
where: whereFilter,
|
||||
include: {
|
||||
teamEmail: true,
|
||||
teamGlobalSettings: true,
|
||||
members: {
|
||||
where: {
|
||||
userId,
|
||||
@ -89,6 +90,7 @@ export const getTeamByUrl = async ({ userId, teamUrl }: GetTeamByUrlOptions) =>
|
||||
},
|
||||
},
|
||||
subscription: true,
|
||||
teamGlobalSettings: true,
|
||||
members: {
|
||||
where: {
|
||||
userId,
|
||||
|
||||
@ -33,6 +33,7 @@ export const resendTeamEmailVerification = async ({
|
||||
},
|
||||
include: {
|
||||
emailVerification: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
@ -61,7 +62,7 @@ export const resendTeamEmailVerification = async ({
|
||||
},
|
||||
});
|
||||
|
||||
await sendTeamEmailVerificationEmail(emailVerification.email, token, team.name, team.url);
|
||||
await sendTeamEmailVerificationEmail(emailVerification.email, token, team);
|
||||
},
|
||||
{ timeout: 30_000 },
|
||||
);
|
||||
|
||||
@ -49,6 +49,9 @@ export const resendTeamMemberInvitation = async ({
|
||||
},
|
||||
},
|
||||
},
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (!team) {
|
||||
@ -69,9 +72,8 @@ export const resendTeamMemberInvitation = async ({
|
||||
await sendTeamMemberInviteEmail({
|
||||
email: teamMemberInvite.email,
|
||||
token: teamMemberInvite.token,
|
||||
teamName: team.name,
|
||||
teamUrl: team.url,
|
||||
senderName: userName,
|
||||
team,
|
||||
});
|
||||
},
|
||||
{ timeout: 30_000 },
|
||||
|
||||
@ -0,0 +1,52 @@
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { TeamMemberRole } from '@documenso/prisma/client';
|
||||
|
||||
export type UpdateTeamBrandingSettingsOptions = {
|
||||
userId: number;
|
||||
teamId: number;
|
||||
|
||||
settings: {
|
||||
brandingEnabled: boolean;
|
||||
brandingLogo: string;
|
||||
brandingUrl: string;
|
||||
brandingCompanyDetails: string;
|
||||
};
|
||||
};
|
||||
|
||||
export const updateTeamBrandingSettings = async ({
|
||||
userId,
|
||||
teamId,
|
||||
settings,
|
||||
}: UpdateTeamBrandingSettingsOptions) => {
|
||||
const { brandingEnabled, brandingLogo, brandingUrl, brandingCompanyDetails } = settings;
|
||||
|
||||
const member = await prisma.teamMember.findFirst({
|
||||
where: {
|
||||
userId,
|
||||
teamId,
|
||||
},
|
||||
});
|
||||
|
||||
if (!member || member.role !== TeamMemberRole.ADMIN) {
|
||||
throw new Error('You do not have permission to update this team.');
|
||||
}
|
||||
|
||||
return await prisma.teamGlobalSettings.upsert({
|
||||
where: {
|
||||
teamId,
|
||||
},
|
||||
create: {
|
||||
teamId,
|
||||
brandingEnabled,
|
||||
brandingLogo,
|
||||
brandingUrl,
|
||||
brandingCompanyDetails,
|
||||
},
|
||||
update: {
|
||||
brandingEnabled,
|
||||
brandingLogo,
|
||||
brandingUrl,
|
||||
brandingCompanyDetails,
|
||||
},
|
||||
});
|
||||
};
|
||||
@ -0,0 +1,52 @@
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { DocumentVisibility } from '@documenso/prisma/client';
|
||||
import { TeamMemberRole } from '@documenso/prisma/client';
|
||||
|
||||
import type { SupportedLanguageCodes } from '../../constants/i18n';
|
||||
|
||||
export type UpdateTeamDocumentSettingsOptions = {
|
||||
userId: number;
|
||||
teamId: number;
|
||||
|
||||
settings: {
|
||||
documentVisibility: DocumentVisibility;
|
||||
documentLanguage: SupportedLanguageCodes;
|
||||
includeSenderDetails: boolean;
|
||||
};
|
||||
};
|
||||
|
||||
export const updateTeamDocumentSettings = async ({
|
||||
userId,
|
||||
teamId,
|
||||
settings,
|
||||
}: UpdateTeamDocumentSettingsOptions) => {
|
||||
const { documentVisibility, documentLanguage, includeSenderDetails } = settings;
|
||||
|
||||
const member = await prisma.teamMember.findFirst({
|
||||
where: {
|
||||
userId,
|
||||
teamId,
|
||||
},
|
||||
});
|
||||
|
||||
if (!member || member.role !== TeamMemberRole.ADMIN) {
|
||||
throw new Error('You do not have permission to update this team.');
|
||||
}
|
||||
|
||||
return await prisma.teamGlobalSettings.upsert({
|
||||
where: {
|
||||
teamId,
|
||||
},
|
||||
create: {
|
||||
teamId,
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
},
|
||||
update: {
|
||||
documentVisibility,
|
||||
documentLanguage,
|
||||
includeSenderDetails,
|
||||
},
|
||||
});
|
||||
};
|
||||
@ -4,6 +4,7 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams
|
||||
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { Prisma } from '@documenso/prisma/client';
|
||||
import type { DocumentVisibility } from '@documenso/prisma/client';
|
||||
|
||||
export type UpdateTeamOptions = {
|
||||
userId: number;
|
||||
@ -11,6 +12,8 @@ export type UpdateTeamOptions = {
|
||||
data: {
|
||||
name?: string;
|
||||
url?: string;
|
||||
documentVisibility?: DocumentVisibility;
|
||||
includeSenderDetails?: boolean;
|
||||
};
|
||||
};
|
||||
|
||||
@ -42,6 +45,18 @@ export const updateTeam = async ({ userId, teamId, data }: UpdateTeamOptions) =>
|
||||
data: {
|
||||
url: data.url,
|
||||
name: data.name,
|
||||
teamGlobalSettings: {
|
||||
upsert: {
|
||||
create: {
|
||||
documentVisibility: data.documentVisibility,
|
||||
includeSenderDetails: data.includeSenderDetails,
|
||||
},
|
||||
update: {
|
||||
documentVisibility: data.documentVisibility,
|
||||
includeSenderDetails: data.includeSenderDetails,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@ -40,6 +40,7 @@ import {
|
||||
extractDocumentAuthMethods,
|
||||
} from '../../utils/document-auth';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
import { formatDocumentsPath } from '../../utils/teams';
|
||||
import { sendDocument } from '../document/send-document';
|
||||
import { validateFieldAuth } from '../document/validate-field-auth';
|
||||
@ -91,6 +92,11 @@ export const createDocumentFromDirectTemplate = async ({
|
||||
templateDocumentData: true,
|
||||
templateMeta: true,
|
||||
User: true,
|
||||
team: {
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -145,7 +151,8 @@ export const createDocumentFromDirectTemplate = async ({
|
||||
const metaDateFormat = template.templateMeta?.dateFormat || DEFAULT_DOCUMENT_DATE_FORMAT;
|
||||
const metaEmailMessage = template.templateMeta?.message || '';
|
||||
const metaEmailSubject = template.templateMeta?.subject || '';
|
||||
const metaLanguage = template.templateMeta?.language;
|
||||
const metaLanguage =
|
||||
template.templateMeta?.language ?? template.team?.teamGlobalSettings?.documentLanguage;
|
||||
const metaSigningOrder = template.templateMeta?.signingOrder || DocumentSigningOrder.PARALLEL;
|
||||
|
||||
// Associate, validate and map to a query every direct template recipient field with the provided fields.
|
||||
@ -237,6 +244,7 @@ export const createDocumentFromDirectTemplate = async ({
|
||||
createdAt: initialRequestTime,
|
||||
status: DocumentStatus.PENDING,
|
||||
externalId: directTemplateExternalId,
|
||||
visibility: template.team?.teamGlobalSettings?.documentVisibility,
|
||||
documentDataId: documentData.id,
|
||||
authOptions: createDocumentAuthOptions({
|
||||
globalAccessAuth: templateAuthOptions.globalAccessAuth,
|
||||
@ -534,9 +542,13 @@ export const createDocumentFromDirectTemplate = async ({
|
||||
assetBaseUrl: NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000',
|
||||
});
|
||||
|
||||
const branding = template.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(template.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(emailTemplate, { lang: metaLanguage }),
|
||||
renderEmailWithI18N(emailTemplate, { lang: metaLanguage, plainText: true }),
|
||||
renderEmailWithI18N(emailTemplate, { lang: metaLanguage, branding }),
|
||||
renderEmailWithI18N(emailTemplate, { lang: metaLanguage, branding, plainText: true }),
|
||||
]);
|
||||
|
||||
const i18n = await getI18nInstance(metaLanguage);
|
||||
|
||||
@ -47,6 +47,11 @@ export const createDocumentFromTemplateLegacy = async ({
|
||||
Field: true,
|
||||
templateDocumentData: true,
|
||||
templateMeta: true,
|
||||
team: {
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -69,6 +74,7 @@ export const createDocumentFromTemplateLegacy = async ({
|
||||
userId,
|
||||
teamId: template.teamId,
|
||||
title: template.title,
|
||||
visibility: template.team?.teamGlobalSettings?.documentVisibility,
|
||||
documentDataId: documentData.id,
|
||||
Recipient: {
|
||||
create: template.Recipient.map((recipient) => ({
|
||||
@ -87,7 +93,8 @@ export const createDocumentFromTemplateLegacy = async ({
|
||||
dateFormat: template.templateMeta?.dateFormat,
|
||||
redirectUrl: template.templateMeta?.redirectUrl,
|
||||
signingOrder: template.templateMeta?.signingOrder ?? undefined,
|
||||
language: template.templateMeta?.language,
|
||||
language:
|
||||
template.templateMeta?.language || template.team?.teamGlobalSettings?.documentLanguage,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@ -110,6 +110,11 @@ export const createDocumentFromTemplate = async ({
|
||||
},
|
||||
templateDocumentData: true,
|
||||
templateMeta: true,
|
||||
team: {
|
||||
include: {
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -171,6 +176,7 @@ export const createDocumentFromTemplate = async ({
|
||||
globalAccessAuth: templateAuthOptions.globalAccessAuth,
|
||||
globalActionAuth: templateAuthOptions.globalActionAuth,
|
||||
}),
|
||||
visibility: template.team?.teamGlobalSettings?.documentVisibility,
|
||||
documentMeta: {
|
||||
create: {
|
||||
subject: override?.subject || template.templateMeta?.subject,
|
||||
@ -186,7 +192,10 @@ export const createDocumentFromTemplate = async ({
|
||||
override?.signingOrder ||
|
||||
template.templateMeta?.signingOrder ||
|
||||
DocumentSigningOrder.PARALLEL,
|
||||
language: override?.language || template.templateMeta?.language,
|
||||
language:
|
||||
override?.language ||
|
||||
template.templateMeta?.language ||
|
||||
template.team?.teamGlobalSettings?.documentLanguage,
|
||||
},
|
||||
},
|
||||
Recipient: {
|
||||
|
||||
@ -30,24 +30,27 @@ msgstr "„{documentName}“ wurde unterschrieben"
|
||||
msgid "“{documentName}” was signed by all signers"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:41
|
||||
#: packages/lib/server-only/document/resend-document.tsx:109
|
||||
#~ msgid "{0}"
|
||||
#~ msgstr "{0}"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:80
|
||||
#~ msgid "{0} Document"
|
||||
#~ msgstr "{0} Dokument"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
|
||||
msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
|
||||
msgid "{0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "{0} hat dich eingeladen, ein Dokument {recipientActionVerb}"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:55
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
msgid "{0} joined the team {teamName} on Documenso"
|
||||
msgstr "{0} ist dem Team {teamName} bei Documenso beigetreten"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:55
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
msgid "{0} left the team {teamName} on Documenso"
|
||||
msgstr "{0} hat das Team {teamName} bei Documenso verlassen"
|
||||
|
||||
@ -55,16 +58,20 @@ msgstr "{0} hat das Team {teamName} bei Documenso verlassen"
|
||||
msgid "{0} of {1} row(s) selected."
|
||||
msgstr "{0} von {1} Zeile(n) ausgewählt."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:123
|
||||
#: packages/lib/server-only/document/resend-document.tsx:126
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
|
||||
#: packages/lib/server-only/document/resend-document.tsx:137
|
||||
msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
|
||||
msgstr "{0} hat dich im Namen von {1} eingeladen, das Dokument \"{2}\" {recipientActionVerb}."
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:79
|
||||
#: packages/email/template-components/template-document-invite.tsx:51
|
||||
#~ msgid "{0}<0/>\"{documentName}\""
|
||||
#~ msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:94
|
||||
msgid "{inviterName} <0>({inviterEmail})</0>"
|
||||
msgstr "{inviterName} <0>({inviterEmail})</0>"
|
||||
|
||||
#: packages/email/templates/document-cancel.tsx:19
|
||||
#: packages/email/templates/document-cancel.tsx:21
|
||||
msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
|
||||
msgstr "{inviterName} hat das Dokument {documentName} storniert, du musst es nicht mehr unterzeichnen."
|
||||
|
||||
@ -72,7 +79,7 @@ msgstr "{inviterName} hat das Dokument {documentName} storniert, du musst es nic
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} hat das Dokument<0/>\"{documentName}\" storniert"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:54
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} hat dich eingeladen, {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -80,31 +87,35 @@ msgstr "{inviterName} hat dich eingeladen, {0}<0/>\"{documentName}\""
|
||||
msgid "{inviterName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} hat dich eingeladen, {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
msgid "{inviterName} has invited you to {action} the document {documentName}."
|
||||
#: packages/email/templates/document-invite.tsx:106
|
||||
msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:18
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:20
|
||||
msgid "{inviterName} has removed you from the document {documentName}."
|
||||
msgstr "{inviterName} hat dich aus dem Dokument {documentName} entfernt."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:43
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:49
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} hat dich im Namen von {teamName} eingeladen, {0}<0/>\"{documentName}\""
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:40
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} hat dich im Namen von {teamName} eingeladen, {0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:45
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} hat dich im Namen von {teamName} eingeladen, {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
#: packages/email/templates/team-join.tsx:67
|
||||
msgid "{memberEmail} joined the following team"
|
||||
msgstr "{memberEmail} ist dem folgenden Team beigetreten"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
#: packages/email/templates/team-leave.tsx:67
|
||||
msgid "{memberEmail} left the following team"
|
||||
msgstr "{memberEmail} hat das folgende Team verlassen"
|
||||
|
||||
@ -192,10 +203,18 @@ msgstr "{prefix} hat den Titel des Dokuments aktualisiert"
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} hat die Sichtbarkeit des Dokuments aktualisiert"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:55
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:61
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} ein Dokument, indem Sie einen Ihrer direkten Links verwenden"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:46
|
||||
msgid "{teamName} has invited you to {action} {documentName}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:55
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "Anfrage zur Übertragung des Eigentums von {teamName}"
|
||||
@ -224,7 +243,7 @@ msgstr "{userName} hat das Dokument angesehen"
|
||||
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
|
||||
msgstr "{visibleRows, plural, one {Eine # Ergebnis wird angezeigt.} other {# Ergebnisse werden angezeigt.}}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
#: packages/email/templates/document-invite.tsx:100
|
||||
#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
#~ msgstr "`{inviterName} hat dich eingeladen, das Dokument \"{documentName}\" {action}.`"
|
||||
|
||||
@ -232,10 +251,22 @@ msgstr "{visibleRows, plural, one {Eine # Ergebnis wird angezeigt.} other {# Erg
|
||||
msgid "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
msgstr "<0>{senderName}</0> hat angefordert, dass du das folgende Team übernimmst"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:75
|
||||
msgid "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
|
||||
msgid "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
|
||||
msgid "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
msgstr "<0>Authentifizierungsmethode erben</0> - Verwenden Sie die in den \"Allgemeinen Einstellungen\" konfigurierte globale Aktionssignatur-Authentifizierungsmethode"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
|
||||
msgid "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
|
||||
msgid "<0>No restrictions</0> - No authentication required"
|
||||
msgstr "<0>Keine Einschränkungen</0> - Keine Authentifizierung erforderlich"
|
||||
@ -248,6 +279,10 @@ msgstr "<0>Keine Einschränkungen</0> - Das Dokument kann direkt über die dem E
|
||||
msgid "<0>None</0> - No authentication required"
|
||||
msgstr "<0>Keine</0> - Keine Authentifizierung erforderlich"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
msgid "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
|
||||
msgid "<0>Require 2FA</0> - The recipient must have an account and 2FA enabled via their settings"
|
||||
@ -262,7 +297,7 @@ msgstr "<0>Konto erforderlich</0> - Der Empfänger muss angemeldet sein, um das
|
||||
msgid "<0>Require passkey</0> - The recipient must have an account and passkey configured via their settings"
|
||||
msgstr "<0>Passkey erforderlich</0> - Der Empfänger muss ein Konto haben und den Passkey über seine Einstellungen konfiguriert haben"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
|
||||
msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
|
||||
msgstr "Ein Dokument wurde von deiner direkten Vorlage erstellt, das erfordert, dass du {recipientActionVerb}."
|
||||
|
||||
@ -278,7 +313,7 @@ msgstr "Ein Feld wurde entfernt"
|
||||
msgid "A field was updated"
|
||||
msgstr "Ein Feld wurde aktualisiert"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
|
||||
msgid "A new member has joined your team"
|
||||
msgstr "Ein neues Mitglied ist deinem Team beigetreten"
|
||||
|
||||
@ -294,37 +329,42 @@ msgstr "Ein Empfänger wurde entfernt"
|
||||
msgid "A recipient was updated"
|
||||
msgstr "Ein Empfänger wurde aktualisiert"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
msgstr "Eine Anfrage zur Verwendung deiner E-Mail wurde von {teamName} auf Documenso initiiert"
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:156
|
||||
msgid "A request to use your email has been initiated by {0} on Documenso"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-join.tsx:29
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#~ msgstr "Eine Anfrage zur Verwendung deiner E-Mail wurde von {teamName} auf Documenso initiiert"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:31
|
||||
msgid "A team member has joined a team on Documenso"
|
||||
msgstr "Ein Teammitglied ist einem Team bei Documenso beigetreten"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
|
||||
msgid "A team member has left {0}"
|
||||
msgstr "Ein Teammitglied hat {0} verlassen"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:29
|
||||
#: packages/email/templates/team-leave.tsx:31
|
||||
msgid "A team member has left a team on Documenso"
|
||||
msgstr "Ein Teammitglied hat ein Team auf Documenso verlassen"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:27
|
||||
#: packages/email/templates/team-delete.tsx:31
|
||||
#: packages/email/templates/team-delete.tsx:29
|
||||
#: packages/email/templates/team-delete.tsx:33
|
||||
msgid "A team you were a part of has been deleted"
|
||||
msgstr "Ein Team, dem du angehörtest, wurde gelöscht"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:77
|
||||
#: packages/email/templates/confirm-team-email.tsx:118
|
||||
#: packages/email/templates/team-invite.tsx:94
|
||||
#: packages/email/templates/team-transfer-request.tsx:81
|
||||
msgid "Accept"
|
||||
msgstr "Akzeptieren"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:29
|
||||
#: packages/email/templates/team-invite.tsx:42
|
||||
msgid "Accept invitation to join a team on Documenso"
|
||||
msgstr "Einladung annehmen, um einem Team auf Documenso beizutreten"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:38
|
||||
#: packages/email/templates/confirm-team-email.tsx:41
|
||||
msgid "Accept team email request for {teamName} on Documenso"
|
||||
msgstr "Akzeptiere die Team-E-Mail-Anfrage für {teamName} bei Documenso"
|
||||
|
||||
@ -337,7 +377,7 @@ msgid "Add a document"
|
||||
msgstr "Dokument hinzufügen"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
|
||||
msgid "Add a URL to redirect the user to once the document is signed"
|
||||
msgstr "Fügen Sie eine URL hinzu, um den Benutzer nach der Unterzeichnung des Dokuments weiterzuleiten"
|
||||
|
||||
@ -345,7 +385,7 @@ msgstr "Fügen Sie eine URL hinzu, um den Benutzer nach der Unterzeichnung des D
|
||||
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
|
||||
msgstr "Fügen Sie dem Dokument eine externe ID hinzu. Diese kann verwendet werden, um das Dokument in externen Systemen zu identifizieren."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:295
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
|
||||
msgid "Add an external ID to the template. This can be used to identify in external systems."
|
||||
msgstr "Fügen Sie der Vorlage eine externe ID hinzu. Diese kann zur Identifizierung in externen Systemen verwendet werden."
|
||||
|
||||
@ -387,7 +427,7 @@ msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:272
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:277
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
|
||||
msgid "Advanced Options"
|
||||
msgstr "Erweiterte Optionen"
|
||||
|
||||
@ -404,7 +444,11 @@ msgstr "Nach der Übermittlung wird ein Dokument automatisch generiert und zu Ih
|
||||
msgid "All signatures have been voided."
|
||||
msgstr "Alle Unterschriften wurden ungültig gemacht."
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:20
|
||||
#: packages/email/templates/confirm-team-email.tsx:98
|
||||
msgid "Allow document recipients to reply directly to this email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:22
|
||||
msgid "An admin has deleted your document \"{documentName}\"."
|
||||
msgstr "Ein Administrator hat dein Dokument \"{documentName}\" gelöscht."
|
||||
|
||||
@ -416,7 +460,7 @@ msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten."
|
||||
msgid "Approve"
|
||||
msgstr "Genehmigen"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:78
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
msgid "Approve Document"
|
||||
msgstr ""
|
||||
|
||||
@ -452,10 +496,14 @@ msgstr "Schwarz"
|
||||
msgid "Blue"
|
||||
msgstr "Blau"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:67
|
||||
#: packages/email/templates/team-invite.tsx:84
|
||||
msgid "by <0>{senderName}</0>"
|
||||
msgstr "von <0>{senderName}</0>"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:87
|
||||
msgid "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:70
|
||||
msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
msgstr "Indem du diese Anfrage annimmst, übernimmst du die Verantwortung für alle Abrechnungspunkte, die mit diesem Team verbunden sind."
|
||||
@ -516,8 +564,8 @@ msgstr "Schließen"
|
||||
msgid "Completed"
|
||||
msgstr "Abgeschlossen"
|
||||
|
||||
#: packages/email/templates/document-completed.tsx:21
|
||||
#: packages/email/templates/document-self-signed.tsx:17
|
||||
#: packages/email/templates/document-completed.tsx:23
|
||||
#: packages/email/templates/document-self-signed.tsx:19
|
||||
msgid "Completed Document"
|
||||
msgstr "Abgeschlossenes Dokument"
|
||||
|
||||
@ -538,11 +586,11 @@ msgstr "E-Mail bestätigen"
|
||||
msgid "Continue"
|
||||
msgstr "Fortsetzen"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:66
|
||||
#: packages/email/template-components/template-document-invite.tsx:72
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Fahre fort, indem du das Dokument {0}."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
msgid "Continue by approving the document."
|
||||
msgstr ""
|
||||
|
||||
@ -550,18 +598,27 @@ msgstr ""
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Fahre fort, indem du das Dokument herunterlädst."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
msgid "Continue by signing the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:64
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:254
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:46
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:241
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "In die Zwischenablage kopiert"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:249
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:194
|
||||
msgid "Copy Link"
|
||||
msgstr "Link kopieren"
|
||||
@ -585,15 +642,15 @@ msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:313
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
|
||||
msgid "Date Format"
|
||||
msgstr "Datumsformat"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:83
|
||||
#: packages/email/templates/team-invite.tsx:100
|
||||
msgid "Decline"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
#: packages/email/templates/reset-password.tsx:71
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "Hast du keinen Passwortwechsel angefordert? Wir helfen dir, dein Konto abzusichern, kontaktiere uns einfach <0>hier.</0>"
|
||||
|
||||
@ -603,7 +660,7 @@ msgstr "Empfänger des direkten Links"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:190
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
msgid "Document access"
|
||||
msgstr "Dokumentenzugriff"
|
||||
|
||||
@ -611,8 +668,8 @@ msgstr "Dokumentenzugriff"
|
||||
msgid "Document access auth updated"
|
||||
msgstr "Die Authentifizierung für den Dokumentenzugriff wurde aktualisiert"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:213
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:75
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Dokument storniert"
|
||||
|
||||
@ -621,12 +678,16 @@ msgstr "Dokument storniert"
|
||||
msgid "Document completed"
|
||||
msgstr "Dokument abgeschlossen"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:168
|
||||
msgid "Document completed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:286
|
||||
msgid "Document created"
|
||||
msgstr "Dokument erstellt"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:30
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:554
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:32
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
|
||||
msgid "Document created from direct template"
|
||||
msgstr "Dokument erstellt aus direkter Vorlage"
|
||||
|
||||
@ -638,10 +699,19 @@ msgstr "Dokumenterstellung"
|
||||
msgid "Document deleted"
|
||||
msgstr "Dokument gelöscht"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:58
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:207
|
||||
msgid "Document deleted email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:82
|
||||
msgid "Document Deleted!"
|
||||
msgstr "Dokument gelöscht!"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
|
||||
msgid "Document Distribution Method"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document external ID updated"
|
||||
msgstr "Externe ID des Dokuments aktualisiert"
|
||||
@ -654,6 +724,10 @@ msgstr "Dokument ins Team verschoben"
|
||||
msgid "Document opened"
|
||||
msgstr "Dokument geöffnet"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:128
|
||||
msgid "Document pending email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
msgstr "Dokument gesendet"
|
||||
@ -674,7 +748,7 @@ msgstr "Dokument aktualisiert"
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Sichtbarkeit des Dokuments aktualisiert"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:64
|
||||
#: packages/email/template-components/template-document-completed.tsx:57
|
||||
#: packages/ui/components/document/document-download-button.tsx:68
|
||||
msgid "Download"
|
||||
msgstr "Herunterladen"
|
||||
@ -696,6 +770,7 @@ msgstr "Dropdown"
|
||||
msgid "Dropdown options"
|
||||
msgstr "Dropdown-Optionen"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
@ -711,7 +786,7 @@ msgstr "E-Mail"
|
||||
msgid "Email is required"
|
||||
msgstr "E-Mail ist erforderlich"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:223
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
|
||||
msgid "Email Options"
|
||||
msgstr "E-Mail-Optionen"
|
||||
|
||||
@ -750,7 +825,7 @@ msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:283
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:288
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
msgid "External ID"
|
||||
msgstr "Externe ID"
|
||||
|
||||
@ -812,6 +887,10 @@ msgstr "Hast du dein Passwort vergessen?"
|
||||
msgid "Free Signature"
|
||||
msgstr "Freie Unterschrift"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:89
|
||||
msgid "Generate Links"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
|
||||
msgid "Global recipient action authentication"
|
||||
msgstr "Globale Empfängerauthentifizierung"
|
||||
@ -824,7 +903,7 @@ msgstr "Zurück"
|
||||
msgid "Green"
|
||||
msgstr "Grün"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:50
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Hallo, {userName} <0>({userEmail})</0>"
|
||||
|
||||
@ -861,7 +940,7 @@ msgstr "Ungültige E-Mail"
|
||||
msgid "Invalid email address"
|
||||
msgstr "Ungültige E-Mail-Adresse"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:55
|
||||
#: packages/email/templates/team-invite.tsx:72
|
||||
msgid "Join {teamName} on Documenso"
|
||||
msgstr "Tritt {teamName} auf Documenso bei"
|
||||
|
||||
@ -872,10 +951,11 @@ msgid "Label"
|
||||
msgstr "Beschriftung"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:176
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:150
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:124
|
||||
#: packages/email/templates/team-transfer-request.tsx:87
|
||||
msgid "Link expires in 1 hour."
|
||||
msgstr "Link läuft in 1 Stunde ab."
|
||||
@ -897,8 +977,8 @@ msgstr "Max"
|
||||
msgid "Member"
|
||||
msgstr "Mitglied"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:95
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:160
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
|
||||
msgid "Message <0>(Optional)</0>"
|
||||
msgstr "Nachricht <0>(Optional)</0>"
|
||||
|
||||
@ -934,6 +1014,10 @@ msgstr "Muss sehen"
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:215
|
||||
msgid "No recipients"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
msgid "No recipients with this role"
|
||||
@ -959,6 +1043,10 @@ msgstr "Kein Unterschriftsfeld gefunden"
|
||||
msgid "No value found."
|
||||
msgstr "Kein Wert gefunden."
|
||||
|
||||
#: packages/lib/constants/document.ts:32
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
@ -989,11 +1077,11 @@ msgstr "Seite {0} von {numPages}"
|
||||
msgid "Password Required"
|
||||
msgstr "Passwort erforderlich"
|
||||
|
||||
#: packages/email/templates/forgot-password.tsx:17
|
||||
#: packages/email/templates/forgot-password.tsx:19
|
||||
msgid "Password Reset Requested"
|
||||
msgstr "Passwortzurücksetzung angefordert"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:18
|
||||
#: packages/email/templates/reset-password.tsx:20
|
||||
msgid "Password Reset Successful"
|
||||
msgstr "Passwort erfolgreich zurückgesetzt"
|
||||
|
||||
@ -1005,7 +1093,7 @@ msgstr "Passwort aktualisiert!"
|
||||
msgid "Pending"
|
||||
msgstr "Ausstehend"
|
||||
|
||||
#: packages/email/templates/document-pending.tsx:17
|
||||
#: packages/email/templates/document-pending.tsx:19
|
||||
msgid "Pending Document"
|
||||
msgstr "Ausstehendes Dokument"
|
||||
|
||||
@ -1019,23 +1107,23 @@ msgstr "Wählen Sie eine Zahl"
|
||||
msgid "Placeholder"
|
||||
msgstr "Platzhalter"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:44
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Bitte {0} dein Dokument<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:38
|
||||
#: packages/email/templates/document-invite.tsx:50
|
||||
msgid "Please {action} your document {documentName}"
|
||||
msgstr "Bitte {action} dein Dokument {documentName}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:100
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
msgid "Please {recipientActionVerb} this document"
|
||||
msgstr "Bitte {recipientActionVerb} dieses Dokument"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
|
||||
msgid "Please {recipientActionVerb} this document created by your direct template"
|
||||
msgstr "Bitte {recipientActionVerb} dieses Dokument, das von deiner direkten Vorlage erstellt wurde"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:106
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
|
||||
msgid "Please {recipientActionVerb} your document"
|
||||
msgstr "Bitte {recipientActionVerb} dein Dokument"
|
||||
|
||||
@ -1043,7 +1131,7 @@ msgstr "Bitte {recipientActionVerb} dein Dokument"
|
||||
msgid "Please confirm your email"
|
||||
msgstr "Bitte bestätige deine E-Mail"
|
||||
|
||||
#: packages/email/templates/confirm-email.tsx:15
|
||||
#: packages/email/templates/confirm-email.tsx:17
|
||||
msgid "Please confirm your email address"
|
||||
msgstr "Bitte bestätige deine E-Mail-Adresse"
|
||||
|
||||
@ -1078,32 +1166,40 @@ msgstr "Empfänger"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:257
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:208
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
|
||||
msgid "Recipient action authentication"
|
||||
msgstr "Empfängeraktion Authentifizierung"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:89
|
||||
msgid "Recipient removed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:50
|
||||
msgid "Recipient signing request email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
|
||||
msgid "Red"
|
||||
msgstr "Rot"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
|
||||
msgid "Redirect URL"
|
||||
msgstr "Weiterleitungs-URL"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:173
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Erinnerung: {0}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
#: packages/lib/server-only/document/resend-document.tsx:132
|
||||
msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "Erinnerung: {0} hat dich eingeladen, ein Dokument {recipientActionVerb}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:110
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
msgid "Reminder: Please {recipientActionVerb} this document"
|
||||
msgstr "Erinnerung: Bitte {recipientActionVerb} dieses Dokument"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:116
|
||||
#: packages/lib/server-only/document/resend-document.tsx:127
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Erinnerung: Bitte {recipientActionVerb} dein Dokument"
|
||||
|
||||
@ -1119,6 +1215,10 @@ msgstr "Entfernen"
|
||||
msgid "Required field"
|
||||
msgstr "Pflichtfeld"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:84
|
||||
msgid "Resend"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-forgot-password.tsx:33
|
||||
msgid "Reset Password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
@ -1159,7 +1259,8 @@ msgstr "Wählen Sie mindestens"
|
||||
msgid "Select default option"
|
||||
msgstr "Standardoption auswählen"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:82
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:85
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
|
||||
msgid "Send"
|
||||
@ -1169,6 +1270,30 @@ msgstr "Senden"
|
||||
msgid "Send Document"
|
||||
msgstr "Dokument senden"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:158
|
||||
msgid "Send document completed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:197
|
||||
msgid "Send document deleted email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:118
|
||||
msgid "Send document pending email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:101
|
||||
msgid "Send documents on behalf of the team using the email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:79
|
||||
msgid "Send recipient removed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:40
|
||||
msgid "Send recipient signing request email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:135
|
||||
msgid "Share Signature Card"
|
||||
msgstr "Unterschriftenkarte teilen"
|
||||
@ -1190,7 +1315,7 @@ msgstr "Erweiterte Einstellungen anzeigen"
|
||||
msgid "Sign"
|
||||
msgstr "Unterschreiben"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
msgid "Sign Document"
|
||||
msgstr ""
|
||||
|
||||
@ -1226,8 +1351,8 @@ msgstr "Unterzeichner müssen eindeutige E-Mails haben"
|
||||
msgid "Signing"
|
||||
msgstr "Unterzeichnung"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:93
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:161
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
msgid "Signing Complete!"
|
||||
msgstr "Unterzeichnung abgeschlossen!"
|
||||
|
||||
@ -1256,8 +1381,8 @@ msgstr "Etwas ist schief gelaufen."
|
||||
msgid "Step <0>{step} of {maxStep}</0>"
|
||||
msgstr "Schritt <0>{step} von {maxStep}</0>"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:78
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:234
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:143
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
msgid "Subject <0>(Optional)</0>"
|
||||
msgstr "Betreff <0>(Optional)</0>"
|
||||
|
||||
@ -1265,19 +1390,23 @@ msgstr "Betreff <0>(Optional)</0>"
|
||||
msgid "Submit"
|
||||
msgstr "Einreichen"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:96
|
||||
#: packages/lib/server-only/team/delete-team.ts:124
|
||||
msgid "Team \"{0}\" has been deleted on Documenso"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:104
|
||||
msgid "Team email has been revoked for {0}"
|
||||
msgstr "Team-E-Mail wurde für {0} widerrufen"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:53
|
||||
#: packages/email/templates/team-email-removed.tsx:59
|
||||
msgid "Team email removed"
|
||||
msgstr "Team-E-Mail entfernt"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:27
|
||||
#: packages/email/templates/team-email-removed.tsx:29
|
||||
msgid "Team email removed for {teamName} on Documenso"
|
||||
msgstr "Team-E-Mail für {teamName} auf Documenso entfernt"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:133
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
|
||||
msgid "Template title"
|
||||
msgstr "Vorlagentitel"
|
||||
|
||||
@ -1307,11 +1436,11 @@ msgstr "Die Authentifizierung, die erforderlich ist, damit Empfänger das Dokume
|
||||
msgid "The document's name"
|
||||
msgstr "Der Name des Dokuments"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:35
|
||||
#: packages/email/templates/team-delete.tsx:37
|
||||
msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
|
||||
msgstr "Das folgende Team wurde von seinem Besitzer gelöscht. Du kannst nicht mehr auf dieses Team und seine Dokumente zugreifen"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:34
|
||||
#: packages/email/templates/team-delete.tsx:36
|
||||
msgid "The following team has been deleted by you"
|
||||
msgstr "Das folgende Team wurde von dir gelöscht"
|
||||
|
||||
@ -1355,7 +1484,11 @@ msgstr "Die E-Mail des Unterzeichners"
|
||||
msgid "The signer's name"
|
||||
msgstr "Der Name des Unterzeichners"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:57
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:243
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:63
|
||||
msgid "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
msgstr "Die Team-E-Mail <0>{teamEmail}</0> wurde aus dem folgenden Team entfernt"
|
||||
|
||||
@ -1375,14 +1508,30 @@ msgstr "Dieses Dokument wurde bereits an diesen Empfänger gesendet. Sie können
|
||||
msgid "This document is password protected. Please enter the password to view the document."
|
||||
msgstr "Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das Passwort ein, um das Dokument anzusehen."
|
||||
|
||||
#: packages/email/template-components/template-footer.tsx:14
|
||||
#: packages/email/template-components/template-footer.tsx:17
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "Dieses Dokument wurde mit <0>Documenso.</0> gesendet"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:55
|
||||
msgid "This email is sent to the recipient requesting them to sign the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:133
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "Dieses Feld kann nicht geändert oder gelöscht werden. Wenn Sie den direkten Link dieser Vorlage teilen oder zu Ihrem öffentlichen Profil hinzufügen, kann jeder, der darauf zugreift, seinen Namen und seine E-Mail-Adresse eingeben und die ihm zugewiesenen Felder ausfüllen."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "Dieser Empfänger kann nicht mehr bearbeitet werden, da er ein Feld unterschrieben oder das Dokument abgeschlossen hat."
|
||||
@ -1391,12 +1540,20 @@ msgstr "Dieser Empfänger kann nicht mehr bearbeitet werden, da er ein Feld unte
|
||||
msgid "This signer has already signed the document."
|
||||
msgstr "Dieser Unterzeichner hat das Dokument bereits unterschrieben."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:212
|
||||
msgid "This will be sent to all recipients if a pending document has been deleted."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:173
|
||||
msgid "This will be sent to all recipients once the document has been fully completed."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
|
||||
msgid "This will override any global settings."
|
||||
msgstr "Dies überschreibt alle globalen Einstellungen."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:347
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:348
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
|
||||
msgid "Time Zone"
|
||||
msgstr "Zeitzone"
|
||||
|
||||
@ -1409,7 +1566,7 @@ msgstr "Titel"
|
||||
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."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:86
|
||||
msgid "Update"
|
||||
msgstr "Aktualisieren"
|
||||
|
||||
@ -1435,15 +1592,25 @@ msgstr "Validierung"
|
||||
msgid "Value"
|
||||
msgstr "Wert"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:71
|
||||
msgid "Verify your team email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:29
|
||||
msgid "View"
|
||||
msgstr "Betrachten"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:69
|
||||
#: packages/email/templates/confirm-team-email.tsx:95
|
||||
msgid "View all documents sent to and from this email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:75
|
||||
msgid "View document"
|
||||
msgstr "Dokument anzeigen"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:77
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
msgstr ""
|
||||
|
||||
@ -1475,15 +1642,23 @@ msgstr "Betrachten"
|
||||
msgid "Waiting for others"
|
||||
msgstr "Warten auf andere"
|
||||
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:73
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:96
|
||||
msgid "Waiting for others to complete signing."
|
||||
msgstr "Warten auf andere, um die Unterzeichnung abzuschließen."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:205
|
||||
msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:201
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-pending.tsx:41
|
||||
msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
msgstr "Wir warten noch darauf, dass andere Unterzeichner dieses Dokument unterzeichnen.<0/>Wir benachrichtigen dich, sobald es bereit ist."
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:59
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
msgid "We've changed your password as you asked. You can now sign in with your new password."
|
||||
msgstr "Wir haben dein Passwort wie gewünscht geändert. Du kannst dich jetzt mit deinem neuen Passwort anmelden."
|
||||
|
||||
@ -1503,6 +1678,10 @@ msgstr "Sie sind dabei, dieses Dokument an die Empfänger zu senden. Sind Sie si
|
||||
msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
|
||||
msgstr "Du kannst diesen Link auch kopieren und in deinen Browser einfügen: {confirmationLink} (Link läuft in 1 Stunde ab)"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:106
|
||||
msgid "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "Sie können die folgenden Variablen in Ihrer Nachricht verwenden:"
|
||||
@ -1515,15 +1694,15 @@ msgstr "Sie können derzeit keine Dokumente hochladen."
|
||||
msgid "You don't need to sign it anymore."
|
||||
msgstr "Du musst es nicht mehr unterschreiben."
|
||||
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:168
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:186
|
||||
msgid "You have been invited to join {0} on Documenso"
|
||||
msgstr "Du wurdest eingeladen, {0} auf Documenso beizutreten"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:59
|
||||
#: packages/email/templates/team-invite.tsx:76
|
||||
msgid "You have been invited to join the following team"
|
||||
msgstr "Du wurdest eingeladen, dem folgenden Team beizutreten"
|
||||
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
|
||||
msgid "You have been removed from a document"
|
||||
msgstr "Du wurdest von einem Dokument entfernt"
|
||||
|
||||
@ -1531,8 +1710,8 @@ msgstr "Du wurdest von einem Dokument entfernt"
|
||||
msgid "You have been requested to take ownership of team {0} on Documenso"
|
||||
msgstr "Du wurdest gebeten, das Team {0} auf Documenso zu übernehmen"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104
|
||||
#: packages/lib/server-only/document/resend-document.tsx:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
|
||||
#: packages/lib/server-only/document/resend-document.tsx:125
|
||||
msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
|
||||
msgstr "Du hast das Dokument {0} initiiert, das erfordert, dass du {recipientActionVerb}."
|
||||
|
||||
@ -1552,7 +1731,7 @@ msgstr "Dein Dokument wurde von einem Administrator gelöscht!"
|
||||
msgid "Your password has been updated."
|
||||
msgstr "Dein Passwort wurde aktualisiert."
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:26
|
||||
#: packages/email/templates/team-delete.tsx:30
|
||||
#: packages/email/templates/team-delete.tsx:28
|
||||
#: packages/email/templates/team-delete.tsx:32
|
||||
msgid "Your team has been deleted"
|
||||
msgstr "Dein Team wurde gelöscht"
|
||||
|
||||
1
packages/lib/translations/de/web.js
Normal file
1
packages/lib/translations/de/web.js
Normal file
File diff suppressed because one or more lines are too long
@ -18,6 +18,10 @@ 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:211
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
|
||||
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
msgstr "\"{0}\" wird im Dokument erscheinen, da es eine Zeitzone von \"{timezone}\" hat."
|
||||
@ -26,6 +30,20 @@ msgstr "\"{0}\" wird im Dokument erscheinen, da es eine Zeitzone von \"{timezone
|
||||
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 ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) hat dich eingeladen, dieses Dokument zu genehmigen"
|
||||
@ -169,7 +187,7 @@ msgstr "Eine Bestätigungs-E-Mail wurde gesendet, und sie sollte in Kürze in de
|
||||
msgid "A device capable of accessing, opening, and reading documents"
|
||||
msgstr "Ein Gerät, das in der Lage ist, Dokumente zuzugreifen, zu öffnen und zu lesen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
|
||||
msgid "A draft document will be created"
|
||||
msgstr "Ein Entwurf wird erstellt"
|
||||
|
||||
@ -208,7 +226,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:139
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
|
||||
msgid "A unique URL to identify your team"
|
||||
msgstr "Eine eindeutige URL, um dein Team zu identifizieren"
|
||||
|
||||
@ -264,7 +282,7 @@ msgstr "Aktion"
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
|
||||
msgid "Active"
|
||||
@ -278,7 +296,7 @@ msgstr "Aktive Abonnements"
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
|
||||
msgid "Add all relevant fields for each recipient."
|
||||
msgstr "Fügen Sie alle relevanten Felder für jeden Empfänger hinzu."
|
||||
@ -299,7 +317,7 @@ msgstr "Fügen Sie einen Authenticator hinzu, um als sekundäre Authentifizierun
|
||||
msgid "Add email"
|
||||
msgstr "E-Mail hinzufügen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
|
||||
msgid "Add Fields"
|
||||
msgstr "Felder hinzufügen"
|
||||
@ -317,34 +335,38 @@ msgstr "Passkey hinzufügen"
|
||||
msgid "Add Placeholders"
|
||||
msgstr "Platzhalter hinzufügen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
msgid "Add Signers"
|
||||
msgstr "Unterzeichner hinzufügen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
|
||||
msgid "Add Subject"
|
||||
msgstr "Betreff hinzufügen"
|
||||
#~ msgid "Add Subject"
|
||||
#~ msgstr "Betreff hinzufügen"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
|
||||
msgid "Add team email"
|
||||
msgstr "Team-E-Mail hinzufügen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
|
||||
msgid "Add the people who will sign the document."
|
||||
msgstr "Fügen Sie die Personen hinzu, die das Dokument unterschreiben werden."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
|
||||
msgid "Add the recipients to create the document with"
|
||||
msgstr "Fügen Sie die Empfänger hinzu, um das Dokument zu erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Add the subject and message you wish to send to signers."
|
||||
msgstr "Fügen Sie den Betreff und die Nachricht hinzu, die Sie den Unterzeichnern senden möchten."
|
||||
#~ msgid "Add the subject and message you wish to send to signers."
|
||||
#~ msgstr "Fügen Sie den Betreff und die Nachricht hinzu, die Sie den Unterzeichnern senden möchten."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
|
||||
msgid "Adding and removing seats will adjust your invoice accordingly."
|
||||
msgstr "Das Hinzufügen und Entfernen von Sitzplätzen wird Ihre Rechnung entsprechend anpassen."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
|
||||
msgid "Additional brand information to display at the bottom of emails"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
|
||||
msgid "Admin Actions"
|
||||
msgstr "Admin-Aktionen"
|
||||
@ -436,17 +458,17 @@ 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)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "Ein Fehler ist aufgetreten, während die Felder hinzugefügt wurden."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "Ein Fehler ist aufgetreten, während das Dokument aus der Vorlage erstellt wurde."
|
||||
|
||||
@ -504,7 +526,7 @@ msgstr "Ein Fehler ist aufgetreten, während die Unterschrift entfernt wurde."
|
||||
msgid "An error occurred while removing the text."
|
||||
msgstr "Ein Fehler ist aufgetreten, während der Text entfernt wurde."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
|
||||
msgid "An error occurred while sending the document."
|
||||
msgstr "Ein Fehler ist aufgetreten, während das Dokument gesendet wurde."
|
||||
|
||||
@ -529,11 +551,15 @@ msgstr "Ein Fehler ist aufgetreten, während das Dokument unterzeichnet wurde."
|
||||
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:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "Ein Fehler ist aufgetreten, während die Dokumenteinstellungen aktualisiert wurden."
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:78
|
||||
#~ msgid "An error occurred while updating the global team settings."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
|
||||
msgid "An error occurred while updating the signature."
|
||||
msgstr "Ein Fehler ist aufgetreten, während die Unterschrift aktualisiert wurde."
|
||||
@ -564,7 +590,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:94
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:94
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:122
|
||||
#: apps/web/src/components/forms/password.tsx:84
|
||||
@ -606,8 +632,8 @@ msgstr "Jeder Status"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
|
||||
msgid "API Tokens"
|
||||
msgstr "API-Token"
|
||||
|
||||
@ -677,7 +703,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar aktualisiert"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "Warte auf E-Mail-Bestätigung"
|
||||
|
||||
@ -716,11 +742,19 @@ msgstr "Basisdetails"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
|
||||
msgid "Billing"
|
||||
msgstr "Abrechnung"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
|
||||
msgid "Branding preferences updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
|
||||
msgid "Browser"
|
||||
@ -806,6 +840,10 @@ msgstr "Vom Benutzer abgebrochen"
|
||||
msgid "Charts"
|
||||
msgstr "Diagramme"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
|
||||
#~ msgid "Check out the documentaton for the <0>global team settings</0>."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
|
||||
msgid "Checkout"
|
||||
msgstr "Abrechnung"
|
||||
@ -818,6 +856,10 @@ msgstr "Wählen Sie einen vorhandenen Empfänger unten aus, um fortzufahren"
|
||||
msgid "Choose Direct Link Recipient"
|
||||
msgstr "Wählen Sie den direkten Link Empfänger"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
|
||||
msgid "Choose how the document will reach recipients"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:200
|
||||
msgid "Choose..."
|
||||
msgstr "Wählen..."
|
||||
@ -866,7 +908,7 @@ msgid "Click to insert field"
|
||||
msgstr "Klicken Sie, um das Feld einzufügen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -911,7 +953,7 @@ msgstr "Abgeschlossene Dokumente"
|
||||
msgid "Completed Documents"
|
||||
msgstr "Abgeschlossene Dokumente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
|
||||
msgid "Configure general settings for the document."
|
||||
msgstr "Konfigurieren Sie die allgemeinen Einstellungen für das Dokument."
|
||||
|
||||
@ -979,6 +1021,18 @@ msgstr "Fortfahren"
|
||||
msgid "Continue to login"
|
||||
msgstr "Weiter zum Login"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
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 ""
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
@ -1032,14 +1086,18 @@ msgstr "Ein Team erstellen, um mit Ihren Teammitgliedern zusammenzuarbeiten."
|
||||
msgid "Create account"
|
||||
msgstr "Konto erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
|
||||
msgid "Create and send"
|
||||
msgstr "Erstellen und senden"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
|
||||
msgid "Create as draft"
|
||||
msgstr "Als Entwurf erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
|
||||
msgid "Create as pending"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
|
||||
msgid "Create Direct Link"
|
||||
msgstr "Direkten Link erstellen"
|
||||
@ -1048,7 +1106,7 @@ msgstr "Direkten Link erstellen"
|
||||
msgid "Create Direct Signing Link"
|
||||
msgstr "Direkten Signatur-Link erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
|
||||
msgid "Create document from template"
|
||||
msgstr "Dokument aus der Vorlage erstellen"
|
||||
|
||||
@ -1060,6 +1118,10 @@ msgstr "Jetzt erstellen"
|
||||
msgid "Create one automatically"
|
||||
msgstr "Einen automatisch erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
|
||||
msgid "Create signing links"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
|
||||
@ -1071,6 +1133,10 @@ msgstr "Team erstellen"
|
||||
msgid "Create Team"
|
||||
msgstr "Team erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
|
||||
msgid "Create the document as pending and ready to sign."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:250
|
||||
#: apps/web/src/components/forms/token.tsx:259
|
||||
msgid "Create token"
|
||||
@ -1157,6 +1223,15 @@ msgstr "Ablehnen"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Team-Einladung abgelehnt"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Default Document Language"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
msgid "Default Document Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
msgid "delete"
|
||||
msgstr "löschen"
|
||||
@ -1214,7 +1289,7 @@ msgstr "Dokument löschen"
|
||||
msgid "Delete passkey"
|
||||
msgstr "Passkey löschen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Team löschen"
|
||||
@ -1327,6 +1402,10 @@ msgstr "Das Deaktivieren der direkten Link-Signatur verhindert, dass jemand auf
|
||||
msgid "Display your name and email in documents"
|
||||
msgstr "Zeigen Sie Ihren Namen und Ihre E-Mail in Dokumenten an"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Distribute Document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
|
||||
msgid "Do you want to delete this template?"
|
||||
msgstr "Möchten Sie diese Vorlage löschen?"
|
||||
@ -1364,7 +1443,7 @@ msgstr "Dokument abgeschlossen"
|
||||
msgid "Document Completed!"
|
||||
msgstr "Dokument abgeschlossen!"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
|
||||
msgid "Document created"
|
||||
msgstr "Dokument erstellt"
|
||||
|
||||
@ -1404,7 +1483,7 @@ msgstr "Dokument-ID"
|
||||
msgid "Document inbox"
|
||||
msgstr "Dokumenten-Posteingang"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
|
||||
msgid "Document Limit Exceeded!"
|
||||
msgstr "Dokumentenlimit überschritten!"
|
||||
|
||||
@ -1424,6 +1503,10 @@ 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
|
||||
msgid "Document preferences updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
|
||||
msgid "Document re-sent"
|
||||
msgstr "Dokument erneut gesendet"
|
||||
@ -1432,10 +1515,14 @@ msgstr "Dokument erneut gesendet"
|
||||
msgid "Document resealed"
|
||||
msgstr "Dokument wieder versiegelt"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
|
||||
msgid "Document sent"
|
||||
msgstr "Dokument gesendet"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Signed"
|
||||
msgstr "Dokument signiert"
|
||||
@ -1577,8 +1664,8 @@ msgstr "Offenlegung der elektronischen Unterschrift"
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
|
||||
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
|
||||
@ -1633,6 +1720,10 @@ msgstr "2FA aktivieren"
|
||||
msgid "Enable Authenticator App"
|
||||
msgstr "Authenticator-App aktivieren"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
|
||||
msgid "Enable custom branding for all documents in this team."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
|
||||
msgid "Enable direct link signing"
|
||||
msgstr "Direktlinksignierung aktivieren"
|
||||
@ -1658,6 +1749,10 @@ msgstr "Beigefügte Dokument"
|
||||
msgid "Ends On"
|
||||
msgstr "Endet am"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
|
||||
msgid "Enter your brand details"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
|
||||
msgid "Enter your email"
|
||||
msgstr "Geben Sie Ihre E-Mail-Adresse ein"
|
||||
@ -1676,10 +1771,10 @@ msgstr "Geben Sie hier Ihren Text ein"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
|
||||
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
|
||||
@ -1688,7 +1783,7 @@ msgstr "Geben Sie hier Ihren Text ein"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -1715,6 +1810,14 @@ msgstr "Geben Sie hier Ihren Text ein"
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:77
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Alle haben unterschrieben"
|
||||
@ -1727,7 +1830,7 @@ msgstr "Alle haben unterschrieben! Sie werden eine E-Mail-Kopie des unterzeichne
|
||||
msgid "Exceeded timeout"
|
||||
msgstr "Zeitüberschreitung überschritten"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
|
||||
msgid "Expired"
|
||||
msgstr "Abgelaufen"
|
||||
|
||||
@ -1776,14 +1879,23 @@ msgstr "Haben Sie Ihr Passwort vergessen?"
|
||||
msgid "Full Name"
|
||||
msgstr "Vollständiger Name"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
|
||||
msgid "General"
|
||||
msgstr "Allgemein"
|
||||
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#~ msgid "Global Settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:69
|
||||
#~ msgid "Global Team Settings Updated"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
|
||||
@ -1820,6 +1932,14 @@ msgstr "Hier können Sie Ihre persönlichen Daten bearbeiten."
|
||||
msgid "Here you can manage your password and security settings."
|
||||
msgstr "Hier können Sie Ihre Passwort- und Sicherheitseinstellungen verwalten."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
|
||||
msgid "Here you can set preferences and defaults for branding."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
|
||||
msgid "Here you can set preferences and defaults for your team."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
|
||||
msgid "Here's how it works:"
|
||||
msgstr "So funktioniert es:"
|
||||
@ -1871,6 +1991,10 @@ msgstr "Posteingang"
|
||||
msgid "Inbox documents"
|
||||
msgstr "Posteingang Dokumente"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:132
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ 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"
|
||||
@ -2037,6 +2161,10 @@ msgstr "Möchten Sie Ihr eigenes öffentliches Profil mit Vereinbarungen haben?"
|
||||
msgid "Link template"
|
||||
msgstr "Vorlage verlinken"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
|
||||
msgid "Links Generated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
|
||||
msgid "Listening to {0}"
|
||||
@ -2161,8 +2289,8 @@ msgid "Member Since"
|
||||
msgstr "Mitglied seit"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
|
||||
msgid "Members"
|
||||
msgstr "Mitglieder"
|
||||
|
||||
@ -2215,8 +2343,8 @@ msgstr "Meine Vorlagen"
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
|
||||
@ -2350,6 +2478,14 @@ 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
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
|
||||
@ -2373,7 +2509,7 @@ msgstr "Oder"
|
||||
msgid "Or continue with"
|
||||
msgstr "Oder fahren Sie fort mit"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
|
||||
msgid "Otherwise, the document will be created as a draft."
|
||||
msgstr "Andernfalls wird das Dokument als Entwurf erstellt."
|
||||
|
||||
@ -2579,13 +2715,23 @@ msgid "Please type <0>{0}</0> to confirm."
|
||||
msgstr "Bitte geben Sie <0>{0}</0> ein, um zu bestätigen."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
|
||||
msgid "Preview and configure template."
|
||||
msgstr "Vorschau und Vorlagen konfigurieren."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#~ msgid "Preview: {0}"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
|
||||
#: apps/web/src/components/formatter/template-type.tsx:22
|
||||
msgid "Private"
|
||||
@ -2623,8 +2769,8 @@ msgstr "Öffentlich"
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
|
||||
msgid "Public Profile"
|
||||
msgstr "Öffentliches Profil"
|
||||
|
||||
@ -2716,6 +2862,7 @@ msgstr "Haben Sie Ihr Passwort vergessen? <0>Einloggen</0>"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
|
||||
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
|
||||
@ -2759,7 +2906,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:164
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Zurücksetzen"
|
||||
@ -2839,6 +2986,8 @@ msgstr "Rollen"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
@ -2909,10 +3058,15 @@ msgstr "Passkey auswählen"
|
||||
msgid "Send confirmation email"
|
||||
msgstr "Bestätigungs-E-Mail senden"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
|
||||
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
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
|
||||
msgid "Send reminder"
|
||||
msgstr "Erinnerung senden"
|
||||
@ -3104,6 +3258,10 @@ msgstr "Anmeldung..."
|
||||
msgid "Signing Links"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
|
||||
msgid "Signing links have been generated for this document."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/signup.tsx:235
|
||||
msgid "Signing up..."
|
||||
msgstr "Registrierung..."
|
||||
@ -3147,6 +3305,7 @@ msgstr "Website Einstellungen"
|
||||
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
|
||||
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
|
||||
@ -3183,6 +3342,10 @@ 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
|
||||
msgid "Something went wrong!"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
|
||||
msgid "Something went wrong. Please try again or contact support."
|
||||
@ -3247,7 +3410,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:68
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
|
||||
@ -3278,8 +3441,8 @@ msgstr "Team"
|
||||
msgid "Team checkout"
|
||||
msgstr "Teameinkaufs-Prüfung"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
msgid "Team email"
|
||||
msgstr "Team E-Mail"
|
||||
|
||||
@ -3322,7 +3485,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:113
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
|
||||
msgid "Team Name"
|
||||
msgstr "Teamname"
|
||||
|
||||
@ -3346,6 +3509,10 @@ msgstr "Team-Eigentumsübertragung bereits abgeschlossen!"
|
||||
msgid "Team ownership transferred!"
|
||||
msgstr "Team-Eigentum übertragen!"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
|
||||
msgid "Team Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
|
||||
msgid "Team Public Profile"
|
||||
msgstr "Öffentliches Profil des Teams"
|
||||
@ -3371,7 +3538,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:129
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
|
||||
msgid "Team URL"
|
||||
msgstr "Team-URL"
|
||||
|
||||
@ -3472,7 +3639,7 @@ msgstr "Das Dokument wurde erfolgreich in das ausgewählte Team verschoben."
|
||||
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."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
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."
|
||||
|
||||
@ -3480,7 +3647,7 @@ msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versend
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "Das Dokument wird von Ihrem Konto verborgen werden"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
|
||||
msgid "The document will be immediately sent to recipients if this is checked."
|
||||
msgstr "Das Dokument wird sofort an die Empfänger gesendet, wenn dies angehakt ist."
|
||||
|
||||
@ -3490,6 +3657,10 @@ msgstr "Das Dokument wird sofort an die Empfänger gesendet, wenn dies angehakt
|
||||
msgid "The events that will trigger a webhook to be sent to your URL."
|
||||
msgstr "Die Ereignisse, die einen Webhook auslösen, der an Ihre URL gesendet wird."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
|
||||
#~ msgid "The global settings for the documents in your team account."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
|
||||
msgid "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
msgstr "Die Inhaberschaft des Teams <0>{0}</0> wurde erfolgreich auf Sie übertragen."
|
||||
@ -3669,7 +3840,7 @@ msgstr "Dieser Preis beinhaltet mindestens 5 Plätze."
|
||||
msgid "This session has expired. Please try again."
|
||||
msgstr "Diese Sitzung ist abgelaufen. Bitte versuchen Sie es erneut."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
|
||||
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
|
||||
msgstr "Dieses Team und alle zugehörigen Daten, ausgenommen Rechnungen, werden permanent gelöscht."
|
||||
|
||||
@ -3686,7 +3857,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:87
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
|
||||
msgid "This URL is already in use."
|
||||
msgstr "Diese URL wird bereits verwendet."
|
||||
|
||||
@ -3819,13 +3990,13 @@ msgstr "übertragen {teamName}"
|
||||
msgid "Transfer ownership of this team to a selected team member."
|
||||
msgstr "Übertragen Sie die Inhaberschaft dieses Teams auf ein ausgewähltes Teammitglied."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
|
||||
msgid "Transfer team"
|
||||
msgstr "Team übertragen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
|
||||
msgid "Transfer the ownership of the team to another team member."
|
||||
msgstr "Übertragen Sie das Eigentum des Teams auf ein anderes Teammitglied."
|
||||
|
||||
@ -4016,7 +4187,7 @@ msgstr "Empfänger aktualisieren"
|
||||
msgid "Update role"
|
||||
msgstr "Rolle aktualisieren"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:176
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
|
||||
msgid "Update team"
|
||||
msgstr "Team aktualisieren"
|
||||
|
||||
@ -4055,6 +4226,10 @@ msgstr "Aktualisierung Ihrer Informationen"
|
||||
msgid "Upload Avatar"
|
||||
msgstr "Avatar hochladen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
|
||||
msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
|
||||
msgid "Uploaded by"
|
||||
@ -4086,7 +4261,7 @@ msgstr "Authenticator verwenden"
|
||||
msgid "Use Backup Code"
|
||||
msgstr "Backup-Code verwenden"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
msgid "Use Template"
|
||||
msgstr "Vorlage verwenden"
|
||||
|
||||
@ -4180,7 +4355,7 @@ msgstr "Codes ansehen"
|
||||
msgid "View Document"
|
||||
msgstr "Dokument anzeigen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "Dokumente ansehen, die mit dieser E-Mail verknüpft sind"
|
||||
|
||||
@ -4366,7 +4541,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:96
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
|
||||
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
|
||||
msgstr "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht haben, Ihr Team zu aktualisieren. Bitte versuchen Sie es später erneut."
|
||||
|
||||
@ -4414,6 +4589,14 @@ msgstr "Wir konnten die Zwei-Faktor-Authentifizierung für Ihr Konto nicht einri
|
||||
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."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
|
||||
msgid "We were unable to update your branding preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
|
||||
msgid "We were unable to update your document preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
|
||||
msgid "We were unable to verify your details. Please try again or contact support"
|
||||
msgstr "Wir konnten Ihre Angaben nicht verifizieren. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support"
|
||||
@ -4422,6 +4605,14 @@ msgstr "Wir konnten Ihre Angaben nicht verifizieren. Bitte versuchen Sie es erne
|
||||
msgid "We were unable to verify your email. If your email is not verified already, please try again."
|
||||
msgstr "Wir konnten Ihre E-Mail nicht bestätigen. Wenn Ihre E-Mail noch nicht bestätigt wurde, versuchen Sie es bitte erneut."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
|
||||
msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
|
||||
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
|
||||
msgid "We're all empty"
|
||||
@ -4453,8 +4644,8 @@ msgstr "Webhook-URL"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
|
||||
msgid "Webhooks"
|
||||
msgstr "Webhooks"
|
||||
|
||||
@ -4583,7 +4774,7 @@ msgstr ""
|
||||
msgid "You can update the profile URL by updating the team URL in the general settings page."
|
||||
msgstr "Sie können die Profil-URL aktualisieren, indem Sie die Team-URL auf der Seite mit den allgemeinen Einstellungen aktualisieren."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
|
||||
msgid "You can view documents associated with this email and use this identity when sending documents."
|
||||
msgstr "Sie können Dokumente ansehen, die mit dieser E-Mail verknüpft sind, und diese Identität beim Senden von Dokumenten verwenden."
|
||||
|
||||
@ -4645,7 +4836,7 @@ msgstr "Sie haben das maximale Limit von {0} direkten Vorlagen erreicht. <0>Upgr
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "Sie haben Ihr Dokumentenlimit erreicht."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "Sie haben Ihr Dokumentenlimit erreicht. <0>Upgrade your account to continue!</0>"
|
||||
|
||||
@ -4733,6 +4924,14 @@ msgstr "Ihr Avatar wurde erfolgreich aktualisiert."
|
||||
msgid "Your banner has been updated successfully."
|
||||
msgstr "Ihr Banner wurde erfolgreich aktualisiert."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
|
||||
msgid "Your brand website URL"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Ihr aktueller Plan ist überfällig. Bitte aktualisieren Sie Ihre Zahlungsinformationen."
|
||||
@ -4745,7 +4944,7 @@ msgstr "Ihre direkten Unterzeichnungsvorlagen"
|
||||
msgid "Your document failed to upload."
|
||||
msgstr "Ihr Dokument konnte nicht hochgeladen werden."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
|
||||
msgid "Your document has been created from the template successfully."
|
||||
msgstr "Ihr Dokument wurde erfolgreich aus der Vorlage erstellt."
|
||||
|
||||
@ -4753,7 +4952,7 @@ msgstr "Ihr Dokument wurde erfolgreich aus der Vorlage erstellt."
|
||||
msgid "Your document has been re-sent successfully."
|
||||
msgstr "Ihr Dokument wurde erfolgreich erneut gesendet."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
|
||||
msgid "Your document has been sent successfully."
|
||||
msgstr "Ihr Dokument wurde erfolgreich gesendet."
|
||||
|
||||
@ -4769,6 +4968,10 @@ 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
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
|
||||
msgid "Your documents"
|
||||
msgstr "Ihre Dokumente"
|
||||
@ -4786,6 +4989,10 @@ msgstr "Ihre E-Mail wird derzeit von Team <0>{0}</0> ({1}) verwendet."
|
||||
msgid "Your existing tokens"
|
||||
msgstr "Ihre vorhandenen Tokens"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:70
|
||||
#~ msgid "Your global team document settings has been updated successfully."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/password.tsx:72
|
||||
#: apps/web/src/components/forms/reset-password.tsx:73
|
||||
msgid "Your password has been updated successfully."
|
||||
@ -4828,7 +5035,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:69
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Ihr Team wurde erfolgreich aktualisiert."
|
||||
|
||||
|
||||
@ -25,24 +25,27 @@ msgstr "“{documentName}” has been signed"
|
||||
msgid "“{documentName}” was signed by all signers"
|
||||
msgstr "“{documentName}” was signed by all signers"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:41
|
||||
#: packages/lib/server-only/document/resend-document.tsx:109
|
||||
#~ msgid "{0}"
|
||||
#~ msgstr "{0}"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:80
|
||||
#~ msgid "{0} Document"
|
||||
#~ msgstr "{0} Document"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
|
||||
msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
msgstr "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
|
||||
msgid "{0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "{0} invited you to {recipientActionVerb} a document"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:55
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
msgid "{0} joined the team {teamName} on Documenso"
|
||||
msgstr "{0} joined the team {teamName} on Documenso"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:55
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
msgid "{0} left the team {teamName} on Documenso"
|
||||
msgstr "{0} left the team {teamName} on Documenso"
|
||||
|
||||
@ -50,16 +53,20 @@ msgstr "{0} left the team {teamName} on Documenso"
|
||||
msgid "{0} of {1} row(s) selected."
|
||||
msgstr "{0} of {1} row(s) selected."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:123
|
||||
#: packages/lib/server-only/document/resend-document.tsx:126
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
|
||||
#: packages/lib/server-only/document/resend-document.tsx:137
|
||||
msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
|
||||
msgstr "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:79
|
||||
#: packages/email/template-components/template-document-invite.tsx:51
|
||||
#~ msgid "{0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:94
|
||||
msgid "{inviterName} <0>({inviterEmail})</0>"
|
||||
msgstr "{inviterName} <0>({inviterEmail})</0>"
|
||||
|
||||
#: packages/email/templates/document-cancel.tsx:19
|
||||
#: packages/email/templates/document-cancel.tsx:21
|
||||
msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
|
||||
msgstr "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
|
||||
|
||||
@ -67,7 +74,7 @@ msgstr "{inviterName} has cancelled the document {documentName}, you don't need
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:54
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -75,31 +82,35 @@ msgstr "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgid "{inviterName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} has invited you to {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
msgid "{inviterName} has invited you to {action} the document {documentName}."
|
||||
msgstr "{inviterName} has invited you to {action} the document {documentName}."
|
||||
#: packages/email/templates/document-invite.tsx:106
|
||||
msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
msgstr "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:18
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:20
|
||||
msgid "{inviterName} has removed you from the document {documentName}."
|
||||
msgstr "{inviterName} has removed you from the document {documentName}."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:43
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:49
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:40
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:45
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
#: packages/email/templates/team-join.tsx:67
|
||||
msgid "{memberEmail} joined the following team"
|
||||
msgstr "{memberEmail} joined the following team"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
#: packages/email/templates/team-leave.tsx:67
|
||||
msgid "{memberEmail} left the following team"
|
||||
msgstr "{memberEmail} left the following team"
|
||||
|
||||
@ -187,10 +198,18 @@ msgstr "{prefix} updated the document title"
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} updated the document visibility"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:55
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:61
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} a document by using one of your direct links"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr "{teamName} has invited you to {0}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:46
|
||||
msgid "{teamName} has invited you to {action} {documentName}"
|
||||
msgstr "{teamName} has invited you to {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:55
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "{teamName} ownership transfer request"
|
||||
@ -219,7 +238,7 @@ msgstr "{userName} viewed the document"
|
||||
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
|
||||
msgstr "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
#: packages/email/templates/document-invite.tsx:100
|
||||
#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
|
||||
@ -227,10 +246,22 @@ msgstr "{visibleRows, plural, one {Showing # result.} other {Showing # results.}
|
||||
msgid "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
msgstr "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:75
|
||||
msgid "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
msgstr "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
|
||||
msgid "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
msgstr "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
|
||||
msgid "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
msgstr "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
|
||||
msgid "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
msgstr "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
|
||||
msgid "<0>No restrictions</0> - No authentication required"
|
||||
msgstr "<0>No restrictions</0> - No authentication required"
|
||||
@ -243,6 +274,10 @@ msgstr "<0>No restrictions</0> - The document can be accessed directly by the UR
|
||||
msgid "<0>None</0> - No authentication required"
|
||||
msgstr "<0>None</0> - No authentication required"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
msgid "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
msgstr "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
|
||||
msgid "<0>Require 2FA</0> - The recipient must have an account and 2FA enabled via their settings"
|
||||
@ -257,7 +292,7 @@ msgstr "<0>Require account</0> - The recipient must be signed in to view the doc
|
||||
msgid "<0>Require passkey</0> - The recipient must have an account and passkey configured via their settings"
|
||||
msgstr "<0>Require passkey</0> - The recipient must have an account and passkey configured via their settings"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
|
||||
msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
|
||||
msgstr "A document was created by your direct template that requires you to {recipientActionVerb} it."
|
||||
|
||||
@ -273,7 +308,7 @@ msgstr "A field was removed"
|
||||
msgid "A field was updated"
|
||||
msgstr "A field was updated"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
|
||||
msgid "A new member has joined your team"
|
||||
msgstr "A new member has joined your team"
|
||||
|
||||
@ -289,37 +324,42 @@ msgstr "A recipient was removed"
|
||||
msgid "A recipient was updated"
|
||||
msgstr "A recipient was updated"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
msgstr "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:156
|
||||
msgid "A request to use your email has been initiated by {0} on Documenso"
|
||||
msgstr "A request to use your email has been initiated by {0} on Documenso"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:29
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:31
|
||||
msgid "A team member has joined a team on Documenso"
|
||||
msgstr "A team member has joined a team on Documenso"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
|
||||
msgid "A team member has left {0}"
|
||||
msgstr "A team member has left {0}"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:29
|
||||
#: packages/email/templates/team-leave.tsx:31
|
||||
msgid "A team member has left a team on Documenso"
|
||||
msgstr "A team member has left a team on Documenso"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:27
|
||||
#: packages/email/templates/team-delete.tsx:31
|
||||
#: packages/email/templates/team-delete.tsx:29
|
||||
#: packages/email/templates/team-delete.tsx:33
|
||||
msgid "A team you were a part of has been deleted"
|
||||
msgstr "A team you were a part of has been deleted"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:77
|
||||
#: packages/email/templates/confirm-team-email.tsx:118
|
||||
#: packages/email/templates/team-invite.tsx:94
|
||||
#: packages/email/templates/team-transfer-request.tsx:81
|
||||
msgid "Accept"
|
||||
msgstr "Accept"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:29
|
||||
#: packages/email/templates/team-invite.tsx:42
|
||||
msgid "Accept invitation to join a team on Documenso"
|
||||
msgstr "Accept invitation to join a team on Documenso"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:38
|
||||
#: packages/email/templates/confirm-team-email.tsx:41
|
||||
msgid "Accept team email request for {teamName} on Documenso"
|
||||
msgstr "Accept team email request for {teamName} on Documenso"
|
||||
|
||||
@ -332,7 +372,7 @@ msgid "Add a document"
|
||||
msgstr "Add a document"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
|
||||
msgid "Add a URL to redirect the user to once the document is signed"
|
||||
msgstr "Add a URL to redirect the user to once the document is signed"
|
||||
|
||||
@ -340,7 +380,7 @@ msgstr "Add a URL to redirect the user to once the document is signed"
|
||||
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
|
||||
msgstr "Add an external ID to the document. This can be used to identify the document in external systems."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:295
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
|
||||
msgid "Add an external ID to the template. This can be used to identify in external systems."
|
||||
msgstr "Add an external ID to the template. This can be used to identify in external systems."
|
||||
|
||||
@ -382,7 +422,7 @@ msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:272
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:277
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
|
||||
msgid "Advanced Options"
|
||||
msgstr "Advanced Options"
|
||||
|
||||
@ -399,7 +439,11 @@ msgstr "After submission, a document will be automatically generated and added t
|
||||
msgid "All signatures have been voided."
|
||||
msgstr "All signatures have been voided."
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:20
|
||||
#: packages/email/templates/confirm-team-email.tsx:98
|
||||
msgid "Allow document recipients to reply directly to this email address"
|
||||
msgstr "Allow document recipients to reply directly to this email address"
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:22
|
||||
msgid "An admin has deleted your document \"{documentName}\"."
|
||||
msgstr "An admin has deleted your document \"{documentName}\"."
|
||||
|
||||
@ -411,7 +455,7 @@ msgstr "An error occurred while loading the document."
|
||||
msgid "Approve"
|
||||
msgstr "Approve"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:78
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
msgid "Approve Document"
|
||||
msgstr "Approve Document"
|
||||
|
||||
@ -447,10 +491,14 @@ msgstr "Black"
|
||||
msgid "Blue"
|
||||
msgstr "Blue"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:67
|
||||
#: packages/email/templates/team-invite.tsx:84
|
||||
msgid "by <0>{senderName}</0>"
|
||||
msgstr "by <0>{senderName}</0>"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:87
|
||||
msgid "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
msgstr "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:70
|
||||
msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
msgstr "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
@ -511,8 +559,8 @@ msgstr "Close"
|
||||
msgid "Completed"
|
||||
msgstr "Completed"
|
||||
|
||||
#: packages/email/templates/document-completed.tsx:21
|
||||
#: packages/email/templates/document-self-signed.tsx:17
|
||||
#: packages/email/templates/document-completed.tsx:23
|
||||
#: packages/email/templates/document-self-signed.tsx:19
|
||||
msgid "Completed Document"
|
||||
msgstr "Completed Document"
|
||||
|
||||
@ -533,11 +581,11 @@ msgstr "Confirm email"
|
||||
msgid "Continue"
|
||||
msgstr "Continue"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:66
|
||||
#: packages/email/template-components/template-document-invite.tsx:72
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Continue by {0} the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
msgid "Continue by approving the document."
|
||||
msgstr "Continue by approving the document."
|
||||
|
||||
@ -545,18 +593,27 @@ msgstr "Continue by approving the document."
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Continue by downloading the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
msgid "Continue by signing the document."
|
||||
msgstr "Continue by signing the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:64
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr "Continue by viewing the document."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:254
|
||||
msgid "Copied"
|
||||
msgstr "Copied"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:46
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:241
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copied to clipboard"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:249
|
||||
msgid "Copy"
|
||||
msgstr "Copy"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:194
|
||||
msgid "Copy Link"
|
||||
msgstr "Copy Link"
|
||||
@ -580,15 +637,15 @@ msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:313
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
|
||||
msgid "Date Format"
|
||||
msgstr "Date Format"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:83
|
||||
#: packages/email/templates/team-invite.tsx:100
|
||||
msgid "Decline"
|
||||
msgstr "Decline"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
#: packages/email/templates/reset-password.tsx:71
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
|
||||
@ -598,7 +655,7 @@ msgstr "Direct link receiver"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:190
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
msgid "Document access"
|
||||
msgstr "Document access"
|
||||
|
||||
@ -606,8 +663,8 @@ msgstr "Document access"
|
||||
msgid "Document access auth updated"
|
||||
msgstr "Document access auth updated"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:213
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:75
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Cancelled"
|
||||
|
||||
@ -616,12 +673,16 @@ msgstr "Document Cancelled"
|
||||
msgid "Document completed"
|
||||
msgstr "Document completed"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:168
|
||||
msgid "Document completed email"
|
||||
msgstr "Document completed email"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:286
|
||||
msgid "Document created"
|
||||
msgstr "Document created"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:30
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:554
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:32
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
|
||||
msgid "Document created from direct template"
|
||||
msgstr "Document created from direct template"
|
||||
|
||||
@ -633,10 +694,19 @@ msgstr "Document Creation"
|
||||
msgid "Document deleted"
|
||||
msgstr "Document deleted"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:58
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:207
|
||||
msgid "Document deleted email"
|
||||
msgstr "Document deleted email"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:82
|
||||
msgid "Document Deleted!"
|
||||
msgstr "Document Deleted!"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
|
||||
msgid "Document Distribution Method"
|
||||
msgstr "Document Distribution Method"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document external ID updated"
|
||||
msgstr "Document external ID updated"
|
||||
@ -649,6 +719,10 @@ msgstr "Document moved to team"
|
||||
msgid "Document opened"
|
||||
msgstr "Document opened"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:128
|
||||
msgid "Document pending email"
|
||||
msgstr "Document pending email"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
msgstr "Document sent"
|
||||
@ -669,7 +743,7 @@ msgstr "Document updated"
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Document visibility updated"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:64
|
||||
#: packages/email/template-components/template-document-completed.tsx:57
|
||||
#: packages/ui/components/document/document-download-button.tsx:68
|
||||
msgid "Download"
|
||||
msgstr "Download"
|
||||
@ -691,6 +765,7 @@ msgstr "Dropdown"
|
||||
msgid "Dropdown options"
|
||||
msgstr "Dropdown options"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
@ -706,7 +781,7 @@ msgstr "Email"
|
||||
msgid "Email is required"
|
||||
msgstr "Email is required"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:223
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
|
||||
msgid "Email Options"
|
||||
msgstr "Email Options"
|
||||
|
||||
@ -745,7 +820,7 @@ msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:283
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:288
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
msgid "External ID"
|
||||
msgstr "External ID"
|
||||
|
||||
@ -807,6 +882,10 @@ msgstr "Forgot your password?"
|
||||
msgid "Free Signature"
|
||||
msgstr "Free Signature"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:89
|
||||
msgid "Generate Links"
|
||||
msgstr "Generate Links"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
|
||||
msgid "Global recipient action authentication"
|
||||
msgstr "Global recipient action authentication"
|
||||
@ -819,7 +898,7 @@ msgstr "Go Back"
|
||||
msgid "Green"
|
||||
msgstr "Green"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:50
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Hi, {userName} <0>({userEmail})</0>"
|
||||
|
||||
@ -856,7 +935,7 @@ msgstr "Invalid email"
|
||||
msgid "Invalid email address"
|
||||
msgstr "Invalid email address"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:55
|
||||
#: packages/email/templates/team-invite.tsx:72
|
||||
msgid "Join {teamName} on Documenso"
|
||||
msgstr "Join {teamName} on Documenso"
|
||||
|
||||
@ -867,10 +946,11 @@ msgid "Label"
|
||||
msgstr "Label"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:176
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:150
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
|
||||
msgid "Language"
|
||||
msgstr "Language"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:124
|
||||
#: packages/email/templates/team-transfer-request.tsx:87
|
||||
msgid "Link expires in 1 hour."
|
||||
msgstr "Link expires in 1 hour."
|
||||
@ -892,8 +972,8 @@ msgstr "Max"
|
||||
msgid "Member"
|
||||
msgstr "Member"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:95
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:160
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
|
||||
msgid "Message <0>(Optional)</0>"
|
||||
msgstr "Message <0>(Optional)</0>"
|
||||
|
||||
@ -929,6 +1009,10 @@ msgstr "Needs to view"
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "No recipient matching this description was found."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:215
|
||||
msgid "No recipients"
|
||||
msgstr "No recipients"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
msgid "No recipients with this role"
|
||||
@ -954,6 +1038,10 @@ msgstr "No signature field found"
|
||||
msgid "No value found."
|
||||
msgstr "No value found."
|
||||
|
||||
#: packages/lib/constants/document.ts:32
|
||||
msgid "None"
|
||||
msgstr "None"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
@ -984,11 +1072,11 @@ msgstr "Page {0} of {numPages}"
|
||||
msgid "Password Required"
|
||||
msgstr "Password Required"
|
||||
|
||||
#: packages/email/templates/forgot-password.tsx:17
|
||||
#: packages/email/templates/forgot-password.tsx:19
|
||||
msgid "Password Reset Requested"
|
||||
msgstr "Password Reset Requested"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:18
|
||||
#: packages/email/templates/reset-password.tsx:20
|
||||
msgid "Password Reset Successful"
|
||||
msgstr "Password Reset Successful"
|
||||
|
||||
@ -1000,7 +1088,7 @@ msgstr "Password updated!"
|
||||
msgid "Pending"
|
||||
msgstr "Pending"
|
||||
|
||||
#: packages/email/templates/document-pending.tsx:17
|
||||
#: packages/email/templates/document-pending.tsx:19
|
||||
msgid "Pending Document"
|
||||
msgstr "Pending Document"
|
||||
|
||||
@ -1014,23 +1102,23 @@ msgstr "Pick a number"
|
||||
msgid "Placeholder"
|
||||
msgstr "Placeholder"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:44
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Please {0} your document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:38
|
||||
#: packages/email/templates/document-invite.tsx:50
|
||||
msgid "Please {action} your document {documentName}"
|
||||
msgstr "Please {action} your document {documentName}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:100
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
msgid "Please {recipientActionVerb} this document"
|
||||
msgstr "Please {recipientActionVerb} this document"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
|
||||
msgid "Please {recipientActionVerb} this document created by your direct template"
|
||||
msgstr "Please {recipientActionVerb} this document created by your direct template"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:106
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
|
||||
msgid "Please {recipientActionVerb} your document"
|
||||
msgstr "Please {recipientActionVerb} your document"
|
||||
|
||||
@ -1038,7 +1126,7 @@ msgstr "Please {recipientActionVerb} your document"
|
||||
msgid "Please confirm your email"
|
||||
msgstr "Please confirm your email"
|
||||
|
||||
#: packages/email/templates/confirm-email.tsx:15
|
||||
#: packages/email/templates/confirm-email.tsx:17
|
||||
msgid "Please confirm your email address"
|
||||
msgstr "Please confirm your email address"
|
||||
|
||||
@ -1073,32 +1161,40 @@ msgstr "Recipient"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:257
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:208
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
|
||||
msgid "Recipient action authentication"
|
||||
msgstr "Recipient action authentication"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:89
|
||||
msgid "Recipient removed email"
|
||||
msgstr "Recipient removed email"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:50
|
||||
msgid "Recipient signing request email"
|
||||
msgstr "Recipient signing request email"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
|
||||
msgid "Red"
|
||||
msgstr "Red"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
|
||||
msgid "Redirect URL"
|
||||
msgstr "Redirect URL"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:173
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Reminder: {0}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
#: packages/lib/server-only/document/resend-document.tsx:132
|
||||
msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "Reminder: {0} invited you to {recipientActionVerb} a document"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:110
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
msgid "Reminder: Please {recipientActionVerb} this document"
|
||||
msgstr "Reminder: Please {recipientActionVerb} this document"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:116
|
||||
#: packages/lib/server-only/document/resend-document.tsx:127
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Reminder: Please {recipientActionVerb} your document"
|
||||
|
||||
@ -1114,6 +1210,10 @@ msgstr "Remove"
|
||||
msgid "Required field"
|
||||
msgstr "Required field"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:84
|
||||
msgid "Resend"
|
||||
msgstr "Resend"
|
||||
|
||||
#: packages/email/template-components/template-forgot-password.tsx:33
|
||||
msgid "Reset Password"
|
||||
msgstr "Reset Password"
|
||||
@ -1154,7 +1254,8 @@ msgstr "Select at least"
|
||||
msgid "Select default option"
|
||||
msgstr "Select default option"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:82
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:85
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
|
||||
msgid "Send"
|
||||
@ -1164,6 +1265,30 @@ msgstr "Send"
|
||||
msgid "Send Document"
|
||||
msgstr "Send Document"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:158
|
||||
msgid "Send document completed email"
|
||||
msgstr "Send document completed email"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:197
|
||||
msgid "Send document deleted email"
|
||||
msgstr "Send document deleted email"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:118
|
||||
msgid "Send document pending email"
|
||||
msgstr "Send document pending email"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:101
|
||||
msgid "Send documents on behalf of the team using the email address"
|
||||
msgstr "Send documents on behalf of the team using the email address"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:79
|
||||
msgid "Send recipient removed email"
|
||||
msgstr "Send recipient removed email"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:40
|
||||
msgid "Send recipient signing request email"
|
||||
msgstr "Send recipient signing request email"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:135
|
||||
msgid "Share Signature Card"
|
||||
msgstr "Share Signature Card"
|
||||
@ -1185,7 +1310,7 @@ msgstr "Show advanced settings"
|
||||
msgid "Sign"
|
||||
msgstr "Sign"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
msgid "Sign Document"
|
||||
msgstr "Sign Document"
|
||||
|
||||
@ -1221,8 +1346,8 @@ msgstr "Signers must have unique emails"
|
||||
msgid "Signing"
|
||||
msgstr "Signing"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:93
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:161
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
msgid "Signing Complete!"
|
||||
msgstr "Signing Complete!"
|
||||
|
||||
@ -1251,8 +1376,8 @@ msgstr "Something went wrong."
|
||||
msgid "Step <0>{step} of {maxStep}</0>"
|
||||
msgstr "Step <0>{step} of {maxStep}</0>"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:78
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:234
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:143
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
msgid "Subject <0>(Optional)</0>"
|
||||
msgstr "Subject <0>(Optional)</0>"
|
||||
|
||||
@ -1260,19 +1385,23 @@ msgstr "Subject <0>(Optional)</0>"
|
||||
msgid "Submit"
|
||||
msgstr "Submit"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:96
|
||||
#: packages/lib/server-only/team/delete-team.ts:124
|
||||
msgid "Team \"{0}\" has been deleted on Documenso"
|
||||
msgstr "Team \"{0}\" has been deleted on Documenso"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:104
|
||||
msgid "Team email has been revoked for {0}"
|
||||
msgstr "Team email has been revoked for {0}"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:53
|
||||
#: packages/email/templates/team-email-removed.tsx:59
|
||||
msgid "Team email removed"
|
||||
msgstr "Team email removed"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:27
|
||||
#: packages/email/templates/team-email-removed.tsx:29
|
||||
msgid "Team email removed for {teamName} on Documenso"
|
||||
msgstr "Team email removed for {teamName} on Documenso"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:133
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
|
||||
msgid "Template title"
|
||||
msgstr "Template title"
|
||||
|
||||
@ -1302,11 +1431,11 @@ msgstr "The authentication required for recipients to view the document."
|
||||
msgid "The document's name"
|
||||
msgstr "The document's name"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:35
|
||||
#: packages/email/templates/team-delete.tsx:37
|
||||
msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
|
||||
msgstr "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:34
|
||||
#: packages/email/templates/team-delete.tsx:36
|
||||
msgid "The following team has been deleted by you"
|
||||
msgstr "The following team has been deleted by you"
|
||||
|
||||
@ -1350,7 +1479,11 @@ msgstr "The signer's email"
|
||||
msgid "The signer's name"
|
||||
msgstr "The signer's name"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:57
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:243
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
msgstr "The signing link has been copied to your clipboard."
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:63
|
||||
msgid "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
msgstr "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
|
||||
@ -1370,14 +1503,30 @@ msgstr "This document has already been sent to this recipient. You can no longer
|
||||
msgid "This document is password protected. Please enter the password to view the document."
|
||||
msgstr "This document is password protected. Please enter the password to view the document."
|
||||
|
||||
#: packages/email/template-components/template-footer.tsx:14
|
||||
#: packages/email/template-components/template-footer.tsx:17
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "This document was sent using <0>Documenso.</0>"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr "This email is sent to the recipient if they are removed from a pending document."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:55
|
||||
msgid "This email is sent to the recipient requesting them to sign the document."
|
||||
msgstr "This email is sent to the recipient requesting them to sign the document."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:133
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr "This is how the document will reach the recipients once the document is ready for signing."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
@ -1386,12 +1535,20 @@ msgstr "This recipient can no longer be modified as they have signed a field, or
|
||||
msgid "This signer has already signed the document."
|
||||
msgstr "This signer has already signed the document."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:212
|
||||
msgid "This will be sent to all recipients if a pending document has been deleted."
|
||||
msgstr "This will be sent to all recipients if a pending document has been deleted."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:173
|
||||
msgid "This will be sent to all recipients once the document has been fully completed."
|
||||
msgstr "This will be sent to all recipients once the document has been fully completed."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
|
||||
msgid "This will override any global settings."
|
||||
msgstr "This will override any global settings."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:347
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:348
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
|
||||
msgid "Time Zone"
|
||||
msgstr "Time Zone"
|
||||
|
||||
@ -1404,7 +1561,7 @@ msgstr "Title"
|
||||
msgid "To proceed further, please set at least one value for the {0} field."
|
||||
msgstr "To proceed further, please set at least one value for the {0} field."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:86
|
||||
msgid "Update"
|
||||
msgstr "Update"
|
||||
|
||||
@ -1430,15 +1587,25 @@ msgstr "Validation"
|
||||
msgid "Value"
|
||||
msgstr "Value"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:71
|
||||
msgid "Verify your team email address"
|
||||
msgstr "Verify your team email address"
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:29
|
||||
msgid "View"
|
||||
msgstr "View"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:69
|
||||
#: packages/email/templates/confirm-team-email.tsx:95
|
||||
msgid "View all documents sent to and from this email address"
|
||||
msgstr "View all documents sent to and from this email address"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:75
|
||||
msgid "View document"
|
||||
msgstr "View document"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:77
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
msgstr "View Document"
|
||||
|
||||
@ -1470,15 +1637,23 @@ msgstr "Viewing"
|
||||
msgid "Waiting for others"
|
||||
msgstr "Waiting for others"
|
||||
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:73
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:96
|
||||
msgid "Waiting for others to complete signing."
|
||||
msgstr "Waiting for others to complete signing."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:205
|
||||
msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
msgstr "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:201
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr "We won't send anything to notify recipients."
|
||||
|
||||
#: packages/email/template-components/template-document-pending.tsx:41
|
||||
msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
msgstr "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:59
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
msgid "We've changed your password as you asked. You can now sign in with your new password."
|
||||
msgstr "We've changed your password as you asked. You can now sign in with your new password."
|
||||
|
||||
@ -1498,6 +1673,10 @@ msgstr "You are about to send this document to the recipients. Are you sure you
|
||||
msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
|
||||
msgstr "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:106
|
||||
msgid "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
msgstr "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "You can use the following variables in your message:"
|
||||
@ -1510,15 +1689,15 @@ msgstr "You cannot upload documents at this time."
|
||||
msgid "You don't need to sign it anymore."
|
||||
msgstr "You don't need to sign it anymore."
|
||||
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:168
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:186
|
||||
msgid "You have been invited to join {0} on Documenso"
|
||||
msgstr "You have been invited to join {0} on Documenso"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:59
|
||||
#: packages/email/templates/team-invite.tsx:76
|
||||
msgid "You have been invited to join the following team"
|
||||
msgstr "You have been invited to join the following team"
|
||||
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
|
||||
msgid "You have been removed from a document"
|
||||
msgstr "You have been removed from a document"
|
||||
|
||||
@ -1526,8 +1705,8 @@ msgstr "You have been removed from a document"
|
||||
msgid "You have been requested to take ownership of team {0} on Documenso"
|
||||
msgstr "You have been requested to take ownership of team {0} on Documenso"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104
|
||||
#: packages/lib/server-only/document/resend-document.tsx:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
|
||||
#: packages/lib/server-only/document/resend-document.tsx:125
|
||||
msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
|
||||
msgstr "You have initiated the document {0} that requires you to {recipientActionVerb} it."
|
||||
|
||||
@ -1547,7 +1726,7 @@ msgstr "Your document has been deleted by an admin!"
|
||||
msgid "Your password has been updated."
|
||||
msgstr "Your password has been updated."
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:26
|
||||
#: packages/email/templates/team-delete.tsx:30
|
||||
#: packages/email/templates/team-delete.tsx:28
|
||||
#: packages/email/templates/team-delete.tsx:32
|
||||
msgid "Your team has been deleted"
|
||||
msgstr "Your team has been deleted"
|
||||
|
||||
1
packages/lib/translations/en/web.js
Normal file
1
packages/lib/translations/en/web.js
Normal file
File diff suppressed because one or more lines are too long
@ -13,6 +13,10 @@ msgstr ""
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:211
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{0}\" has invited you to sign \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
|
||||
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
msgstr "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
@ -21,6 +25,22 @@ msgstr "\"{0}\" will appear on the document as it has a timezone of \"{timezone}
|
||||
msgid "\"{documentTitle}\" has been successfully deleted"
|
||||
msgstr "\"{documentTitle}\" has been successfully deleted"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
|
||||
msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) has invited you to approve this document"
|
||||
@ -164,7 +184,7 @@ msgstr "A confirmation email has been sent, and it should arrive in your inbox s
|
||||
msgid "A device capable of accessing, opening, and reading documents"
|
||||
msgstr "A device capable of accessing, opening, and reading documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
|
||||
msgid "A draft document will be created"
|
||||
msgstr "A draft document will be created"
|
||||
|
||||
@ -203,7 +223,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:139
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
|
||||
msgid "A unique URL to identify your team"
|
||||
msgstr "A unique URL to identify your team"
|
||||
|
||||
@ -259,7 +279,7 @@ msgstr "Action"
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
|
||||
msgid "Active"
|
||||
@ -273,7 +293,7 @@ msgstr "Active Subscriptions"
|
||||
msgid "Add"
|
||||
msgstr "Add"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
|
||||
msgid "Add all relevant fields for each recipient."
|
||||
msgstr "Add all relevant fields for each recipient."
|
||||
@ -294,7 +314,7 @@ msgstr "Add an authenticator to serve as a secondary authentication method when
|
||||
msgid "Add email"
|
||||
msgstr "Add email"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
|
||||
msgid "Add Fields"
|
||||
msgstr "Add Fields"
|
||||
@ -312,34 +332,38 @@ msgstr "Add passkey"
|
||||
msgid "Add Placeholders"
|
||||
msgstr "Add Placeholders"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
msgid "Add Signers"
|
||||
msgstr "Add Signers"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
|
||||
msgid "Add Subject"
|
||||
msgstr "Add Subject"
|
||||
#~ msgid "Add Subject"
|
||||
#~ msgstr "Add Subject"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
|
||||
msgid "Add team email"
|
||||
msgstr "Add team email"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
|
||||
msgid "Add the people who will sign the document."
|
||||
msgstr "Add the people who will sign the document."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
|
||||
msgid "Add the recipients to create the document with"
|
||||
msgstr "Add the recipients to create the document with"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Add the subject and message you wish to send to signers."
|
||||
msgstr "Add the subject and message you wish to send to signers."
|
||||
#~ msgid "Add the subject and message you wish to send to signers."
|
||||
#~ msgstr "Add the subject and message you wish to send to signers."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
|
||||
msgid "Adding and removing seats will adjust your invoice accordingly."
|
||||
msgstr "Adding and removing seats will adjust your invoice accordingly."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
|
||||
msgid "Additional brand information to display at the bottom of emails"
|
||||
msgstr "Additional brand information to display at the bottom of emails"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
|
||||
msgid "Admin Actions"
|
||||
msgstr "Admin Actions"
|
||||
@ -431,17 +455,17 @@ msgstr "An email requesting the transfer of this team has been sent."
|
||||
msgid "An error occurred"
|
||||
msgstr "An error occurred"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "An error occurred while adding signers."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "An error occurred while adding the fields."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "An error occurred while creating document from template."
|
||||
|
||||
@ -499,7 +523,7 @@ msgstr "An error occurred while removing the signature."
|
||||
msgid "An error occurred while removing the text."
|
||||
msgstr "An error occurred while removing the text."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
|
||||
msgid "An error occurred while sending the document."
|
||||
msgstr "An error occurred while sending the document."
|
||||
|
||||
@ -524,11 +548,15 @@ msgstr "An error occurred while signing the document."
|
||||
msgid "An error occurred while trying to create a checkout session."
|
||||
msgstr "An error occurred while trying to create a checkout session."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "An error occurred while updating the document settings."
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:78
|
||||
#~ msgid "An error occurred while updating the global team settings."
|
||||
#~ msgstr "An error occurred while updating the global team settings."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
|
||||
msgid "An error occurred while updating the signature."
|
||||
msgstr "An error occurred while updating the signature."
|
||||
@ -559,7 +587,7 @@ msgstr "An error occurred while uploading your document."
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116
|
||||
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89
|
||||
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:94
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:94
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:122
|
||||
#: apps/web/src/components/forms/password.tsx:84
|
||||
@ -601,8 +629,8 @@ msgstr "Any Status"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
|
||||
msgid "API Tokens"
|
||||
msgstr "API Tokens"
|
||||
|
||||
@ -672,7 +700,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar Updated"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "Awaiting email confirmation"
|
||||
|
||||
@ -711,11 +739,19 @@ msgstr "Basic details"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
|
||||
msgid "Billing"
|
||||
msgstr "Billing"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr "Branding Preferences"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
|
||||
msgid "Branding preferences updated"
|
||||
msgstr "Branding preferences updated"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
|
||||
msgid "Browser"
|
||||
@ -801,6 +837,10 @@ msgstr "Cancelled by user"
|
||||
msgid "Charts"
|
||||
msgstr "Charts"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
|
||||
#~ msgid "Check out the documentaton for the <0>global team settings</0>."
|
||||
#~ msgstr "Check out the documentaton for the <0>global team settings</0>."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
|
||||
msgid "Checkout"
|
||||
msgstr "Checkout"
|
||||
@ -813,6 +853,10 @@ msgstr "Choose an existing recipient from below to continue"
|
||||
msgid "Choose Direct Link Recipient"
|
||||
msgstr "Choose Direct Link Recipient"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
|
||||
msgid "Choose how the document will reach recipients"
|
||||
msgstr "Choose how the document will reach recipients"
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:200
|
||||
msgid "Choose..."
|
||||
msgstr "Choose..."
|
||||
@ -861,7 +905,7 @@ msgid "Click to insert field"
|
||||
msgstr "Click to insert field"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -906,7 +950,7 @@ msgstr "Completed documents"
|
||||
msgid "Completed Documents"
|
||||
msgstr "Completed Documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
|
||||
msgid "Configure general settings for the document."
|
||||
msgstr "Configure general settings for the document."
|
||||
|
||||
@ -974,6 +1018,18 @@ msgstr "Continue"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continue to login"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Controls the default visibility of an uploaded document."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
msgstr "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
|
||||
msgid "Copied"
|
||||
msgstr "Copied"
|
||||
@ -1027,14 +1083,18 @@ msgstr "Create a team to collaborate with your team members."
|
||||
msgid "Create account"
|
||||
msgstr "Create account"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
|
||||
msgid "Create and send"
|
||||
msgstr "Create and send"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
|
||||
msgid "Create as draft"
|
||||
msgstr "Create as draft"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
|
||||
msgid "Create as pending"
|
||||
msgstr "Create as pending"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
|
||||
msgid "Create Direct Link"
|
||||
msgstr "Create Direct Link"
|
||||
@ -1043,7 +1103,7 @@ msgstr "Create Direct Link"
|
||||
msgid "Create Direct Signing Link"
|
||||
msgstr "Create Direct Signing Link"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
|
||||
msgid "Create document from template"
|
||||
msgstr "Create document from template"
|
||||
|
||||
@ -1055,6 +1115,10 @@ msgstr "Create now"
|
||||
msgid "Create one automatically"
|
||||
msgstr "Create one automatically"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
|
||||
msgid "Create signing links"
|
||||
msgstr "Create signing links"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
|
||||
@ -1066,6 +1130,10 @@ msgstr "Create team"
|
||||
msgid "Create Team"
|
||||
msgstr "Create Team"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
|
||||
msgid "Create the document as pending and ready to sign."
|
||||
msgstr "Create the document as pending and ready to sign."
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:250
|
||||
#: apps/web/src/components/forms/token.tsx:259
|
||||
msgid "Create token"
|
||||
@ -1152,6 +1220,15 @@ msgstr "Decline"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Declined team invitation"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Default Document Language"
|
||||
msgstr "Default Document Language"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Default Document Visibility"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
msgid "delete"
|
||||
msgstr "delete"
|
||||
@ -1209,7 +1286,7 @@ msgstr "Delete Document"
|
||||
msgid "Delete passkey"
|
||||
msgstr "Delete passkey"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Delete team"
|
||||
@ -1322,6 +1399,10 @@ msgstr "Disabling direct link signing will prevent anyone from accessing the lin
|
||||
msgid "Display your name and email in documents"
|
||||
msgstr "Display your name and email in documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Distribute Document"
|
||||
msgstr "Distribute Document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
|
||||
msgid "Do you want to delete this template?"
|
||||
msgstr "Do you want to delete this template?"
|
||||
@ -1359,7 +1440,7 @@ msgstr "Document completed"
|
||||
msgid "Document Completed!"
|
||||
msgstr "Document Completed!"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
|
||||
msgid "Document created"
|
||||
msgstr "Document created"
|
||||
|
||||
@ -1399,7 +1480,7 @@ msgstr "Document ID"
|
||||
msgid "Document inbox"
|
||||
msgstr "Document inbox"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
|
||||
msgid "Document Limit Exceeded!"
|
||||
msgstr "Document Limit Exceeded!"
|
||||
|
||||
@ -1419,6 +1500,10 @@ msgstr "Document no longer available to sign"
|
||||
msgid "Document pending"
|
||||
msgstr "Document pending"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
|
||||
msgid "Document preferences updated"
|
||||
msgstr "Document preferences updated"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
|
||||
msgid "Document re-sent"
|
||||
msgstr "Document re-sent"
|
||||
@ -1427,10 +1512,14 @@ msgstr "Document re-sent"
|
||||
msgid "Document resealed"
|
||||
msgstr "Document resealed"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
|
||||
msgid "Document sent"
|
||||
msgstr "Document sent"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Signed"
|
||||
msgstr "Document Signed"
|
||||
@ -1572,8 +1661,8 @@ msgstr "Electronic Signature Disclosure"
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
|
||||
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
|
||||
@ -1628,6 +1717,10 @@ msgstr "Enable 2FA"
|
||||
msgid "Enable Authenticator App"
|
||||
msgstr "Enable Authenticator App"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
|
||||
msgid "Enable custom branding for all documents in this team."
|
||||
msgstr "Enable custom branding for all documents in this team."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
|
||||
msgid "Enable direct link signing"
|
||||
msgstr "Enable direct link signing"
|
||||
@ -1653,6 +1746,10 @@ msgstr "Enclosed Document"
|
||||
msgid "Ends On"
|
||||
msgstr "Ends On"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
|
||||
msgid "Enter your brand details"
|
||||
msgstr "Enter your brand details"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
|
||||
msgid "Enter your email"
|
||||
msgstr "Enter your email"
|
||||
@ -1671,10 +1768,10 @@ msgstr "Enter your text here"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
|
||||
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
|
||||
@ -1683,7 +1780,7 @@ msgstr "Enter your text here"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -1710,6 +1807,14 @@ msgstr "Enter your text here"
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:77
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Everyone can access and view the document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Everyone has signed"
|
||||
@ -1722,7 +1827,7 @@ msgstr "Everyone has signed! You will receive an Email copy of the signed docume
|
||||
msgid "Exceeded timeout"
|
||||
msgstr "Exceeded timeout"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
|
||||
msgid "Expired"
|
||||
msgstr "Expired"
|
||||
|
||||
@ -1771,14 +1876,23 @@ msgstr "Forgot your password?"
|
||||
msgid "Full Name"
|
||||
msgstr "Full Name"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#~ msgid "Global Settings"
|
||||
#~ msgstr "Global Settings"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:69
|
||||
#~ msgid "Global Team Settings Updated"
|
||||
#~ msgstr "Global Team Settings Updated"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
|
||||
@ -1815,6 +1929,14 @@ msgstr "Here you can edit your personal details."
|
||||
msgid "Here you can manage your password and security settings."
|
||||
msgstr "Here you can manage your password and security settings."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
|
||||
msgid "Here you can set preferences and defaults for branding."
|
||||
msgstr "Here you can set preferences and defaults for branding."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
|
||||
msgid "Here you can set preferences and defaults for your team."
|
||||
msgstr "Here you can set preferences and defaults for your team."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
|
||||
msgid "Here's how it works:"
|
||||
msgstr "Here's how it works:"
|
||||
@ -1866,6 +1988,10 @@ msgstr "Inbox"
|
||||
msgid "Inbox documents"
|
||||
msgstr "Inbox documents"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:132
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
msgid "Information"
|
||||
@ -2032,6 +2158,10 @@ msgstr "Like to have your own public profile with agreements?"
|
||||
msgid "Link template"
|
||||
msgstr "Link template"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
|
||||
msgid "Links Generated"
|
||||
msgstr "Links Generated"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
|
||||
msgid "Listening to {0}"
|
||||
@ -2156,8 +2286,8 @@ msgid "Member Since"
|
||||
msgstr "Member Since"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
|
||||
msgid "Members"
|
||||
msgstr "Members"
|
||||
|
||||
@ -2210,8 +2340,8 @@ msgstr "My templates"
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
|
||||
@ -2345,6 +2475,14 @@ msgstr "Once confirmed, the following will occur:"
|
||||
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
|
||||
msgstr "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Only admins can access and view the document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr "Only managers and above can access and view the document"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
|
||||
@ -2368,7 +2506,7 @@ msgstr "Or"
|
||||
msgid "Or continue with"
|
||||
msgstr "Or continue with"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
|
||||
msgid "Otherwise, the document will be created as a draft."
|
||||
msgstr "Otherwise, the document will be created as a draft."
|
||||
|
||||
@ -2574,13 +2712,23 @@ msgid "Please type <0>{0}</0> to confirm."
|
||||
msgstr "Please type <0>{0}</0> to confirm."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
|
||||
msgid "Preferences"
|
||||
msgstr "Preferences"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
|
||||
msgid "Preview"
|
||||
msgstr "Preview"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
|
||||
msgid "Preview and configure template."
|
||||
msgstr "Preview and configure template."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#~ msgid "Preview: {0}"
|
||||
#~ msgstr "Preview: {0}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
|
||||
#: apps/web/src/components/formatter/template-type.tsx:22
|
||||
msgid "Private"
|
||||
@ -2618,8 +2766,8 @@ msgstr "Public"
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
|
||||
msgid "Public Profile"
|
||||
msgstr "Public Profile"
|
||||
|
||||
@ -2711,6 +2859,7 @@ msgstr "Remembered your password? <0>Sign In</0>"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
|
||||
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
|
||||
@ -2754,7 +2903,7 @@ msgstr "Resend Confirmation Email"
|
||||
msgid "Resend verification"
|
||||
msgstr "Resend verification"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:164
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Reset"
|
||||
@ -2834,6 +2983,8 @@ msgstr "Roles"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
msgid "Save"
|
||||
msgstr "Save"
|
||||
|
||||
@ -2904,10 +3055,15 @@ msgstr "Select passkey"
|
||||
msgid "Send confirmation email"
|
||||
msgstr "Send confirmation email"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
|
||||
msgid "Send document"
|
||||
msgstr "Send document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr "Send on Behalf of Team"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
|
||||
msgid "Send reminder"
|
||||
msgstr "Send reminder"
|
||||
@ -3099,6 +3255,10 @@ msgstr "Signing in..."
|
||||
msgid "Signing Links"
|
||||
msgstr "Signing Links"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
|
||||
msgid "Signing links have been generated for this document."
|
||||
msgstr "Signing links have been generated for this document."
|
||||
|
||||
#: apps/web/src/components/forms/signup.tsx:235
|
||||
msgid "Signing up..."
|
||||
msgstr "Signing up..."
|
||||
@ -3142,6 +3302,7 @@ msgstr "Site Settings"
|
||||
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
|
||||
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
|
||||
@ -3178,6 +3339,10 @@ msgstr "Something went wrong while sending the confirmation email."
|
||||
msgid "Something went wrong while updating the team billing subscription, please contact support."
|
||||
msgstr "Something went wrong while updating the team billing subscription, please contact support."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
|
||||
msgid "Something went wrong!"
|
||||
msgstr "Something went wrong!"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
|
||||
msgid "Something went wrong. Please try again or contact support."
|
||||
@ -3242,7 +3407,7 @@ msgstr "Subscriptions"
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108
|
||||
#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79
|
||||
#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
|
||||
@ -3273,8 +3438,8 @@ msgstr "Team"
|
||||
msgid "Team checkout"
|
||||
msgstr "Team checkout"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
msgid "Team email"
|
||||
msgstr "Team email"
|
||||
|
||||
@ -3317,7 +3482,7 @@ msgid "Team Member"
|
||||
msgstr "Team Member"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:113
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
|
||||
msgid "Team Name"
|
||||
msgstr "Team Name"
|
||||
|
||||
@ -3341,6 +3506,10 @@ msgstr "Team ownership transfer already completed!"
|
||||
msgid "Team ownership transferred!"
|
||||
msgstr "Team ownership transferred!"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
|
||||
msgid "Team Preferences"
|
||||
msgstr "Team Preferences"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
|
||||
msgid "Team Public Profile"
|
||||
msgstr "Team Public Profile"
|
||||
@ -3366,7 +3535,7 @@ msgid "Team transfer request expired"
|
||||
msgstr "Team transfer request expired"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:129
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
|
||||
msgid "Team URL"
|
||||
msgstr "Team URL"
|
||||
|
||||
@ -3467,7 +3636,7 @@ msgstr "The document has been successfully moved to the selected team."
|
||||
msgid "The document is now completed, please follow any instructions provided within the parent application."
|
||||
msgstr "The document is now completed, please follow any instructions provided within the parent application."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
msgid "The document was created but could not be sent to recipients."
|
||||
msgstr "The document was created but could not be sent to recipients."
|
||||
|
||||
@ -3475,7 +3644,7 @@ msgstr "The document was created but could not be sent to recipients."
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "The document will be hidden from your account"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
|
||||
msgid "The document will be immediately sent to recipients if this is checked."
|
||||
msgstr "The document will be immediately sent to recipients if this is checked."
|
||||
|
||||
@ -3485,6 +3654,10 @@ msgstr "The document will be immediately sent to recipients if this is checked."
|
||||
msgid "The events that will trigger a webhook to be sent to your URL."
|
||||
msgstr "The events that will trigger a webhook to be sent to your URL."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
|
||||
#~ msgid "The global settings for the documents in your team account."
|
||||
#~ msgstr "The global settings for the documents in your team account."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
|
||||
msgid "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
msgstr "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
@ -3664,7 +3837,7 @@ msgstr "This price includes minimum 5 seats."
|
||||
msgid "This session has expired. Please try again."
|
||||
msgstr "This session has expired. Please try again."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
|
||||
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
|
||||
msgstr "This team, and any associated data excluding billing invoices will be permanently deleted."
|
||||
|
||||
@ -3681,7 +3854,7 @@ msgid "This token is invalid or has expired. Please contact your team for a new
|
||||
msgstr "This token is invalid or has expired. Please contact your team for a new invitation."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:87
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
|
||||
msgid "This URL is already in use."
|
||||
msgstr "This URL is already in use."
|
||||
|
||||
@ -3814,13 +3987,13 @@ msgstr "transfer {teamName}"
|
||||
msgid "Transfer ownership of this team to a selected team member."
|
||||
msgstr "Transfer ownership of this team to a selected team member."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
|
||||
msgid "Transfer team"
|
||||
msgstr "Transfer team"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
|
||||
msgid "Transfer the ownership of the team to another team member."
|
||||
msgstr "Transfer the ownership of the team to another team member."
|
||||
|
||||
@ -4011,7 +4184,7 @@ msgstr "Update Recipient"
|
||||
msgid "Update role"
|
||||
msgstr "Update role"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:176
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
|
||||
msgid "Update team"
|
||||
msgstr "Update team"
|
||||
|
||||
@ -4050,6 +4223,10 @@ msgstr "Updating Your Information"
|
||||
msgid "Upload Avatar"
|
||||
msgstr "Upload Avatar"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
|
||||
msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
msgstr "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
|
||||
msgid "Uploaded by"
|
||||
@ -4081,7 +4258,7 @@ msgstr "Use Authenticator"
|
||||
msgid "Use Backup Code"
|
||||
msgstr "Use Backup Code"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
msgid "Use Template"
|
||||
msgstr "Use Template"
|
||||
|
||||
@ -4175,7 +4352,7 @@ msgstr "View Codes"
|
||||
msgid "View Document"
|
||||
msgstr "View Document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "View documents associated with this email"
|
||||
|
||||
@ -4361,7 +4538,7 @@ msgstr "We encountered an unknown error while attempting to update your password
|
||||
msgid "We encountered an unknown error while attempting to update your public profile. Please try again later."
|
||||
msgstr "We encountered an unknown error while attempting to update your public profile. Please try again later."
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:96
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
|
||||
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
|
||||
msgstr "We encountered an unknown error while attempting to update your team. Please try again later."
|
||||
|
||||
@ -4409,6 +4586,14 @@ msgstr "We were unable to setup two-factor authentication for your account. Plea
|
||||
msgid "We were unable to submit this document at this time. Please try again later."
|
||||
msgstr "We were unable to submit this document at this time. Please try again later."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
|
||||
msgid "We were unable to update your branding preferences at this time, please try again later"
|
||||
msgstr "We were unable to update your branding preferences at this time, please try again later"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
|
||||
msgid "We were unable to update your document preferences at this time, please try again later"
|
||||
msgstr "We were unable to update your document preferences at this time, please try again later"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
|
||||
msgid "We were unable to verify your details. Please try again or contact support"
|
||||
msgstr "We were unable to verify your details. Please try again or contact support"
|
||||
@ -4417,6 +4602,14 @@ msgstr "We were unable to verify your details. Please try again or contact suppo
|
||||
msgid "We were unable to verify your email. If your email is not verified already, please try again."
|
||||
msgstr "We were unable to verify your email. If your email is not verified already, please try again."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
|
||||
msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
msgstr "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr "We won't send anything to notify recipients."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
|
||||
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
|
||||
msgid "We're all empty"
|
||||
@ -4448,8 +4641,8 @@ msgstr "Webhook URL"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
|
||||
msgid "Webhooks"
|
||||
msgstr "Webhooks"
|
||||
|
||||
@ -4578,7 +4771,7 @@ msgstr "You can copy and share these links to recipients so they can action the
|
||||
msgid "You can update the profile URL by updating the team URL in the general settings page."
|
||||
msgstr "You can update the profile URL by updating the team URL in the general settings page."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
|
||||
msgid "You can view documents associated with this email and use this identity when sending documents."
|
||||
msgstr "You can view documents associated with this email and use this identity when sending documents."
|
||||
|
||||
@ -4640,7 +4833,7 @@ msgstr "You have reached the maximum limit of {0} direct templates. <0>Upgrade y
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "You have reached your document limit."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
|
||||
@ -4728,6 +4921,14 @@ msgstr "Your avatar has been updated successfully."
|
||||
msgid "Your banner has been updated successfully."
|
||||
msgstr "Your banner has been updated successfully."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
|
||||
msgid "Your brand website URL"
|
||||
msgstr "Your brand website URL"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr "Your branding preferences have been updated"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Your current plan is past due. Please update your payment information."
|
||||
@ -4740,7 +4941,7 @@ msgstr "Your direct signing templates"
|
||||
msgid "Your document failed to upload."
|
||||
msgstr "Your document failed to upload."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
|
||||
msgid "Your document has been created from the template successfully."
|
||||
msgstr "Your document has been created from the template successfully."
|
||||
|
||||
@ -4748,7 +4949,7 @@ msgstr "Your document has been created from the template successfully."
|
||||
msgid "Your document has been re-sent successfully."
|
||||
msgstr "Your document has been re-sent successfully."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
|
||||
msgid "Your document has been sent successfully."
|
||||
msgstr "Your document has been sent successfully."
|
||||
|
||||
@ -4764,6 +4965,10 @@ msgstr "Your document has been uploaded successfully."
|
||||
msgid "Your document has been uploaded successfully. You will be redirected to the template page."
|
||||
msgstr "Your document has been uploaded successfully. You will be redirected to the template page."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr "Your document preferences have been updated"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
|
||||
msgid "Your documents"
|
||||
msgstr "Your documents"
|
||||
@ -4781,6 +4986,10 @@ msgstr "Your email is currently being used by team <0>{0}</0> ({1})."
|
||||
msgid "Your existing tokens"
|
||||
msgstr "Your existing tokens"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:70
|
||||
#~ msgid "Your global team document settings has been updated successfully."
|
||||
#~ msgstr "Your global team document settings has been updated successfully."
|
||||
|
||||
#: apps/web/src/components/forms/password.tsx:72
|
||||
#: apps/web/src/components/forms/reset-password.tsx:73
|
||||
msgid "Your password has been updated successfully."
|
||||
@ -4823,7 +5032,7 @@ msgstr "Your team has been created."
|
||||
msgid "Your team has been successfully deleted."
|
||||
msgstr "Your team has been successfully deleted."
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:69
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Your team has been successfully updated."
|
||||
|
||||
|
||||
@ -30,24 +30,27 @@ msgstr "“{documentName}” ha sido firmado"
|
||||
msgid "“{documentName}” was signed by all signers"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:41
|
||||
#: packages/lib/server-only/document/resend-document.tsx:109
|
||||
#~ msgid "{0}"
|
||||
#~ msgstr "{0}"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:80
|
||||
#~ msgid "{0} Document"
|
||||
#~ msgstr "{0} Documento"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
|
||||
msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
|
||||
msgid "{0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "{0} te invitó a {recipientActionVerb} un documento"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:55
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
msgid "{0} joined the team {teamName} on Documenso"
|
||||
msgstr "{0} se unió al equipo {teamName} en Documenso"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:55
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
msgid "{0} left the team {teamName} on Documenso"
|
||||
msgstr "{0} dejó el equipo {teamName} en Documenso"
|
||||
|
||||
@ -55,16 +58,20 @@ msgstr "{0} dejó el equipo {teamName} en Documenso"
|
||||
msgid "{0} of {1} row(s) selected."
|
||||
msgstr "{0} de {1} fila(s) seleccionada."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:123
|
||||
#: packages/lib/server-only/document/resend-document.tsx:126
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
|
||||
#: packages/lib/server-only/document/resend-document.tsx:137
|
||||
msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
|
||||
msgstr "{0} en nombre de {1} te ha invitado a {recipientActionVerb} el documento \"{2}\"."
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:79
|
||||
#: packages/email/template-components/template-document-invite.tsx:51
|
||||
#~ msgid "{0}<0/>\"{documentName}\""
|
||||
#~ msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:94
|
||||
msgid "{inviterName} <0>({inviterEmail})</0>"
|
||||
msgstr "{inviterName} <0>({inviterEmail})</0>"
|
||||
|
||||
#: packages/email/templates/document-cancel.tsx:19
|
||||
#: packages/email/templates/document-cancel.tsx:21
|
||||
msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
|
||||
msgstr "{inviterName} ha cancelado el documento {documentName}, ya no necesitas firmarlo."
|
||||
|
||||
@ -72,7 +79,7 @@ msgstr "{inviterName} ha cancelado el documento {documentName}, ya no necesitas
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} ha cancelado el documento<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:54
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} te ha invitado a {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -80,31 +87,35 @@ msgstr "{inviterName} te ha invitado a {0}<0/>\"{documentName}\""
|
||||
msgid "{inviterName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} te ha invitado a {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
msgid "{inviterName} has invited you to {action} the document {documentName}."
|
||||
#: packages/email/templates/document-invite.tsx:106
|
||||
msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:18
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:20
|
||||
msgid "{inviterName} has removed you from the document {documentName}."
|
||||
msgstr "{inviterName} te ha eliminado del documento {documentName}."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:43
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:49
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} en nombre de {teamName} te ha invitado a {0}<0/>\"{documentName}\""
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:40
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} en nombre de {teamName} te ha invitado a {0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:45
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} en nombre de {teamName} te ha invitado a {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
#: packages/email/templates/team-join.tsx:67
|
||||
msgid "{memberEmail} joined the following team"
|
||||
msgstr "{memberEmail} se unió al siguiente equipo"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
#: packages/email/templates/team-leave.tsx:67
|
||||
msgid "{memberEmail} left the following team"
|
||||
msgstr "{memberEmail} dejó el siguiente equipo"
|
||||
|
||||
@ -192,10 +203,18 @@ msgstr "{prefix} actualizó el título del documento"
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} actualizó la visibilidad del documento"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:55
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:61
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} un documento utilizando uno de tus enlaces directos"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:46
|
||||
msgid "{teamName} has invited you to {action} {documentName}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:55
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "solicitud de transferencia de propiedad de {teamName}"
|
||||
@ -224,7 +243,7 @@ msgstr "{userName} vio el documento"
|
||||
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
|
||||
msgstr "{visibleRows, plural, one {Mostrando # resultado.} other {Mostrando # resultados.}}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
#: packages/email/templates/document-invite.tsx:100
|
||||
#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
#~ msgstr "`${inviterName} te ha invitado a ${action} el documento \"${documentName}\".`"
|
||||
|
||||
@ -232,10 +251,22 @@ msgstr "{visibleRows, plural, one {Mostrando # resultado.} other {Mostrando # re
|
||||
msgid "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
msgstr "<0>{senderName}</0> ha solicitado que asumas la propiedad del siguiente equipo"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:75
|
||||
msgid "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
|
||||
msgid "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
|
||||
msgid "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
msgstr "<0>Heredar método de autenticación</0> - Use el método de autenticación de firma de acción global configurado en el paso \"Configuración General\""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
|
||||
msgid "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
|
||||
msgid "<0>No restrictions</0> - No authentication required"
|
||||
msgstr "<0>Sin restricciones</0> - No se requiere autenticación"
|
||||
@ -248,6 +279,10 @@ msgstr "<0>Sin restricciones</0> - El documento se puede acceder directamente a
|
||||
msgid "<0>None</0> - No authentication required"
|
||||
msgstr "<0>Ninguno</0> - No se requiere autenticación"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
msgid "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
|
||||
msgid "<0>Require 2FA</0> - The recipient must have an account and 2FA enabled via their settings"
|
||||
@ -262,7 +297,7 @@ msgstr "<0>Requerir cuenta</0> - El destinatario debe haber iniciado sesión par
|
||||
msgid "<0>Require passkey</0> - The recipient must have an account and passkey configured via their settings"
|
||||
msgstr "<0>Requerir clave de acceso</0> - El destinatario debe tener una cuenta y clave de acceso configurada a través de sus configuraciones"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
|
||||
msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
|
||||
msgstr "Se creó un documento a partir de tu plantilla directa que requiere que {recipientActionVerb}."
|
||||
|
||||
@ -278,7 +313,7 @@ msgstr "Se eliminó un campo"
|
||||
msgid "A field was updated"
|
||||
msgstr "Se actualizó un campo"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
|
||||
msgid "A new member has joined your team"
|
||||
msgstr "Un nuevo miembro se ha unido a tu equipo"
|
||||
|
||||
@ -294,37 +329,42 @@ msgstr "Se eliminó un destinatario"
|
||||
msgid "A recipient was updated"
|
||||
msgstr "Se actualizó un destinatario"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
msgstr "Se ha iniciado una solicitud para utilizar tu correo electrónico por {teamName} en Documenso"
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:156
|
||||
msgid "A request to use your email has been initiated by {0} on Documenso"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-join.tsx:29
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#~ msgstr "Se ha iniciado una solicitud para utilizar tu correo electrónico por {teamName} en Documenso"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:31
|
||||
msgid "A team member has joined a team on Documenso"
|
||||
msgstr "Un miembro del equipo se ha unido a un equipo en Documenso"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
|
||||
msgid "A team member has left {0}"
|
||||
msgstr "Un miembro del equipo ha dejado {0}"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:29
|
||||
#: packages/email/templates/team-leave.tsx:31
|
||||
msgid "A team member has left a team on Documenso"
|
||||
msgstr "Un miembro del equipo ha dejado un equipo en Documenso"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:27
|
||||
#: packages/email/templates/team-delete.tsx:31
|
||||
#: packages/email/templates/team-delete.tsx:29
|
||||
#: packages/email/templates/team-delete.tsx:33
|
||||
msgid "A team you were a part of has been deleted"
|
||||
msgstr "Un equipo del que formabas parte ha sido eliminado"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:77
|
||||
#: packages/email/templates/confirm-team-email.tsx:118
|
||||
#: packages/email/templates/team-invite.tsx:94
|
||||
#: packages/email/templates/team-transfer-request.tsx:81
|
||||
msgid "Accept"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:29
|
||||
#: packages/email/templates/team-invite.tsx:42
|
||||
msgid "Accept invitation to join a team on Documenso"
|
||||
msgstr "Aceptar invitación para unirse a un equipo en Documenso"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:38
|
||||
#: packages/email/templates/confirm-team-email.tsx:41
|
||||
msgid "Accept team email request for {teamName} on Documenso"
|
||||
msgstr "Aceptar la solicitud de correo electrónico del equipo para {teamName} en Documenso"
|
||||
|
||||
@ -337,7 +377,7 @@ msgid "Add a document"
|
||||
msgstr "Agregar un documento"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
|
||||
msgid "Add a URL to redirect the user to once the document is signed"
|
||||
msgstr "Agregue una URL para redirigir al usuario una vez que se firme el documento"
|
||||
|
||||
@ -345,7 +385,7 @@ msgstr "Agregue una URL para redirigir al usuario una vez que se firme el docume
|
||||
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
|
||||
msgstr "Agregue un ID externo al documento. Esto se puede usar para identificar el documento en sistemas externos."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:295
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
|
||||
msgid "Add an external ID to the template. This can be used to identify in external systems."
|
||||
msgstr "Agregue un ID externo a la plantilla. Esto se puede usar para identificar en sistemas externos."
|
||||
|
||||
@ -387,7 +427,7 @@ msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:272
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:277
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
|
||||
msgid "Advanced Options"
|
||||
msgstr "Opciones avanzadas"
|
||||
|
||||
@ -404,7 +444,11 @@ msgstr "Después de la presentación, se generará automáticamente un documento
|
||||
msgid "All signatures have been voided."
|
||||
msgstr "Todas las firmas han sido anuladas."
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:20
|
||||
#: packages/email/templates/confirm-team-email.tsx:98
|
||||
msgid "Allow document recipients to reply directly to this email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:22
|
||||
msgid "An admin has deleted your document \"{documentName}\"."
|
||||
msgstr "Un administrador ha eliminado tu documento \"{documentName}\"."
|
||||
|
||||
@ -416,7 +460,7 @@ msgstr "Se produjo un error al cargar el documento."
|
||||
msgid "Approve"
|
||||
msgstr "Aprobar"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:78
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
msgid "Approve Document"
|
||||
msgstr ""
|
||||
|
||||
@ -452,10 +496,14 @@ msgstr "Negro"
|
||||
msgid "Blue"
|
||||
msgstr "Azul"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:67
|
||||
#: packages/email/templates/team-invite.tsx:84
|
||||
msgid "by <0>{senderName}</0>"
|
||||
msgstr "por <0>{senderName}</0>"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:87
|
||||
msgid "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:70
|
||||
msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
msgstr "Al aceptar esta solicitud, asumirás la responsabilidad de cualquier ítem de facturación asociado con este equipo."
|
||||
@ -516,8 +564,8 @@ msgstr "Cerrar"
|
||||
msgid "Completed"
|
||||
msgstr "Completado"
|
||||
|
||||
#: packages/email/templates/document-completed.tsx:21
|
||||
#: packages/email/templates/document-self-signed.tsx:17
|
||||
#: packages/email/templates/document-completed.tsx:23
|
||||
#: packages/email/templates/document-self-signed.tsx:19
|
||||
msgid "Completed Document"
|
||||
msgstr "Documento completado"
|
||||
|
||||
@ -538,11 +586,11 @@ msgstr "Confirmar correo electrónico"
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:66
|
||||
#: packages/email/template-components/template-document-invite.tsx:72
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Continúa {0} el documento."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
msgid "Continue by approving the document."
|
||||
msgstr ""
|
||||
|
||||
@ -550,18 +598,27 @@ msgstr ""
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Continúa descargando el documento."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
msgid "Continue by signing the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:64
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:254
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:46
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:241
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiado al portapapeles"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:249
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:194
|
||||
msgid "Copy Link"
|
||||
msgstr "Copiar enlace"
|
||||
@ -585,15 +642,15 @@ msgid "Date"
|
||||
msgstr "Fecha"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:313
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
|
||||
msgid "Date Format"
|
||||
msgstr "Formato de fecha"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:83
|
||||
#: packages/email/templates/team-invite.tsx:100
|
||||
msgid "Decline"
|
||||
msgstr "Rechazar"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
#: packages/email/templates/reset-password.tsx:71
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "¿No solicitaste un cambio de contraseña? Estamos aquí para ayudarte a asegurar tu cuenta, solo <0>contáctanos.</0>"
|
||||
|
||||
@ -603,7 +660,7 @@ msgstr "Receptor de enlace directo"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:190
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
msgid "Document access"
|
||||
msgstr "Acceso al documento"
|
||||
|
||||
@ -611,8 +668,8 @@ msgstr "Acceso al documento"
|
||||
msgid "Document access auth updated"
|
||||
msgstr "Se actualizó la autenticación de acceso al documento"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:213
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:75
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Documento cancelado"
|
||||
|
||||
@ -621,12 +678,16 @@ msgstr "Documento cancelado"
|
||||
msgid "Document completed"
|
||||
msgstr "Documento completado"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:168
|
||||
msgid "Document completed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:286
|
||||
msgid "Document created"
|
||||
msgstr "Documento creado"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:30
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:554
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:32
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
|
||||
msgid "Document created from direct template"
|
||||
msgstr "Documento creado a partir de plantilla directa"
|
||||
|
||||
@ -638,10 +699,19 @@ msgstr "Creación de documento"
|
||||
msgid "Document deleted"
|
||||
msgstr "Documento eliminado"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:58
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:207
|
||||
msgid "Document deleted email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:82
|
||||
msgid "Document Deleted!"
|
||||
msgstr "¡Documento eliminado!"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
|
||||
msgid "Document Distribution Method"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document external ID updated"
|
||||
msgstr "ID externo del documento actualizado"
|
||||
@ -654,6 +724,10 @@ msgstr "Documento movido al equipo"
|
||||
msgid "Document opened"
|
||||
msgstr "Documento abierto"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:128
|
||||
msgid "Document pending email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
msgstr "Documento enviado"
|
||||
@ -674,7 +748,7 @@ msgstr "Documento actualizado"
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Visibilidad del documento actualizada"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:64
|
||||
#: packages/email/template-components/template-document-completed.tsx:57
|
||||
#: packages/ui/components/document/document-download-button.tsx:68
|
||||
msgid "Download"
|
||||
msgstr "Descargar"
|
||||
@ -696,6 +770,7 @@ msgstr "Menú desplegable"
|
||||
msgid "Dropdown options"
|
||||
msgstr "Opciones de menú desplegable"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
@ -711,7 +786,7 @@ msgstr "Correo electrónico"
|
||||
msgid "Email is required"
|
||||
msgstr "Se requiere email"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:223
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
|
||||
msgid "Email Options"
|
||||
msgstr "Opciones de correo electrónico"
|
||||
|
||||
@ -750,7 +825,7 @@ msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:283
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:288
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
msgid "External ID"
|
||||
msgstr "ID externo"
|
||||
|
||||
@ -812,6 +887,10 @@ msgstr "¿Olvidaste tu contraseña?"
|
||||
msgid "Free Signature"
|
||||
msgstr "Firma gratuita"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:89
|
||||
msgid "Generate Links"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
|
||||
msgid "Global recipient action authentication"
|
||||
msgstr "Autenticación de acción de destinatario global"
|
||||
@ -824,7 +903,7 @@ msgstr "Regresar"
|
||||
msgid "Green"
|
||||
msgstr "Verde"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:50
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Hola, {userName} <0>({userEmail})</0>"
|
||||
|
||||
@ -861,7 +940,7 @@ msgstr "Email inválido"
|
||||
msgid "Invalid email address"
|
||||
msgstr "Dirección de email inválida"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:55
|
||||
#: packages/email/templates/team-invite.tsx:72
|
||||
msgid "Join {teamName} on Documenso"
|
||||
msgstr "Únete a {teamName} en Documenso"
|
||||
|
||||
@ -872,10 +951,11 @@ msgid "Label"
|
||||
msgstr "Etiqueta"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:176
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:150
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:124
|
||||
#: packages/email/templates/team-transfer-request.tsx:87
|
||||
msgid "Link expires in 1 hour."
|
||||
msgstr "El enlace expira en 1 hora."
|
||||
@ -897,8 +977,8 @@ msgstr "Máx"
|
||||
msgid "Member"
|
||||
msgstr "Miembro"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:95
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:160
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
|
||||
msgid "Message <0>(Optional)</0>"
|
||||
msgstr "Mensaje <0>(Opcional)</0>"
|
||||
|
||||
@ -934,6 +1014,10 @@ msgstr "Necesita ver"
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "No se encontró ningún destinatario que coincidiera con esta descripción."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:215
|
||||
msgid "No recipients"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
msgid "No recipients with this role"
|
||||
@ -959,6 +1043,10 @@ msgstr "No se encontró campo de firma"
|
||||
msgid "No value found."
|
||||
msgstr "No se encontró valor."
|
||||
|
||||
#: packages/lib/constants/document.ts:32
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
@ -989,11 +1077,11 @@ msgstr "Página {0} de {numPages}"
|
||||
msgid "Password Required"
|
||||
msgstr "Se requiere contraseña"
|
||||
|
||||
#: packages/email/templates/forgot-password.tsx:17
|
||||
#: packages/email/templates/forgot-password.tsx:19
|
||||
msgid "Password Reset Requested"
|
||||
msgstr "Solicitud de restablecimiento de contraseña"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:18
|
||||
#: packages/email/templates/reset-password.tsx:20
|
||||
msgid "Password Reset Successful"
|
||||
msgstr "Restablecimiento de contraseña exitoso"
|
||||
|
||||
@ -1005,7 +1093,7 @@ msgstr "¡Contraseña actualizada!"
|
||||
msgid "Pending"
|
||||
msgstr "Pendiente"
|
||||
|
||||
#: packages/email/templates/document-pending.tsx:17
|
||||
#: packages/email/templates/document-pending.tsx:19
|
||||
msgid "Pending Document"
|
||||
msgstr "Documento pendiente"
|
||||
|
||||
@ -1019,23 +1107,23 @@ msgstr "Seleccione un número"
|
||||
msgid "Placeholder"
|
||||
msgstr "Marcador de posición"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:44
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Por favor {0} tu documento<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:38
|
||||
#: packages/email/templates/document-invite.tsx:50
|
||||
msgid "Please {action} your document {documentName}"
|
||||
msgstr "Por favor {action} tu documento {documentName}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:100
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
msgid "Please {recipientActionVerb} this document"
|
||||
msgstr "Por favor {recipientActionVerb} este documento"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
|
||||
msgid "Please {recipientActionVerb} this document created by your direct template"
|
||||
msgstr "Por favor {recipientActionVerb} este documento creado a partir de tu plantilla directa"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:106
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
|
||||
msgid "Please {recipientActionVerb} your document"
|
||||
msgstr "Por favor {recipientActionVerb} tu documento"
|
||||
|
||||
@ -1043,7 +1131,7 @@ msgstr "Por favor {recipientActionVerb} tu documento"
|
||||
msgid "Please confirm your email"
|
||||
msgstr "Por favor confirma tu correo electrónico"
|
||||
|
||||
#: packages/email/templates/confirm-email.tsx:15
|
||||
#: packages/email/templates/confirm-email.tsx:17
|
||||
msgid "Please confirm your email address"
|
||||
msgstr "Por favor confirma tu dirección de correo electrónico"
|
||||
|
||||
@ -1078,32 +1166,40 @@ msgstr "Destinatario"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:257
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:208
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
|
||||
msgid "Recipient action authentication"
|
||||
msgstr "Autenticación de acción de destinatario"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:89
|
||||
msgid "Recipient removed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:50
|
||||
msgid "Recipient signing request email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
|
||||
msgid "Red"
|
||||
msgstr "Rojo"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
|
||||
msgid "Redirect URL"
|
||||
msgstr "URL de redirección"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:173
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Recordatorio: {0}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
#: packages/lib/server-only/document/resend-document.tsx:132
|
||||
msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "Recordatorio: {0} te invitó a {recipientActionVerb} un documento"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:110
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
msgid "Reminder: Please {recipientActionVerb} this document"
|
||||
msgstr "Recordatorio: Por favor {recipientActionVerb} este documento"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:116
|
||||
#: packages/lib/server-only/document/resend-document.tsx:127
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Recordatorio: Por favor {recipientActionVerb} tu documento"
|
||||
|
||||
@ -1119,6 +1215,10 @@ msgstr "Eliminar"
|
||||
msgid "Required field"
|
||||
msgstr "Campo obligatorio"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:84
|
||||
msgid "Resend"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-forgot-password.tsx:33
|
||||
msgid "Reset Password"
|
||||
msgstr "Restablecer contraseña"
|
||||
@ -1159,7 +1259,8 @@ msgstr "Seleccionar al menos"
|
||||
msgid "Select default option"
|
||||
msgstr "Seleccionar opción predeterminada"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:82
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:85
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
|
||||
msgid "Send"
|
||||
@ -1169,6 +1270,30 @@ msgstr "Enviar"
|
||||
msgid "Send Document"
|
||||
msgstr "Enviar documento"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:158
|
||||
msgid "Send document completed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:197
|
||||
msgid "Send document deleted email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:118
|
||||
msgid "Send document pending email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:101
|
||||
msgid "Send documents on behalf of the team using the email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:79
|
||||
msgid "Send recipient removed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:40
|
||||
msgid "Send recipient signing request email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:135
|
||||
msgid "Share Signature Card"
|
||||
msgstr "Compartir tarjeta de firma"
|
||||
@ -1190,7 +1315,7 @@ msgstr "Mostrar configuraciones avanzadas"
|
||||
msgid "Sign"
|
||||
msgstr "Firmar"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
msgid "Sign Document"
|
||||
msgstr ""
|
||||
|
||||
@ -1226,8 +1351,8 @@ msgstr "Los firmantes deben tener correos electrónicos únicos"
|
||||
msgid "Signing"
|
||||
msgstr "Firmando"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:93
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:161
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
msgid "Signing Complete!"
|
||||
msgstr "¡Firma completa!"
|
||||
|
||||
@ -1256,8 +1381,8 @@ msgstr "Algo salió mal."
|
||||
msgid "Step <0>{step} of {maxStep}</0>"
|
||||
msgstr "Paso <0>{step} de {maxStep}</0>"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:78
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:234
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:143
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
msgid "Subject <0>(Optional)</0>"
|
||||
msgstr "Asunto <0>(Opcional)</0>"
|
||||
|
||||
@ -1265,19 +1390,23 @@ msgstr "Asunto <0>(Opcional)</0>"
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:96
|
||||
#: packages/lib/server-only/team/delete-team.ts:124
|
||||
msgid "Team \"{0}\" has been deleted on Documenso"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:104
|
||||
msgid "Team email has been revoked for {0}"
|
||||
msgstr "El correo electrónico del equipo ha sido revocado para {0}"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:53
|
||||
#: packages/email/templates/team-email-removed.tsx:59
|
||||
msgid "Team email removed"
|
||||
msgstr "Correo electrónico del equipo eliminado"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:27
|
||||
#: packages/email/templates/team-email-removed.tsx:29
|
||||
msgid "Team email removed for {teamName} on Documenso"
|
||||
msgstr "Correo electrónico del equipo eliminado para {teamName} en Documenso"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:133
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
|
||||
msgid "Template title"
|
||||
msgstr "Título de plantilla"
|
||||
|
||||
@ -1307,11 +1436,11 @@ msgstr "La autenticación requerida para que los destinatarios vean el documento
|
||||
msgid "The document's name"
|
||||
msgstr "El nombre del documento"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:35
|
||||
#: packages/email/templates/team-delete.tsx:37
|
||||
msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
|
||||
msgstr "El siguiente equipo ha sido eliminado por su propietario. Ya no podrás acceder a este equipo y sus documentos"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:34
|
||||
#: packages/email/templates/team-delete.tsx:36
|
||||
msgid "The following team has been deleted by you"
|
||||
msgstr "El siguiente equipo ha sido eliminado por ti"
|
||||
|
||||
@ -1355,7 +1484,11 @@ msgstr "El correo electrónico del firmante"
|
||||
msgid "The signer's name"
|
||||
msgstr "El nombre del firmante"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:57
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:243
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:63
|
||||
msgid "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
msgstr "El correo electrónico del equipo <0>{teamEmail}</0> ha sido eliminado del siguiente equipo"
|
||||
|
||||
@ -1375,14 +1508,30 @@ msgstr "Este documento ya ha sido enviado a este destinatario. Ya no puede edita
|
||||
msgid "This document is password protected. Please enter the password to view the document."
|
||||
msgstr "Este documento está protegido por contraseña. Por favor ingrese la contraseña para ver el documento."
|
||||
|
||||
#: packages/email/template-components/template-footer.tsx:14
|
||||
#: packages/email/template-components/template-footer.tsx:17
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "Este documento fue enviado usando <0>Documenso.</0>"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:55
|
||||
msgid "This email is sent to the recipient requesting them to sign the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:133
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "Este campo no se puede modificar ni eliminar. Cuando comparta el enlace directo de esta plantilla o lo agregue a su perfil público, cualquiera que acceda podrá ingresar su nombre y correo electrónico, y completar los campos que se le hayan asignado."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "Este destinatario ya no puede ser modificado ya que ha firmado un campo o completado el documento."
|
||||
@ -1391,12 +1540,20 @@ msgstr "Este destinatario ya no puede ser modificado ya que ha firmado un campo
|
||||
msgid "This signer has already signed the document."
|
||||
msgstr "Este firmante ya ha firmado el documento."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:212
|
||||
msgid "This will be sent to all recipients if a pending document has been deleted."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:173
|
||||
msgid "This will be sent to all recipients once the document has been fully completed."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
|
||||
msgid "This will override any global settings."
|
||||
msgstr "Esto anulará cualquier configuración global."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:347
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:348
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
|
||||
msgid "Time Zone"
|
||||
msgstr "Zona horaria"
|
||||
|
||||
@ -1409,7 +1566,7 @@ msgstr "Título"
|
||||
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}."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:86
|
||||
msgid "Update"
|
||||
msgstr "Actualizar"
|
||||
|
||||
@ -1435,15 +1592,25 @@ msgstr "Validación"
|
||||
msgid "Value"
|
||||
msgstr "Valor"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:71
|
||||
msgid "Verify your team email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:29
|
||||
msgid "View"
|
||||
msgstr "Ver"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:69
|
||||
#: packages/email/templates/confirm-team-email.tsx:95
|
||||
msgid "View all documents sent to and from this email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:75
|
||||
msgid "View document"
|
||||
msgstr "Ver documento"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:77
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
msgstr ""
|
||||
|
||||
@ -1475,15 +1642,23 @@ msgstr "Viendo"
|
||||
msgid "Waiting for others"
|
||||
msgstr "Esperando a otros"
|
||||
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:73
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:96
|
||||
msgid "Waiting for others to complete signing."
|
||||
msgstr "Esperando a que otros completen la firma."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:205
|
||||
msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:201
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-pending.tsx:41
|
||||
msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
msgstr "Aún estamos esperando a que otros firmantes firmen este documento.<0/>Te notificaremos tan pronto como esté listo."
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:59
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
msgid "We've changed your password as you asked. You can now sign in with your new password."
|
||||
msgstr "Hemos cambiado tu contraseña como solicitaste. Ahora puedes iniciar sesión con tu nueva contraseña."
|
||||
|
||||
@ -1503,6 +1678,10 @@ msgstr "Está a punto de enviar este documento a los destinatarios. ¿Está segu
|
||||
msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
|
||||
msgstr "También puedes copiar y pegar este enlace en tu navegador: {confirmationLink} (el enlace expira en 1 hora)"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:106
|
||||
msgid "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "Puede usar las siguientes variables en su mensaje:"
|
||||
@ -1515,15 +1694,15 @@ msgstr "No puede cargar documentos en este momento."
|
||||
msgid "You don't need to sign it anymore."
|
||||
msgstr "Ya no necesitas firmarlo."
|
||||
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:168
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:186
|
||||
msgid "You have been invited to join {0} on Documenso"
|
||||
msgstr "Te han invitado a unirte a {0} en Documenso"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:59
|
||||
#: packages/email/templates/team-invite.tsx:76
|
||||
msgid "You have been invited to join the following team"
|
||||
msgstr "Te han invitado a unirte al siguiente equipo"
|
||||
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
|
||||
msgid "You have been removed from a document"
|
||||
msgstr "Te han eliminado de un documento"
|
||||
|
||||
@ -1531,8 +1710,8 @@ msgstr "Te han eliminado de un documento"
|
||||
msgid "You have been requested to take ownership of team {0} on Documenso"
|
||||
msgstr "Se te ha solicitado asumir la propiedad del equipo {0} en Documenso"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104
|
||||
#: packages/lib/server-only/document/resend-document.tsx:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
|
||||
#: packages/lib/server-only/document/resend-document.tsx:125
|
||||
msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
|
||||
msgstr "Has iniciado el documento {0} que requiere que {recipientActionVerb}."
|
||||
|
||||
@ -1552,7 +1731,7 @@ msgstr "¡Tu documento ha sido eliminado por un administrador!"
|
||||
msgid "Your password has been updated."
|
||||
msgstr "Tu contraseña ha sido actualizada."
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:26
|
||||
#: packages/email/templates/team-delete.tsx:30
|
||||
#: packages/email/templates/team-delete.tsx:28
|
||||
#: packages/email/templates/team-delete.tsx:32
|
||||
msgid "Your team has been deleted"
|
||||
msgstr "Tu equipo ha sido eliminado"
|
||||
|
||||
@ -18,6 +18,10 @@ 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:211
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
|
||||
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
msgstr "\"{0}\" aparecerá en el documento ya que tiene un huso horario de \"{timezone}\"."
|
||||
@ -26,6 +30,20 @@ msgstr "\"{0}\" aparecerá en el documento ya que tiene un huso horario de \"{ti
|
||||
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 ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) te ha invitado a aprobar este documento"
|
||||
@ -169,7 +187,7 @@ msgstr "Se ha enviado un correo electrónico de confirmación y debería llegar
|
||||
msgid "A device capable of accessing, opening, and reading documents"
|
||||
msgstr "Un dispositivo capaz de acceder, abrir y leer documentos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
|
||||
msgid "A draft document will be created"
|
||||
msgstr "Se creará un documento borrador"
|
||||
|
||||
@ -208,7 +226,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:139
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
|
||||
msgid "A unique URL to identify your team"
|
||||
msgstr "Una URL única para identificar tu equipo"
|
||||
|
||||
@ -264,7 +282,7 @@ msgstr "Acción"
|
||||
msgid "Actions"
|
||||
msgstr "Acciones"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
|
||||
msgid "Active"
|
||||
@ -278,7 +296,7 @@ msgstr "Suscripciones Activas"
|
||||
msgid "Add"
|
||||
msgstr "Agregar"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
|
||||
msgid "Add all relevant fields for each recipient."
|
||||
msgstr "Agrega todos los campos relevantes para cada destinatario."
|
||||
@ -299,7 +317,7 @@ msgstr "Agrega un autenticador para servir como método de autenticación secund
|
||||
msgid "Add email"
|
||||
msgstr "Agregar correo electrónico"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
|
||||
msgid "Add Fields"
|
||||
msgstr "Agregar Campos"
|
||||
@ -317,34 +335,38 @@ msgstr "Agregar clave"
|
||||
msgid "Add Placeholders"
|
||||
msgstr "Agregar Marcadores de posición"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
msgid "Add Signers"
|
||||
msgstr "Agregar Firmantes"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
|
||||
msgid "Add Subject"
|
||||
msgstr "Agregar Asunto"
|
||||
#~ msgid "Add Subject"
|
||||
#~ msgstr "Agregar Asunto"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
|
||||
msgid "Add team email"
|
||||
msgstr "Agregar correo electrónico del equipo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
|
||||
msgid "Add the people who will sign the document."
|
||||
msgstr "Agrega a las personas que firmarán el documento."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
|
||||
msgid "Add the recipients to create the document with"
|
||||
msgstr "Agrega los destinatarios con los que crear el documento"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Add the subject and message you wish to send to signers."
|
||||
msgstr "Agrega el asunto y el mensaje que deseas enviar a los firmantes."
|
||||
#~ msgid "Add the subject and message you wish to send to signers."
|
||||
#~ msgstr "Agrega el asunto y el mensaje que deseas enviar a los firmantes."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
|
||||
msgid "Adding and removing seats will adjust your invoice accordingly."
|
||||
msgstr "Agregar y eliminar asientos ajustará tu factura en consecuencia."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
|
||||
msgid "Additional brand information to display at the bottom of emails"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
|
||||
msgid "Admin Actions"
|
||||
msgstr "Acciones Administrativas"
|
||||
@ -436,17 +458,17 @@ 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)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "Ocurrió un error al agregar firmantes."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "Ocurrió un error al agregar los campos."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "Ocurrió un error al crear el documento a partir de la plantilla."
|
||||
|
||||
@ -504,7 +526,7 @@ msgstr "Ocurrió un error al eliminar la firma."
|
||||
msgid "An error occurred while removing the text."
|
||||
msgstr "Ocurrió un error al eliminar el texto."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
|
||||
msgid "An error occurred while sending the document."
|
||||
msgstr "Ocurrió un error al enviar el documento."
|
||||
|
||||
@ -529,11 +551,15 @@ msgstr "Ocurrió un error al firmar el documento."
|
||||
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:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "Ocurrió un error al actualizar la configuración del documento."
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:78
|
||||
#~ msgid "An error occurred while updating the global team settings."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
|
||||
msgid "An error occurred while updating the signature."
|
||||
msgstr "Ocurrió un error al actualizar la firma."
|
||||
@ -564,7 +590,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:94
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:94
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:122
|
||||
#: apps/web/src/components/forms/password.tsx:84
|
||||
@ -606,8 +632,8 @@ msgstr "Cualquier estado"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
|
||||
msgid "API Tokens"
|
||||
msgstr "Tokens de API"
|
||||
|
||||
@ -677,7 +703,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar actualizado"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "Esperando confirmación de correo electrónico"
|
||||
|
||||
@ -716,11 +742,19 @@ msgstr "Detalles básicos"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
|
||||
msgid "Billing"
|
||||
msgstr "Facturación"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
|
||||
msgid "Branding preferences updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
|
||||
msgid "Browser"
|
||||
@ -806,6 +840,10 @@ msgstr "Cancelado por el usuario"
|
||||
msgid "Charts"
|
||||
msgstr "Gráficas"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
|
||||
#~ msgid "Check out the documentaton for the <0>global team settings</0>."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
|
||||
msgid "Checkout"
|
||||
msgstr "Checkout"
|
||||
@ -818,6 +856,10 @@ msgstr "Elija un destinatario existente de abajo para continuar"
|
||||
msgid "Choose Direct Link Recipient"
|
||||
msgstr "Elija el destinatario del enlace directo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
|
||||
msgid "Choose how the document will reach recipients"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:200
|
||||
msgid "Choose..."
|
||||
msgstr "Elija..."
|
||||
@ -866,7 +908,7 @@ msgid "Click to insert field"
|
||||
msgstr "Haga clic para insertar campo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -911,7 +953,7 @@ msgstr "Documentos completados"
|
||||
msgid "Completed Documents"
|
||||
msgstr "Documentos Completados"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
|
||||
msgid "Configure general settings for the document."
|
||||
msgstr "Configurar ajustes generales para el documento."
|
||||
|
||||
@ -979,6 +1021,18 @@ msgstr "Continuar"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continuar con el inicio de sesión"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
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 ""
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
@ -1032,14 +1086,18 @@ msgstr "Crea un equipo para colaborar con los miembros de tu equipo."
|
||||
msgid "Create account"
|
||||
msgstr "Crear cuenta"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
|
||||
msgid "Create and send"
|
||||
msgstr "Crear y enviar"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
|
||||
msgid "Create as draft"
|
||||
msgstr "Crear como borrador"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
|
||||
msgid "Create as pending"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
|
||||
msgid "Create Direct Link"
|
||||
msgstr "Crear enlace directo"
|
||||
@ -1048,7 +1106,7 @@ msgstr "Crear enlace directo"
|
||||
msgid "Create Direct Signing Link"
|
||||
msgstr "Crear enlace de firma directo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
|
||||
msgid "Create document from template"
|
||||
msgstr "Crear documento a partir de la plantilla"
|
||||
|
||||
@ -1060,6 +1118,10 @@ msgstr "Crear ahora"
|
||||
msgid "Create one automatically"
|
||||
msgstr "Crear uno automáticamente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
|
||||
msgid "Create signing links"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
|
||||
@ -1071,6 +1133,10 @@ msgstr "Crear equipo"
|
||||
msgid "Create Team"
|
||||
msgstr "Crear Equipo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
|
||||
msgid "Create the document as pending and ready to sign."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:250
|
||||
#: apps/web/src/components/forms/token.tsx:259
|
||||
msgid "Create token"
|
||||
@ -1157,6 +1223,15 @@ 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
|
||||
msgid "Default Document Language"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
msgid "Default Document Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
msgid "delete"
|
||||
msgstr "eliminar"
|
||||
@ -1214,7 +1289,7 @@ msgstr "Eliminar Documento"
|
||||
msgid "Delete passkey"
|
||||
msgstr "Eliminar clave de paso"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Eliminar equipo"
|
||||
@ -1327,6 +1402,10 @@ msgstr "Deshabilitar la firma de enlace directo evitará que cualquiera acceda a
|
||||
msgid "Display your name and email in documents"
|
||||
msgstr "Mostrar su nombre y correo electrónico en documentos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Distribute Document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
|
||||
msgid "Do you want to delete this template?"
|
||||
msgstr "¿Desea eliminar esta plantilla?"
|
||||
@ -1364,7 +1443,7 @@ msgstr "Documento completado"
|
||||
msgid "Document Completed!"
|
||||
msgstr "¡Documento completado!"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
|
||||
msgid "Document created"
|
||||
msgstr "Documento creado"
|
||||
|
||||
@ -1404,7 +1483,7 @@ msgstr "ID del documento"
|
||||
msgid "Document inbox"
|
||||
msgstr "Bandeja de documentos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
|
||||
msgid "Document Limit Exceeded!"
|
||||
msgstr "¡Límite de documentos excedido!"
|
||||
|
||||
@ -1424,6 +1503,10 @@ 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
|
||||
msgid "Document preferences updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
|
||||
msgid "Document re-sent"
|
||||
msgstr "Documento reenviado"
|
||||
@ -1432,10 +1515,14 @@ msgstr "Documento reenviado"
|
||||
msgid "Document resealed"
|
||||
msgstr "Documento sellado nuevamente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
|
||||
msgid "Document sent"
|
||||
msgstr "Documento enviado"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Signed"
|
||||
msgstr "Documento firmado"
|
||||
@ -1577,8 +1664,8 @@ msgstr "Divulgación de Firma Electrónica"
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
|
||||
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
|
||||
@ -1633,6 +1720,10 @@ msgstr "Habilitar 2FA"
|
||||
msgid "Enable Authenticator App"
|
||||
msgstr "Habilitar aplicación autenticadora"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
|
||||
msgid "Enable custom branding for all documents in this team."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
|
||||
msgid "Enable direct link signing"
|
||||
msgstr "Habilitar firma de enlace directo"
|
||||
@ -1658,6 +1749,10 @@ msgstr "Documento Adjunto"
|
||||
msgid "Ends On"
|
||||
msgstr "Termina en"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
|
||||
msgid "Enter your brand details"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
|
||||
msgid "Enter your email"
|
||||
msgstr "Ingresa tu correo electrónico"
|
||||
@ -1676,10 +1771,10 @@ msgstr "Ingresa tu texto aquí"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
|
||||
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
|
||||
@ -1688,7 +1783,7 @@ msgstr "Ingresa tu texto aquí"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -1715,6 +1810,14 @@ msgstr "Ingresa tu texto aquí"
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:77
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Todos han firmado"
|
||||
@ -1727,7 +1830,7 @@ msgstr "¡Todos han firmado! Recibirás una copia por correo electrónico del do
|
||||
msgid "Exceeded timeout"
|
||||
msgstr "Tiempo de espera excedido"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
|
||||
msgid "Expired"
|
||||
msgstr "Expirado"
|
||||
|
||||
@ -1776,14 +1879,23 @@ msgstr "¿Olvidaste tu contraseña?"
|
||||
msgid "Full Name"
|
||||
msgstr "Nombre completo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#~ msgid "Global Settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:69
|
||||
#~ msgid "Global Team Settings Updated"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
|
||||
@ -1820,6 +1932,14 @@ msgstr "Aquí puedes editar tus datos personales."
|
||||
msgid "Here you can manage your password and security settings."
|
||||
msgstr "Aquí puedes gestionar tu contraseña y la configuración de seguridad."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
|
||||
msgid "Here you can set preferences and defaults for branding."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
|
||||
msgid "Here you can set preferences and defaults for your team."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
|
||||
msgid "Here's how it works:"
|
||||
msgstr "Así es como funciona:"
|
||||
@ -1871,6 +1991,10 @@ msgstr "Bandeja de entrada"
|
||||
msgid "Inbox documents"
|
||||
msgstr "Documentos en bandeja de entrada"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:132
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ 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"
|
||||
@ -2037,6 +2161,10 @@ msgstr "¿Te gustaría tener tu propio perfil público con acuerdos?"
|
||||
msgid "Link template"
|
||||
msgstr "Enlace de plantilla"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
|
||||
msgid "Links Generated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
|
||||
msgid "Listening to {0}"
|
||||
@ -2161,8 +2289,8 @@ msgid "Member Since"
|
||||
msgstr "Miembro desde"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
|
||||
msgid "Members"
|
||||
msgstr "Miembros"
|
||||
|
||||
@ -2215,8 +2343,8 @@ msgstr "Mis plantillas"
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
|
||||
@ -2350,6 +2478,14 @@ 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
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
|
||||
@ -2373,7 +2509,7 @@ msgstr "O"
|
||||
msgid "Or continue with"
|
||||
msgstr "O continúa con"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
|
||||
msgid "Otherwise, the document will be created as a draft."
|
||||
msgstr "De lo contrario, el documento se creará como un borrador."
|
||||
|
||||
@ -2579,13 +2715,23 @@ msgid "Please type <0>{0}</0> to confirm."
|
||||
msgstr "Por favor, escribe <0>{0}</0> para confirmar."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
|
||||
msgid "Preview and configure template."
|
||||
msgstr "Vista previa y configurar plantilla."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#~ msgid "Preview: {0}"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
|
||||
#: apps/web/src/components/formatter/template-type.tsx:22
|
||||
msgid "Private"
|
||||
@ -2623,8 +2769,8 @@ msgstr "Público"
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
|
||||
msgid "Public Profile"
|
||||
msgstr "Perfil Público"
|
||||
|
||||
@ -2716,6 +2862,7 @@ msgstr "¿Recordaste tu contraseña? <0>Iniciar sesión</0>"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
|
||||
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
|
||||
@ -2759,7 +2906,7 @@ msgstr "Reenviar correo de confirmación"
|
||||
msgid "Resend verification"
|
||||
msgstr "Reenviar verificación"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:164
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Restablecer"
|
||||
@ -2839,6 +2986,8 @@ msgstr "Roles"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
@ -2909,10 +3058,15 @@ msgstr "Seleccionar clave de acceso"
|
||||
msgid "Send confirmation email"
|
||||
msgstr "Enviar correo de confirmación"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
|
||||
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
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
|
||||
msgid "Send reminder"
|
||||
msgstr "Enviar recordatorio"
|
||||
@ -3104,6 +3258,10 @@ msgstr "Iniciando sesión..."
|
||||
msgid "Signing Links"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
|
||||
msgid "Signing links have been generated for this document."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/signup.tsx:235
|
||||
msgid "Signing up..."
|
||||
msgstr "Registrándose..."
|
||||
@ -3147,6 +3305,7 @@ msgstr "Configuraciones del sitio"
|
||||
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
|
||||
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
|
||||
@ -3183,6 +3342,10 @@ 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
|
||||
msgid "Something went wrong!"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
|
||||
msgid "Something went wrong. Please try again or contact support."
|
||||
@ -3247,7 +3410,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:68
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
|
||||
@ -3278,8 +3441,8 @@ msgstr "Equipo"
|
||||
msgid "Team checkout"
|
||||
msgstr "Checkout del equipo"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
msgid "Team email"
|
||||
msgstr "Correo del equipo"
|
||||
|
||||
@ -3322,7 +3485,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:113
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
|
||||
msgid "Team Name"
|
||||
msgstr "Nombre del equipo"
|
||||
|
||||
@ -3346,6 +3509,10 @@ msgstr "¡La transferencia de propiedad del equipo ya se ha completado!"
|
||||
msgid "Team ownership transferred!"
|
||||
msgstr "¡Propiedad del equipo transferida!"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
|
||||
msgid "Team Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
|
||||
msgid "Team Public Profile"
|
||||
msgstr "Perfil público del equipo"
|
||||
@ -3371,7 +3538,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:129
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
|
||||
msgid "Team URL"
|
||||
msgstr "URL del equipo"
|
||||
|
||||
@ -3472,7 +3639,7 @@ msgstr "El documento ha sido movido con éxito al equipo seleccionado."
|
||||
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."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
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."
|
||||
|
||||
@ -3480,7 +3647,7 @@ msgstr "El documento fue creado pero no se pudo enviar a los destinatarios."
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "El documento será ocultado de tu cuenta"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
|
||||
msgid "The document will be immediately sent to recipients if this is checked."
|
||||
msgstr "El documento se enviará inmediatamente a los destinatarios si esto está marcado."
|
||||
|
||||
@ -3490,6 +3657,10 @@ msgstr "El documento se enviará inmediatamente a los destinatarios si esto est
|
||||
msgid "The events that will trigger a webhook to be sent to your URL."
|
||||
msgstr "Los eventos que activarán un webhook para ser enviado a tu URL."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
|
||||
#~ msgid "The global settings for the documents in your team account."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
|
||||
msgid "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
msgstr "La propiedad del equipo <0>{0}</0> ha sido transferida con éxito a ti."
|
||||
@ -3669,7 +3840,7 @@ msgstr "Este precio incluye un mínimo de 5 asientos."
|
||||
msgid "This session has expired. Please try again."
|
||||
msgstr "Esta sesión ha expirado. Por favor, inténtalo de nuevo."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
|
||||
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
|
||||
msgstr "Este equipo, y cualquier dato asociado, excluyendo las facturas de facturación, serán eliminados permanentemente."
|
||||
|
||||
@ -3686,7 +3857,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:87
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
|
||||
msgid "This URL is already in use."
|
||||
msgstr "Esta URL ya está en uso."
|
||||
|
||||
@ -3819,13 +3990,13 @@ msgstr "transferir {teamName}"
|
||||
msgid "Transfer ownership of this team to a selected team member."
|
||||
msgstr "Transferir la propiedad de este equipo a un miembro del equipo seleccionado."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
|
||||
msgid "Transfer team"
|
||||
msgstr "Transferir equipo"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
|
||||
msgid "Transfer the ownership of the team to another team member."
|
||||
msgstr "Transferir la propiedad del equipo a otro miembro del equipo."
|
||||
|
||||
@ -4016,7 +4187,7 @@ msgstr "Actualizar destinatario"
|
||||
msgid "Update role"
|
||||
msgstr "Actualizar rol"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:176
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
|
||||
msgid "Update team"
|
||||
msgstr "Actualizar equipo"
|
||||
|
||||
@ -4055,6 +4226,10 @@ msgstr "Actualizando Su Información"
|
||||
msgid "Upload Avatar"
|
||||
msgstr "Subir avatar"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
|
||||
msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
|
||||
msgid "Uploaded by"
|
||||
@ -4086,7 +4261,7 @@ msgstr "Usar Autenticador"
|
||||
msgid "Use Backup Code"
|
||||
msgstr "Usar Código de Respaldo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
msgid "Use Template"
|
||||
msgstr "Usar Plantilla"
|
||||
|
||||
@ -4180,7 +4355,7 @@ msgstr "Ver Códigos"
|
||||
msgid "View Document"
|
||||
msgstr "Ver Documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "Ver documentos asociados con este correo electrónico"
|
||||
|
||||
@ -4366,7 +4541,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:96
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
|
||||
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
|
||||
msgstr "Encontramos un error desconocido al intentar actualizar tu equipo. Por favor, inténtalo de nuevo más tarde."
|
||||
|
||||
@ -4414,6 +4589,14 @@ msgstr "No pudimos configurar la autenticación de dos factores para tu cuenta.
|
||||
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."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
|
||||
msgid "We were unable to update your branding preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
|
||||
msgid "We were unable to update your document preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
|
||||
msgid "We were unable to verify your details. Please try again or contact support"
|
||||
msgstr "No pudimos verificar tus datos. Por favor, inténtalo de nuevo o contacta con soporte"
|
||||
@ -4422,6 +4605,14 @@ msgstr "No pudimos verificar tus datos. Por favor, inténtalo de nuevo o contact
|
||||
msgid "We were unable to verify your email. If your email is not verified already, please try again."
|
||||
msgstr "No pudimos verificar tu correo electrónico. Si tu correo electrónico no está verificado ya, por favor inténtalo de nuevo."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
|
||||
msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
|
||||
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
|
||||
msgid "We're all empty"
|
||||
@ -4453,8 +4644,8 @@ msgstr "URL del Webhook"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
|
||||
msgid "Webhooks"
|
||||
msgstr "Webhooks"
|
||||
|
||||
@ -4583,7 +4774,7 @@ msgstr ""
|
||||
msgid "You can update the profile URL by updating the team URL in the general settings page."
|
||||
msgstr "Puedes actualizar la URL del perfil actualizando la URL del equipo en la página de configuración general."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
|
||||
msgid "You can view documents associated with this email and use this identity when sending documents."
|
||||
msgstr "Puedes ver documentos asociados a este correo electrónico y usar esta identidad al enviar documentos."
|
||||
|
||||
@ -4645,7 +4836,7 @@ msgstr "Has alcanzado el límite máximo de {0} plantillas directas. <0>¡Actual
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "Has alcanzado tu límite de documentos."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "Has alcanzado tu límite de documentos. <0>¡Actualiza tu cuenta para continuar!</0>"
|
||||
|
||||
@ -4733,6 +4924,14 @@ msgstr "Tu avatar ha sido actualizado con éxito."
|
||||
msgid "Your banner has been updated successfully."
|
||||
msgstr "Tu banner ha sido actualizado con éxito."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
|
||||
msgid "Your brand website URL"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Tu plan actual está vencido. Por favor actualiza tu información de pago."
|
||||
@ -4745,7 +4944,7 @@ msgstr "Tus {0} plantillas de firma directa"
|
||||
msgid "Your document failed to upload."
|
||||
msgstr "Tu documento no se pudo cargar."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
|
||||
msgid "Your document has been created from the template successfully."
|
||||
msgstr "Tu documento se ha creado exitosamente a partir de la plantilla."
|
||||
|
||||
@ -4753,7 +4952,7 @@ msgstr "Tu documento se ha creado exitosamente a partir de la plantilla."
|
||||
msgid "Your document has been re-sent successfully."
|
||||
msgstr "Tu documento ha sido reenviado con éxito."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
|
||||
msgid "Your document has been sent successfully."
|
||||
msgstr "Tu documento ha sido enviado con éxito."
|
||||
|
||||
@ -4769,6 +4968,10 @@ 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
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
|
||||
msgid "Your documents"
|
||||
msgstr "Tus documentos"
|
||||
@ -4786,6 +4989,10 @@ msgstr "Tu correo electrónico está siendo utilizado actualmente por el equipo
|
||||
msgid "Your existing tokens"
|
||||
msgstr "Tus tokens existentes"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:70
|
||||
#~ msgid "Your global team document settings has been updated successfully."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/password.tsx:72
|
||||
#: apps/web/src/components/forms/reset-password.tsx:73
|
||||
msgid "Your password has been updated successfully."
|
||||
@ -4828,7 +5035,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:69
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Tu equipo ha sido actualizado con éxito."
|
||||
|
||||
|
||||
@ -30,24 +30,27 @@ msgstr "« {documentName} » a été signé"
|
||||
msgid "“{documentName}” was signed by all signers"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:41
|
||||
#: packages/lib/server-only/document/resend-document.tsx:109
|
||||
#~ msgid "{0}"
|
||||
#~ msgstr "{0}"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:80
|
||||
#~ msgid "{0} Document"
|
||||
#~ msgstr "{0} Document"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
|
||||
msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
|
||||
msgid "{0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "{0} vous a invité à {recipientActionVerb} un document"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:55
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
msgid "{0} joined the team {teamName} on Documenso"
|
||||
msgstr "{0} a rejoint l'équipe {teamName} sur Documenso"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:55
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
msgid "{0} left the team {teamName} on Documenso"
|
||||
msgstr "{0} a quitté l'équipe {teamName} sur Documenso"
|
||||
|
||||
@ -55,16 +58,20 @@ msgstr "{0} a quitté l'équipe {teamName} sur Documenso"
|
||||
msgid "{0} of {1} row(s) selected."
|
||||
msgstr "{0} sur {1} ligne(s) sélectionnée(s)."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:123
|
||||
#: packages/lib/server-only/document/resend-document.tsx:126
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:136
|
||||
#: packages/lib/server-only/document/resend-document.tsx:137
|
||||
msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"."
|
||||
msgstr "{0} au nom de {1} vous a invité à {recipientActionVerb} le document \"{2}\"."
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:79
|
||||
#: packages/email/template-components/template-document-invite.tsx:51
|
||||
#~ msgid "{0}<0/>\"{documentName}\""
|
||||
#~ msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:94
|
||||
msgid "{inviterName} <0>({inviterEmail})</0>"
|
||||
msgstr "{inviterName} <0>({inviterEmail})</0>"
|
||||
|
||||
#: packages/email/templates/document-cancel.tsx:19
|
||||
#: packages/email/templates/document-cancel.tsx:21
|
||||
msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore."
|
||||
msgstr "{inviterName} a annulé le document {documentName}, vous n'avez plus besoin de le signer."
|
||||
|
||||
@ -72,7 +79,7 @@ msgstr "{inviterName} a annulé le document {documentName}, vous n'avez plus bes
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} a annulé le document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:54
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} vous a invité à {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -80,31 +87,35 @@ msgstr "{inviterName} vous a invité à {0}<0/>\"{documentName}\""
|
||||
msgid "{inviterName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} vous a invité à {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
msgid "{inviterName} has invited you to {action} the document {documentName}."
|
||||
#: packages/email/templates/document-invite.tsx:106
|
||||
msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:18
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:20
|
||||
msgid "{inviterName} has removed you from the document {documentName}."
|
||||
msgstr "{inviterName} vous a retiré du document {documentName}."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:43
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:49
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} au nom de {teamName} vous a invité à {0}<0/>\"{documentName}\""
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:40
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} au nom de {teamName} vous a invité à {0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:45
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
msgstr "{inviterName} au nom de {teamName} vous a invité à {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:61
|
||||
#: packages/email/templates/team-join.tsx:67
|
||||
msgid "{memberEmail} joined the following team"
|
||||
msgstr "{memberEmail} a rejoint l'équipe suivante"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:61
|
||||
#: packages/email/templates/team-leave.tsx:67
|
||||
msgid "{memberEmail} left the following team"
|
||||
msgstr "{memberEmail} a quitté l'équipe suivante"
|
||||
|
||||
@ -192,10 +203,18 @@ msgstr "{prefix} a mis à jour le titre du document"
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} a mis à jour la visibilité du document"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:55
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:61
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} un document en utilisant l'un de vos liens directs"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:46
|
||||
msgid "{teamName} has invited you to {action} {documentName}"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:55
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "Demande de transfert de propriété de {teamName}"
|
||||
@ -224,7 +243,7 @@ msgstr "{userName} a consulté le document"
|
||||
msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}"
|
||||
msgstr "{visibleRows, plural, one {Affichage de # résultat.} other {Affichage de # résultats.}}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:91
|
||||
#: packages/email/templates/document-invite.tsx:100
|
||||
#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
#~ msgstr "`${inviterName} vous a invité à ${action} le document \"${documentName}\".`"
|
||||
|
||||
@ -232,10 +251,22 @@ msgstr "{visibleRows, plural, one {Affichage de # résultat.} other {Affichage d
|
||||
msgid "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
msgstr "<0>{senderName}</0> a demandé que vous preniez possession de l'équipe suivante"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:75
|
||||
msgid "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
|
||||
msgid "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
|
||||
msgid "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
msgstr "<0>Hériter du méthode d'authentification</0> - Utiliser la méthode d'authentification de signature d'action globale configurée dans l'étape \"Paramètres Générales\""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
|
||||
msgid "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
|
||||
msgid "<0>No restrictions</0> - No authentication required"
|
||||
msgstr "<0>Aucune restriction</0> - Aucune authentification requise"
|
||||
@ -248,6 +279,10 @@ msgstr "<0>Aucune restriction</0> - Le document peut être accédé directement
|
||||
msgid "<0>None</0> - No authentication required"
|
||||
msgstr "<0>Aucun</0> - Aucune authentification requise"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
msgid "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
|
||||
msgid "<0>Require 2FA</0> - The recipient must have an account and 2FA enabled via their settings"
|
||||
@ -262,7 +297,7 @@ msgstr "<0>Exiger un compte</0> - Le destinataire doit être connecté pour voir
|
||||
msgid "<0>Require passkey</0> - The recipient must have an account and passkey configured via their settings"
|
||||
msgstr "<0>Exiger une clé d'accès</0> - Le destinataire doit avoir un compte et une clé d'accès configurée via ses paramètres"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:122
|
||||
msgid "A document was created by your direct template that requires you to {recipientActionVerb} it."
|
||||
msgstr "Un document a été créé par votre modèle direct qui nécessite que vous {recipientActionVerb} celui-ci."
|
||||
|
||||
@ -278,7 +313,7 @@ msgstr "Un champ a été supprimé"
|
||||
msgid "A field was updated"
|
||||
msgstr "Un champ a été mis à jour"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:107
|
||||
msgid "A new member has joined your team"
|
||||
msgstr "Un nouveau membre a rejoint votre équipe"
|
||||
|
||||
@ -294,37 +329,42 @@ msgstr "Un destinataire a été supprimé"
|
||||
msgid "A recipient was updated"
|
||||
msgstr "Un destinataire a été mis à jour"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
msgstr "Une demande d'utilisation de votre email a été initiée par {teamName} sur Documenso"
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:156
|
||||
msgid "A request to use your email has been initiated by {0} on Documenso"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-join.tsx:29
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#~ msgstr "Une demande d'utilisation de votre email a été initiée par {teamName} sur Documenso"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:31
|
||||
msgid "A team member has joined a team on Documenso"
|
||||
msgstr "Un membre de l'équipe a rejoint une équipe sur Documenso"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79
|
||||
#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:96
|
||||
msgid "A team member has left {0}"
|
||||
msgstr "Un membre de l'équipe a quitté {0}"
|
||||
|
||||
#: packages/email/templates/team-leave.tsx:29
|
||||
#: packages/email/templates/team-leave.tsx:31
|
||||
msgid "A team member has left a team on Documenso"
|
||||
msgstr "Un membre de l'équipe a quitté une équipe sur Documenso"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:27
|
||||
#: packages/email/templates/team-delete.tsx:31
|
||||
#: packages/email/templates/team-delete.tsx:29
|
||||
#: packages/email/templates/team-delete.tsx:33
|
||||
msgid "A team you were a part of has been deleted"
|
||||
msgstr "Une équipe dont vous faisiez partie a été supprimée"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:77
|
||||
#: packages/email/templates/confirm-team-email.tsx:118
|
||||
#: packages/email/templates/team-invite.tsx:94
|
||||
#: packages/email/templates/team-transfer-request.tsx:81
|
||||
msgid "Accept"
|
||||
msgstr "Accepter"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:29
|
||||
#: packages/email/templates/team-invite.tsx:42
|
||||
msgid "Accept invitation to join a team on Documenso"
|
||||
msgstr "Accepter l'invitation à rejoindre une équipe sur Documenso"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:38
|
||||
#: packages/email/templates/confirm-team-email.tsx:41
|
||||
msgid "Accept team email request for {teamName} on Documenso"
|
||||
msgstr "Accepter la demande d'email d'équipe pour {teamName} sur Documenso"
|
||||
|
||||
@ -337,7 +377,7 @@ msgid "Add a document"
|
||||
msgstr "Ajouter un document"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:468
|
||||
msgid "Add a URL to redirect the user to once the document is signed"
|
||||
msgstr "Ajouter une URL pour rediriger l'utilisateur une fois le document signé"
|
||||
|
||||
@ -345,7 +385,7 @@ msgstr "Ajouter une URL pour rediriger l'utilisateur une fois le document signé
|
||||
msgid "Add an external ID to the document. This can be used to identify the document in external systems."
|
||||
msgstr "Ajouter un ID externe au document. Cela peut être utilisé pour identifier le document dans des systèmes externes."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:295
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:385
|
||||
msgid "Add an external ID to the template. This can be used to identify in external systems."
|
||||
msgstr "Ajouter un ID externe au modèle. Cela peut être utilisé pour identifier dans des systèmes externes."
|
||||
|
||||
@ -387,7 +427,7 @@ msgid "Admin"
|
||||
msgstr "Administrateur"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:272
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:277
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:367
|
||||
msgid "Advanced Options"
|
||||
msgstr "Options avancées"
|
||||
|
||||
@ -404,7 +444,11 @@ msgstr "Après soumission, un document sera automatiquement généré et ajouté
|
||||
msgid "All signatures have been voided."
|
||||
msgstr "Toutes les signatures ont été annulées."
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:20
|
||||
#: packages/email/templates/confirm-team-email.tsx:98
|
||||
msgid "Allow document recipients to reply directly to this email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:22
|
||||
msgid "An admin has deleted your document \"{documentName}\"."
|
||||
msgstr "Un administrateur a supprimé votre document \"{documentName}\"."
|
||||
|
||||
@ -416,7 +460,7 @@ msgstr "Une erreur s'est produite lors du chargement du document."
|
||||
msgid "Approve"
|
||||
msgstr "Approuver"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:78
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
msgid "Approve Document"
|
||||
msgstr ""
|
||||
|
||||
@ -452,10 +496,14 @@ msgstr "Noir"
|
||||
msgid "Blue"
|
||||
msgstr "Bleu"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:67
|
||||
#: packages/email/templates/team-invite.tsx:84
|
||||
msgid "by <0>{senderName}</0>"
|
||||
msgstr "par <0>{senderName}</0>"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:87
|
||||
msgid "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:70
|
||||
msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
msgstr "En acceptant cette demande, vous serez responsable de tous les éléments de facturation associés à cette équipe."
|
||||
@ -516,8 +564,8 @@ msgstr "Fermer"
|
||||
msgid "Completed"
|
||||
msgstr "Terminé"
|
||||
|
||||
#: packages/email/templates/document-completed.tsx:21
|
||||
#: packages/email/templates/document-self-signed.tsx:17
|
||||
#: packages/email/templates/document-completed.tsx:23
|
||||
#: packages/email/templates/document-self-signed.tsx:19
|
||||
msgid "Completed Document"
|
||||
msgstr "Document Terminé"
|
||||
|
||||
@ -538,11 +586,11 @@ msgstr "Confirmer l'email"
|
||||
msgid "Continue"
|
||||
msgstr "Continuer"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:66
|
||||
#: packages/email/template-components/template-document-invite.tsx:72
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Continuez en {0} le document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
msgid "Continue by approving the document."
|
||||
msgstr ""
|
||||
|
||||
@ -550,18 +598,27 @@ msgstr ""
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Continuez en téléchargeant le document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
msgid "Continue by signing the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:64
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:254
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:46
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:241
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copié dans le presse-papiers"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:249
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:194
|
||||
msgid "Copy Link"
|
||||
msgstr "Copier le lien"
|
||||
@ -585,15 +642,15 @@ msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:313
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:408
|
||||
msgid "Date Format"
|
||||
msgstr "Format de date"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:83
|
||||
#: packages/email/templates/team-invite.tsx:100
|
||||
msgid "Decline"
|
||||
msgstr "Décliner"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
#: packages/email/templates/reset-password.tsx:71
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "Vous n'avez pas demandé de changement de mot de passe ? Nous sommes ici pour vous aider à sécuriser votre compte, il suffit de <0>nous contacter.</0>"
|
||||
|
||||
@ -603,7 +660,7 @@ msgstr "Receveur de lien direct"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:190
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
msgid "Document access"
|
||||
msgstr "Accès au document"
|
||||
|
||||
@ -611,8 +668,8 @@ msgstr "Accès au document"
|
||||
msgid "Document access auth updated"
|
||||
msgstr "L'authentification d'accès au document a été mise à jour"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:213
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:75
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Annulé"
|
||||
|
||||
@ -621,12 +678,16 @@ msgstr "Document Annulé"
|
||||
msgid "Document completed"
|
||||
msgstr "Document terminé"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:168
|
||||
msgid "Document completed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:286
|
||||
msgid "Document created"
|
||||
msgstr "Document créé"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:30
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:554
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:32
|
||||
#: packages/lib/server-only/template/create-document-from-direct-template.ts:567
|
||||
msgid "Document created from direct template"
|
||||
msgstr "Document créé à partir d'un modèle direct"
|
||||
|
||||
@ -638,10 +699,19 @@ msgstr "Création de document"
|
||||
msgid "Document deleted"
|
||||
msgstr "Document supprimé"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:58
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:207
|
||||
msgid "Document deleted email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:82
|
||||
msgid "Document Deleted!"
|
||||
msgstr "Document Supprimé !"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
|
||||
msgid "Document Distribution Method"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document external ID updated"
|
||||
msgstr "ID externe du document mis à jour"
|
||||
@ -654,6 +724,10 @@ msgstr "Document déplacé vers l'équipe"
|
||||
msgid "Document opened"
|
||||
msgstr "Document ouvert"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:128
|
||||
msgid "Document pending email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
msgstr "Document envoyé"
|
||||
@ -674,7 +748,7 @@ msgstr "Document mis à jour"
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Visibilité du document mise à jour"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:64
|
||||
#: packages/email/template-components/template-document-completed.tsx:57
|
||||
#: packages/ui/components/document/document-download-button.tsx:68
|
||||
msgid "Download"
|
||||
msgstr "Télécharger"
|
||||
@ -696,6 +770,7 @@ msgstr "Liste déroulante"
|
||||
msgid "Dropdown options"
|
||||
msgstr "Options de liste déroulante"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
@ -711,7 +786,7 @@ msgstr "Email"
|
||||
msgid "Email is required"
|
||||
msgstr "L'email est requis"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:223
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:307
|
||||
msgid "Email Options"
|
||||
msgstr "Options d'email"
|
||||
|
||||
@ -750,7 +825,7 @@ msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:283
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:288
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:378
|
||||
msgid "External ID"
|
||||
msgstr "ID externe"
|
||||
|
||||
@ -812,6 +887,10 @@ msgstr "Vous avez oublié votre mot de passe ?"
|
||||
msgid "Free Signature"
|
||||
msgstr "Signature gratuite"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:89
|
||||
msgid "Generate Links"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
|
||||
msgid "Global recipient action authentication"
|
||||
msgstr "Authentification d'action de destinataire globale"
|
||||
@ -824,7 +903,7 @@ msgstr "Retourner"
|
||||
msgid "Green"
|
||||
msgstr "Vert"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:50
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Bonjour, {userName} <0>({userEmail})</0>"
|
||||
|
||||
@ -861,7 +940,7 @@ msgstr "Email invalide"
|
||||
msgid "Invalid email address"
|
||||
msgstr "Adresse email invalide"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:55
|
||||
#: packages/email/templates/team-invite.tsx:72
|
||||
msgid "Join {teamName} on Documenso"
|
||||
msgstr "Rejoindre {teamName} sur Documenso"
|
||||
|
||||
@ -872,10 +951,11 @@ msgid "Label"
|
||||
msgstr "Étiquette"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:176
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:150
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:162
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:124
|
||||
#: packages/email/templates/team-transfer-request.tsx:87
|
||||
msgid "Link expires in 1 hour."
|
||||
msgstr "Le lien expire dans 1 heure."
|
||||
@ -897,8 +977,8 @@ msgstr "Max"
|
||||
msgid "Member"
|
||||
msgstr "Membre"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:95
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:160
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:338
|
||||
msgid "Message <0>(Optional)</0>"
|
||||
msgstr "Message <0>(Optionnel)</0>"
|
||||
|
||||
@ -934,6 +1014,10 @@ msgstr "Nécessite une visualisation"
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "Aucun destinataire correspondant à cette description n'a été trouvé."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:215
|
||||
msgid "No recipients"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
msgid "No recipients with this role"
|
||||
@ -959,6 +1043,10 @@ msgstr "Aucun champ de signature trouvé"
|
||||
msgid "No value found."
|
||||
msgstr "Aucune valeur trouvée."
|
||||
|
||||
#: packages/lib/constants/document.ts:32
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
@ -989,11 +1077,11 @@ msgstr "Page {0} sur {numPages}"
|
||||
msgid "Password Required"
|
||||
msgstr "Mot de passe requis"
|
||||
|
||||
#: packages/email/templates/forgot-password.tsx:17
|
||||
#: packages/email/templates/forgot-password.tsx:19
|
||||
msgid "Password Reset Requested"
|
||||
msgstr "Réinitialisation du mot de passe demandée"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:18
|
||||
#: packages/email/templates/reset-password.tsx:20
|
||||
msgid "Password Reset Successful"
|
||||
msgstr "Réinitialisation du mot de passe réussie"
|
||||
|
||||
@ -1005,7 +1093,7 @@ msgstr "Mot de passe mis à jour !"
|
||||
msgid "Pending"
|
||||
msgstr "En attente"
|
||||
|
||||
#: packages/email/templates/document-pending.tsx:17
|
||||
#: packages/email/templates/document-pending.tsx:19
|
||||
msgid "Pending Document"
|
||||
msgstr "Document En Attente"
|
||||
|
||||
@ -1019,23 +1107,23 @@ msgstr "Choisissez un numéro"
|
||||
msgid "Placeholder"
|
||||
msgstr "Espace réservé"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:44
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Veuillez {0} votre document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:38
|
||||
#: packages/email/templates/document-invite.tsx:50
|
||||
msgid "Please {action} your document {documentName}"
|
||||
msgstr "Veuillez {action} votre document {documentName}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:100
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:111
|
||||
msgid "Please {recipientActionVerb} this document"
|
||||
msgstr "Veuillez {recipientActionVerb} ce document"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:125
|
||||
msgid "Please {recipientActionVerb} this document created by your direct template"
|
||||
msgstr "Veuillez {recipientActionVerb} ce document créé par votre modèle direct"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:106
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117
|
||||
msgid "Please {recipientActionVerb} your document"
|
||||
msgstr "Veuillez {recipientActionVerb} votre document"
|
||||
|
||||
@ -1043,7 +1131,7 @@ msgstr "Veuillez {recipientActionVerb} votre document"
|
||||
msgid "Please confirm your email"
|
||||
msgstr "Veuillez confirmer votre email"
|
||||
|
||||
#: packages/email/templates/confirm-email.tsx:15
|
||||
#: packages/email/templates/confirm-email.tsx:17
|
||||
msgid "Please confirm your email address"
|
||||
msgstr "Veuillez confirmer votre adresse email"
|
||||
|
||||
@ -1078,32 +1166,40 @@ msgstr "Destinataire"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:257
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:208
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:291
|
||||
msgid "Recipient action authentication"
|
||||
msgstr "Authentification d'action de destinataire"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:89
|
||||
msgid "Recipient removed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:50
|
||||
msgid "Recipient signing request email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
|
||||
msgid "Red"
|
||||
msgstr "Rouge"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:371
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:461
|
||||
msgid "Redirect URL"
|
||||
msgstr "URL de redirection"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:173
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Rappel : {0}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
#: packages/lib/server-only/document/resend-document.tsx:132
|
||||
msgid "Reminder: {0} invited you to {recipientActionVerb} a document"
|
||||
msgstr "Rappel : {0} vous a invité à {recipientActionVerb} un document"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:110
|
||||
#: packages/lib/server-only/document/resend-document.tsx:121
|
||||
msgid "Reminder: Please {recipientActionVerb} this document"
|
||||
msgstr "Rappel : Veuillez {recipientActionVerb} ce document"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:116
|
||||
#: packages/lib/server-only/document/resend-document.tsx:127
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Rappel : Veuillez {recipientActionVerb} votre document"
|
||||
|
||||
@ -1119,6 +1215,10 @@ msgstr "Retirer"
|
||||
msgid "Required field"
|
||||
msgstr "Champ requis"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:84
|
||||
msgid "Resend"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-forgot-password.tsx:33
|
||||
msgid "Reset Password"
|
||||
msgstr "Réinitialiser le mot de passe"
|
||||
@ -1159,7 +1259,8 @@ msgstr "Sélectionnez au moins"
|
||||
msgid "Select default option"
|
||||
msgstr "Sélectionner l'option par défaut"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:82
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:85
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34
|
||||
#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64
|
||||
msgid "Send"
|
||||
@ -1169,6 +1270,30 @@ msgstr "Envoyer"
|
||||
msgid "Send Document"
|
||||
msgstr "Envoyer le document"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:158
|
||||
msgid "Send document completed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:197
|
||||
msgid "Send document deleted email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:118
|
||||
msgid "Send document pending email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:101
|
||||
msgid "Send documents on behalf of the team using the email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:79
|
||||
msgid "Send recipient removed email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:40
|
||||
msgid "Send recipient signing request email"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:135
|
||||
msgid "Share Signature Card"
|
||||
msgstr "Partager la carte de signature"
|
||||
@ -1190,7 +1315,7 @@ msgstr "Afficher les paramètres avancés"
|
||||
msgid "Sign"
|
||||
msgstr "Signer"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
msgid "Sign Document"
|
||||
msgstr ""
|
||||
|
||||
@ -1226,8 +1351,8 @@ msgstr "Les signataires doivent avoir des e-mails uniques"
|
||||
msgid "Signing"
|
||||
msgstr "Signature en cours"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:93
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:161
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
msgid "Signing Complete!"
|
||||
msgstr "Signature Complète !"
|
||||
|
||||
@ -1256,8 +1381,8 @@ msgstr "Quelque chose a mal tourné."
|
||||
msgid "Step <0>{step} of {maxStep}</0>"
|
||||
msgstr "Étape <0>{step} sur {maxStep}</0>"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:78
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:234
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:143
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:318
|
||||
msgid "Subject <0>(Optional)</0>"
|
||||
msgstr "Objet <0>(Optionnel)</0>"
|
||||
|
||||
@ -1265,19 +1390,23 @@ msgstr "Objet <0>(Optionnel)</0>"
|
||||
msgid "Submit"
|
||||
msgstr "Soumettre"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:96
|
||||
#: packages/lib/server-only/team/delete-team.ts:124
|
||||
msgid "Team \"{0}\" has been deleted on Documenso"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:104
|
||||
msgid "Team email has been revoked for {0}"
|
||||
msgstr "L'email d'équipe a été révoqué pour {0}"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:53
|
||||
#: packages/email/templates/team-email-removed.tsx:59
|
||||
msgid "Team email removed"
|
||||
msgstr "Email d'équipe supprimé"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:27
|
||||
#: packages/email/templates/team-email-removed.tsx:29
|
||||
msgid "Team email removed for {teamName} on Documenso"
|
||||
msgstr "Email d'équipe supprimé pour {teamName} sur Documenso"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:133
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:145
|
||||
msgid "Template title"
|
||||
msgstr "Titre du modèle"
|
||||
|
||||
@ -1307,11 +1436,11 @@ msgstr "L'authentification requise pour que les destinataires visualisent le doc
|
||||
msgid "The document's name"
|
||||
msgstr "Le nom du document"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:35
|
||||
#: packages/email/templates/team-delete.tsx:37
|
||||
msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents"
|
||||
msgstr "L'équipe suivante a été supprimée par son propriétaire. Vous ne pourrez plus accéder à cette équipe et à ses documents"
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:34
|
||||
#: packages/email/templates/team-delete.tsx:36
|
||||
msgid "The following team has been deleted by you"
|
||||
msgstr "L'équipe suivante a été supprimée par vous"
|
||||
|
||||
@ -1355,7 +1484,11 @@ msgstr "L'email du signataire"
|
||||
msgid "The signer's name"
|
||||
msgstr "Le nom du signataire"
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:57
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:243
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:63
|
||||
msgid "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
msgstr "L'email d'équipe <0>{teamEmail}</0> a été supprimé de l'équipe suivante"
|
||||
|
||||
@ -1375,14 +1508,30 @@ msgstr "Ce document a déjà été envoyé à ce destinataire. Vous ne pouvez pl
|
||||
msgid "This document is password protected. Please enter the password to view the document."
|
||||
msgstr "Ce document est protégé par mot de passe. Veuillez entrer le mot de passe pour visualiser le document."
|
||||
|
||||
#: packages/email/template-components/template-footer.tsx:14
|
||||
#: packages/email/template-components/template-footer.tsx:17
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "Ce document a été envoyé via <0>Documenso.</0>"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:55
|
||||
msgid "This email is sent to the recipient requesting them to sign the document."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:133
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "Ce champ ne peut pas être modifié ou supprimé. Lorsque vous partagez le lien direct de ce modèle ou l'ajoutez à votre profil public, toute personne qui y accède peut saisir son nom et son email, et remplir les champs qui lui sont attribués."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "Ce destinataire ne peut plus être modifié car il a signé un champ ou complété le document."
|
||||
@ -1391,12 +1540,20 @@ msgstr "Ce destinataire ne peut plus être modifié car il a signé un champ ou
|
||||
msgid "This signer has already signed the document."
|
||||
msgstr "Ce signataire a déjà signé le document."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:212
|
||||
msgid "This will be sent to all recipients if a pending document has been deleted."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:173
|
||||
msgid "This will be sent to all recipients once the document has been fully completed."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
|
||||
msgid "This will override any global settings."
|
||||
msgstr "Cela remplacera tous les paramètres globaux."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:347
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:348
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:438
|
||||
msgid "Time Zone"
|
||||
msgstr "Fuseau horaire"
|
||||
|
||||
@ -1409,7 +1566,7 @@ msgstr "Titre"
|
||||
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}."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:124
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:86
|
||||
msgid "Update"
|
||||
msgstr "Mettre à jour"
|
||||
|
||||
@ -1435,15 +1592,25 @@ msgstr "Validation"
|
||||
msgid "Value"
|
||||
msgstr "Valeur"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:71
|
||||
msgid "Verify your team email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:29
|
||||
msgid "View"
|
||||
msgstr "Voir"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:69
|
||||
#: packages/email/templates/confirm-team-email.tsx:95
|
||||
msgid "View all documents sent to and from this email address"
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:75
|
||||
msgid "View document"
|
||||
msgstr "Voir le document"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:77
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
msgstr ""
|
||||
|
||||
@ -1475,15 +1642,23 @@ msgstr "Consultation"
|
||||
msgid "Waiting for others"
|
||||
msgstr "En attente des autres"
|
||||
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:73
|
||||
#: packages/lib/server-only/document/send-pending-email.ts:96
|
||||
msgid "Waiting for others to complete signing."
|
||||
msgstr "En attente que d'autres terminent la signature."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:205
|
||||
msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:201
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-pending.tsx:41
|
||||
msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
msgstr "Nous attendons encore que d'autres signataires signent ce document.<0/>Nous vous préviendrons dès qu'il sera prêt."
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:59
|
||||
#: packages/email/templates/reset-password.tsx:65
|
||||
msgid "We've changed your password as you asked. You can now sign in with your new password."
|
||||
msgstr "Nous avons changé votre mot de passe comme demandé. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe."
|
||||
|
||||
@ -1503,6 +1678,10 @@ msgstr "Vous êtes sur le point d'envoyer ce document aux destinataires. Êtes-v
|
||||
msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)"
|
||||
msgstr "Vous pouvez également copier et coller ce lien dans votre navigateur : {confirmationLink} (le lien expire dans 1 heure)"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:106
|
||||
msgid "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
msgstr ""
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "Vous pouvez utiliser les variables suivantes dans votre message :"
|
||||
@ -1515,15 +1694,15 @@ msgstr "Vous ne pouvez pas télécharger de documents pour le moment."
|
||||
msgid "You don't need to sign it anymore."
|
||||
msgstr "Vous n'avez plus besoin de le signer."
|
||||
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:168
|
||||
#: packages/lib/server-only/team/create-team-member-invites.ts:186
|
||||
msgid "You have been invited to join {0} on Documenso"
|
||||
msgstr "Vous avez été invité à rejoindre {0} sur Documenso"
|
||||
|
||||
#: packages/email/templates/team-invite.tsx:59
|
||||
#: packages/email/templates/team-invite.tsx:76
|
||||
msgid "You have been invited to join the following team"
|
||||
msgstr "Vous avez été invité à rejoindre l'équipe suivante"
|
||||
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314
|
||||
#: packages/lib/server-only/recipient/set-recipients-for-document.ts:329
|
||||
msgid "You have been removed from a document"
|
||||
msgstr "Vous avez été supprimé d'un document"
|
||||
|
||||
@ -1531,8 +1710,8 @@ msgstr "Vous avez été supprimé d'un document"
|
||||
msgid "You have been requested to take ownership of team {0} on Documenso"
|
||||
msgstr "On vous a demandé de prendre possession de l'équipe {0} sur Documenso"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104
|
||||
#: packages/lib/server-only/document/resend-document.tsx:114
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:115
|
||||
#: packages/lib/server-only/document/resend-document.tsx:125
|
||||
msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it."
|
||||
msgstr "Vous avez initié le document {0} qui nécessite que vous {recipientActionVerb} celui-ci."
|
||||
|
||||
@ -1552,7 +1731,7 @@ msgstr "Votre document a été supprimé par un administrateur !"
|
||||
msgid "Your password has been updated."
|
||||
msgstr "Votre mot de passe a été mis à jour."
|
||||
|
||||
#: packages/email/templates/team-delete.tsx:26
|
||||
#: packages/email/templates/team-delete.tsx:30
|
||||
#: packages/email/templates/team-delete.tsx:28
|
||||
#: packages/email/templates/team-delete.tsx:32
|
||||
msgid "Your team has been deleted"
|
||||
msgstr "Votre équipe a été supprimée"
|
||||
|
||||
1
packages/lib/translations/fr/web.js
Normal file
1
packages/lib/translations/fr/web.js
Normal file
File diff suppressed because one or more lines are too long
@ -18,6 +18,10 @@ 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:211
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
|
||||
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
msgstr "\"{0}\" apparaîtra sur le document car il a un fuseau horaire de \"{timezone}\"."
|
||||
@ -26,6 +30,20 @@ msgstr "\"{0}\" apparaîtra sur le document car il a un fuseau horaire de \"{tim
|
||||
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 ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) vous a invité à approuver ce document"
|
||||
@ -169,7 +187,7 @@ msgstr "Un e-mail de confirmation a été envoyé et devrait arriver dans votre
|
||||
msgid "A device capable of accessing, opening, and reading documents"
|
||||
msgstr "Un appareil capable d'accéder, d'ouvrir et de lire des documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218
|
||||
msgid "A draft document will be created"
|
||||
msgstr "Un document brouillon sera créé"
|
||||
|
||||
@ -208,7 +226,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:139
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:179
|
||||
msgid "A unique URL to identify your team"
|
||||
msgstr "Une URL unique pour identifier votre équipe"
|
||||
|
||||
@ -264,7 +282,7 @@ msgstr "Action"
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:107
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71
|
||||
msgid "Active"
|
||||
@ -278,7 +296,7 @@ msgstr "Abonnements actifs"
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88
|
||||
msgid "Add all relevant fields for each recipient."
|
||||
msgstr "Ajouter tous les champs pertinents pour chaque destinataire."
|
||||
@ -299,7 +317,7 @@ msgstr "Ajouter un authentificateur pour servir de méthode d'authentification s
|
||||
msgid "Add email"
|
||||
msgstr "Ajouter un e-mail"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87
|
||||
msgid "Add Fields"
|
||||
msgstr "Ajouter des champs"
|
||||
@ -317,34 +335,38 @@ msgstr "Ajouter une clé de passe"
|
||||
msgid "Add Placeholders"
|
||||
msgstr "Ajouter des espaces réservés"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
msgid "Add Signers"
|
||||
msgstr "Ajouter des signataires"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
|
||||
msgid "Add Subject"
|
||||
msgstr "Ajouter un sujet"
|
||||
#~ msgid "Add Subject"
|
||||
#~ msgstr "Ajouter un sujet"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
|
||||
msgid "Add team email"
|
||||
msgstr "Ajouter un e-mail d'équipe"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172
|
||||
msgid "Add the people who will sign the document."
|
||||
msgstr "Ajouter les personnes qui signeront le document."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220
|
||||
msgid "Add the recipients to create the document with"
|
||||
msgstr "Ajouter les destinataires pour créer le document avec"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Add the subject and message you wish to send to signers."
|
||||
msgstr "Ajouter le sujet et le message que vous souhaitez envoyer aux signataires."
|
||||
#~ msgid "Add the subject and message you wish to send to signers."
|
||||
#~ msgstr "Ajouter le sujet et le message que vous souhaitez envoyer aux signataires."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
|
||||
msgid "Adding and removing seats will adjust your invoice accordingly."
|
||||
msgstr "Ajouter et supprimer des sièges ajustera votre facture en conséquence."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
|
||||
msgid "Additional brand information to display at the bottom of emails"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
|
||||
msgid "Admin Actions"
|
||||
msgstr "Actions administratives"
|
||||
@ -436,17 +458,17 @@ 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)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235
|
||||
msgid "An error occurred while adding signers."
|
||||
msgstr "Une erreur est survenue lors de l'ajout de signataires."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "Une erreur est survenue lors de l'ajout des champs."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "Une erreur est survenue lors de la création du document à partir d'un modèle."
|
||||
|
||||
@ -504,7 +526,7 @@ msgstr "Une erreur est survenue lors de la suppression de la signature."
|
||||
msgid "An error occurred while removing the text."
|
||||
msgstr "Une erreur est survenue lors de la suppression du texte."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350
|
||||
msgid "An error occurred while sending the document."
|
||||
msgstr "Une erreur est survenue lors de l'envoi du document."
|
||||
|
||||
@ -529,11 +551,15 @@ msgstr "Une erreur est survenue lors de la signature du document."
|
||||
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:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170
|
||||
msgid "An error occurred while updating the document settings."
|
||||
msgstr "Une erreur est survenue lors de la mise à jour des paramètres du document."
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:78
|
||||
#~ msgid "An error occurred while updating the global team settings."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
|
||||
msgid "An error occurred while updating the signature."
|
||||
msgstr "Une erreur est survenue lors de la mise à jour de la signature."
|
||||
@ -564,7 +590,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:94
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:134
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:94
|
||||
#: apps/web/src/components/forms/avatar-image.tsx:122
|
||||
#: apps/web/src/components/forms/password.tsx:84
|
||||
@ -606,8 +632,8 @@ msgstr "Tout statut"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:81
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:89
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105
|
||||
msgid "API Tokens"
|
||||
msgstr "Jetons API"
|
||||
|
||||
@ -677,7 +703,7 @@ msgstr "Avatar"
|
||||
msgid "Avatar Updated"
|
||||
msgstr "Avatar mis à jour"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:127
|
||||
msgid "Awaiting email confirmation"
|
||||
msgstr "En attente de confirmation par e-mail"
|
||||
|
||||
@ -716,11 +742,19 @@ msgstr "Détails de base"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:108
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:116
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132
|
||||
msgid "Billing"
|
||||
msgstr "Facturation"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
|
||||
msgid "Branding preferences updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
|
||||
msgid "Browser"
|
||||
@ -806,6 +840,10 @@ msgstr "Annulé par l'utilisateur"
|
||||
msgid "Charts"
|
||||
msgstr "Graphiques"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
|
||||
#~ msgid "Check out the documentaton for the <0>global team settings</0>."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
|
||||
msgid "Checkout"
|
||||
msgstr "Passer à la caisse"
|
||||
@ -818,6 +856,10 @@ msgstr "Choisissez un destinataire existant ci-dessous pour continuer"
|
||||
msgid "Choose Direct Link Recipient"
|
||||
msgstr "Choisissez un destinataire pour le lien direct"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
|
||||
msgid "Choose how the document will reach recipients"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:200
|
||||
msgid "Choose..."
|
||||
msgstr "Choisissez..."
|
||||
@ -866,7 +908,7 @@ msgid "Click to insert field"
|
||||
msgstr "Cliquez pour insérer le champ"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:389
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -911,7 +953,7 @@ msgstr "Documents complétés"
|
||||
msgid "Completed Documents"
|
||||
msgstr "Documents Complétés"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167
|
||||
msgid "Configure general settings for the document."
|
||||
msgstr "Configurer les paramètres généraux pour le document."
|
||||
|
||||
@ -979,6 +1021,18 @@ msgstr "Continuer"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continuer vers la connexion"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
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 ""
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
@ -1032,14 +1086,18 @@ msgstr "Créer une équipe pour collaborer avec vos membres."
|
||||
msgid "Create account"
|
||||
msgstr "Créer un compte"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:397
|
||||
msgid "Create and send"
|
||||
msgstr "Créer et envoyer"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:395
|
||||
msgid "Create as draft"
|
||||
msgstr "Créer en tant que brouillon"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
|
||||
msgid "Create as pending"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
|
||||
msgid "Create Direct Link"
|
||||
msgstr "Créer un lien direct"
|
||||
@ -1048,7 +1106,7 @@ msgstr "Créer un lien direct"
|
||||
msgid "Create Direct Signing Link"
|
||||
msgstr "Créer un lien de signature directe"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214
|
||||
msgid "Create document from template"
|
||||
msgstr "Créer un document à partir du modèle"
|
||||
|
||||
@ -1060,6 +1118,10 @@ msgstr "Créer maintenant"
|
||||
msgid "Create one automatically"
|
||||
msgstr "Créer un automatiquement"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
|
||||
msgid "Create signing links"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138
|
||||
@ -1071,6 +1133,10 @@ msgstr "Créer une équipe"
|
||||
msgid "Create Team"
|
||||
msgstr "Créer une équipe"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
|
||||
msgid "Create the document as pending and ready to sign."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:250
|
||||
#: apps/web/src/components/forms/token.tsx:259
|
||||
msgid "Create token"
|
||||
@ -1157,6 +1223,15 @@ 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
|
||||
msgid "Default Document Language"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
msgid "Default Document Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
msgid "delete"
|
||||
msgstr "supprimer"
|
||||
@ -1214,7 +1289,7 @@ msgstr "Supprimer le document"
|
||||
msgid "Delete passkey"
|
||||
msgstr "Supprimer la clé d'accès"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:197
|
||||
#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118
|
||||
msgid "Delete team"
|
||||
msgstr "Supprimer l'équipe"
|
||||
@ -1327,6 +1402,10 @@ msgstr "Désactiver la signature de lien direct empêchera quiconque d'accéder
|
||||
msgid "Display your name and email in documents"
|
||||
msgstr "Afficher votre nom et votre email dans les documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Distribute Document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
|
||||
msgid "Do you want to delete this template?"
|
||||
msgstr "Voulez-vous supprimer ce modèle ?"
|
||||
@ -1364,7 +1443,7 @@ msgstr "Document complété"
|
||||
msgid "Document Completed!"
|
||||
msgstr "Document Complété !"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156
|
||||
msgid "Document created"
|
||||
msgstr "Document créé"
|
||||
|
||||
@ -1404,7 +1483,7 @@ msgstr "ID du document"
|
||||
msgid "Document inbox"
|
||||
msgstr "Boîte de réception des documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180
|
||||
msgid "Document Limit Exceeded!"
|
||||
msgstr "Limite de documents dépassée !"
|
||||
|
||||
@ -1424,6 +1503,10 @@ 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
|
||||
msgid "Document preferences updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
|
||||
msgid "Document re-sent"
|
||||
msgstr "Document renvoyé"
|
||||
@ -1432,10 +1515,14 @@ msgstr "Document renvoyé"
|
||||
msgid "Document resealed"
|
||||
msgstr "Document resealé"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327
|
||||
msgid "Document sent"
|
||||
msgstr "Document envoyé"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Signed"
|
||||
msgstr "Document signé"
|
||||
@ -1577,8 +1664,8 @@ msgstr "Divulgation de signature électronique"
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129
|
||||
#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118
|
||||
@ -1633,6 +1720,10 @@ msgstr "Activer 2FA"
|
||||
msgid "Enable Authenticator App"
|
||||
msgstr "Activer l'application Authenticator"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
|
||||
msgid "Enable custom branding for all documents in this team."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
|
||||
msgid "Enable direct link signing"
|
||||
msgstr "Activer la signature par lien direct"
|
||||
@ -1658,6 +1749,10 @@ msgstr "Document joint"
|
||||
msgid "Ends On"
|
||||
msgstr "Se termine le"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
|
||||
msgid "Enter your brand details"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
|
||||
msgid "Enter your email"
|
||||
msgstr "Entrez votre email"
|
||||
@ -1676,10 +1771,10 @@ msgstr "Entrez votre texte ici"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:349
|
||||
#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112
|
||||
@ -1688,7 +1783,7 @@ msgstr "Entrez votre texte ici"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -1715,6 +1810,14 @@ msgstr "Entrez votre texte ici"
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:77
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Tout le monde a signé"
|
||||
@ -1727,7 +1830,7 @@ msgstr "Tout le monde a signé ! Vous recevrez une copie par email du document s
|
||||
msgid "Exceeded timeout"
|
||||
msgstr "Délai dépassé"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:120
|
||||
msgid "Expired"
|
||||
msgstr "Expiré"
|
||||
|
||||
@ -1776,14 +1879,23 @@ msgstr "Mot de passe oublié ?"
|
||||
msgid "Full Name"
|
||||
msgstr "Nom complet"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#~ msgid "Global Settings"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:69
|
||||
#~ msgid "Global Team Settings Updated"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51
|
||||
@ -1820,6 +1932,14 @@ msgstr "Ici, vous pouvez modifier vos coordonnées personnelles."
|
||||
msgid "Here you can manage your password and security settings."
|
||||
msgstr "Ici, vous pouvez gérer votre mot de passe et vos paramètres de sécurité."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
|
||||
msgid "Here you can set preferences and defaults for branding."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
|
||||
msgid "Here you can set preferences and defaults for your team."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
|
||||
msgid "Here's how it works:"
|
||||
msgstr "Voici comment cela fonctionne :"
|
||||
@ -1871,6 +1991,10 @@ msgstr "Boîte de réception"
|
||||
msgid "Inbox documents"
|
||||
msgstr "Documents de la boîte de réception"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:132
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ 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"
|
||||
@ -2037,6 +2161,10 @@ msgstr "Vous voulez avoir votre propre profil public avec des accords ?"
|
||||
msgid "Link template"
|
||||
msgstr "Modèle de lien"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
|
||||
msgid "Links Generated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
|
||||
msgid "Listening to {0}"
|
||||
@ -2161,8 +2289,8 @@ msgid "Member Since"
|
||||
msgstr "Membre depuis"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:71
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:79
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
|
||||
@ -2215,8 +2343,8 @@ msgstr "Mes modèles"
|
||||
#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:287
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:294
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153
|
||||
@ -2350,6 +2478,14 @@ 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
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37
|
||||
@ -2373,7 +2509,7 @@ msgstr "Ou"
|
||||
msgid "Or continue with"
|
||||
msgstr "Ou continuez avec"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:341
|
||||
msgid "Otherwise, the document will be created as a draft."
|
||||
msgstr "Sinon, le document sera créé sous forme de brouillon."
|
||||
|
||||
@ -2579,13 +2715,23 @@ msgid "Please type <0>{0}</0> to confirm."
|
||||
msgstr "Veuillez taper <0>{0}</0> pour confirmer."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:214
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:58
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:67
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
|
||||
msgid "Preview and configure template."
|
||||
msgstr "Aperçu et configurer le modèle."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#~ msgid "Preview: {0}"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
|
||||
#: apps/web/src/components/formatter/template-type.tsx:22
|
||||
msgid "Private"
|
||||
@ -2623,8 +2769,8 @@ msgstr "Public"
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81
|
||||
msgid "Public Profile"
|
||||
msgstr "Profil public"
|
||||
|
||||
@ -2716,6 +2862,7 @@ msgstr "Vous vous souvenez de votre mot de passe ? <0>Connectez-vous</0>"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89
|
||||
#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54
|
||||
@ -2759,7 +2906,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:164
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:266
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:267
|
||||
msgid "Reset"
|
||||
msgstr "Réinitialiser"
|
||||
@ -2839,6 +2986,8 @@ msgstr "Rôles"
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
msgid "Save"
|
||||
msgstr "Sauvegarder"
|
||||
|
||||
@ -2909,10 +3058,15 @@ msgstr "Sélectionner la clé d'authentification"
|
||||
msgid "Send confirmation email"
|
||||
msgstr "Envoyer l'e-mail de confirmation"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:326
|
||||
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
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
|
||||
msgid "Send reminder"
|
||||
msgstr "Envoyer un rappel"
|
||||
@ -3104,6 +3258,10 @@ msgstr "Connexion en cours..."
|
||||
msgid "Signing Links"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
|
||||
msgid "Signing links have been generated for this document."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/signup.tsx:235
|
||||
msgid "Signing up..."
|
||||
msgstr "Inscription en cours..."
|
||||
@ -3147,6 +3305,7 @@ msgstr "Paramètres du site"
|
||||
#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39
|
||||
#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:243
|
||||
@ -3183,6 +3342,10 @@ 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
|
||||
msgid "Something went wrong!"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
|
||||
msgid "Something went wrong. Please try again or contact support."
|
||||
@ -3247,7 +3410,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:68
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:106
|
||||
#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62
|
||||
#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79
|
||||
@ -3278,8 +3441,8 @@ msgstr "Équipe"
|
||||
msgid "Team checkout"
|
||||
msgstr "Vérification de l'équipe"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:67
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:146
|
||||
msgid "Team email"
|
||||
msgstr "Adresse e-mail de l'équipe"
|
||||
|
||||
@ -3322,7 +3485,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:113
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:153
|
||||
msgid "Team Name"
|
||||
msgstr "Nom de l'équipe"
|
||||
|
||||
@ -3346,6 +3509,10 @@ msgstr "Le transfert de propriété de l'équipe a déjà été effectué !"
|
||||
msgid "Team ownership transferred!"
|
||||
msgstr "Propriété de l'équipe transférée !"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
|
||||
msgid "Team Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
|
||||
msgid "Team Public Profile"
|
||||
msgstr "Profil public de l'équipe"
|
||||
@ -3371,7 +3538,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:129
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:169
|
||||
msgid "Team URL"
|
||||
msgstr "URL de l'équipe"
|
||||
|
||||
@ -3472,7 +3639,7 @@ msgstr "Le document a été déplacé avec succès vers l'équipe sélectionnée
|
||||
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."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
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."
|
||||
|
||||
@ -3480,7 +3647,7 @@ msgstr "Le document a été créé mais n'a pas pu être envoyé aux destinatair
|
||||
msgid "The document will be hidden from your account"
|
||||
msgstr "Le document sera caché de votre compte"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:334
|
||||
msgid "The document will be immediately sent to recipients if this is checked."
|
||||
msgstr "Le document sera immédiatement envoyé aux destinataires si cela est coché."
|
||||
|
||||
@ -3490,6 +3657,10 @@ msgstr "Le document sera immédiatement envoyé aux destinataires si cela est co
|
||||
msgid "The events that will trigger a webhook to be sent to your URL."
|
||||
msgstr "Les événements qui déclencheront un webhook à envoyer à votre URL."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
|
||||
#~ msgid "The global settings for the documents in your team account."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
|
||||
msgid "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
msgstr "La propriété de l'équipe <0>{0}</0> a été transférée avec succès à vous."
|
||||
@ -3669,7 +3840,7 @@ msgstr "Ce prix inclut un minimum de 5 sièges."
|
||||
msgid "This session has expired. Please try again."
|
||||
msgstr "Cette session a expiré. Veuillez réessayer."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:201
|
||||
msgid "This team, and any associated data excluding billing invoices will be permanently deleted."
|
||||
msgstr "Cette équipe, et toutes les données associées à l'exception des factures de facturation, seront définitivement supprimées."
|
||||
|
||||
@ -3686,7 +3857,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:87
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:127
|
||||
msgid "This URL is already in use."
|
||||
msgstr "Cette URL est déjà utilisée."
|
||||
|
||||
@ -3819,13 +3990,13 @@ msgstr "transférer {teamName}"
|
||||
msgid "Transfer ownership of this team to a selected team member."
|
||||
msgstr "Transférer la propriété de cette équipe à un membre d'équipe sélectionné."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:175
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147
|
||||
#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156
|
||||
msgid "Transfer team"
|
||||
msgstr "Transférer l'équipe"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:179
|
||||
msgid "Transfer the ownership of the team to another team member."
|
||||
msgstr "Transférer la propriété de l'équipe à un autre membre de l'équipe."
|
||||
|
||||
@ -4016,7 +4187,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:176
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:278
|
||||
msgid "Update team"
|
||||
msgstr "Mettre à jour l'équipe"
|
||||
|
||||
@ -4055,6 +4226,10 @@ msgstr "Mise à jour de vos informations"
|
||||
msgid "Upload Avatar"
|
||||
msgstr "Télécharger un avatar"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
|
||||
msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
|
||||
msgid "Uploaded by"
|
||||
@ -4086,7 +4261,7 @@ msgstr "Utiliser l'authentificateur"
|
||||
msgid "Use Backup Code"
|
||||
msgstr "Utiliser le code de secours"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207
|
||||
msgid "Use Template"
|
||||
msgstr "Utiliser le modèle"
|
||||
|
||||
@ -4180,7 +4355,7 @@ msgstr "Voir les codes"
|
||||
msgid "View Document"
|
||||
msgstr "Voir le document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:156
|
||||
msgid "View documents associated with this email"
|
||||
msgstr "Voir les documents associés à cet e-mail"
|
||||
|
||||
@ -4366,7 +4541,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:96
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:136
|
||||
msgid "We encountered an unknown error while attempting to update your team. Please try again later."
|
||||
msgstr "Une erreur inconnue s'est produite lors de la mise à jour de votre équipe. Veuillez réessayer plus tard."
|
||||
|
||||
@ -4414,6 +4589,14 @@ msgstr "Nous n'avons pas pu configurer l'authentification à deux facteurs pour
|
||||
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."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
|
||||
msgid "We were unable to update your branding preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
|
||||
msgid "We were unable to update your document preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
|
||||
msgid "We were unable to verify your details. Please try again or contact support"
|
||||
msgstr "Nous n'avons pas pu vérifier vos détails. Veuillez réessayer ou contacter le support"
|
||||
@ -4422,6 +4605,14 @@ msgstr "Nous n'avons pas pu vérifier vos détails. Veuillez réessayer ou conta
|
||||
msgid "We were unable to verify your email. If your email is not verified already, please try again."
|
||||
msgstr "Nous n'avons pas pu vérifier votre e-mail. Si votre e-mail n'est pas déjà vérifié, veuillez réessayer."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
|
||||
msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
|
||||
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
|
||||
msgid "We're all empty"
|
||||
@ -4453,8 +4644,8 @@ msgstr "URL du webhook"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:94
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:102
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118
|
||||
msgid "Webhooks"
|
||||
msgstr "Webhooks"
|
||||
|
||||
@ -4583,7 +4774,7 @@ msgstr ""
|
||||
msgid "You can update the profile URL by updating the team URL in the general settings page."
|
||||
msgstr "Vous pouvez mettre à jour l'URL de profil en mettant à jour l'URL de l'équipe dans la page des paramètres généraux."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:71
|
||||
msgid "You can view documents associated with this email and use this identity when sending documents."
|
||||
msgstr "Vous pouvez voir les documents associés à cet e-mail et utiliser cette identité lors de l'envoi de documents."
|
||||
|
||||
@ -4645,7 +4836,7 @@ msgstr "Vous avez atteint la limite maximale de {0} modèles directs. <0>Mettez
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "Vous avez atteint votre limite de documents."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "Vous avez atteint votre limite de documents. <0>Mettez à niveau votre compte pour continuer !</0>"
|
||||
|
||||
@ -4733,6 +4924,14 @@ msgstr "Votre avatar a été mis à jour avec succès."
|
||||
msgid "Your banner has been updated successfully."
|
||||
msgstr "Votre bannière a été mise à jour avec succès."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
|
||||
msgid "Your brand website URL"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Votre plan actuel est en retard. Veuillez mettre à jour vos informations de paiement."
|
||||
@ -4745,7 +4944,7 @@ msgstr "Vos modèles de signature directe"
|
||||
msgid "Your document failed to upload."
|
||||
msgstr "Votre document a échoué à se télécharger."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157
|
||||
msgid "Your document has been created from the template successfully."
|
||||
msgstr "Votre document a été créé à partir du modèle avec succès."
|
||||
|
||||
@ -4753,7 +4952,7 @@ msgstr "Votre document a été créé à partir du modèle avec succès."
|
||||
msgid "Your document has been re-sent successfully."
|
||||
msgstr "Votre document a été renvoyé avec succès."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328
|
||||
msgid "Your document has been sent successfully."
|
||||
msgstr "Votre document a été envoyé avec succès."
|
||||
|
||||
@ -4769,6 +4968,10 @@ 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
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
|
||||
msgid "Your documents"
|
||||
msgstr "Vos documents"
|
||||
@ -4786,6 +4989,10 @@ msgstr "Votre e-mail est actuellement utilisé par l'équipe <0>{0}</0> ({1})."
|
||||
msgid "Your existing tokens"
|
||||
msgstr "Vos jetons existants"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:70
|
||||
#~ msgid "Your global team document settings has been updated successfully."
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/forms/password.tsx:72
|
||||
#: apps/web/src/components/forms/reset-password.tsx:73
|
||||
msgid "Your password has been updated successfully."
|
||||
@ -4828,7 +5035,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:69
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:107
|
||||
msgid "Your team has been successfully updated."
|
||||
msgstr "Votre équipe a été mise à jour avec succès."
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { I18nProvider } from '@lingui/react';
|
||||
|
||||
import type { RenderOptions } from '@documenso/email/render';
|
||||
import { render } from '@documenso/email/render';
|
||||
|
||||
import { getI18nInstance } from '../client-only/providers/i18n.server';
|
||||
@ -11,14 +12,13 @@ import {
|
||||
|
||||
export const renderEmailWithI18N = async (
|
||||
component: React.ReactElement,
|
||||
options?: {
|
||||
plainText?: boolean;
|
||||
options?: RenderOptions & {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
lang?: SupportedLanguageCodes | (string & {});
|
||||
},
|
||||
) => {
|
||||
try {
|
||||
const providedLang = options?.lang;
|
||||
const { lang: providedLang, ...otherOptions } = options ?? {};
|
||||
|
||||
const lang = isValidLanguageCode(providedLang) ? providedLang : APP_I18N_OPTIONS.sourceLang;
|
||||
|
||||
@ -26,9 +26,7 @@ export const renderEmailWithI18N = async (
|
||||
|
||||
i18n.activate(lang);
|
||||
|
||||
return render(<I18nProvider i18n={i18n}>{component}</I18nProvider>, {
|
||||
plainText: options?.plainText,
|
||||
});
|
||||
return render(<I18nProvider i18n={i18n}>{component}</I18nProvider>, otherOptions);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
throw new Error('Failed to render email');
|
||||
|
||||
13
packages/lib/utils/team-global-settings-to-branding.ts
Normal file
13
packages/lib/utils/team-global-settings-to-branding.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import type { TeamGlobalSettings } from '@documenso/prisma/client';
|
||||
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../constants/app';
|
||||
|
||||
export const teamGlobalSettingsToBranding = (teamGlobalSettings: TeamGlobalSettings) => {
|
||||
return {
|
||||
...teamGlobalSettings,
|
||||
brandingLogo:
|
||||
teamGlobalSettings.brandingEnabled && teamGlobalSettings.brandingLogo
|
||||
? `${NEXT_PUBLIC_WEBAPP_URL()}/api/branding/logo/team/${teamGlobalSettings.teamId}`
|
||||
: '',
|
||||
};
|
||||
};
|
||||
@ -0,0 +1,12 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "TeamGlobalSettings" (
|
||||
"teamId" INTEGER NOT NULL,
|
||||
"documentVisibility" "DocumentVisibility" NOT NULL DEFAULT 'EVERYONE',
|
||||
"includeSenderDetails" BOOLEAN NOT NULL DEFAULT true
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "TeamGlobalSettings_teamId_key" ON "TeamGlobalSettings"("teamId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TeamGlobalSettings" ADD CONSTRAINT "TeamGlobalSettings_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -0,0 +1,6 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "brandingCompanyDetails" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "brandingEnabled" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "brandingHidePoweredBy" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "brandingLogo" TEXT NOT NULL DEFAULT '',
|
||||
ADD COLUMN "brandingUrl" TEXT NOT NULL DEFAULT '';
|
||||
@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "documentLanguage" TEXT NOT NULL DEFAULT 'en';
|
||||
@ -508,6 +508,21 @@ enum TeamMemberInviteStatus {
|
||||
DECLINED
|
||||
}
|
||||
|
||||
model TeamGlobalSettings {
|
||||
teamId Int @unique
|
||||
documentVisibility DocumentVisibility @default(EVERYONE)
|
||||
documentLanguage String @default("en")
|
||||
includeSenderDetails Boolean @default(true)
|
||||
|
||||
brandingEnabled Boolean @default(false)
|
||||
brandingLogo String @default("")
|
||||
brandingUrl String @default("")
|
||||
brandingCompanyDetails String @default("")
|
||||
brandingHidePoweredBy Boolean @default(false)
|
||||
|
||||
team Team @relation(fields: [teamId], references: [id], onDelete: Cascade)
|
||||
}
|
||||
|
||||
model Team {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
@ -522,6 +537,7 @@ model Team {
|
||||
teamEmail TeamEmail?
|
||||
emailVerification TeamEmailVerification?
|
||||
transferVerification TeamTransferVerification?
|
||||
teamGlobalSettings TeamGlobalSettings?
|
||||
avatarImage AvatarImage? @relation(fields: [avatarImageId], references: [id], onDelete: SetNull)
|
||||
|
||||
profile TeamProfile?
|
||||
|
||||
@ -13,6 +13,7 @@ import {
|
||||
DocumentSigningOrder,
|
||||
DocumentSource,
|
||||
DocumentStatus,
|
||||
DocumentVisibility,
|
||||
FieldType,
|
||||
RecipientRole,
|
||||
} from '@documenso/prisma/client';
|
||||
@ -82,7 +83,7 @@ export const ZSetSettingsForDocumentMutationSchema = z.object({
|
||||
data: z.object({
|
||||
title: z.string().min(1).optional(),
|
||||
externalId: z.string().nullish(),
|
||||
visibility: z.string().optional(),
|
||||
visibility: z.nativeEnum(DocumentVisibility).optional(),
|
||||
globalAccessAuth: ZDocumentAccessAuthTypesSchema.nullable().optional(),
|
||||
globalActionAuth: ZDocumentActionAuthTypesSchema.nullable().optional(),
|
||||
}),
|
||||
|
||||
@ -31,6 +31,8 @@ import { requestTeamOwnershipTransfer } from '@documenso/lib/server-only/team/re
|
||||
import { resendTeamEmailVerification } from '@documenso/lib/server-only/team/resend-team-email-verification';
|
||||
import { resendTeamMemberInvitation } from '@documenso/lib/server-only/team/resend-team-member-invitation';
|
||||
import { updateTeam } from '@documenso/lib/server-only/team/update-team';
|
||||
import { updateTeamBrandingSettings } from '@documenso/lib/server-only/team/update-team-branding-settings';
|
||||
import { updateTeamDocumentSettings } from '@documenso/lib/server-only/team/update-team-document-settings';
|
||||
import { updateTeamEmail } from '@documenso/lib/server-only/team/update-team-email';
|
||||
import { updateTeamMember } from '@documenso/lib/server-only/team/update-team-member';
|
||||
import { updateTeamPublicProfile } from '@documenso/lib/server-only/team/update-team-public-profile';
|
||||
@ -62,6 +64,8 @@ import {
|
||||
ZRequestTeamOwnerhsipTransferMutationSchema,
|
||||
ZResendTeamEmailVerificationMutationSchema,
|
||||
ZResendTeamMemberInvitationMutationSchema,
|
||||
ZUpdateTeamBrandingSettingsMutationSchema,
|
||||
ZUpdateTeamDocumentSettingsMutationSchema,
|
||||
ZUpdateTeamEmailMutationSchema,
|
||||
ZUpdateTeamMemberMutationSchema,
|
||||
ZUpdateTeamMutationSchema,
|
||||
@ -556,6 +560,42 @@ export const teamRouter = router({
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
|
||||
throw AppError.parseErrorToTRPCError(err);
|
||||
}
|
||||
}),
|
||||
|
||||
updateTeamBrandingSettings: authenticatedProcedure
|
||||
.input(ZUpdateTeamBrandingSettingsMutationSchema)
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const { teamId, settings } = input;
|
||||
|
||||
try {
|
||||
return await updateTeamBrandingSettings({
|
||||
userId: ctx.user.id,
|
||||
teamId,
|
||||
settings,
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
|
||||
throw AppError.parseErrorToTRPCError(err);
|
||||
}
|
||||
}),
|
||||
|
||||
updateTeamDocumentSettings: authenticatedProcedure
|
||||
.input(ZUpdateTeamDocumentSettingsMutationSchema)
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const { teamId, settings } = input;
|
||||
|
||||
try {
|
||||
return await updateTeamDocumentSettings({
|
||||
userId: ctx.user.id,
|
||||
teamId,
|
||||
settings,
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
|
||||
throw AppError.parseErrorToTRPCError(err);
|
||||
}
|
||||
}),
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
|
||||
import { PROTECTED_TEAM_URLS } from '@documenso/lib/constants/teams';
|
||||
import { TeamMemberRole } from '@documenso/prisma/client';
|
||||
import { DocumentVisibility, TeamMemberRole } from '@documenso/prisma/client';
|
||||
|
||||
import { ZUpdatePublicProfileMutationSchema } from '../profile-router/schema';
|
||||
|
||||
@ -150,6 +151,8 @@ export const ZUpdateTeamMutationSchema = z.object({
|
||||
data: z.object({
|
||||
name: ZTeamNameSchema,
|
||||
url: ZTeamUrlSchema,
|
||||
documentVisibility: z.nativeEnum(DocumentVisibility).optional(),
|
||||
includeSenderDetails: z.boolean().optional(),
|
||||
}),
|
||||
});
|
||||
|
||||
@ -190,6 +193,28 @@ export const ZResendTeamMemberInvitationMutationSchema = z.object({
|
||||
invitationId: z.number(),
|
||||
});
|
||||
|
||||
export const ZUpdateTeamBrandingSettingsMutationSchema = z.object({
|
||||
teamId: z.number(),
|
||||
settings: z.object({
|
||||
brandingEnabled: z.boolean().optional().default(false),
|
||||
brandingLogo: z.string().optional().default(''),
|
||||
brandingUrl: z.string().optional().default(''),
|
||||
brandingCompanyDetails: z.string().optional().default(''),
|
||||
}),
|
||||
});
|
||||
|
||||
export const ZUpdateTeamDocumentSettingsMutationSchema = z.object({
|
||||
teamId: z.number(),
|
||||
settings: z.object({
|
||||
documentVisibility: z
|
||||
.nativeEnum(DocumentVisibility)
|
||||
.optional()
|
||||
.default(DocumentVisibility.EVERYONE),
|
||||
documentLanguage: z.enum(SUPPORTED_LANGUAGE_CODES).optional().default('en'),
|
||||
includeSenderDetails: z.boolean().optional().default(false),
|
||||
}),
|
||||
});
|
||||
|
||||
export type TCreateTeamMutationSchema = z.infer<typeof ZCreateTeamMutationSchema>;
|
||||
export type TCreateTeamEmailVerificationMutationSchema = z.infer<
|
||||
typeof ZCreateTeamEmailVerificationMutationSchema
|
||||
@ -225,3 +250,9 @@ export type TResendTeamEmailVerificationMutationSchema = z.infer<
|
||||
export type TResendTeamMemberInvitationMutationSchema = z.infer<
|
||||
typeof ZResendTeamMemberInvitationMutationSchema
|
||||
>;
|
||||
export type TUpdateTeamBrandingSettingsMutationSchema = z.infer<
|
||||
typeof ZUpdateTeamBrandingSettingsMutationSchema
|
||||
>;
|
||||
export type TUpdateTeamDocumentSettingsMutationSchema = z.infer<
|
||||
typeof ZUpdateTeamDocumentSettingsMutationSchema
|
||||
>;
|
||||
|
||||
@ -16,14 +16,17 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitive
|
||||
|
||||
export type DocumentVisibilitySelectType = SelectProps & {
|
||||
currentMemberRole?: string;
|
||||
isTeamSettings?: boolean;
|
||||
disabled?: boolean;
|
||||
};
|
||||
|
||||
export const DocumentVisibilitySelect = forwardRef<HTMLButtonElement, DocumentVisibilitySelectType>(
|
||||
({ currentMemberRole, ...props }, ref) => {
|
||||
const canUpdateVisibility = currentMemberRole === 'ADMIN' || currentMemberRole === 'MANAGER';
|
||||
({ currentMemberRole, isTeamSettings = false, disabled, ...props }, ref) => {
|
||||
const canUpdateVisibility =
|
||||
currentMemberRole === 'ADMIN' || currentMemberRole === 'MANAGER' || isTeamSettings;
|
||||
|
||||
return (
|
||||
<Select {...props} disabled={!canUpdateVisibility}>
|
||||
<Select {...props} disabled={(!canUpdateVisibility && !isTeamSettings) || disabled}>
|
||||
<SelectTrigger ref={ref} className="bg-background text-muted-foreground">
|
||||
<SelectValue data-testid="documentVisibilitySelectValue" placeholder="Everyone" />
|
||||
</SelectTrigger>
|
||||
@ -32,18 +35,15 @@ export const DocumentVisibilitySelect = forwardRef<HTMLButtonElement, DocumentVi
|
||||
<SelectItem value={DocumentVisibility.EVERYONE}>
|
||||
{DOCUMENT_VISIBILITY.EVERYONE.value}
|
||||
</SelectItem>
|
||||
|
||||
{(currentMemberRole === 'ADMIN' || currentMemberRole === 'MANAGER') && (
|
||||
<SelectItem value={DocumentVisibility.MANAGER_AND_ABOVE}>
|
||||
<SelectItem value={DocumentVisibility.MANAGER_AND_ABOVE} disabled={!canUpdateVisibility}>
|
||||
{DOCUMENT_VISIBILITY.MANAGER_AND_ABOVE.value}
|
||||
</SelectItem>
|
||||
)}
|
||||
|
||||
{currentMemberRole === 'ADMIN' && (
|
||||
<SelectItem value={DocumentVisibility.ADMIN}>
|
||||
<SelectItem
|
||||
value={DocumentVisibility.ADMIN}
|
||||
disabled={currentMemberRole !== 'ADMIN' && !isTeamSettings}
|
||||
>
|
||||
{DOCUMENT_VISIBILITY.ADMIN.value}
|
||||
</SelectItem>
|
||||
)}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
);
|
||||
|
||||
@ -8,6 +8,7 @@ import {
|
||||
ZDocumentActionAuthTypesSchema,
|
||||
} from '@documenso/lib/types/document-auth';
|
||||
import { isValidRedirectUrl } from '@documenso/lib/utils/is-valid-redirect-url';
|
||||
import { DocumentVisibility } from '@documenso/prisma/client';
|
||||
|
||||
export const ZMapNegativeOneToUndefinedSchema = z
|
||||
.string()
|
||||
@ -23,7 +24,7 @@ export const ZMapNegativeOneToUndefinedSchema = z
|
||||
export const ZAddSettingsFormSchema = z.object({
|
||||
title: z.string().trim().min(1, { message: "Title can't be empty" }),
|
||||
externalId: z.string().optional(),
|
||||
visibility: z.string().optional(),
|
||||
visibility: z.nativeEnum(DocumentVisibility).optional(),
|
||||
globalAccessAuth: ZMapNegativeOneToUndefinedSchema.pipe(
|
||||
ZDocumentAccessAuthTypesSchema.optional(),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user