diff --git a/apps/documentation/pages/developers/embedding/css-variables.mdx b/apps/documentation/pages/developers/embedding/css-variables.mdx index 143967042..d9259545e 100644 --- a/apps/documentation/pages/developers/embedding/css-variables.mdx +++ b/apps/documentation/pages/developers/embedding/css-variables.mdx @@ -111,6 +111,83 @@ The colors will be automatically converted to the appropriate format internally. 4. **Consistent Radius**: Use a consistent border radius value that matches your application's design system. +## CSS Class Targets + +In addition to CSS variables, specific components in the embedded experience can be targeted using CSS classes for more granular styling: + +### Component Classes + +| Class Name | Description | +| --------------------------------- | ----------------------------------------------------------------------- | +| `.embed--Root` | Main container for the embedded signing experience | +| `.embed--DocumentContainer` | Container for the document and signing widget | +| `.embed--DocumentViewer` | Container for the document viewer | +| `.embed--DocumentWidget` | The signing widget container | +| `.embed--DocumentWidgetContainer` | Outer container for the signing widget, handles positioning | +| `.embed--DocumentWidgetHeader` | Header section of the signing widget | +| `.embed--DocumentWidgetContent` | Main content area of the signing widget | +| `.embed--DocumentWidgetForm` | Form section within the signing widget | +| `.embed--DocumentWidgetFooter` | Footer section of the signing widget | +| `.embed--WaitingForTurn` | Container for the waiting screen when it's not the user's turn to sign | +| `.embed--DocumentCompleted` | Container for the completion screen after signing | +| `.field--FieldRootContainer` | Base container for document fields (signatures, text, checkboxes, etc.) | + +Field components also expose several data attributes that can be used for styling different states: + +| Data Attribute | Values | Description | +| ------------------- | ---------------------------------------------- | ------------------------------------ | +| `[data-field-type]` | `SIGNATURE`, `TEXT`, `CHECKBOX`, `RADIO`, etc. | The type of field | +| `[data-inserted]` | `true`, `false` | Whether the field has been filled | +| `[data-validate]` | `true`, `false` | Whether the field is being validated | + +### Field Styling Example + +```css +/* Style all field containers */ +.field--FieldRootContainer { + transition: all 200ms ease; +} + +/* Style specific field types */ +.field--FieldRootContainer[data-field-type='SIGNATURE'] { + background-color: rgba(0, 0, 0, 0.02); +} + +/* Style inserted fields */ +.field--FieldRootContainer[data-inserted='true'] { + background-color: var(--primary); + opacity: 0.2; +} + +/* Style fields being validated */ +.field--FieldRootContainer[data-validate='true'] { + border-color: orange; +} +``` + +### Example Usage + +```css +/* Custom styles for the document widget */ +.embed--DocumentWidget { + background-color: #ffffff; + box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); +} + +/* Custom styles for the waiting screen */ +.embed--WaitingForTurn { + background-color: #f9fafb; + padding: 2rem; +} + +/* Responsive adjustments for the document container */ +@media (min-width: 768px) { + .embed--DocumentContainer { + gap: 2rem; + } +} +``` + ## Related - [React Integration](/developers/embedding/react) diff --git a/apps/documentation/pages/developers/public-api/index.mdx b/apps/documentation/pages/developers/public-api/index.mdx index 94b728b53..f2745ee82 100644 --- a/apps/documentation/pages/developers/public-api/index.mdx +++ b/apps/documentation/pages/developers/public-api/index.mdx @@ -3,6 +3,8 @@ title: Public API description: Learn how to interact with your documents programmatically using the Documenso public API. --- +import { Callout, Steps } from 'nextra/components'; + # Public API Documenso provides a public REST API enabling you to interact with your documents programmatically. The API exposes various HTTP endpoints that allow you to perform operations such as: @@ -13,10 +15,24 @@ Documenso provides a public REST API enabling you to interact with your document The documentation walks you through creating API keys and using them to authenticate your API requests. You'll also learn about the available endpoints, request and response formats, and how to use the API. -## Swagger Documentation +## API V1 - Stable -The [Swagger documentation](https://app.documenso.com/api/v1/openapi) also provides information about the API endpoints, request parameters, response formats, and authentication methods. +Check out the [API V1 documentation](https://app.documenso.com/api/v1/openapi) for details about the API endpoints, request parameters, response formats, and authentication methods. + +## API V2 - Beta + +Our new API V2 is currently in Beta. The new API features typed SDKs for TypeScript, Python and Go and example code for many more. + + + NOW IN BETA: [API V2 Documentation](https://documen.so/api-v2-docs) + + +🚀 [V2 Announcement](https://documen.so/sdk-blog) + +💬 [Leave Feedback](https://documen.so/sdk-feedback) + +🔔 [Breaking Changes](https://documen.so/sdk-breaking) ## Availability -The API is available to individual users and teams. +The API is available to individual users, teams and higher plans. [Fair Use](https://documen.so/fair) applies. diff --git a/apps/web/package.json b/apps/web/package.json index 9f5053e1e..c0caf4c66 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/web", - "version": "1.9.0-rc.11", + "version": "1.9.1-rc.0", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx b/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx index ea8ccee15..48b50a42c 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx @@ -12,13 +12,14 @@ import { MailOpenIcon, PenIcon, PlusIcon, + UserIcon, } from 'lucide-react'; import { match } from 'ts-pattern'; import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles'; import { formatSigningLink } from '@documenso/lib/utils/recipients'; -import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client'; import type { Document, Recipient } from '@documenso/prisma/client'; +import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client'; import { CopyTextButton } from '@documenso/ui/components/common/copy-text-button'; import { SignatureIcon } from '@documenso/ui/icons/signature'; import { AvatarWithText } from '@documenso/ui/primitives/avatar'; @@ -120,6 +121,12 @@ export const DocumentPageViewRecipients = ({ Viewed )) + .with(RecipientRole.ASSISTANT, () => ( + <> + + Assisted + + )) .exhaustive()} )} diff --git a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx index 567d8dcd8..da358e3c7 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx @@ -162,7 +162,7 @@ export const DataTableActionDropdown = ({ row, team }: DataTableActionDropdownPr {/* We don't want to allow teams moving documents across at the moment. */} - {!team && ( + {!team && !row.teamId && ( setMoveDialogOpen(true)}> Move to Team diff --git a/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx b/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx index abdd9d817..eceb5faf9 100644 --- a/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx +++ b/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx @@ -40,7 +40,7 @@ export const MoveDocumentDialog = ({ documentId, open, onOpenChange }: MoveDocum const [selectedTeamId, setSelectedTeamId] = useState(null); - const { data: teams, isLoading: isLoadingTeams } = trpc.team.getTeams.useQuery(); + const { data: teams, isPending: isLoadingTeams } = trpc.team.getTeams.useQuery(); const { mutateAsync: moveDocument, isPending } = trpc.document.moveDocumentToTeam.useMutation({ onSuccess: () => { diff --git a/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx b/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx index 732f68882..1a54eb684 100644 --- a/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx +++ b/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx @@ -81,7 +81,7 @@ export const DataTableActionDropdown = ({ Direct link - {!teamId && ( + {!teamId && !row.teamId && ( setMoveDialogOpen(true)}> Move to Team diff --git a/apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx b/apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx index 9a00b9d5b..d2e1eff5e 100644 --- a/apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx +++ b/apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx @@ -42,7 +42,7 @@ export const MoveTemplateDialog = ({ templateId, open, onOpenChange }: MoveTempl const [selectedTeamId, setSelectedTeamId] = useState(null); - const { data: teams, isLoading: isLoadingTeams } = trpc.team.getTeams.useQuery(); + const { data: teams, isPending: isLoadingTeams } = trpc.team.getTeams.useQuery(); const { mutateAsync: moveTemplate, isPending } = trpc.template.moveTemplateToTeam.useMutation({ onSuccess: () => { router.refresh(); diff --git a/apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx b/apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx index f603f20be..09ad9a13d 100644 --- a/apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx +++ b/apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx @@ -77,7 +77,11 @@ export const TemplateDirectLinkDialog = ({ ); const validDirectTemplateRecipients = useMemo( - () => template.recipients.filter((recipient) => recipient.role !== RecipientRole.CC), + () => + template.recipients.filter( + (recipient) => + recipient.role !== RecipientRole.CC && recipient.role !== RecipientRole.ASSISTANT, + ), [template.recipients], ); diff --git a/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx b/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx index 9e379ab41..73e4aa178 100644 --- a/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx +++ b/apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx @@ -47,6 +47,7 @@ import { NameField } from '~/app/(signing)/sign/[token]/name-field'; import { NumberField } from '~/app/(signing)/sign/[token]/number-field'; import { useRequiredSigningContext } from '~/app/(signing)/sign/[token]/provider'; import { RadioField } from '~/app/(signing)/sign/[token]/radio-field'; +import { RecipientProvider } from '~/app/(signing)/sign/[token]/recipient-context'; import { SignDialog } from '~/app/(signing)/sign/[token]/sign-dialog'; import { SignatureField } from '~/app/(signing)/sign/[token]/signature-field'; import { TextField } from '~/app/(signing)/sign/[token]/text-field'; @@ -169,7 +170,7 @@ export const SignDirectTemplateForm = ({ }; return ( - <> + @@ -186,7 +187,6 @@ export const SignDirectTemplateForm = ({ @@ -195,7 +195,6 @@ export const SignDirectTemplateForm = ({ @@ -204,7 +203,6 @@ export const SignDirectTemplateForm = ({ @@ -213,7 +211,6 @@ export const SignDirectTemplateForm = ({ @@ -241,7 +237,6 @@ export const SignDirectTemplateForm = ({ ...field, fieldMeta: parsedFieldMeta, }} - recipient={directRecipient} onSignField={onSignField} onUnsignField={onUnsignField} /> @@ -259,7 +254,6 @@ export const SignDirectTemplateForm = ({ ...field, fieldMeta: parsedFieldMeta, }} - recipient={directRecipient} onSignField={onSignField} onUnsignField={onUnsignField} /> @@ -277,7 +271,6 @@ export const SignDirectTemplateForm = ({ ...field, fieldMeta: parsedFieldMeta, }} - recipient={directRecipient} onSignField={onSignField} onUnsignField={onUnsignField} /> @@ -295,7 +288,6 @@ export const SignDirectTemplateForm = ({ ...field, fieldMeta: parsedFieldMeta, }} - recipient={directRecipient} onSignField={onSignField} onUnsignField={onUnsignField} /> @@ -313,7 +305,6 @@ export const SignDirectTemplateForm = ({ ...field, fieldMeta: parsedFieldMeta, }} - recipient={directRecipient} onSignField={onSignField} onUnsignField={onUnsignField} /> @@ -383,6 +374,6 @@ export const SignDirectTemplateForm = ({ /> - + ); }; diff --git a/apps/web/src/app/(signing)/sign/[token]/assistant/assistant-confirmation-dialog.tsx b/apps/web/src/app/(signing)/sign/[token]/assistant/assistant-confirmation-dialog.tsx new file mode 100644 index 000000000..18be9bcad --- /dev/null +++ b/apps/web/src/app/(signing)/sign/[token]/assistant/assistant-confirmation-dialog.tsx @@ -0,0 +1,73 @@ +import { Trans } from '@lingui/macro'; + +import { Button } from '@documenso/ui/primitives/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from '@documenso/ui/primitives/dialog'; + +import { SigningDisclosure } from '~/components/general/signing-disclosure'; + +type ConfirmationDialogProps = { + isOpen: boolean; + onClose: () => void; + onConfirm: () => void; + hasUninsertedFields: boolean; + isSubmitting: boolean; +}; + +export function AssistantConfirmationDialog({ + isOpen, + onClose, + onConfirm, + hasUninsertedFields, + isSubmitting, +}: ConfirmationDialogProps) { + const onOpenChange = () => { + if (isSubmitting) { + return; + } + + onClose(); + }; + + return ( + + + + + Complete Document + + + + Are you sure you want to complete the document? This action cannot be undone. Please + ensure that you have completed prefilling all relevant fields before proceeding. + + + + +
+ +
+ + + + + +
+
+ ); +} diff --git a/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx b/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx index 2bf96afdd..627782838 100644 --- a/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx @@ -13,7 +13,6 @@ import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZCheckboxFieldMeta } from '@documenso/lib/types/field-meta'; import { fromCheckboxValue, toCheckboxValue } from '@documenso/lib/universal/field-checkbox'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignatureAndFieldMeta } from '@documenso/prisma/types/field-with-signature-and-fieldmeta'; import { trpc } from '@documenso/trpc/react'; import type { @@ -27,23 +26,19 @@ import { Label } from '@documenso/ui/primitives/label'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; export type CheckboxFieldProps = { field: FieldWithSignatureAndFieldMeta; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const CheckboxField = ({ - field, - recipient, - onSignField, - onUnsignField, -}: CheckboxFieldProps) => { +export const CheckboxField = ({ field, onSignField, onUnsignField }: CheckboxFieldProps) => { const { _ } = useLingui(); const { toast } = useToast(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const router = useRouter(); const [isPending, startTransition] = useTransition(); @@ -122,7 +117,9 @@ export const CheckboxField = ({ toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -151,7 +148,7 @@ export const CheckboxField = ({ toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the signature.`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } @@ -183,28 +180,25 @@ export const CheckboxField = ({ ...checkedValues, item.value.length > 0 ? item.value : `empty-value-${item.id}`, ]; - - await removeSignedFieldWithToken({ - token: recipient.token, - fieldId: field.id, - }); - - if (isLengthConditionMet) { - await signFieldWithToken({ - token: recipient.token, - fieldId: field.id, - value: toCheckboxValue(checkedValues), - isBase64: true, - }); - } } else { updatedValues = checkedValues.filter( (v) => v !== item.value && v !== `empty-value-${item.id}`, ); + } - await removeSignedFieldWithToken({ + setCheckedValues(updatedValues); + + await removeSignedFieldWithToken({ + token: recipient.token, + fieldId: field.id, + }); + + if (updatedValues.length > 0) { + await signFieldWithToken({ token: recipient.token, fieldId: field.id, + value: toCheckboxValue(updatedValues), + isBase64: true, }); } } catch (err) { @@ -216,7 +210,6 @@ export const CheckboxField = ({ variant: 'destructive', }); } finally { - setCheckedValues(updatedValues); startTransition(() => router.refresh()); } }; diff --git a/apps/web/src/app/(signing)/sign/[token]/date-field.tsx b/apps/web/src/app/(signing)/sign/[token]/date-field.tsx index 9d03ee690..fb93d5ee4 100644 --- a/apps/web/src/app/(signing)/sign/[token]/date-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/date-field.tsx @@ -17,7 +17,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZDateFieldMeta } from '@documenso/lib/types/field-meta'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { trpc } from '@documenso/trpc/react'; import type { @@ -27,11 +26,11 @@ import type { import { cn } from '@documenso/ui/lib/utils'; import { useToast } from '@documenso/ui/primitives/use-toast'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; export type DateFieldProps = { field: FieldWithSignature; - recipient: Recipient; dateFormat?: string | null; timezone?: string | null; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; @@ -40,17 +39,17 @@ export type DateFieldProps = { export const DateField = ({ field, - recipient, dateFormat = DEFAULT_DOCUMENT_DATE_FORMAT, timezone = DEFAULT_DOCUMENT_TIME_ZONE, onSignField, onUnsignField, }: DateFieldProps) => { const router = useRouter(); - const { _ } = useLingui(); const { toast } = useToast(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); + const [isPending, startTransition] = useTransition(); const { mutateAsync: signFieldWithToken, isPending: isSignFieldWithTokenLoading } = @@ -67,9 +66,7 @@ export const DateField = ({ const isLoading = isSignFieldWithTokenLoading || isRemoveSignedFieldWithTokenLoading || isPending; const localDateString = convertToLocalSystemFormat(field.customText, dateFormat, timezone); - const isDifferentTime = field.inserted && localDateString !== field.customText; - const tooltipText = _( msg`"${field.customText}" will appear on the document as it has a timezone of "${timezone}".`, ); @@ -102,7 +99,9 @@ export const DateField = ({ toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -128,7 +127,7 @@ export const DateField = ({ toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the signature.`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } diff --git a/apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx b/apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx index 5f4e1a444..837a966e3 100644 --- a/apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx @@ -12,7 +12,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZDropdownFieldMeta } from '@documenso/lib/types/field-meta'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignatureAndFieldMeta } from '@documenso/prisma/types/field-with-signature-and-fieldmeta'; import { trpc } from '@documenso/trpc/react'; import type { @@ -30,23 +29,19 @@ import { import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; export type DropdownFieldProps = { field: FieldWithSignatureAndFieldMeta; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const DropdownField = ({ - field, - recipient, - onSignField, - onUnsignField, -}: DropdownFieldProps) => { +export const DropdownField = ({ field, onSignField, onUnsignField }: DropdownFieldProps) => { const { _ } = useLingui(); const { toast } = useToast(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const router = useRouter(); const [isPending, startTransition] = useTransition(); @@ -103,7 +98,9 @@ export const DropdownField = ({ toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -134,7 +131,7 @@ export const DropdownField = ({ toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the signature.`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } diff --git a/apps/web/src/app/(signing)/sign/[token]/email-field.tsx b/apps/web/src/app/(signing)/sign/[token]/email-field.tsx index f3d664e23..a4c0bf2d5 100644 --- a/apps/web/src/app/(signing)/sign/[token]/email-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/email-field.tsx @@ -12,7 +12,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZEmailFieldMeta } from '@documenso/lib/types/field-meta'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { trpc } from '@documenso/trpc/react'; import type { @@ -23,22 +22,23 @@ import { cn } from '@documenso/ui/lib/utils'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredSigningContext } from './provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; export type EmailFieldProps = { field: FieldWithSignature; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const EmailField = ({ field, recipient, onSignField, onUnsignField }: EmailFieldProps) => { +export const EmailField = ({ field, onSignField, onUnsignField }: EmailFieldProps) => { const router = useRouter(); const { _ } = useLingui(); const { toast } = useToast(); const { email: providedEmail } = useRequiredSigningContext(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const [isPending, startTransition] = useTransition(); @@ -86,7 +86,9 @@ export const EmailField = ({ field, recipient, onSignField, onUnsignField }: Ema toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -112,7 +114,7 @@ export const EmailField = ({ field, recipient, onSignField, onUnsignField }: Ema toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the signature.`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } diff --git a/apps/web/src/app/(signing)/sign/[token]/form.tsx b/apps/web/src/app/(signing)/sign/[token]/form.tsx index b69280c71..47033cf11 100644 --- a/apps/web/src/app/(signing)/sign/[token]/form.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/form.tsx @@ -1,19 +1,22 @@ 'use client'; -import { useMemo, useState } from 'react'; +import { useId, useMemo, useState } from 'react'; import { useRouter } from 'next/navigation'; -import { Trans } from '@lingui/macro'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; import { useSession } from 'next-auth/react'; -import { useForm } from 'react-hook-form'; +import { Controller, useForm } from 'react-hook-form'; import { useAnalytics } from '@documenso/lib/client-only/hooks/use-analytics'; import type { DocumentAndSender } from '@documenso/lib/server-only/document/get-document-by-token'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { isFieldUnsignedAndRequired } from '@documenso/lib/utils/advanced-fields-helpers'; import { sortFieldsByPosition, validateFieldsInserted } from '@documenso/lib/utils/fields'; -import { type Field, FieldType, type Recipient, RecipientRole } from '@documenso/prisma/client'; +import type { Recipient } from '@documenso/prisma/client'; +import { type Field, FieldType, RecipientRole } from '@documenso/prisma/client'; +import type { RecipientWithFields } from '@documenso/prisma/types/recipient-with-fields'; import { trpc } from '@documenso/trpc/react'; import { FieldToolTip } from '@documenso/ui/components/field/field-tooltip'; import { cn } from '@documenso/ui/lib/utils'; @@ -21,8 +24,11 @@ import { Button } from '@documenso/ui/primitives/button'; import { Card, CardContent } from '@documenso/ui/primitives/card'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; +import { RadioGroup, RadioGroupItem } from '@documenso/ui/primitives/radio-group'; import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; +import { useToast } from '@documenso/ui/primitives/use-toast'; +import { AssistantConfirmationDialog } from './assistant/assistant-confirmation-dialog'; import { useRequiredSigningContext } from './provider'; import { SignDialog } from './sign-dialog'; @@ -32,6 +38,8 @@ export type SigningFormProps = { fields: Field[]; redirectUrl?: string | null; isRecipientsTurn: boolean; + allRecipients?: RecipientWithFields[]; + setSelectedSignerId?: (id: number | null) => void; }; export const SigningForm = ({ @@ -40,19 +48,35 @@ export const SigningForm = ({ fields, redirectUrl, isRecipientsTurn, + allRecipients = [], + setSelectedSignerId, }: SigningFormProps) => { + const { _ } = useLingui(); + const { toast } = useToast(); + const router = useRouter(); const analytics = useAnalytics(); + const { data: session } = useSession(); + const assistantSignersId = useId(); + const { fullName, signature, setFullName, setSignature, signatureValid, setSignatureValid } = useRequiredSigningContext(); const [validateUninsertedFields, setValidateUninsertedFields] = useState(false); + const [isConfirmationDialogOpen, setIsConfirmationDialogOpen] = useState(false); + const [isAssistantSubmitting, setIsAssistantSubmitting] = useState(false); const { mutateAsync: completeDocumentWithToken } = trpc.recipient.completeDocumentWithToken.useMutation(); + const assistantForm = useForm<{ selectedSignerId: number | undefined }>({ + defaultValues: { + selectedSignerId: undefined, + }, + }); + const { handleSubmit, formState } = useForm(); // Keep the loading state going if successful since the redirect may take some time. @@ -67,7 +91,11 @@ export const SigningForm = ({ const uninsertedFields = useMemo(() => { return sortFieldsByPosition(fieldsRequiringValidation.filter((field) => !field.inserted)); - }, [fields]); + }, [fieldsRequiringValidation]); + + const uninsertedRecipientFields = useMemo(() => { + return fieldsRequiringValidation.filter((field) => field.recipientId === recipient.id); + }, [fieldsRequiringValidation, recipient]); const fieldsValidated = () => { setValidateUninsertedFields(true); @@ -88,12 +116,31 @@ export const SigningForm = ({ } await completeDocument(); + }; - // Reauth is currently not required for completing the document. - // await executeActionAuthProcedure({ - // onReauthFormSubmit: completeDocument, - // actionTarget: 'DOCUMENT', - // }); + const onAssistantFormSubmit = () => { + if (uninsertedRecipientFields.length > 0) { + return; + } + + setIsConfirmationDialogOpen(true); + }; + + const handleAssistantConfirmDialogSubmit = async () => { + setIsAssistantSubmitting(true); + + try { + await completeDocument(); + } catch (err) { + toast({ + title: 'Error', + description: 'An error occurred while completing the document. Please try again.', + variant: 'destructive', + }); + + setIsAssistantSubmitting(false); + setIsConfirmationDialogOpen(false); + } }; const completeDocument = async (authOptions?: TRecipientActionAuth) => { @@ -113,7 +160,7 @@ export const SigningForm = ({ }; return ( -
{validateUninsertedFields && uninsertedFields[0] && ( @@ -129,17 +175,13 @@ export const SigningForm = ({ )} -
-
+
+

{recipient.role === RecipientRole.VIEWER && View Document} {recipient.role === RecipientRole.SIGNER && Sign Document} {recipient.role === RecipientRole.APPROVER && Approve Document} + {recipient.role === RecipientRole.ASSISTANT && Assist Document}

{recipient.role === RecipientRole.VIEWER ? ( @@ -176,91 +218,185 @@ export const SigningForm = ({
+ ) : recipient.role === RecipientRole.ASSISTANT ? ( + <> + +

+ + Complete the fields for the following signers. Once reviewed, they will inform + you if any modifications are needed. + +

+ +
+ +
+ ( + { + field.onChange(value); + setSelectedSignerId?.(Number(value)); + }} + > + {allRecipients + .filter((r) => r.fields.length > 0) + .map((r) => ( +
+
+
+ + +
+ +

{r.email}

+
+
+
+ {r.fields.length} {r.fields.length === 1 ? 'field' : 'fields'} +
+
+
+ ))} +
+ )} + /> +
+ +
+ +
+ + 0} + isOpen={isConfirmationDialogOpen} + onClose={() => !isAssistantSubmitting && setIsConfirmationDialogOpen(false)} + onConfirm={handleAssistantConfirmDialogSubmit} + isSubmitting={isAssistantSubmitting} + /> + + ) : ( <> -

- Please review the document before signing. -

+
+

+ Please review the document before signing. +

-
+
-
-
-
- +
+
+
+ - setFullName(e.target.value.trimStart())} + setFullName(e.target.value.trimStart())} + /> +
+ +
+ + + + + { + setSignatureValid(isValid); + }} + onChange={(value) => { + if (signatureValid) { + setSignature(value); + } + }} + allowTypedSignature={document.documentMeta?.typedSignatureEnabled} + /> + + + + {hasSignatureField && !signatureValid && ( +
+ + Signature is too small. Please provide a more complete signature. + +
+ )} +
+
+ +
+ + +
- -
- - - - - { - setSignatureValid(isValid); - }} - onChange={(value) => { - if (signatureValid) { - setSignature(value); - } - }} - allowTypedSignature={document.documentMeta?.typedSignatureEnabled} - /> - - - - {hasSignatureField && !signatureValid && ( -
- - Signature is too small. Please provide a more complete signature. - -
- )} -
-
- -
- - - -
-
+
+ )} - - + + ); }; diff --git a/apps/web/src/app/(signing)/sign/[token]/initials-field.tsx b/apps/web/src/app/(signing)/sign/[token]/initials-field.tsx index b63418076..0f3c6980f 100644 --- a/apps/web/src/app/(signing)/sign/[token]/initials-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/initials-field.tsx @@ -12,7 +12,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { extractInitials } from '@documenso/lib/utils/recipient-formatter'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { trpc } from '@documenso/trpc/react'; import type { @@ -22,26 +21,22 @@ import type { import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredSigningContext } from './provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; export type InitialsFieldProps = { field: FieldWithSignature; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const InitialsField = ({ - field, - recipient, - onSignField, - onUnsignField, -}: InitialsFieldProps) => { +export const InitialsField = ({ field, onSignField, onUnsignField }: InitialsFieldProps) => { const router = useRouter(); const { toast } = useToast(); const { _ } = useLingui(); const { fullName } = useRequiredSigningContext(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const initials = extractInitials(fullName); const [isPending, startTransition] = useTransition(); @@ -87,7 +82,9 @@ export const InitialsField = ({ toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } diff --git a/apps/web/src/app/(signing)/sign/[token]/name-field.tsx b/apps/web/src/app/(signing)/sign/[token]/name-field.tsx index 1a0756d60..311635026 100644 --- a/apps/web/src/app/(signing)/sign/[token]/name-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/name-field.tsx @@ -12,7 +12,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZNameFieldMeta } from '@documenso/lib/types/field-meta'; -import { type Recipient } from '@documenso/prisma/client'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { trpc } from '@documenso/trpc/react'; import type { @@ -28,16 +27,16 @@ import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; import { useRequiredSigningContext } from './provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; export type NameFieldProps = { field: FieldWithSignature; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const NameField = ({ field, recipient, onSignField, onUnsignField }: NameFieldProps) => { +export const NameField = ({ field, onSignField, onUnsignField }: NameFieldProps) => { const router = useRouter(); const { _ } = useLingui(); @@ -45,6 +44,7 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name const { fullName: providedFullName, setFullName: setProvidedFullName } = useRequiredSigningContext(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const { executeActionAuthProcedure } = useRequiredDocumentAuthContext(); @@ -67,7 +67,7 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name const [localFullName, setLocalFullName] = useState(''); const onPreSign = () => { - if (!providedFullName) { + if (!providedFullName && !isAssistantMode) { setShowFullNameModal(true); return false; } @@ -90,9 +90,9 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name const onSign = async (authOptions?: TRecipientActionAuth, name?: string) => { try { - const value = name || providedFullName; + const value = name || providedFullName || ''; - if (!value) { + if (!value && !isAssistantMode) { setShowFullNameModal(true); return; } @@ -124,7 +124,9 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -150,7 +152,7 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the signature.`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } diff --git a/apps/web/src/app/(signing)/sign/[token]/number-field.tsx b/apps/web/src/app/(signing)/sign/[token]/number-field.tsx index 07846468c..7cc78d3ef 100644 --- a/apps/web/src/app/(signing)/sign/[token]/number-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/number-field.tsx @@ -13,7 +13,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZNumberFieldMeta } from '@documenso/lib/types/field-meta'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { trpc } from '@documenso/trpc/react'; import type { @@ -27,6 +26,7 @@ import { Input } from '@documenso/ui/primitives/input'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; type ValidationErrors = { @@ -39,18 +39,18 @@ type ValidationErrors = { export type NumberFieldProps = { field: FieldWithSignature; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const NumberField = ({ field, recipient, onSignField, onUnsignField }: NumberFieldProps) => { +export const NumberField = ({ field, onSignField, onUnsignField }: NumberFieldProps) => { const { _ } = useLingui(); const { toast } = useToast(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const router = useRouter(); const [isPending, startTransition] = useTransition(); - const [showRadioModal, setShowRadioModal] = useState(false); + const [showNumberModal, setShowNumberModal] = useState(false); const { mutateAsync: signFieldWithToken, isPending: isSignFieldWithTokenLoading } = trpc.field.signFieldWithToken.useMutation(DO_NOT_INVALIDATE_QUERY_ON_MUTATION); @@ -105,7 +105,7 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu }; const onDialogSignClick = () => { - setShowRadioModal(false); + setShowNumberModal(false); void executeActionAuthProcedure({ onReauthFormSubmit: async (authOptions) => await onSign(authOptions), @@ -148,14 +148,20 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } }; const onPreSign = () => { - setShowRadioModal(true); + if (isAssistantMode) { + return true; + } + + setShowNumberModal(true); if (localNumber && parsedFieldMeta) { const validationErrors = validateNumberField(localNumber, parsedFieldMeta, true); @@ -173,8 +179,14 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu const onRemove = async () => { try { + if (isAssistantMode && !targetSigner) { + return; + } + + const signingRecipient = isAssistantMode && targetSigner ? targetSigner : recipient; + const payload: TRemovedSignedFieldWithTokenMutationSchema = { - token: recipient.token, + token: signingRecipient.token, fieldId: field.id, }; @@ -193,18 +205,18 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the signature.`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } }; useEffect(() => { - if (!showRadioModal) { + if (!showNumberModal) { setLocalNumber(parsedFieldMeta?.value ? String(parsedFieldMeta.value) : '0'); setErrors(initialErrors); } - }, [showRadioModal]); + }, [showNumberModal]); useEffect(() => { if ( @@ -222,8 +234,8 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu if (parsedFieldMeta?.label) { fieldDisplayName = - parsedFieldMeta.label.length > 10 - ? parsedFieldMeta.label.substring(0, 10) + '...' + parsedFieldMeta.label.length > 20 + ? parsedFieldMeta.label.substring(0, 20) + '...' : parsedFieldMeta.label; } @@ -235,7 +247,7 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu onPreSign={onPreSign} onSign={onSign} onRemove={onRemove} - type="Signature" + type="Number" > {isLoading && (
@@ -278,7 +290,7 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu
)} - + {parsedFieldMeta?.label ? parsedFieldMeta?.label : Number} @@ -334,7 +346,7 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu className="dark:bg-muted dark:hover:bg-muted/80 flex-1 bg-black/5 hover:bg-black/10" variant="secondary" onClick={() => { - setShowRadioModal(false); + setShowNumberModal(false); setLocalNumber(''); }} > diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index ec32082db..df559123d 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -12,11 +12,12 @@ import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-f import { getIsRecipientsTurnToSign } from '@documenso/lib/server-only/recipient/get-is-recipient-turn'; import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; import { getRecipientSignatures } from '@documenso/lib/server-only/recipient/get-recipient-signatures'; +import { getRecipientsForAssistant } from '@documenso/lib/server-only/recipient/get-recipients-for-assistant'; import { getUserByEmail } from '@documenso/lib/server-only/user/get-user-by-email'; import { symmetricDecrypt } from '@documenso/lib/universal/crypto'; import { extractNextHeaderRequestMetadata } from '@documenso/lib/universal/extract-request-metadata'; import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth'; -import { DocumentStatus, SigningStatus } from '@documenso/prisma/client'; +import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client'; import { DocumentAuthProvider } from './document-auth-provider'; import { NoLongerAvailable } from './no-longer-available'; @@ -43,14 +44,14 @@ export default async function SigningPage({ params: { token } }: SigningPageProp const requestMetadata = extractNextHeaderRequestMetadata(requestHeaders); - const [document, fields, recipient, completedFields] = await Promise.all([ + const [document, recipient, fields, completedFields] = await Promise.all([ getDocumentAndSenderByToken({ token, userId: user?.id, requireAccessAuth: false, }).catch(() => null), - getFieldsForToken({ token }), getRecipientByToken({ token }).catch(() => null), + getFieldsForToken({ token }), getCompletedFieldsForToken({ token }), ]); @@ -63,12 +64,21 @@ export default async function SigningPage({ params: { token } }: SigningPageProp return notFound(); } + const recipientWithFields = { ...recipient, fields }; + const isRecipientsTurn = await getIsRecipientsTurnToSign({ token }); if (!isRecipientsTurn) { return redirect(`/sign/${token}/waiting`); } + const allRecipients = + recipient.role === RecipientRole.ASSISTANT + ? await getRecipientsForAssistant({ + token, + }) + : []; + const { derivedRecipientAccessAuth } = extractDocumentAuthMethods({ documentAuth: document.authOptions, recipientAuth: recipient.authOptions, @@ -153,11 +163,12 @@ export default async function SigningPage({ params: { token } }: SigningPageProp user={user} > diff --git a/apps/web/src/app/(signing)/sign/[token]/radio-field.tsx b/apps/web/src/app/(signing)/sign/[token]/radio-field.tsx index 398181ec1..31e2116a6 100644 --- a/apps/web/src/app/(signing)/sign/[token]/radio-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/radio-field.tsx @@ -12,7 +12,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZRadioFieldMeta } from '@documenso/lib/types/field-meta'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignatureAndFieldMeta } from '@documenso/prisma/types/field-with-signature-and-fieldmeta'; import { trpc } from '@documenso/trpc/react'; import type { @@ -24,18 +23,19 @@ import { RadioGroup, RadioGroupItem } from '@documenso/ui/primitives/radio-group import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; export type RadioFieldProps = { field: FieldWithSignatureAndFieldMeta; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const RadioField = ({ field, recipient, onSignField, onUnsignField }: RadioFieldProps) => { +export const RadioField = ({ field, onSignField, onUnsignField }: RadioFieldProps) => { const { _ } = useLingui(); const { toast } = useToast(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const router = useRouter(); const [isPending, startTransition] = useTransition(); @@ -68,16 +68,26 @@ export const RadioField = ({ field, recipient, onSignField, onUnsignField }: Rad const onSign = async (authOptions?: TRecipientActionAuth) => { try { + if (isAssistantMode && !targetSigner) { + return; + } + if (!selectedOption) { return; } + const signingRecipient = isAssistantMode && targetSigner ? targetSigner : recipient; + const payload: TSignFieldWithTokenMutationSchema = { - token: recipient.token, + token: signingRecipient.token, fieldId: field.id, value: selectedOption, isBase64: true, authOptions, + ...(isAssistantMode && { + isAssistantPrefill: true, + assistantId: recipient.id, + }), }; if (onSignField) { @@ -99,7 +109,9 @@ export const RadioField = ({ field, recipient, onSignField, onUnsignField }: Rad toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -126,7 +138,7 @@ export const RadioField = ({ field, recipient, onSignField, onUnsignField }: Rad toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the signature.`), + description: _(msg`An error occurred while removing the selection.`), variant: 'destructive', }); } diff --git a/apps/web/src/app/(signing)/sign/[token]/recipient-context.tsx b/apps/web/src/app/(signing)/sign/[token]/recipient-context.tsx new file mode 100644 index 000000000..30311274f --- /dev/null +++ b/apps/web/src/app/(signing)/sign/[token]/recipient-context.tsx @@ -0,0 +1,66 @@ +'use client'; + +import { type PropsWithChildren, createContext, useContext } from 'react'; + +import type { Recipient } from '@documenso/prisma/client'; +import type { RecipientWithFields } from '@documenso/prisma/types/recipient-with-fields'; + +export interface RecipientContextValue { + /** + * The recipient who is currently signing the document. + * In regular mode, this is the actual signer. + * In assistant mode, this is the recipient who is helping fill out the document. + */ + recipient: Recipient | RecipientWithFields; + + /** + * Only present in assistant mode. + * The recipient on whose behalf we're filling out the document. + */ + targetSigner: RecipientWithFields | null; + + /** + * Whether we're in assistant mode (one recipient filling out for another) + */ + isAssistantMode: boolean; +} + +const RecipientContext = createContext(null); + +export interface RecipientProviderProps extends PropsWithChildren { + recipient: Recipient | RecipientWithFields; + targetSigner?: RecipientWithFields | null; +} + +export const RecipientProvider = ({ + children, + recipient, + targetSigner = null, +}: RecipientProviderProps) => { + // console.log({ + // recipient, + // targetSigner, + // isAssistantMode: !!targetSigner, + // }); + return ( + + {children} + + ); +}; + +export function useRecipientContext() { + const context = useContext(RecipientContext); + + if (!context) { + throw new Error('useRecipientContext must be used within a RecipientProvider'); + } + + return context; +} diff --git a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx index bba784975..70d10ca09 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx @@ -11,7 +11,6 @@ import { Loader } from 'lucide-react'; import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/trpc'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; -import { type Recipient } from '@documenso/prisma/client'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import { trpc } from '@documenso/trpc/react'; import type { @@ -28,12 +27,12 @@ import { SigningDisclosure } from '~/components/general/signing-disclosure'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; import { useRequiredSigningContext } from './provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; type SignatureFieldState = 'empty' | 'signed-image' | 'signed-text'; export type SignatureFieldProps = { field: FieldWithSignature; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; typedSignatureEnabled?: boolean; @@ -41,15 +40,14 @@ export type SignatureFieldProps = { export const SignatureField = ({ field, - recipient, onSignField, onUnsignField, typedSignatureEnabled, }: SignatureFieldProps) => { const router = useRouter(); - const { _ } = useLingui(); const { toast } = useToast(); + const { recipient } = useRecipientContext(); const signatureRef = useRef(null); const containerRef = useRef(null); diff --git a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx index cf8403696..a2cdfe9c7 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx @@ -46,6 +46,7 @@ export type SignatureFieldProps = { | 'Email' | 'Name' | 'Signature' + | 'Text' | 'Radio' | 'Dropdown' | 'Number' diff --git a/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx b/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx index 019f3e9c3..9c129edb6 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx @@ -1,3 +1,7 @@ +'use client'; + +import { useState } from 'react'; + import { Trans } from '@lingui/macro'; import { match } from 'ts-pattern'; @@ -13,9 +17,10 @@ import { ZTextFieldMeta, } from '@documenso/lib/types/field-meta'; import type { CompletedField } from '@documenso/lib/types/fields'; -import type { Field, Recipient } from '@documenso/prisma/client'; +import type { Field } from '@documenso/prisma/client'; import { FieldType, RecipientRole } from '@documenso/prisma/client'; import type { FieldWithSignatureAndFieldMeta } from '@documenso/prisma/types/field-with-signature-and-fieldmeta'; +import type { RecipientWithFields } from '@documenso/prisma/types/recipient-with-fields'; import { Card, CardContent } from '@documenso/ui/primitives/card'; import { ElementVisible } from '@documenso/ui/primitives/element-visible'; import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; @@ -32,16 +37,18 @@ import { InitialsField } from './initials-field'; import { NameField } from './name-field'; import { NumberField } from './number-field'; import { RadioField } from './radio-field'; +import { RecipientProvider } from './recipient-context'; import { RejectDocumentDialog } from './reject-document-dialog'; import { SignatureField } from './signature-field'; import { TextField } from './text-field'; export type SigningPageViewProps = { document: DocumentAndSender; - recipient: Recipient; + recipient: RecipientWithFields; fields: Field[]; completedFields: CompletedField[]; isRecipientsTurn: boolean; + allRecipients?: RecipientWithFields[]; }; export const SigningPageView = ({ @@ -50,9 +57,12 @@ export const SigningPageView = ({ fields, completedFields, isRecipientsTurn, + allRecipients = [], }: SigningPageViewProps) => { const { documentData, documentMeta } = document; + const [selectedSignerId, setSelectedSignerId] = useState(allRecipients?.[0]?.id); + const shouldUseTeamDetails = document.teamId && document.team?.teamGlobalSettings?.includeSenderDetails === false; @@ -64,153 +74,162 @@ export const SigningPageView = ({ senderEmail = document.team?.teamEmail?.email ? `(${document.team.teamEmail.email})` : ''; } + const selectedSigner = allRecipients?.find((r) => r.id === selectedSignerId); + return ( -
-

- {document.title} -

- -
-
- - {senderName} {senderEmail} - {' '} - - {match(recipient.role) - .with(RecipientRole.VIEWER, () => - document.teamId && !shouldUseTeamDetails ? ( - - on behalf of "{document.team?.name}" has invited you to view this document - - ) : ( - has invited you to view this document - ), - ) - .with(RecipientRole.SIGNER, () => - document.teamId && !shouldUseTeamDetails ? ( - - on behalf of "{document.team?.name}" has invited you to sign this document - - ) : ( - has invited you to sign this document - ), - ) - .with(RecipientRole.APPROVER, () => - document.teamId && !shouldUseTeamDetails ? ( - - on behalf of "{document.team?.name}" has invited you to approve this document - - ) : ( - has invited you to approve this document - ), - ) - .otherwise(() => null)} - -
- - -
- -
- +
+

- - - - + {document.title} +

-
- +
+
+ + {senderName} {senderEmail} + {' '} + + {match(recipient.role) + .with(RecipientRole.VIEWER, () => + document.teamId && !shouldUseTeamDetails ? ( + + on behalf of "{document.team?.name}" has invited you to view this document + + ) : ( + has invited you to view this document + ), + ) + .with(RecipientRole.SIGNER, () => + document.teamId && !shouldUseTeamDetails ? ( + + on behalf of "{document.team?.name}" has invited you to sign this document + + ) : ( + has invited you to sign this document + ), + ) + .with(RecipientRole.APPROVER, () => + document.teamId && !shouldUseTeamDetails ? ( + + on behalf of "{document.team?.name}" has invited you to approve this document + + ) : ( + has invited you to approve this document + ), + ) + .with(RecipientRole.ASSISTANT, () => + document.teamId && !shouldUseTeamDetails ? ( + + on behalf of "{document.team?.name}" has invited you to assist this document + + ) : ( + has invited you to assist this document + ), + ) + .otherwise(() => null)} + +
+ +
-
- - - - - - {fields.map((field) => - match(field.type) - .with(FieldType.SIGNATURE, () => ( - + + + - )) - .with(FieldType.INITIALS, () => ( - - )) - .with(FieldType.NAME, () => ( - - )) - .with(FieldType.DATE, () => ( - - )) - .with(FieldType.EMAIL, () => ( - - )) - .with(FieldType.TEXT, () => { - const fieldWithMeta: FieldWithSignatureAndFieldMeta = { - ...field, - fieldMeta: field.fieldMeta ? ZTextFieldMeta.parse(field.fieldMeta) : null, - }; - return ; - }) - .with(FieldType.NUMBER, () => { - const fieldWithMeta: FieldWithSignatureAndFieldMeta = { - ...field, - fieldMeta: field.fieldMeta ? ZNumberFieldMeta.parse(field.fieldMeta) : null, - }; - return ; - }) - .with(FieldType.RADIO, () => { - const fieldWithMeta: FieldWithSignatureAndFieldMeta = { - ...field, - fieldMeta: field.fieldMeta ? ZRadioFieldMeta.parse(field.fieldMeta) : null, - }; - return ; - }) - .with(FieldType.CHECKBOX, () => { - const fieldWithMeta: FieldWithSignatureAndFieldMeta = { - ...field, - fieldMeta: field.fieldMeta ? ZCheckboxFieldMeta.parse(field.fieldMeta) : null, - }; - return ; - }) - .with(FieldType.DROPDOWN, () => { - const fieldWithMeta: FieldWithSignatureAndFieldMeta = { - ...field, - fieldMeta: field.fieldMeta ? ZDropdownFieldMeta.parse(field.fieldMeta) : null, - }; - return ; - }) - .otherwise(() => null), + + + +
+ +
+
+ + + + {recipient.role !== RecipientRole.ASSISTANT && ( + )} - -
+ + + {fields + .filter( + (field) => + recipient.role !== RecipientRole.ASSISTANT || + field.recipientId === selectedSigner?.id, + ) + .map((field) => + match(field.type) + .with(FieldType.SIGNATURE, () => ) + .with(FieldType.INITIALS, () => ) + .with(FieldType.NAME, () => ) + .with(FieldType.DATE, () => ( + + )) + .with(FieldType.EMAIL, () => ) + .with(FieldType.TEXT, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZTextFieldMeta.parse(field.fieldMeta) : null, + }; + return ; + }) + .with(FieldType.NUMBER, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZNumberFieldMeta.parse(field.fieldMeta) : null, + }; + return ; + }) + .with(FieldType.RADIO, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZRadioFieldMeta.parse(field.fieldMeta) : null, + }; + return ; + }) + .with(FieldType.CHECKBOX, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZCheckboxFieldMeta.parse(field.fieldMeta) : null, + }; + return ; + }) + .with(FieldType.DROPDOWN, () => { + const fieldWithMeta: FieldWithSignatureAndFieldMeta = { + ...field, + fieldMeta: field.fieldMeta ? ZDropdownFieldMeta.parse(field.fieldMeta) : null, + }; + return ; + }) + .otherwise(() => null), + )} + +
+ ); }; diff --git a/apps/web/src/app/(signing)/sign/[token]/text-field.tsx b/apps/web/src/app/(signing)/sign/[token]/text-field.tsx index 3f2229e0c..53ad50a3e 100644 --- a/apps/web/src/app/(signing)/sign/[token]/text-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/text-field.tsx @@ -13,7 +13,6 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/tr import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import { ZTextFieldMeta } from '@documenso/lib/types/field-meta'; -import type { Recipient } from '@documenso/prisma/client'; import type { FieldWithSignatureAndFieldMeta } from '@documenso/prisma/types/field-with-signature-and-fieldmeta'; import { trpc } from '@documenso/trpc/react'; import type { @@ -27,26 +26,31 @@ import { Textarea } from '@documenso/ui/primitives/textarea'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredDocumentAuthContext } from './document-auth-provider'; +import { useRecipientContext } from './recipient-context'; import { SigningFieldContainer } from './signing-field-container'; +type ValidationErrors = { + required: string[]; + characterLimit: string[]; +}; + export type TextFieldProps = { field: FieldWithSignatureAndFieldMeta; - recipient: Recipient; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; onUnsignField?: (value: TRemovedSignedFieldWithTokenMutationSchema) => Promise | void; }; -export const TextField = ({ field, recipient, onSignField, onUnsignField }: TextFieldProps) => { +export const TextField = ({ field, onSignField, onUnsignField }: TextFieldProps) => { const { _ } = useLingui(); const { toast } = useToast(); + const { recipient, targetSigner, isAssistantMode } = useRecipientContext(); const router = useRouter(); - const initialErrors: Record = { + const initialErrors: ValidationErrors = { required: [], characterLimit: [], }; - const [errors, setErrors] = useState(initialErrors); const userInputHasErrors = Object.values(errors).some((error) => error.length > 0); @@ -166,7 +170,9 @@ export const TextField = ({ field, recipient, onSignField, onUnsignField }: Text toast({ title: _(msg`Error`), - description: _(msg`An error occurred while signing the document.`), + description: isAssistantMode + ? _(msg`An error occurred while signing as assistant.`) + : _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -194,7 +200,7 @@ export const TextField = ({ field, recipient, onSignField, onUnsignField }: Text toast({ title: _(msg`Error`), - description: _(msg`An error occurred while removing the text.`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } @@ -234,7 +240,7 @@ export const TextField = ({ field, recipient, onSignField, onUnsignField }: Text onPreSign={onPreSign} onSign={onSign} onRemove={onRemove} - type="Signature" + type="Text" > {isLoading && (
@@ -276,7 +282,7 @@ export const TextField = ({ field, recipient, onSignField, onUnsignField }: Text > {field.customText.length < 20 ? field.customText - : field.customText.substring(0, 15) + '...'} + : field.customText.substring(0, 20) + '...'}

)} diff --git a/apps/web/src/app/embed/completed.tsx b/apps/web/src/app/embed/completed.tsx index 1cfc07d3b..13ab5701d 100644 --- a/apps/web/src/app/embed/completed.tsx +++ b/apps/web/src/app/embed/completed.tsx @@ -12,7 +12,7 @@ export type EmbedDocumentCompletedPageProps = { export const EmbedDocumentCompleted = ({ name, signature }: EmbedDocumentCompletedPageProps) => { console.log({ signature }); return ( -
+

Document Completed!

diff --git a/apps/web/src/app/embed/direct/[[...url]]/client.tsx b/apps/web/src/app/embed/direct/[[...url]]/client.tsx index 266672209..dbb74a36a 100644 --- a/apps/web/src/app/embed/direct/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/direct/[[...url]]/client.tsx @@ -485,7 +485,6 @@ export const EmbedDirectTemplateClientPage = ({ {/* Fields */} - + + + ); diff --git a/apps/web/src/app/embed/document-fields.tsx b/apps/web/src/app/embed/document-fields.tsx index 79256b07e..1cc95d7cb 100644 --- a/apps/web/src/app/embed/document-fields.tsx +++ b/apps/web/src/app/embed/document-fields.tsx @@ -12,7 +12,7 @@ import { ZRadioFieldMeta, ZTextFieldMeta, } from '@documenso/lib/types/field-meta'; -import type { DocumentMeta, Recipient, TemplateMeta } from '@documenso/prisma/client'; +import type { DocumentMeta, TemplateMeta } from '@documenso/prisma/client'; import { type Field, FieldType } from '@documenso/prisma/client'; import type { FieldWithSignatureAndFieldMeta } from '@documenso/prisma/types/field-with-signature-and-fieldmeta'; import type { @@ -33,7 +33,6 @@ import { SignatureField } from '~/app/(signing)/sign/[token]/signature-field'; import { TextField } from '~/app/(signing)/sign/[token]/text-field'; export type EmbedDocumentFieldsProps = { - recipient: Recipient; fields: Field[]; metadata?: DocumentMeta | TemplateMeta | null; onSignField?: (value: TSignFieldWithTokenMutationSchema) => Promise | void; @@ -41,7 +40,6 @@ export type EmbedDocumentFieldsProps = { }; export const EmbedDocumentFields = ({ - recipient, fields, metadata, onSignField, @@ -55,7 +53,6 @@ export const EmbedDocumentFields = ({ @@ -74,7 +70,6 @@ export const EmbedDocumentFields = ({ @@ -83,7 +78,6 @@ export const EmbedDocumentFields = ({ @@ -109,7 +102,6 @@ export const EmbedDocumentFields = ({ @@ -125,7 +117,6 @@ export const EmbedDocumentFields = ({ @@ -141,7 +132,6 @@ export const EmbedDocumentFields = ({ @@ -157,7 +147,6 @@ export const EmbedDocumentFields = ({ @@ -173,7 +162,6 @@ export const EmbedDocumentFields = ({ diff --git a/apps/web/src/app/embed/sign/[[...url]]/client.tsx b/apps/web/src/app/embed/sign/[[...url]]/client.tsx index bfaeaeec5..e8ee6ad52 100644 --- a/apps/web/src/app/embed/sign/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/sign/[[...url]]/client.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect, useLayoutEffect, useState } from 'react'; +import { useEffect, useId, useLayoutEffect, useState } from 'react'; import { Trans, msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; @@ -9,8 +9,9 @@ import { LucideChevronDown, LucideChevronUp } from 'lucide-react'; import { useThrottleFn } from '@documenso/lib/client-only/hooks/use-throttle-fn'; import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; import { validateFieldsInserted } from '@documenso/lib/utils/fields'; -import type { DocumentMeta, Recipient, TemplateMeta } from '@documenso/prisma/client'; -import { type DocumentData, type Field, FieldType } from '@documenso/prisma/client'; +import type { DocumentMeta, TemplateMeta } from '@documenso/prisma/client'; +import { type DocumentData, type Field, FieldType, RecipientRole } from '@documenso/prisma/client'; +import type { RecipientWithFields } from '@documenso/prisma/types/recipient-with-fields'; import { trpc } from '@documenso/trpc/react'; import { FieldToolTip } from '@documenso/ui/components/field/field-tooltip'; import { Button } from '@documenso/ui/primitives/button'; @@ -19,10 +20,12 @@ import { ElementVisible } from '@documenso/ui/primitives/element-visible'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; +import { RadioGroup, RadioGroupItem } from '@documenso/ui/primitives/radio-group'; import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { useRequiredSigningContext } from '~/app/(signing)/sign/[token]/provider'; +import { RecipientProvider } from '~/app/(signing)/sign/[token]/recipient-context'; import { Logo } from '~/components/branding/logo'; import { EmbedClientLoading } from '../../client-loading'; @@ -35,12 +38,13 @@ export type EmbedSignDocumentClientPageProps = { token: string; documentId: number; documentData: DocumentData; - recipient: Recipient; + recipient: RecipientWithFields; fields: Field[]; metadata?: DocumentMeta | TemplateMeta | null; isCompleted?: boolean; hidePoweredBy?: boolean; isPlatformOrEnterprise?: boolean; + allRecipients?: RecipientWithFields[]; }; export const EmbedSignDocumentClientPage = ({ @@ -53,6 +57,7 @@ export const EmbedSignDocumentClientPage = ({ isCompleted, hidePoweredBy = false, isPlatformOrEnterprise = false, + allRecipients = [], }: EmbedSignDocumentClientPageProps) => { const { _ } = useLingui(); const { toast } = useToast(); @@ -70,17 +75,21 @@ export const EmbedSignDocumentClientPage = ({ const [hasFinishedInit, setHasFinishedInit] = useState(false); const [hasDocumentLoaded, setHasDocumentLoaded] = useState(false); const [hasCompletedDocument, setHasCompletedDocument] = useState(isCompleted); + const [selectedSignerId, setSelectedSignerId] = useState( + allRecipients.length > 0 ? allRecipients[0].id : null, + ); const [isExpanded, setIsExpanded] = useState(false); - const [isNameLocked, setIsNameLocked] = useState(false); - const [showPendingFieldTooltip, setShowPendingFieldTooltip] = useState(false); + const selectedSigner = allRecipients.find((r) => r.id === selectedSignerId); + const isAssistantMode = recipient.role === RecipientRole.ASSISTANT; + const [throttledOnCompleteClick, isThrottled] = useThrottleFn(() => void onCompleteClick(), 500); const [pendingFields, _completedFields] = [ - fields.filter((field) => !field.inserted), + fields.filter((field) => field.recipientId === recipient.id && !field.inserted), fields.filter((field) => field.inserted), ]; @@ -89,6 +98,8 @@ export const EmbedSignDocumentClientPage = ({ const hasSignatureField = fields.some((field) => field.type === FieldType.SIGNATURE); + const assistantSignersId = useId(); + const onNextFieldClick = () => { validateFieldsInserted(fields); @@ -214,164 +225,234 @@ export const EmbedSignDocumentClientPage = ({ } return ( -
- {(!hasFinishedInit || !hasDocumentLoaded) && } + +
+ {(!hasFinishedInit || !hasDocumentLoaded) && } -
- {/* Viewer */} -
- setHasDocumentLoaded(true)} - /> -
+
+ {/* Viewer */} +
+ setHasDocumentLoaded(true)} + /> +
- {/* Widget */} -
-
- {/* Header */} -
-
-

- Sign document -

+ {/* Widget */} +
+
+ {/* Header */} +
+
+

+ {isAssistantMode ? ( + Assist with signing + ) : ( + Sign document + )} +

- -
-
- -
-

- Sign the document to complete the process. -

- -
-
- - {/* Form */} -
-
-
- - - !isNameLocked && setFullName(e.target.value)} - /> -
- -
- - - -
- -
- - - - - { - setSignature(value); - }} - onValidityChange={(isValid) => { - setSignatureValid(isValid); - }} - allowTypedSignature={Boolean( - metadata && - 'typedSignatureEnabled' in metadata && - metadata.typedSignatureEnabled, - )} + +
+
- {hasSignatureField && !signatureValid && ( -
- - Signature is too small. Please provide a more complete signature. - +
+

+ {isAssistantMode ? ( + Help complete the document for other signers. + ) : ( + Sign the document to complete the process. + )} +

+ +
+
+ + {/* Form */} +
+
+ {isAssistantMode && ( +
+ + +
+ setSelectedSignerId(Number(value))} + > + {allRecipients + .filter((r) => r.fields.length > 0) + .map((r) => ( +
+
+
+ + +
+ +

{r.email}

+
+
+
+ {r.fields.length} {r.fields.length === 1 ? 'field' : 'fields'} +
+
+
+ ))} +
+
)} + + {!isAssistantMode && ( + <> +
+ + + !isNameLocked && setFullName(e.target.value)} + /> +
+ +
+ + + +
+ +
+ + + + + { + setSignature(value); + }} + onValidityChange={(isValid) => { + setSignatureValid(isValid); + }} + allowTypedSignature={Boolean( + metadata && + 'typedSignatureEnabled' in metadata && + metadata.typedSignatureEnabled, + )} + /> + + + + {hasSignatureField && !signatureValid && ( +
+ + Signature is too small. Please provide a more complete signature. + +
+ )} +
+ + )}
-
-
+
-
- {pendingFields.length > 0 ? ( - - ) : ( - - )} +
+ {pendingFields.length > 0 ? ( + + ) : ( + + )} +
+ + + {showPendingFieldTooltip && pendingFields.length > 0 && ( + + Click to insert field + + )} + + + {/* Fields */} +
- - {showPendingFieldTooltip && pendingFields.length > 0 && ( - - Click to insert field - - )} - - - {/* Fields */} - + {!hidePoweredBy && ( +
+ Powered by + +
+ )}
- - {!hidePoweredBy && ( -
- Powered by - -
- )} -
+ ); }; diff --git a/apps/web/src/app/embed/sign/[[...url]]/page.tsx b/apps/web/src/app/embed/sign/[[...url]]/page.tsx index c07cd0be3..0e9ac7a60 100644 --- a/apps/web/src/app/embed/sign/[[...url]]/page.tsx +++ b/apps/web/src/app/embed/sign/[[...url]]/page.tsx @@ -8,17 +8,20 @@ import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app'; import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session'; import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token'; +import { getIsRecipientsTurnToSign } from '@documenso/lib/server-only/recipient/get-is-recipient-turn'; import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; +import { getRecipientsForAssistant } from '@documenso/lib/server-only/recipient/get-recipients-for-assistant'; import { getTeamById } from '@documenso/lib/server-only/team/get-team'; import { DocumentAccessAuth } from '@documenso/lib/types/document-auth'; import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth'; -import { DocumentStatus } from '@documenso/prisma/client'; +import { DocumentStatus, RecipientRole } from '@documenso/prisma/client'; import { DocumentAuthProvider } from '~/app/(signing)/sign/[token]/document-auth-provider'; import { SigningProvider } from '~/app/(signing)/sign/[token]/provider'; import { EmbedAuthenticateView } from '../../authenticate'; import { EmbedPaywall } from '../../paywall'; +import { EmbedWaitingForTurn } from '../../waiting-for-turn'; import { EmbedSignDocumentClientPage } from './client'; export type EmbedSignDocumentPageProps = { @@ -85,6 +88,19 @@ export default async function EmbedSignDocumentPage({ params }: EmbedSignDocumen ); } + const isRecipientsTurnToSign = await getIsRecipientsTurnToSign({ token }); + + if (!isRecipientsTurnToSign) { + return ; + } + + const allRecipients = + recipient.role === RecipientRole.ASSISTANT + ? await getRecipientsForAssistant({ + token, + }) + : []; + const team = document.teamId ? await getTeamById({ teamId: document.teamId, userId: document.userId }).catch(() => null) : null; @@ -112,6 +128,7 @@ export default async function EmbedSignDocumentPage({ params }: EmbedSignDocumen isCompleted={document.status === DocumentStatus.COMPLETED} hidePoweredBy={isPlatformDocument || isEnterpriseDocument || hidePoweredBy} isPlatformOrEnterprise={isPlatformDocument || isEnterpriseDocument} + allRecipients={allRecipients} /> diff --git a/apps/web/src/app/embed/waiting-for-turn.tsx b/apps/web/src/app/embed/waiting-for-turn.tsx new file mode 100644 index 000000000..4d31ca796 --- /dev/null +++ b/apps/web/src/app/embed/waiting-for-turn.tsx @@ -0,0 +1,48 @@ +'use client'; + +import { useEffect, useState } from 'react'; + +import { Trans } from '@lingui/macro'; + +export const EmbedWaitingForTurn = () => { + const [hasPostedMessage, setHasPostedMessage] = useState(false); + + useEffect(() => { + if (window.parent && !hasPostedMessage) { + window.parent.postMessage( + { + action: 'document-waiting-for-turn', + data: null, + }, + '*', + ); + } + + setHasPostedMessage(true); + }, [hasPostedMessage]); + + if (!hasPostedMessage) { + return null; + } + + return ( +
+

+ Waiting for Your Turn +

+ +
+

+ + It's currently not your turn to sign. Please check back soon as this document should be + available for you to sign shortly. + +

+ +

+ Please check with the parent application for more information. +

+
+
+ ); +}; diff --git a/apps/web/src/components/(dashboard)/common/command-menu.tsx b/apps/web/src/components/(dashboard)/common/command-menu.tsx index e07ed9f1b..7d3b91d52 100644 --- a/apps/web/src/components/(dashboard)/common/command-menu.tsx +++ b/apps/web/src/components/(dashboard)/common/command-menu.tsx @@ -85,7 +85,7 @@ export function CommandMenu({ open, onOpenChange }: CommandMenuProps) { const [search, setSearch] = useState(''); const [pages, setPages] = useState([]); - const { data: searchDocumentsData, isLoading: isSearchingDocuments } = + const { data: searchDocumentsData, isPending: isSearchingDocuments } = trpcReact.document.searchDocuments.useQuery( { query: search, diff --git a/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx b/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx index fa991099b..390c138b3 100644 --- a/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx +++ b/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx @@ -67,7 +67,7 @@ export const TransferTeamDialog = ({ const { data, refetch: refetchTeamMembers, - isLoading: loadingTeamMembers, + isPending: loadingTeamMembers, isLoadingError: loadingTeamMembersError, } = trpc.team.getTeamMembers.useQuery({ teamId, diff --git a/apps/web/src/components/document/document-history-sheet.tsx b/apps/web/src/components/document/document-history-sheet.tsx index 8bda3a424..cb607a125 100644 --- a/apps/web/src/components/document/document-history-sheet.tsx +++ b/apps/web/src/components/document/document-history-sheet.tsx @@ -353,6 +353,16 @@ export const DocumentHistorySheet = ({ /> ), ) + .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_PREFILLED }, ({ data }) => ( + + )) .exhaustive()} {isUserDetailsVisible && ( diff --git a/package-lock.json b/package-lock.json index 03988dc46..9c49e7fa6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "1.9.0-rc.11", + "version": "1.9.1-rc.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "1.9.0-rc.11", + "version": "1.9.1-rc.0", "workspaces": [ "apps/*", "packages/*" @@ -106,7 +106,7 @@ }, "apps/web": { "name": "@documenso/web", - "version": "1.9.0-rc.11", + "version": "1.9.1-rc.0", "license": "AGPL-3.0", "dependencies": { "@documenso/api": "*", diff --git a/package.json b/package.json index 71cf953a3..1fbace766 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.9.0-rc.11", + "version": "1.9.1-rc.0", "scripts": { "build": "turbo run build", "build:web": "turbo run build --filter=@documenso/web", diff --git a/packages/app-tests/e2e/document-flow/stepper-component.spec.ts b/packages/app-tests/e2e/document-flow/stepper-component.spec.ts index da4eae6d7..d53f33d11 100644 --- a/packages/app-tests/e2e/document-flow/stepper-component.spec.ts +++ b/packages/app-tests/e2e/document-flow/stepper-component.spec.ts @@ -540,12 +540,19 @@ test('[DOCUMENT_FLOW]: should be able to create and sign a document with 3 recip if (i > 1) { await page.getByRole('button', { name: 'Add Signer' }).click(); } + await page - .getByPlaceholder('Email') + .getByLabel('Email') + .nth(i - 1) + .focus(); + + await page + .getByLabel('Email') .nth(i - 1) .fill(`user${i}@example.com`); + await page - .getByPlaceholder('Name') + .getByLabel('Name') .nth(i - 1) .fill(`User ${i}`); } diff --git a/packages/email/template-components/template-document-invite.tsx b/packages/email/template-components/template-document-invite.tsx index c8b4a402d..998d8549c 100644 --- a/packages/email/template-components/template-document-invite.tsx +++ b/packages/email/template-components/template-document-invite.tsx @@ -84,6 +84,9 @@ export const TemplateDocumentInvite = ({ .with(RecipientRole.VIEWER, () => Continue by viewing the document.) .with(RecipientRole.APPROVER, () => Continue by approving the document.) .with(RecipientRole.CC, () => '') + .with(RecipientRole.ASSISTANT, () => ( + Continue by assisting with the document. + )) .exhaustive()} @@ -104,6 +107,7 @@ export const TemplateDocumentInvite = ({ .with(RecipientRole.VIEWER, () => View Document) .with(RecipientRole.APPROVER, () => Approve Document) .with(RecipientRole.CC, () => '') + .with(RecipientRole.ASSISTANT, () => Assist Document) .exhaustive()} diff --git a/packages/lib/constants/document-audit-logs.ts b/packages/lib/constants/document-audit-logs.ts index 8ae654977..9b91d2cb9 100644 --- a/packages/lib/constants/document-audit-logs.ts +++ b/packages/lib/constants/document-audit-logs.ts @@ -10,6 +10,9 @@ export const DOCUMENT_AUDIT_LOG_EMAIL_FORMAT = { [DOCUMENT_EMAIL_TYPE.APPROVE_REQUEST]: { description: 'Approval request', }, + [DOCUMENT_EMAIL_TYPE.ASSISTING_REQUEST]: { + description: 'Assisting request', + }, [DOCUMENT_EMAIL_TYPE.CC]: { description: 'CC', }, diff --git a/packages/lib/constants/i18n.ts b/packages/lib/constants/i18n.ts index b3c8a8954..f0e495e59 100644 --- a/packages/lib/constants/i18n.ts +++ b/packages/lib/constants/i18n.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -export const SUPPORTED_LANGUAGE_CODES = ['de', 'en', 'fr', 'es'] as const; +export const SUPPORTED_LANGUAGE_CODES = ['de', 'en', 'fr', 'es', 'it', 'pl'] as const; export const ZSupportedLanguageCodeSchema = z.enum(SUPPORTED_LANGUAGE_CODES).catch('en'); @@ -46,6 +46,14 @@ export const SUPPORTED_LANGUAGES: Record = { full: 'Spanish', short: 'es', }, + it: { + full: 'Italian', + short: 'it', + }, + pl: { + short: 'pl', + full: 'Polish', + }, } satisfies Record; export const isValidLanguageCode = (code: unknown): code is SupportedLanguageCodes => diff --git a/packages/lib/constants/recipient-roles.ts b/packages/lib/constants/recipient-roles.ts index ad994c98d..5adc8a735 100644 --- a/packages/lib/constants/recipient-roles.ts +++ b/packages/lib/constants/recipient-roles.ts @@ -32,12 +32,26 @@ export const RECIPIENT_ROLES_DESCRIPTION = { roleName: msg`Viewer`, roleNamePlural: msg`Viewers`, }, + [RecipientRole.ASSISTANT]: { + actionVerb: msg`Assist`, + actioned: msg`Assisted`, + progressiveVerb: msg`Assisting`, + roleName: msg`Assistant`, + roleNamePlural: msg`Assistants`, + }, } satisfies Record; +export const RECIPIENT_ROLE_TO_DISPLAY_TYPE = { + [RecipientRole.SIGNER]: `SIGNING_REQUEST`, + [RecipientRole.VIEWER]: `VIEW_REQUEST`, + [RecipientRole.APPROVER]: `APPROVE_REQUEST`, +} as const; + export const RECIPIENT_ROLE_TO_EMAIL_TYPE = { [RecipientRole.SIGNER]: `SIGNING_REQUEST`, [RecipientRole.VIEWER]: `VIEW_REQUEST`, [RecipientRole.APPROVER]: `APPROVE_REQUEST`, + [RecipientRole.ASSISTANT]: `ASSISTING_REQUEST`, } as const; export const RECIPIENT_ROLE_SIGNING_REASONS = { @@ -45,4 +59,5 @@ export const RECIPIENT_ROLE_SIGNING_REASONS = { [RecipientRole.APPROVER]: msg`I am an approver of this document`, [RecipientRole.CC]: msg`I am required to receive a copy of this document`, [RecipientRole.VIEWER]: msg`I am a viewer of this document`, + [RecipientRole.ASSISTANT]: msg`I am an assistant of this document`, } satisfies Record; diff --git a/packages/lib/server-only/document/resend-document.tsx b/packages/lib/server-only/document/resend-document.tsx index 6f00cbc78..e803f5d7a 100644 --- a/packages/lib/server-only/document/resend-document.tsx +++ b/packages/lib/server-only/document/resend-document.tsx @@ -14,8 +14,8 @@ import type { ApiRequestMetadata } from '@documenso/lib/universal/extract-reques import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs'; import { renderCustomEmailTemplate } from '@documenso/lib/utils/render-custom-email-template'; import { prisma } from '@documenso/prisma'; -import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client'; import type { Prisma } from '@documenso/prisma/client'; +import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client'; import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; diff --git a/packages/lib/server-only/field/get-fields-for-token.ts b/packages/lib/server-only/field/get-fields-for-token.ts index 635773f8f..6abb07281 100644 --- a/packages/lib/server-only/field/get-fields-for-token.ts +++ b/packages/lib/server-only/field/get-fields-for-token.ts @@ -1,15 +1,55 @@ import { prisma } from '@documenso/prisma'; +import { FieldType, RecipientRole, SigningStatus } from '@documenso/prisma/client'; export type GetFieldsForTokenOptions = { token: string; }; export const getFieldsForToken = async ({ token }: GetFieldsForTokenOptions) => { + if (!token) { + throw new Error('Missing token'); + } + + const recipient = await prisma.recipient.findFirst({ + where: { token }, + }); + + if (!recipient) { + return []; + } + + if (recipient.role === RecipientRole.ASSISTANT) { + return await prisma.field.findMany({ + where: { + OR: [ + { + type: { + not: FieldType.SIGNATURE, + }, + recipient: { + signingStatus: { + not: SigningStatus.SIGNED, + }, + signingOrder: { + gte: recipient.signingOrder ?? 0, + }, + }, + documentId: recipient.documentId, + }, + { + recipientId: recipient.id, + }, + ], + }, + include: { + signature: true, + }, + }); + } + return await prisma.field.findMany({ where: { - recipient: { - token, - }, + recipientId: recipient.id, }, include: { signature: true, diff --git a/packages/lib/server-only/field/remove-signed-field-with-token.ts b/packages/lib/server-only/field/remove-signed-field-with-token.ts index 654dfec20..ba56305e1 100644 --- a/packages/lib/server-only/field/remove-signed-field-with-token.ts +++ b/packages/lib/server-only/field/remove-signed-field-with-token.ts @@ -4,7 +4,7 @@ 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 { DocumentStatus, SigningStatus } from '@documenso/prisma/client'; +import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client'; export type RemovedSignedFieldWithTokenOptions = { token: string; @@ -17,11 +17,28 @@ export const removeSignedFieldWithToken = async ({ fieldId, requestMetadata, }: RemovedSignedFieldWithTokenOptions) => { + const recipient = await prisma.recipient.findFirstOrThrow({ + where: { + token, + }, + }); + const field = await prisma.field.findFirstOrThrow({ where: { id: fieldId, recipient: { - token, + ...(recipient.role !== RecipientRole.ASSISTANT + ? { + id: recipient.id, + } + : { + signingOrder: { + gte: recipient.signingOrder ?? 0, + }, + signingStatus: { + not: SigningStatus.SIGNED, + }, + }), }, }, include: { @@ -30,7 +47,7 @@ export const removeSignedFieldWithToken = async ({ }, }); - const { document, recipient } = field; + const { document } = field; if (!document) { throw new Error(`Document not found for field ${field.id}`); @@ -40,7 +57,10 @@ export const removeSignedFieldWithToken = async ({ throw new Error(`Document ${document.id} must be pending`); } - if (recipient?.signingStatus === SigningStatus.SIGNED) { + if ( + recipient?.signingStatus === SigningStatus.SIGNED || + field.recipient.signingStatus === SigningStatus.SIGNED + ) { throw new Error(`Recipient ${recipient.id} has already signed`); } @@ -66,20 +86,22 @@ export const removeSignedFieldWithToken = async ({ }, }); - await tx.documentAuditLog.create({ - data: createDocumentAuditLogData({ - type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_UNINSERTED, - documentId: document.id, - user: { - name: recipient?.name, - email: recipient?.email, - }, - requestMetadata, - data: { - field: field.type, - fieldId: field.secondaryId, - }, - }), - }); + if (recipient.role !== RecipientRole.ASSISTANT) { + await tx.documentAuditLog.create({ + data: createDocumentAuditLogData({ + type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_UNINSERTED, + documentId: document.id, + user: { + name: recipient.name, + email: recipient.email, + }, + requestMetadata, + data: { + field: field.type, + fieldId: field.secondaryId, + }, + }), + }); + } }); }; diff --git a/packages/lib/server-only/field/sign-field-with-token.ts b/packages/lib/server-only/field/sign-field-with-token.ts index f5b170ba5..f94dc8de0 100644 --- a/packages/lib/server-only/field/sign-field-with-token.ts +++ b/packages/lib/server-only/field/sign-field-with-token.ts @@ -10,7 +10,7 @@ import { validateRadioField } from '@documenso/lib/advanced-fields-validation/va import { validateTextField } from '@documenso/lib/advanced-fields-validation/validate-text'; import { fromCheckboxValue } from '@documenso/lib/universal/field-checkbox'; import { prisma } from '@documenso/prisma'; -import { DocumentStatus, FieldType, SigningStatus } from '@documenso/prisma/client'; +import { DocumentStatus, FieldType, RecipientRole, SigningStatus } from '@documenso/prisma/client'; import { DEFAULT_DOCUMENT_DATE_FORMAT } from '../../constants/date-formats'; import { DEFAULT_DOCUMENT_TIME_ZONE } from '../../constants/time-zones'; @@ -56,20 +56,41 @@ export const signFieldWithToken = async ({ authOptions, requestMetadata, }: SignFieldWithTokenOptions) => { + const recipient = await prisma.recipient.findFirstOrThrow({ + where: { + token, + }, + }); + const field = await prisma.field.findFirstOrThrow({ where: { id: fieldId, recipient: { - token, + ...(recipient.role !== RecipientRole.ASSISTANT + ? { + id: recipient.id, + } + : { + signingStatus: { + not: SigningStatus.SIGNED, + }, + signingOrder: { + gte: recipient.signingOrder ?? 0, + }, + }), }, }, include: { - document: true, + document: { + include: { + recipients: true, + }, + }, recipient: true, }, }); - const { document, recipient } = field; + const { document } = field; if (!document) { throw new Error(`Document not found for field ${field.id}`); @@ -87,7 +108,10 @@ export const signFieldWithToken = async ({ throw new Error(`Document ${document.id} must be pending for signing`); } - if (recipient?.signingStatus === SigningStatus.SIGNED) { + if ( + recipient.signingStatus === SigningStatus.SIGNED || + field.recipient.signingStatus === SigningStatus.SIGNED + ) { throw new Error(`Recipient ${recipient.id} has already signed`); } @@ -183,6 +207,8 @@ export const signFieldWithToken = async ({ throw new Error('Typed signatures are not allowed. Please draw your signature'); } + const assistant = recipient.role === RecipientRole.ASSISTANT ? recipient : undefined; + return await prisma.$transaction(async (tx) => { const updatedField = await tx.field.update({ where: { @@ -219,11 +245,14 @@ export const signFieldWithToken = async ({ await tx.documentAuditLog.create({ data: createDocumentAuditLogData({ - type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_INSERTED, + type: + assistant && field.recipientId !== assistant.id + ? DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_PREFILLED + : DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_INSERTED, documentId: document.id, user: { - email: recipient.email, - name: recipient.name, + email: assistant?.email ?? recipient.email, + name: assistant?.name ?? recipient.name, }, requestMetadata, data: { diff --git a/packages/lib/server-only/recipient/get-recipient-by-token.ts b/packages/lib/server-only/recipient/get-recipient-by-token.ts index d12151b41..d24a08603 100644 --- a/packages/lib/server-only/recipient/get-recipient-by-token.ts +++ b/packages/lib/server-only/recipient/get-recipient-by-token.ts @@ -9,5 +9,8 @@ export const getRecipientByToken = async ({ token }: GetRecipientByTokenOptions) where: { token, }, + include: { + fields: true, + }, }); }; diff --git a/packages/lib/server-only/recipient/get-recipients-for-assistant.ts b/packages/lib/server-only/recipient/get-recipients-for-assistant.ts new file mode 100644 index 000000000..6c15af639 --- /dev/null +++ b/packages/lib/server-only/recipient/get-recipients-for-assistant.ts @@ -0,0 +1,57 @@ +import { prisma } from '@documenso/prisma'; +import { FieldType } from '@documenso/prisma/client'; + +import { AppError, AppErrorCode } from '../../errors/app-error'; + +export interface GetRecipientsForAssistantOptions { + token: string; +} + +export const getRecipientsForAssistant = async ({ token }: GetRecipientsForAssistantOptions) => { + const assistant = await prisma.recipient.findFirst({ + where: { + token, + }, + }); + + if (!assistant) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Assistant not found', + }); + } + + let recipients = await prisma.recipient.findMany({ + where: { + documentId: assistant.documentId, + signingOrder: { + gte: assistant.signingOrder ?? 0, + }, + }, + include: { + fields: { + where: { + OR: [ + { + recipientId: assistant.id, + }, + { + type: { + not: FieldType.SIGNATURE, + }, + documentId: assistant.documentId, + }, + ], + }, + }, + }, + }); + + // Omit the token for recipients other than the assistant so + // it doesn't get sent to the client. + recipients = recipients.map((recipient) => ({ + ...recipient, + token: recipient.id === assistant.id ? token : '', + })); + + return recipients; +}; diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 03a5f1893..8b20a2424 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-31 08:04\n" +"PO-Revision-Date: 2025-01-30 06:04\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,7 +22,7 @@ msgstr "" msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "\"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben." -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:74 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." @@ -46,7 +46,7 @@ msgstr "\"{documentTitle}\" wurde erfolgreich gelöscht" msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterzeichnen." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:330 msgid "{0, plural, one {(1 character over)} other {(# characters over)}}" msgstr "{0, plural, one {(1 Zeichen über dem Limit)} other {(# Zeichen über dem Limit)}}" @@ -125,7 +125,7 @@ msgstr "{0} im Namen von \"{1}\" hat Sie eingeladen, das Dokument \"{2}\" {recip msgid "{0} Recipient(s)" msgstr "{0} Empfänger(in)" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311 msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" msgstr "{charactersRemaining, plural, one {1 Zeichen verbleibend} other {{charactersRemaining} Zeichen verbleibend}}" @@ -141,7 +141,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:75 +#: packages/email/template-components/template-document-invite.tsx:74 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" msgstr "{inviterName} hat dich eingeladen, {0}<0/>\"{documentName}\"" @@ -161,9 +161,9 @@ msgstr "{inviterName} hat dich aus dem Dokument {documentName} entfernt." msgid "{inviterName} has removed you from the document<0/>\"{documentName}\"" msgstr "{inviterName} hat dich aus dem Dokument<0/>\"{documentName}\" entfernt" -#: packages/email/template-components/template-document-invite.tsx:63 -msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}" -msgstr "{inviterName} im Namen von \"{teamName}\" hat Sie eingeladen zu {0}" +#: packages/email/template-components/template-document-invite.tsx:61 +msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} im Namen von \"{teamName}\" hat dich eingeladen, {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:45 msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {action} {documentName}" @@ -307,8 +307,8 @@ msgid "{signerName} has rejected the document \"{documentName}\"." msgstr "{signerName} hat das Dokument \"{documentName}\" abgelehnt." #: packages/email/template-components/template-document-invite.tsx:68 -msgid "{teamName} has invited you to {0}" -msgstr "{teamName} hat Sie eingeladen, {0}" +msgid "{teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{teamName} hat dich eingeladen, {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:46 msgid "{teamName} has invited you to {action} {documentName}" @@ -360,7 +360,7 @@ msgstr "<0>{teamName} hat angefragt, Ihre E-Mail-Adresse für ihr Team bei D #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:463 msgid "<0>Click to upload or drag and drop" -msgstr "" +msgstr "<0>Klicken Sie hier, um hochzuladen oder ziehen Sie die Datei per Drag & Drop" #: packages/ui/primitives/template-flow/add-template-settings.tsx:287 msgid "<0>Email - The recipient will be emailed the document to sign, approve, etc." @@ -616,7 +616,7 @@ msgstr "Kontowiederauthentifizierung" msgid "Acknowledgment" msgstr "Bestätigung" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:107 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:97 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:117 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:159 @@ -738,11 +738,11 @@ msgstr "Unterzeichner hinzufügen" msgid "Add team email" msgstr "Team-E-Mail hinzufügen" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:73 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:80 msgid "Add text" msgstr "Text hinzufügen" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:78 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:85 msgid "Add text to the field" msgstr "Text zum Feld hinzufügen" @@ -780,7 +780,7 @@ msgid "Advanced Options" msgstr "Erweiterte Optionen" #: packages/ui/primitives/document-flow/add-fields.tsx:585 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:490 msgid "Advanced settings" msgstr "Erweiterte Einstellungen" @@ -905,7 +905,7 @@ msgstr "Ein Fehler ist aufgetreten, während der Webhook erstellt wurde. Bitte v #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:63 msgid "An error occurred while deleting the user." -msgstr "" +msgstr "Ein Fehler ist beim Löschen des Benutzers aufgetreten." #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:120 msgid "An error occurred while disabling direct link signing." @@ -915,9 +915,9 @@ msgstr "Ein Fehler ist aufgetreten, während das direkte Links-Signieren deaktiv msgid "An error occurred while disabling the user." msgstr "Ein Fehler ist aufgetreten, während der Benutzer deaktiviert wurde." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:98 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:77 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:101 msgid "An error occurred while downloading your document." msgstr "Ein Fehler ist aufgetreten, während dein Dokument heruntergeladen wurde." @@ -955,17 +955,17 @@ msgid "An error occurred while removing the field." msgstr "Ein Fehler ist beim Entfernen des Feldes aufgetreten." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:154 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:110 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:115 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:196 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:194 msgid "An error occurred while removing the signature." msgstr "Ein Fehler ist aufgetreten, während die Unterschrift entfernt wurde." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:197 msgid "An error occurred while removing the text." msgstr "Ein Fehler ist aufgetreten, während der Text entfernt wurde." @@ -978,15 +978,15 @@ msgid "An error occurred while sending your confirmation email" msgstr "Beim Senden Ihrer Bestätigungs-E-Mail ist ein Fehler aufgetreten" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:125 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:127 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:151 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:168 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:169 msgid "An error occurred while signing the document." msgstr "Ein Fehler ist aufgetreten, während das Dokument unterzeichnet wurde." @@ -1072,8 +1072,8 @@ msgstr "API-Token" msgid "App Version" msgstr "App-Version" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:88 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:121 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:140 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:143 #: packages/lib/constants/recipient-roles.ts:8 @@ -1081,7 +1081,7 @@ msgid "Approve" msgstr "Genehmigen" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:142 -#: packages/email/template-components/template-document-invite.tsx:106 +#: packages/email/template-components/template-document-invite.tsx:105 msgid "Approve Document" msgstr "Dokument genehmigen" @@ -1132,7 +1132,7 @@ msgstr "Bist du dir sicher?" msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." msgstr "Versuche, das Dokument erneut zu versiegeln, nützlich nach einer Codeänderung, um ein fehlerhaftes Dokument zu beheben." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136 msgid "Audit Log" msgstr "Audit-Protokoll" @@ -1230,6 +1230,23 @@ msgstr "Massenkopie" msgid "Bulk Import" msgstr "Bulk-Import" +#: packages/lib/jobs/definitions/internal/bulk-send-template.handler.ts:203 +msgid "Bulk Send Complete: {0}" +msgstr "Massenversand abgeschlossen: {0}" + +#: packages/email/templates/bulk-send-complete.tsx:30 +msgid "Bulk send operation complete for template \"{templateName}\"" +msgstr "Massenversand abgeschlossen für Vorlage \"{templateName}\"" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:128 +msgid "Bulk Send Template via CSV" +msgstr "Bulk-Vorlage senden über CSV" + +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:97 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:120 +msgid "Bulk Send via CSV" +msgstr "Massenversand per CSV" + #: packages/email/templates/team-invite.tsx:84 msgid "by <0>{senderName}" msgstr "von <0>{senderName}" @@ -1281,12 +1298,12 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:246 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:232 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:341 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:320 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:352 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242 @@ -1305,7 +1322,8 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:257 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:163 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:448 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:317 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:263 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:323 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" msgstr "Abbrechen" @@ -1335,7 +1353,7 @@ msgstr "CC'd" msgid "Ccers" msgstr "Kohlenstoffkopierer" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 msgid "Character Limit" msgstr "Zeichenbeschränkung" @@ -1389,7 +1407,7 @@ msgstr "Benutzername jetzt beanspruchen" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:537 msgid "Clear file" -msgstr "" +msgstr "Datei löschen" #: packages/ui/primitives/data-table.tsx:156 msgid "Clear filters" @@ -1499,7 +1517,7 @@ msgid "Configure template" msgstr "Vorlage konfigurieren" #: packages/ui/primitives/document-flow/add-fields.tsx:586 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:416 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:491 msgid "Configure the {0} field" msgstr "Konfigurieren Sie das Feld {0}" @@ -1557,7 +1575,7 @@ msgstr "Inhalt" msgid "Continue" msgstr "Fortsetzen" -#: packages/email/template-components/template-document-invite.tsx:86 +#: packages/email/template-components/template-document-invite.tsx:85 msgid "Continue by approving the document." msgstr "Fahre fort, indem du das Dokument genehmigst." @@ -1565,11 +1583,11 @@ msgstr "Fahre fort, indem du das Dokument genehmigst." msgid "Continue by downloading the document." msgstr "Fahre fort, indem du das Dokument herunterlädst." -#: packages/email/template-components/template-document-invite.tsx:84 +#: packages/email/template-components/template-document-invite.tsx:83 msgid "Continue by signing the document." msgstr "Fahre fort, indem du das Dokument signierst." -#: packages/email/template-components/template-document-invite.tsx:85 +#: packages/email/template-components/template-document-invite.tsx:84 msgid "Continue by viewing the document." msgstr "Fahre fort, indem du das Dokument ansiehst." @@ -1736,7 +1754,7 @@ msgid "Create your account and start using state-of-the-art document signing. Op msgstr "Erstellen Sie Ihr Konto und beginnen Sie mit dem modernen Dokumentensignieren. Offenes und schönes Signieren liegt in Ihrer Reichweite." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:62 -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:96 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:112 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:36 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:48 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 @@ -1768,6 +1786,10 @@ msgstr "Erstellt am" msgid "Created on {0}" msgstr "Erstellt am {0}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:143 +msgid "CSV Structure" +msgstr "CSV-Struktur" + #: apps/web/src/components/forms/password.tsx:112 msgid "Current Password" msgstr "Aktuelles Passwort" @@ -1776,6 +1798,10 @@ msgstr "Aktuelles Passwort" msgid "Current password is incorrect." msgstr "Aktuelles Passwort ist falsch." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:154 +msgid "Current recipients:" +msgstr "Aktuelle Empfänger:" + #: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:28 msgid "Daily" msgstr "Täglich" @@ -1785,10 +1811,10 @@ msgid "Dark Mode" msgstr "Dunkelmodus" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:67 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:153 #: packages/ui/primitives/document-flow/add-fields.tsx:945 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:732 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:810 msgid "Date" msgstr "Datum" @@ -1822,14 +1848,14 @@ msgstr "Standard Sichtbarkeit des Dokuments" msgid "delete" msgstr "löschen" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:143 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:107 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:85 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1928,7 +1954,7 @@ msgid "direct link" msgstr "Direkter Link" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:81 msgid "Direct link" msgstr "Direkter Link" @@ -2057,7 +2083,7 @@ msgid "Document Approved" msgstr "Dokument genehmigt" #: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40 -#: packages/lib/server-only/document/delete-document.ts:251 +#: packages/lib/server-only/document/delete-document.ts:263 #: packages/lib/server-only/document/super-delete-document.ts:101 msgid "Document Cancelled" msgstr "Dokument storniert" @@ -2263,7 +2289,7 @@ msgstr "Dokument wird dauerhaft gelöscht" msgid "Documents" msgstr "Dokumente" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:200 msgid "Documents created from template" msgstr "Dokumente erstellt aus Vorlage" @@ -2280,9 +2306,9 @@ msgstr "Dokumente angesehen" msgid "Don't have an account? <0>Sign up" msgstr "Haben Sie kein Konto? <0>Registrieren" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:122 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:117 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 @@ -2300,6 +2326,10 @@ msgstr "Auditprotokolle herunterladen" msgid "Download Certificate" msgstr "Zertifikat herunterladen" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:168 +msgid "Download Template CSV" +msgstr "Vorlage CSV herunterladen" + #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208 #: apps/web/src/components/formatter/document-status.tsx:34 #: packages/lib/constants/document.ts:13 @@ -2319,7 +2349,7 @@ msgid "Drag & drop your PDF here." msgstr "Ziehen Sie Ihr PDF hierher." #: packages/ui/primitives/document-flow/add-fields.tsx:1076 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:863 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:941 msgid "Dropdown" msgstr "Dropdown" @@ -2331,28 +2361,28 @@ msgstr "Dropdown-Optionen" msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "Aufgrund einer unbezahlten Rechnung wurde Ihrem Team der Zugriff eingeschränkt. Bitte begleichen Sie die Zahlung, um den vollumfänglichen Zugang zu Ihrem Team wiederherzustellen." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:161 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:84 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:117 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:89 msgid "Duplicate" msgstr "Duplizieren" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:103 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:96 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:103 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:67 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Bearbeiten" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:120 msgid "Edit Template" msgstr "Vorlage bearbeiten" @@ -2377,7 +2407,7 @@ msgstr "Offenlegung der elektronischen Unterschrift" #: 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:119 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:131 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:407 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 @@ -2391,7 +2421,7 @@ msgstr "Offenlegung der elektronischen Unterschrift" #: packages/ui/primitives/document-flow/add-signers.tsx:511 #: packages/ui/primitives/document-flow/add-signers.tsx:518 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:680 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:477 msgid "Email" @@ -2484,7 +2514,7 @@ msgid "Enable Typed Signature" msgstr "Getippte Unterschrift aktivieren" #: packages/ui/primitives/document-flow/add-fields.tsx:813 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:600 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 msgid "Enable Typed Signatures" msgstr "Aktivieren Sie getippte Unterschriften" @@ -2529,7 +2559,7 @@ msgstr "Geben Sie Ihre E-Mail-Adresse ein, um das abgeschlossene Dokument zu erh msgid "Enter your name" msgstr "Geben Sie Ihren Namen ein" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:293 msgid "Enter your text here" msgstr "Geben Sie hier Ihren Text ein" @@ -2554,28 +2584,28 @@ msgstr "Geben Sie hier Ihren Text ein" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:124 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:214 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:99 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:125 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:104 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:130 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:88 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:114 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:152 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:133 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:193 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:101 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:218 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:224 #: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Fehler" @@ -2614,7 +2644,7 @@ msgstr "Externe ID" msgid "Failed to reseal document" msgstr "Dokument konnte nicht erneut versiegelt werden" -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:219 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:225 msgid "Failed to save settings." msgstr "Einstellungen konnten nicht gespeichert werden." @@ -2627,16 +2657,20 @@ msgstr "Empfänger konnte nicht aktualisiert werden" msgid "Failed to update webhook" msgstr "Webhook konnte nicht aktualisiert werden" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 +#: packages/email/templates/bulk-send-complete.tsx:55 +msgid "Failed: {failedCount}" +msgstr "Fehlgeschlagen: {failedCount}" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:100 msgid "Field character limit" msgstr "Zeichenbeschränkung des Feldes" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:62 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:44 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:69 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:51 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:46 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:51 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:130 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:107 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:114 msgid "Field font size" msgstr "Feldschriftgröße" @@ -2644,11 +2678,11 @@ msgstr "Feldschriftgröße" msgid "Field format" msgstr "Feldformat" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:53 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 msgid "Field label" msgstr "Feldbeschriftung" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:65 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:72 msgid "Field placeholder" msgstr "Feldplatzhalter" @@ -2670,14 +2704,14 @@ msgstr "Die Datei darf nicht größer als {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB se #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:513 msgid "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" -msgstr "" +msgstr "Dateigröße überschreitet das Limit von {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:38 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:63 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:45 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:40 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:45 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:124 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:101 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:108 msgid "Font Size" msgstr "Schriftgröße" @@ -2685,6 +2719,10 @@ msgstr "Schriftgröße" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "Für Fragen zu dieser Offenlegung, elektronischen Unterschriften oder einem verwandten Verfahren kontaktieren Sie uns bitte unter: <0>{SUPPORT_EMAIL}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:147 +msgid "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." +msgstr "Für jeden Empfänger geben Sie dessen E-Mail (erforderlich) und Namen (optional) in separaten Spalten an. Laden Sie unten die CSV-Vorlage für das korrekte Format herunter." + #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" msgstr "Passwort vergessen?" @@ -2701,7 +2739,7 @@ msgstr "Freie Unterschrift" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:330 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:191 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:210 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:272 #: apps/web/src/components/forms/profile.tsx:101 @@ -2794,6 +2832,10 @@ msgstr "So funktioniert es:" msgid "Hey I’m Timur" msgstr "Hey, ich bin Timur" +#: packages/email/templates/bulk-send-complete.tsx:36 +msgid "Hi {userName}," +msgstr "Hallo, {userName}," + #: packages/email/templates/reset-password.tsx:56 msgid "Hi, {userName} <0>({userEmail})" msgstr "Hallo, {userName} <0>({userEmail})" @@ -2981,7 +3023,7 @@ msgstr "Tritt {teamName} auf Documenso bei" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:55 msgid "Label" msgstr "Beschriftung" @@ -3110,7 +3152,7 @@ msgstr "Verwalten Sie das Profil von {0}" msgid "Manage all teams you are currently associated with." msgstr "Verwalten Sie alle Teams, mit denen Sie derzeit verbunden sind." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:164 msgid "Manage and view template" msgstr "Vorlage verwalten und anzeigen" @@ -3190,10 +3232,14 @@ msgstr "MAU (erstellt Dokument)" msgid "MAU (had document completed)" msgstr "MAU (hat Dokument abgeschlossen)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:209 msgid "Max" msgstr "Max" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:227 +msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." +msgstr "Maximale Dateigröße: 4MB. Maximal 100 Zeilen pro Upload. Leere Werte verwenden die Vorlagenstandards." + #: packages/lib/constants/teams.ts:12 msgid "Member" msgstr "Mitglied" @@ -3214,7 +3260,7 @@ msgstr "Mitglieder" msgid "Message <0>(Optional)" msgstr "Nachricht <0>(Optional)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:176 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:197 msgid "Min" msgstr "Min" @@ -3250,7 +3296,7 @@ msgid "Move Template to Team" msgstr "Vorlage in Team verschieben" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:168 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:87 msgid "Move to Team" msgstr "In Team verschieben" @@ -3272,7 +3318,7 @@ msgstr "Meine Vorlagen" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:299 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:306 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:118 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:175 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:141 #: apps/web/src/components/forms/signup.tsx:160 @@ -3280,7 +3326,7 @@ msgstr "Meine Vorlagen" #: packages/ui/primitives/document-flow/add-signers.tsx:549 #: packages/ui/primitives/document-flow/add-signers.tsx:555 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:505 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:511 msgid "Name" @@ -3354,7 +3400,7 @@ msgid "No recent documents" msgstr "Keine aktuellen Dokumente" #: packages/ui/primitives/document-flow/add-fields.tsx:705 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:520 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:598 msgid "No recipient matching this description was found." msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden." @@ -3366,7 +3412,7 @@ msgid "No recipients" msgstr "Keine Empfänger" #: packages/ui/primitives/document-flow/add-fields.tsx:720 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:535 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:613 msgid "No recipients with this role" msgstr "Keine Empfänger mit dieser Rolle" @@ -3425,10 +3471,10 @@ msgstr "Nicht unterstützt" msgid "Nothing to do" msgstr "Nichts zu tun" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:284 #: packages/ui/primitives/document-flow/add-fields.tsx:997 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:862 msgid "Number" msgstr "Nummer" @@ -3686,11 +3732,11 @@ msgstr "Wählen Sie eine der folgenden Vereinbarungen aus und beginnen Sie das S #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:79 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:84 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:67 msgid "Placeholder" msgstr "Platzhalter" -#: packages/email/template-components/template-document-invite.tsx:56 +#: packages/email/template-components/template-document-invite.tsx:55 msgid "Please {0} your document<0/>\"{documentName}\"" msgstr "Bitte {0} dein Dokument<0/>\"{documentName}\"" @@ -3793,7 +3839,7 @@ msgstr "Bitte überprüfen Sie das Dokument vor der Unterzeichnung." #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:503 msgid "Please select a PDF file" -msgstr "" +msgstr "Bitte wählen Sie eine PDF-Datei aus" #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." @@ -3820,6 +3866,10 @@ msgstr "Bitte {0} eingeben, um zu bestätigen" msgid "Please type <0>{0} to confirm." msgstr "Bitte geben Sie <0>{0} ein, um zu bestätigen." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:172 +msgid "Pre-formatted CSV template with example data." +msgstr "Vorformatiertes CSV-Template mit Beispieldaten." + #: 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 @@ -3898,9 +3948,9 @@ msgstr "Radio-Werte" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:186 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:147 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:156 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:177 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:122 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:133 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:161 msgid "Read only" msgstr "Nur lesen" @@ -4020,7 +4070,7 @@ msgstr "Registrierung erfolgreich" #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162 -#: packages/email/template-components/template-document-invite.tsx:96 +#: packages/email/template-components/template-document-invite.tsx:95 msgid "Reject Document" msgstr "Dokument Ablehnen" @@ -4068,6 +4118,7 @@ msgstr "Erinnerung: Bitte {recipientActionVerb} dein Dokument" #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:163 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:165 #: apps/web/src/components/forms/avatar-image.tsx:166 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:217 #: packages/ui/primitives/document-flow/add-fields.tsx:1128 msgid "Remove" msgstr "Entfernen" @@ -4095,9 +4146,9 @@ msgstr "Übertragung anfordern" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:176 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:137 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:146 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:112 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:123 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:151 msgid "Required field" msgstr "Pflichtfeld" @@ -4206,15 +4257,15 @@ msgid "Rows per page" msgstr "Zeilen pro Seite" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:440 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:350 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:361 #: 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:305 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:316 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:322 msgid "Save" msgstr "Speichern" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:896 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:974 msgid "Save Template" msgstr "Vorlage speichern" @@ -4229,7 +4280,7 @@ msgstr "Suchen" msgid "Search by document title" msgstr "Nach Dokumenttitel suchen" -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:147 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:174 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 msgid "Search by name or email" msgstr "Nach Name oder E-Mail suchen" @@ -4339,6 +4390,10 @@ msgstr "E-Mail über ausstehende Dokumente senden" msgid "Send documents on behalf of the team using the email address" msgstr "Dokumente im Namen des Teams über die E-Mail-Adresse senden" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:253 +msgid "Send documents to recipients immediately" +msgstr "Dokumente sofort an Empfänger senden" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:200 msgid "Send on Behalf of Team" msgstr "Im Namen des Teams senden" @@ -4391,7 +4446,7 @@ msgstr "Einstellungen" msgid "Setup" msgstr "Einrichten" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:147 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 msgid "Share" msgstr "Teilen" @@ -4400,7 +4455,7 @@ msgstr "Teilen" msgid "Share Signature Card" msgstr "Unterschriftenkarte teilen" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:178 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:185 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:213 msgid "Share Signing Card" msgstr "Signaturkarte teilen" @@ -4434,13 +4489,13 @@ msgstr "Vorlagen in Ihrem öffentlichen Profil anzeigen, damit Ihre Zielgruppe u msgid "Show templates in your team public profile for your audience to sign and get started quickly" msgstr "Vorlagen in Ihrem Team-Öffentliches Profil anzeigen, damit Ihre Zielgruppe unterschreiben und schnell loslegen kann" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:82 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:108 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:115 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:133 #: apps/web/src/app/(profile)/p/[url]/page.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:241 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:328 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 @@ -4453,7 +4508,7 @@ msgstr "Unterschreiben" msgid "Sign as {0} <0>({1})" msgstr "Unterzeichnen als {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:200 msgid "Sign as<0>{0} <1>({1})" msgstr "Unterzeichnen als<0>{0} <1>({1})" @@ -4463,7 +4518,7 @@ msgid "Sign document" msgstr "Dokument unterschreiben" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:141 -#: packages/email/template-components/template-document-invite.tsx:104 +#: packages/email/template-components/template-document-invite.tsx:103 msgid "Sign Document" msgstr "Dokument signieren" @@ -4527,7 +4582,7 @@ msgstr "Registrieren mit OIDC" #: packages/ui/primitives/document-flow/add-fields.tsx:841 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:628 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 msgid "Signature" msgstr "Unterschrift" @@ -4595,7 +4650,7 @@ msgstr "Unterzeichnung abgeschlossen!" msgid "Signing in..." msgstr "Anmeldung..." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:159 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:166 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:197 msgid "Signing Links" msgstr "Signierlinks" @@ -4608,7 +4663,7 @@ msgstr "Unterzeichnungslinks wurden für dieses Dokument erstellt." msgid "Signing up..." msgstr "Registrierung..." -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:82 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:90 #: apps/web/src/app/(dashboard)/admin/leaderboard/page.tsx:46 msgid "Signing Volume" msgstr "Unterzeichnungsvolumen" @@ -4635,11 +4690,11 @@ msgid "Some signers have not been assigned a signature field. Please assign at l msgstr "Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekommen. Bitte weisen Sie jedem Unterzeichner mindestens ein Unterschriftsfeld zu, bevor Sie fortfahren." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:62 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:90 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:97 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:61 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:100 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:71 @@ -4713,7 +4768,7 @@ msgstr "Etwas ist schief gelaufen." #: apps/web/src/components/forms/token.tsx:143 msgid "Something went wrong. Please try again later." -msgstr "" +msgstr "Etwas ist schiefgelaufen. Bitte versuchen Sie es später noch einmal." #: 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 @@ -4799,6 +4854,7 @@ msgstr "Abonnements" #: apps/web/src/components/forms/public-profile-form.tsx:80 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:132 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:168 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:95 msgid "Success" msgstr "Erfolg" @@ -4806,6 +4862,14 @@ msgstr "Erfolg" msgid "Successfully created passkey" msgstr "Passkey erfolgreich erstellt" +#: packages/email/templates/bulk-send-complete.tsx:52 +msgid "Successfully created: {successCount}" +msgstr "Erfolgreich erstellt: {successCount}" + +#: packages/email/templates/bulk-send-complete.tsx:44 +msgid "Summary:" +msgstr "Zusammenfassung:" + #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" msgstr "Systemanforderungen" @@ -4956,7 +5020,7 @@ msgstr "Teams beschränkt" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:142 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:222 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:151 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:269 msgid "Template" @@ -4998,7 +5062,7 @@ msgstr "Vorlage gespeichert" msgid "Template title" msgstr "Vorlagentitel" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -5010,14 +5074,23 @@ msgstr "Vorlagen" msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields." msgstr "Vorlagen erlauben dir das schnelle Erstlelen von Dokumenten mit vorausgefüllten Empfängern und Feldern." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:258 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:287 #: packages/ui/primitives/document-flow/add-fields.tsx:971 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:836 msgid "Text" msgstr "Text" +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:79 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:56 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:140 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:124 +msgid "Text Align" +msgstr "Textausrichtung" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:157 msgid "Text Color" msgstr "Textfarbe" @@ -5102,6 +5175,10 @@ msgstr "Der Name des Dokuments" 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." +#: packages/email/templates/bulk-send-complete.tsx:62 +msgid "The following errors occurred:" +msgstr "Die folgenden Fehler sind aufgetreten:" + #: 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" @@ -5497,7 +5574,7 @@ msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "Um dieses Dokument als angesehen zu markieren, müssen Sie als <0>{0} angemeldet sein" #: packages/ui/primitives/document-flow/add-fields.tsx:1091 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:876 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:954 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." @@ -5558,6 +5635,10 @@ msgstr "Gesamtdokumente" msgid "Total Recipients" msgstr "Gesamtempfänger" +#: packages/email/templates/bulk-send-complete.tsx:49 +msgid "Total rows processed: {totalProcessed}" +msgstr "Insgesamt verarbeitete Zeilen: {totalProcessed}" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 msgid "Total Signers that Signed Up" msgstr "Gesamtanzahl der Unterzeichner, die sich angemeldet haben" @@ -5816,17 +5897,29 @@ msgstr "Aktualisierung Ihrer Informationen" msgid "Upgrade" msgstr "Upgrade" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:132 +msgid "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." +msgstr "Laden Sie eine CSV-Datei hoch, um mehrere Dokumente aus dieser Vorlage zu erstellen. Jede Zeile repräsentiert ein Dokument mit den Empfängerdaten." + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:426 msgid "Upload a custom document to use instead of the template's default document" -msgstr "" +msgstr "Laden Sie ein benutzerdefiniertes Dokument hoch, um es anstelle des Standarddokuments der Vorlage zu verwenden" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:267 +msgid "Upload and Process" +msgstr "Hochladen und verarbeiten" #: apps/web/src/components/forms/avatar-image.tsx:179 msgid "Upload Avatar" msgstr "Avatar hochladen" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:198 +msgid "Upload CSV" +msgstr "CSV hochladen" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:419 msgid "Upload custom document" -msgstr "" +msgstr "Benutzerdefiniertes Dokument hochladen" #: packages/ui/primitives/signature-pad/signature-pad.tsx:529 msgid "Upload Signature" @@ -5857,7 +5950,7 @@ msgstr "Die hochgeladene Datei ist zu klein" msgid "Uploaded file not an allowed file type" msgstr "Die hochgeladene Datei ist kein zulässiger Dateityp" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:175 msgid "Use" msgstr "Verwenden" @@ -5915,7 +6008,7 @@ msgid "Users" msgstr "Benutzer" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:132 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 msgid "Validation" msgstr "Validierung" @@ -5957,9 +6050,9 @@ msgstr "Überprüfen Sie Ihre Team-E-Mail-Adresse" msgid "Version History" msgstr "Versionsverlauf" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:94 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:101 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:136 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:126 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 @@ -6000,7 +6093,7 @@ msgid "View document" msgstr "Dokument anzeigen" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:140 -#: packages/email/template-components/template-document-invite.tsx:105 +#: packages/email/template-components/template-document-invite.tsx:104 #: packages/email/template-components/template-document-rejected.tsx:44 #: packages/ui/primitives/document-flow/add-subject.tsx:90 #: packages/ui/primitives/document-flow/add-subject.tsx:91 @@ -6213,7 +6306,7 @@ msgstr "Wir sind auf einen unbekannten Fehler gestoßen, während wir versucht h #: apps/web/src/components/forms/profile.tsx:81 msgid "We encountered an unknown error while attempting update your profile. Please try again later." -msgstr "" +msgstr "Wir haben einen unbekannten Fehler festgestellt, während wir versuchten, Ihr Profil zu aktualisieren. Bitte versuchen Sie es später noch einmal." #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:80 msgid "We have sent a confirmation email for verification." @@ -6449,7 +6542,7 @@ msgstr "Sie sind kein Mitglied dieses Teams." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:62 msgid "You are not authorized to delete this user." -msgstr "" +msgstr "Sie sind nicht berechtigt, diesen Benutzer zu löschen." #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:56 msgid "You are not authorized to disable this user." @@ -6499,6 +6592,10 @@ msgstr "Sie können die folgenden Variablen in Ihrer Nachricht verwenden:" 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." +#: packages/email/templates/bulk-send-complete.tsx:76 +msgid "You can view the created documents in your dashboard under the \"Documents created from template\" section." +msgstr "Sie können die erstellten Dokumente in Ihrem Dashboard unter der Rubrik \"Dokumente, die aus Vorlage erstellt wurden\" einsehen." + #: packages/email/template-components/template-document-rejected.tsx:37 msgid "You can view the document and its status by clicking the button below." msgstr "Sie können das Dokument und seinen Status einsehen, indem Sie auf die Schaltfläche unten klicken." @@ -6525,7 +6622,7 @@ msgstr "Sie haben derzeit keinen Kundenrecord, das sollte nicht passieren. Bitte #: apps/web/src/components/forms/token.tsx:141 msgid "You do not have permission to create a token for this team" -msgstr "" +msgstr "Sie haben keine Berechtigung, ein Token für dieses Team zu erstellen" #: packages/email/template-components/template-document-cancel.tsx:35 msgid "You don't need to sign it anymore." @@ -6593,7 +6690,7 @@ msgstr "Sie haben das maximale Limit von {0} direkten Vorlagen erreicht. <0>Upgr #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 msgid "You have reached your document limit for this month. Please upgrade your plan." -msgstr "" +msgstr "Sie haben Ihr Dokumentenlimit für diesen Monat erreicht. Bitte aktualisieren Sie Ihren Plan." #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:56 #: packages/ui/primitives/document-dropzone.tsx:69 @@ -6708,6 +6805,14 @@ msgstr "Ihre Marken-Website-URL" msgid "Your branding preferences have been updated" msgstr "Ihre Markenpräferenzen wurden aktualisiert" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:97 +msgid "Your bulk send has been initiated. You will receive an email notification upon completion." +msgstr "Ihr Massenversand wurde gestartet. Sie erhalten eine E-Mail-Benachrichtigung nach Abschluss." + +#: packages/email/templates/bulk-send-complete.tsx:40 +msgid "Your bulk send operation for template \"{templateName}\" has completed." +msgstr "Ihre Massenversandoperation für Vorlage \"{templateName}\" ist abgeschlossen." + #: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125 msgid "Your current plan is past due. Please update your payment information." msgstr "Ihr aktueller Plan ist überfällig. Bitte aktualisieren Sie Ihre Zahlungsinformationen." @@ -6857,3 +6962,4 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben." + diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 9cc859dcb..79af773f9 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -17,7 +17,7 @@ msgstr "" 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 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:74 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}\"." @@ -41,7 +41,7 @@ msgstr "\"{documentTitle}\" has been successfully deleted" msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:330 msgid "{0, plural, one {(1 character over)} other {(# characters over)}}" msgstr "{0, plural, one {(1 character over)} other {(# characters over)}}" @@ -120,7 +120,7 @@ msgstr "{0} on behalf of \"{1}\" has invited you to {recipientActionVerb} the do msgid "{0} Recipient(s)" msgstr "{0} Recipient(s)" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311 msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" msgstr "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" @@ -136,7 +136,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:75 +#: packages/email/template-components/template-document-invite.tsx:74 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" msgstr "{inviterName} has invited you to {0}<0/>\"{documentName}\"" @@ -156,9 +156,9 @@ msgstr "{inviterName} has removed you from the document {documentName}." msgid "{inviterName} has removed you from the document<0/>\"{documentName}\"" msgstr "{inviterName} has removed you from the document<0/>\"{documentName}\"" -#: packages/email/template-components/template-document-invite.tsx:63 -msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}" -msgstr "{inviterName} on behalf of \"{teamName}\" has invited you to {0}" +#: packages/email/template-components/template-document-invite.tsx:61 +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}" @@ -302,8 +302,8 @@ msgid "{signerName} has rejected the document \"{documentName}\"." msgstr "{signerName} has rejected the document \"{documentName}\"." #: packages/email/template-components/template-document-invite.tsx:68 -msgid "{teamName} has invited you to {0}" -msgstr "{teamName} has invited you to {0}" +msgid "{teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{teamName} has invited you to {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:46 msgid "{teamName} has invited you to {action} {documentName}" @@ -611,7 +611,7 @@ msgstr "Account Re-Authentication" msgid "Acknowledgment" msgstr "Acknowledgment" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:107 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:97 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:117 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:159 @@ -733,11 +733,11 @@ msgstr "Add Signers" msgid "Add team email" msgstr "Add team email" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:73 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:80 msgid "Add text" msgstr "Add text" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:78 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:85 msgid "Add text to the field" msgstr "Add text to the field" @@ -775,7 +775,7 @@ msgid "Advanced Options" msgstr "Advanced Options" #: packages/ui/primitives/document-flow/add-fields.tsx:585 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:490 msgid "Advanced settings" msgstr "Advanced settings" @@ -910,9 +910,9 @@ msgstr "An error occurred while disabling direct link signing." msgid "An error occurred while disabling the user." msgstr "An error occurred while disabling the user." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:98 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:77 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:101 msgid "An error occurred while downloading your document." msgstr "An error occurred while downloading your document." @@ -950,17 +950,17 @@ msgid "An error occurred while removing the field." msgstr "An error occurred while removing the field." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:154 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:110 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:115 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:196 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:194 msgid "An error occurred while removing the signature." msgstr "An error occurred while removing the signature." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:197 msgid "An error occurred while removing the text." msgstr "An error occurred while removing the text." @@ -973,15 +973,15 @@ msgid "An error occurred while sending your confirmation email" msgstr "An error occurred while sending your confirmation email" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:125 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:127 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:151 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:168 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:169 msgid "An error occurred while signing the document." msgstr "An error occurred while signing the document." @@ -1067,8 +1067,8 @@ msgstr "API Tokens" msgid "App Version" msgstr "App Version" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:88 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:121 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:140 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:143 #: packages/lib/constants/recipient-roles.ts:8 @@ -1076,7 +1076,7 @@ msgid "Approve" msgstr "Approve" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:142 -#: packages/email/template-components/template-document-invite.tsx:106 +#: packages/email/template-components/template-document-invite.tsx:105 msgid "Approve Document" msgstr "Approve Document" @@ -1127,7 +1127,7 @@ msgstr "Are you sure?" msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." msgstr "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136 msgid "Audit Log" msgstr "Audit Log" @@ -1225,6 +1225,23 @@ msgstr "Bulk Copy" msgid "Bulk Import" msgstr "Bulk Import" +#: packages/lib/jobs/definitions/internal/bulk-send-template.handler.ts:203 +msgid "Bulk Send Complete: {0}" +msgstr "Bulk Send Complete: {0}" + +#: packages/email/templates/bulk-send-complete.tsx:30 +msgid "Bulk send operation complete for template \"{templateName}\"" +msgstr "Bulk send operation complete for template \"{templateName}\"" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:128 +msgid "Bulk Send Template via CSV" +msgstr "Bulk Send Template via CSV" + +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:97 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:120 +msgid "Bulk Send via CSV" +msgstr "Bulk Send via CSV" + #: packages/email/templates/team-invite.tsx:84 msgid "by <0>{senderName}" msgstr "by <0>{senderName}" @@ -1276,12 +1293,12 @@ msgstr "By using the electronic signature feature, you are consenting to conduct #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:246 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:232 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:341 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:320 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:352 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242 @@ -1300,7 +1317,8 @@ msgstr "By using the electronic signature feature, you are consenting to conduct #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:257 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:163 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:448 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:317 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:263 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:323 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" msgstr "Cancel" @@ -1330,7 +1348,7 @@ msgstr "CC'd" msgid "Ccers" msgstr "Ccers" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 msgid "Character Limit" msgstr "Character Limit" @@ -1494,7 +1512,7 @@ msgid "Configure template" msgstr "Configure template" #: packages/ui/primitives/document-flow/add-fields.tsx:586 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:416 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:491 msgid "Configure the {0} field" msgstr "Configure the {0} field" @@ -1552,7 +1570,7 @@ msgstr "Content" msgid "Continue" msgstr "Continue" -#: packages/email/template-components/template-document-invite.tsx:86 +#: packages/email/template-components/template-document-invite.tsx:85 msgid "Continue by approving the document." msgstr "Continue by approving the document." @@ -1560,11 +1578,11 @@ 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:84 +#: packages/email/template-components/template-document-invite.tsx:83 msgid "Continue by signing the document." msgstr "Continue by signing the document." -#: packages/email/template-components/template-document-invite.tsx:85 +#: packages/email/template-components/template-document-invite.tsx:84 msgid "Continue by viewing the document." msgstr "Continue by viewing the document." @@ -1731,7 +1749,7 @@ msgid "Create your account and start using state-of-the-art document signing. Op msgstr "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:62 -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:96 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:112 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:36 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:48 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 @@ -1763,6 +1781,10 @@ msgstr "Created on" msgid "Created on {0}" msgstr "Created on {0}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:143 +msgid "CSV Structure" +msgstr "CSV Structure" + #: apps/web/src/components/forms/password.tsx:112 msgid "Current Password" msgstr "Current Password" @@ -1771,6 +1793,10 @@ msgstr "Current Password" msgid "Current password is incorrect." msgstr "Current password is incorrect." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:154 +msgid "Current recipients:" +msgstr "Current recipients:" + #: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:28 msgid "Daily" msgstr "Daily" @@ -1780,10 +1806,10 @@ msgid "Dark Mode" msgstr "Dark Mode" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:67 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:153 #: packages/ui/primitives/document-flow/add-fields.tsx:945 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:732 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:810 msgid "Date" msgstr "Date" @@ -1817,14 +1843,14 @@ msgstr "Default Document Visibility" msgid "delete" msgstr "delete" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:143 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:107 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:85 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1923,7 +1949,7 @@ msgid "direct link" msgstr "direct link" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:81 msgid "Direct link" msgstr "Direct link" @@ -2052,7 +2078,7 @@ msgid "Document Approved" msgstr "Document Approved" #: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40 -#: packages/lib/server-only/document/delete-document.ts:251 +#: packages/lib/server-only/document/delete-document.ts:263 #: packages/lib/server-only/document/super-delete-document.ts:101 msgid "Document Cancelled" msgstr "Document Cancelled" @@ -2258,7 +2284,7 @@ msgstr "Document will be permanently deleted" msgid "Documents" msgstr "Documents" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:200 msgid "Documents created from template" msgstr "Documents created from template" @@ -2275,9 +2301,9 @@ msgstr "Documents Viewed" msgid "Don't have an account? <0>Sign up" msgstr "Don't have an account? <0>Sign up" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:122 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:117 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 @@ -2295,6 +2321,10 @@ msgstr "Download Audit Logs" msgid "Download Certificate" msgstr "Download Certificate" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:168 +msgid "Download Template CSV" +msgstr "Download Template CSV" + #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208 #: apps/web/src/components/formatter/document-status.tsx:34 #: packages/lib/constants/document.ts:13 @@ -2314,7 +2344,7 @@ msgid "Drag & drop your PDF here." msgstr "Drag & drop your PDF here." #: packages/ui/primitives/document-flow/add-fields.tsx:1076 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:863 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:941 msgid "Dropdown" msgstr "Dropdown" @@ -2326,28 +2356,28 @@ msgstr "Dropdown options" msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:161 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:84 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:117 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:89 msgid "Duplicate" msgstr "Duplicate" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:103 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:96 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:103 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:67 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Edit" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:120 msgid "Edit Template" msgstr "Edit Template" @@ -2372,7 +2402,7 @@ msgstr "Electronic Signature Disclosure" #: 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:119 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:131 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:407 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 @@ -2386,7 +2416,7 @@ msgstr "Electronic Signature Disclosure" #: packages/ui/primitives/document-flow/add-signers.tsx:511 #: packages/ui/primitives/document-flow/add-signers.tsx:518 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:680 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:477 msgid "Email" @@ -2479,7 +2509,7 @@ msgid "Enable Typed Signature" msgstr "Enable Typed Signature" #: packages/ui/primitives/document-flow/add-fields.tsx:813 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:600 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 msgid "Enable Typed Signatures" msgstr "Enable Typed Signatures" @@ -2524,7 +2554,7 @@ msgstr "Enter your email address to receive the completed document." msgid "Enter your name" msgstr "Enter your name" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:293 msgid "Enter your text here" msgstr "Enter your text here" @@ -2549,28 +2579,28 @@ msgstr "Enter your text here" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:124 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:214 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:99 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:125 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:104 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:130 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:88 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:114 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:152 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:133 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:193 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:101 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:218 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:224 #: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Error" @@ -2609,7 +2639,7 @@ msgstr "External ID" msgid "Failed to reseal document" msgstr "Failed to reseal document" -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:219 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:225 msgid "Failed to save settings." msgstr "Failed to save settings." @@ -2622,16 +2652,20 @@ msgstr "Failed to update recipient" msgid "Failed to update webhook" msgstr "Failed to update webhook" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 +#: packages/email/templates/bulk-send-complete.tsx:55 +msgid "Failed: {failedCount}" +msgstr "Failed: {failedCount}" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:100 msgid "Field character limit" msgstr "Field character limit" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:62 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:44 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:69 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:51 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:46 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:51 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:130 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:107 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:114 msgid "Field font size" msgstr "Field font size" @@ -2639,11 +2673,11 @@ msgstr "Field font size" msgid "Field format" msgstr "Field format" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:53 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 msgid "Field label" msgstr "Field label" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:65 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:72 msgid "Field placeholder" msgstr "Field placeholder" @@ -2667,12 +2701,12 @@ msgstr "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgid "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" msgstr "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:38 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:63 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:45 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:40 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:45 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:124 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:101 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:108 msgid "Font Size" msgstr "Font Size" @@ -2680,6 +2714,10 @@ msgstr "Font Size" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:147 +msgid "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." +msgstr "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." + #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" msgstr "Forgot Password?" @@ -2696,7 +2734,7 @@ msgstr "Free Signature" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:330 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:191 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:210 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:272 #: apps/web/src/components/forms/profile.tsx:101 @@ -2789,6 +2827,10 @@ msgstr "Here's how it works:" msgid "Hey I’m Timur" msgstr "Hey I’m Timur" +#: packages/email/templates/bulk-send-complete.tsx:36 +msgid "Hi {userName}," +msgstr "Hi {userName}," + #: packages/email/templates/reset-password.tsx:56 msgid "Hi, {userName} <0>({userEmail})" msgstr "Hi, {userName} <0>({userEmail})" @@ -2976,7 +3018,7 @@ msgstr "Join {teamName} on Documenso" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:55 msgid "Label" msgstr "Label" @@ -3105,7 +3147,7 @@ msgstr "Manage {0}'s profile" msgid "Manage all teams you are currently associated with." msgstr "Manage all teams you are currently associated with." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:164 msgid "Manage and view template" msgstr "Manage and view template" @@ -3185,10 +3227,14 @@ msgstr "MAU (created document)" msgid "MAU (had document completed)" msgstr "MAU (had document completed)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:209 msgid "Max" msgstr "Max" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:227 +msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." +msgstr "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." + #: packages/lib/constants/teams.ts:12 msgid "Member" msgstr "Member" @@ -3209,7 +3255,7 @@ msgstr "Members" msgid "Message <0>(Optional)" msgstr "Message <0>(Optional)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:176 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:197 msgid "Min" msgstr "Min" @@ -3245,7 +3291,7 @@ msgid "Move Template to Team" msgstr "Move Template to Team" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:168 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:87 msgid "Move to Team" msgstr "Move to Team" @@ -3267,7 +3313,7 @@ msgstr "My templates" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:299 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:306 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:118 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:175 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:141 #: apps/web/src/components/forms/signup.tsx:160 @@ -3275,7 +3321,7 @@ msgstr "My templates" #: packages/ui/primitives/document-flow/add-signers.tsx:549 #: packages/ui/primitives/document-flow/add-signers.tsx:555 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:505 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:511 msgid "Name" @@ -3349,7 +3395,7 @@ msgid "No recent documents" msgstr "No recent documents" #: packages/ui/primitives/document-flow/add-fields.tsx:705 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:520 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:598 msgid "No recipient matching this description was found." msgstr "No recipient matching this description was found." @@ -3361,7 +3407,7 @@ msgid "No recipients" msgstr "No recipients" #: packages/ui/primitives/document-flow/add-fields.tsx:720 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:535 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:613 msgid "No recipients with this role" msgstr "No recipients with this role" @@ -3420,10 +3466,10 @@ msgstr "Not supported" msgid "Nothing to do" msgstr "Nothing to do" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:284 #: packages/ui/primitives/document-flow/add-fields.tsx:997 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:862 msgid "Number" msgstr "Number" @@ -3681,11 +3727,11 @@ msgstr "Pick any of the following agreements below and start signing to get star #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:79 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:84 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:67 msgid "Placeholder" msgstr "Placeholder" -#: packages/email/template-components/template-document-invite.tsx:56 +#: packages/email/template-components/template-document-invite.tsx:55 msgid "Please {0} your document<0/>\"{documentName}\"" msgstr "Please {0} your document<0/>\"{documentName}\"" @@ -3815,6 +3861,10 @@ msgstr "Please type {0} to confirm" msgid "Please type <0>{0} to confirm." msgstr "Please type <0>{0} to confirm." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:172 +msgid "Pre-formatted CSV template with example data." +msgstr "Pre-formatted CSV template with example data." + #: 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 @@ -3893,9 +3943,9 @@ msgstr "Radio values" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:186 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:147 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:156 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:177 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:122 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:133 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:161 msgid "Read only" msgstr "Read only" @@ -4015,7 +4065,7 @@ msgstr "Registration Successful" #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162 -#: packages/email/template-components/template-document-invite.tsx:96 +#: packages/email/template-components/template-document-invite.tsx:95 msgid "Reject Document" msgstr "Reject Document" @@ -4063,6 +4113,7 @@ msgstr "Reminder: Please {recipientActionVerb} your document" #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:163 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:165 #: apps/web/src/components/forms/avatar-image.tsx:166 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:217 #: packages/ui/primitives/document-flow/add-fields.tsx:1128 msgid "Remove" msgstr "Remove" @@ -4090,9 +4141,9 @@ msgstr "Request transfer" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:176 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:137 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:146 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:112 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:123 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:151 msgid "Required field" msgstr "Required field" @@ -4201,15 +4252,15 @@ msgid "Rows per page" msgstr "Rows per page" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:440 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:350 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:361 #: 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:305 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:316 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:322 msgid "Save" msgstr "Save" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:896 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:974 msgid "Save Template" msgstr "Save Template" @@ -4224,7 +4275,7 @@ msgstr "Search" msgid "Search by document title" msgstr "Search by document title" -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:147 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:174 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 msgid "Search by name or email" msgstr "Search by name or email" @@ -4334,6 +4385,10 @@ msgstr "Send document pending email" msgid "Send documents on behalf of the team using the email address" msgstr "Send documents on behalf of the team using the email address" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:253 +msgid "Send documents to recipients immediately" +msgstr "Send documents to recipients immediately" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:200 msgid "Send on Behalf of Team" msgstr "Send on Behalf of Team" @@ -4386,7 +4441,7 @@ msgstr "Settings" msgid "Setup" msgstr "Setup" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:147 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 msgid "Share" msgstr "Share" @@ -4395,7 +4450,7 @@ msgstr "Share" msgid "Share Signature Card" msgstr "Share Signature Card" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:178 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:185 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:213 msgid "Share Signing Card" msgstr "Share Signing Card" @@ -4429,13 +4484,13 @@ msgstr "Show templates in your public profile for your audience to sign and get msgid "Show templates in your team public profile for your audience to sign and get started quickly" msgstr "Show templates in your team public profile for your audience to sign and get started quickly" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:82 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:108 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:115 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:133 #: apps/web/src/app/(profile)/p/[url]/page.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:241 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:328 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 @@ -4448,7 +4503,7 @@ msgstr "Sign" msgid "Sign as {0} <0>({1})" msgstr "Sign as {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:200 msgid "Sign as<0>{0} <1>({1})" msgstr "Sign as<0>{0} <1>({1})" @@ -4458,7 +4513,7 @@ msgid "Sign document" msgstr "Sign document" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:141 -#: packages/email/template-components/template-document-invite.tsx:104 +#: packages/email/template-components/template-document-invite.tsx:103 msgid "Sign Document" msgstr "Sign Document" @@ -4522,7 +4577,7 @@ msgstr "Sign Up with OIDC" #: packages/ui/primitives/document-flow/add-fields.tsx:841 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:628 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 msgid "Signature" msgstr "Signature" @@ -4590,7 +4645,7 @@ msgstr "Signing Complete!" msgid "Signing in..." msgstr "Signing in..." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:159 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:166 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:197 msgid "Signing Links" msgstr "Signing Links" @@ -4603,7 +4658,7 @@ msgstr "Signing links have been generated for this document." msgid "Signing up..." msgstr "Signing up..." -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:82 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:90 #: apps/web/src/app/(dashboard)/admin/leaderboard/page.tsx:46 msgid "Signing Volume" msgstr "Signing Volume" @@ -4630,11 +4685,11 @@ msgid "Some signers have not been assigned a signature field. Please assign at l msgstr "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:62 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:90 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:97 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:61 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:100 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:71 @@ -4794,6 +4849,7 @@ msgstr "Subscriptions" #: apps/web/src/components/forms/public-profile-form.tsx:80 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:132 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:168 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:95 msgid "Success" msgstr "Success" @@ -4801,6 +4857,14 @@ msgstr "Success" msgid "Successfully created passkey" msgstr "Successfully created passkey" +#: packages/email/templates/bulk-send-complete.tsx:52 +msgid "Successfully created: {successCount}" +msgstr "Successfully created: {successCount}" + +#: packages/email/templates/bulk-send-complete.tsx:44 +msgid "Summary:" +msgstr "Summary:" + #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" msgstr "System Requirements" @@ -4951,7 +5015,7 @@ msgstr "Teams restricted" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:142 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:222 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:151 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:269 msgid "Template" @@ -4993,7 +5057,7 @@ msgstr "Template saved" msgid "Template title" msgstr "Template title" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -5005,14 +5069,23 @@ msgstr "Templates" msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields." msgstr "Templates allow you to quickly generate documents with pre-filled recipients and fields." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:258 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:287 #: packages/ui/primitives/document-flow/add-fields.tsx:971 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:836 msgid "Text" msgstr "Text" +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:79 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:56 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:140 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:124 +msgid "Text Align" +msgstr "Text Align" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:157 msgid "Text Color" msgstr "Text Color" @@ -5097,6 +5170,10 @@ msgstr "The document's name" 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." +#: packages/email/templates/bulk-send-complete.tsx:62 +msgid "The following errors occurred:" +msgstr "The following errors occurred:" + #: 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" @@ -5492,7 +5569,7 @@ msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "To mark this document as viewed, you need to be logged in as <0>{0}" #: packages/ui/primitives/document-flow/add-fields.tsx:1091 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:876 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:954 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." @@ -5553,6 +5630,10 @@ msgstr "Total Documents" msgid "Total Recipients" msgstr "Total Recipients" +#: packages/email/templates/bulk-send-complete.tsx:49 +msgid "Total rows processed: {totalProcessed}" +msgstr "Total rows processed: {totalProcessed}" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 msgid "Total Signers that Signed Up" msgstr "Total Signers that Signed Up" @@ -5811,14 +5892,26 @@ msgstr "Updating Your Information" msgid "Upgrade" msgstr "Upgrade" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:132 +msgid "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." +msgstr "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:426 msgid "Upload a custom document to use instead of the template's default document" msgstr "Upload a custom document to use instead of the template's default document" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:267 +msgid "Upload and Process" +msgstr "Upload and Process" + #: apps/web/src/components/forms/avatar-image.tsx:179 msgid "Upload Avatar" msgstr "Upload Avatar" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:198 +msgid "Upload CSV" +msgstr "Upload CSV" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:419 msgid "Upload custom document" msgstr "Upload custom document" @@ -5852,7 +5945,7 @@ msgstr "Uploaded file is too small" msgid "Uploaded file not an allowed file type" msgstr "Uploaded file not an allowed file type" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:175 msgid "Use" msgstr "Use" @@ -5910,7 +6003,7 @@ msgid "Users" msgstr "Users" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:132 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 msgid "Validation" msgstr "Validation" @@ -5952,9 +6045,9 @@ msgstr "Verify your team email address" msgid "Version History" msgstr "Version History" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:94 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:101 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:136 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:126 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 @@ -5995,7 +6088,7 @@ msgid "View document" msgstr "View document" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:140 -#: packages/email/template-components/template-document-invite.tsx:105 +#: packages/email/template-components/template-document-invite.tsx:104 #: packages/email/template-components/template-document-rejected.tsx:44 #: packages/ui/primitives/document-flow/add-subject.tsx:90 #: packages/ui/primitives/document-flow/add-subject.tsx:91 @@ -6494,6 +6587,10 @@ msgstr "You can use the following variables in your message:" 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." +#: packages/email/templates/bulk-send-complete.tsx:76 +msgid "You can view the created documents in your dashboard under the \"Documents created from template\" section." +msgstr "You can view the created documents in your dashboard under the \"Documents created from template\" section." + #: packages/email/template-components/template-document-rejected.tsx:37 msgid "You can view the document and its status by clicking the button below." msgstr "You can view the document and its status by clicking the button below." @@ -6703,6 +6800,14 @@ msgstr "Your brand website URL" msgid "Your branding preferences have been updated" msgstr "Your branding preferences have been updated" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:97 +msgid "Your bulk send has been initiated. You will receive an email notification upon completion." +msgstr "Your bulk send has been initiated. You will receive an email notification upon completion." + +#: packages/email/templates/bulk-send-complete.tsx:40 +msgid "Your bulk send operation for template \"{templateName}\" has completed." +msgstr "Your bulk send operation for template \"{templateName}\" has completed." + #: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125 msgid "Your current plan is past due. Please update your payment information." msgstr "Your current plan is past due. Please update your payment information." diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index cb24daecd..41a125982 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-31 08:04\n" +"PO-Revision-Date: 2025-01-30 06:04\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,7 +22,7 @@ msgstr "" msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "\"{0}\" te ha invitado a firmar \"ejemplo de documento\"." -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:74 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}\"." @@ -46,7 +46,7 @@ msgstr "\"{documentTitle}\" ha sido eliminado con éxito" msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" en nombre de \"{0}\" te ha invitado a firmar \"documento de ejemplo\"." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:330 msgid "{0, plural, one {(1 character over)} other {(# characters over)}}" msgstr "{0, plural, one {(1 carácter excedido)} other {(# caracteres excedidos)}}" @@ -125,7 +125,7 @@ msgstr "{0} en nombre de \"{1}\" te ha invitado a {recipientActionVerb} el docum msgid "{0} Recipient(s)" msgstr "{0} Destinatario(s)" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311 msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" msgstr "{charactersRemaining, plural, one {1 carácter restante} other {{charactersRemaining} caracteres restantes}}" @@ -141,7 +141,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:75 +#: packages/email/template-components/template-document-invite.tsx:74 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" msgstr "{inviterName} te ha invitado a {0}<0/>\"{documentName}\"" @@ -161,9 +161,9 @@ msgstr "{inviterName} te ha eliminado del documento {documentName}." msgid "{inviterName} has removed you from the document<0/>\"{documentName}\"" msgstr "{inviterName} te ha eliminado del documento<0/>\"{documentName}\"" -#: packages/email/template-components/template-document-invite.tsx:63 -msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}" -msgstr "{inviterName} en nombre de \"{teamName}\" te ha invitado a {0}" +#: packages/email/template-components/template-document-invite.tsx:61 +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}" @@ -307,8 +307,8 @@ msgid "{signerName} has rejected the document \"{documentName}\"." msgstr "{signerName} ha rechazado el documento \"{documentName}\"." #: packages/email/template-components/template-document-invite.tsx:68 -msgid "{teamName} has invited you to {0}" -msgstr "{teamName} te ha invitado a {0}" +msgid "{teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{teamName} te ha invitado a {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:46 msgid "{teamName} has invited you to {action} {documentName}" @@ -360,7 +360,7 @@ msgstr "<0>{teamName} ha solicitado usar tu dirección de correo electrónic #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:463 msgid "<0>Click to upload or drag and drop" -msgstr "" +msgstr "<0>Haga clic para subir o arrastre y suelte" #: packages/ui/primitives/template-flow/add-template-settings.tsx:287 msgid "<0>Email - The recipient will be emailed the document to sign, approve, etc." @@ -616,7 +616,7 @@ msgstr "Re-autenticación de Cuenta" msgid "Acknowledgment" msgstr "Reconocimiento" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:107 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:97 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:117 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:159 @@ -738,11 +738,11 @@ msgstr "Agregar Firmantes" msgid "Add team email" msgstr "Agregar correo electrónico del equipo" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:73 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:80 msgid "Add text" msgstr "Agregar texto" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:78 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:85 msgid "Add text to the field" msgstr "Agregar texto al campo" @@ -780,7 +780,7 @@ msgid "Advanced Options" msgstr "Opciones avanzadas" #: packages/ui/primitives/document-flow/add-fields.tsx:585 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:490 msgid "Advanced settings" msgstr "Configuraciones avanzadas" @@ -905,7 +905,7 @@ msgstr "Ocurrió un error al crear el webhook. Por favor, intenta de nuevo." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:63 msgid "An error occurred while deleting the user." -msgstr "" +msgstr "Se produjo un error al eliminar al usuario." #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:120 msgid "An error occurred while disabling direct link signing." @@ -915,9 +915,9 @@ msgstr "Ocurrió un error al desactivar la firma de enlace directo." msgid "An error occurred while disabling the user." msgstr "Se produjo un error al deshabilitar al usuario." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:98 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:77 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:101 msgid "An error occurred while downloading your document." msgstr "Ocurrió un error al descargar tu documento." @@ -955,17 +955,17 @@ msgid "An error occurred while removing the field." msgstr "Ocurrió un error mientras se eliminaba el campo." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:154 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:110 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:115 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:196 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:194 msgid "An error occurred while removing the signature." msgstr "Ocurrió un error al eliminar la firma." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:197 msgid "An error occurred while removing the text." msgstr "Ocurrió un error al eliminar el texto." @@ -978,15 +978,15 @@ msgid "An error occurred while sending your confirmation email" msgstr "Ocurrió un error al enviar tu correo electrónico de confirmación" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:125 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:127 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:151 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:168 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:169 msgid "An error occurred while signing the document." msgstr "Ocurrió un error al firmar el documento." @@ -1072,8 +1072,8 @@ msgstr "Tokens de API" msgid "App Version" msgstr "Versión de la Aplicación" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:88 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:121 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:140 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:143 #: packages/lib/constants/recipient-roles.ts:8 @@ -1081,7 +1081,7 @@ msgid "Approve" msgstr "Aprobar" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:142 -#: packages/email/template-components/template-document-invite.tsx:106 +#: packages/email/template-components/template-document-invite.tsx:105 msgid "Approve Document" msgstr "Aprobar Documento" @@ -1132,7 +1132,7 @@ msgstr "¿Estás seguro?" msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." msgstr "Intenta sellar el documento de nuevo, útil después de que se haya producido un cambio de código para resolver un documento erróneo." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136 msgid "Audit Log" msgstr "Registro de Auditoría" @@ -1230,6 +1230,23 @@ msgstr "Copia masiva" msgid "Bulk Import" msgstr "Importación masiva" +#: packages/lib/jobs/definitions/internal/bulk-send-template.handler.ts:203 +msgid "Bulk Send Complete: {0}" +msgstr "Envío Masivo Completo: {0}" + +#: packages/email/templates/bulk-send-complete.tsx:30 +msgid "Bulk send operation complete for template \"{templateName}\"" +msgstr "Operación de envío masivo completa para la plantilla \"{templateName}\"" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:128 +msgid "Bulk Send Template via CSV" +msgstr "Enviar plantilla masiva a través de CSV" + +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:97 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:120 +msgid "Bulk Send via CSV" +msgstr "Envío Masivo vía CSV" + #: packages/email/templates/team-invite.tsx:84 msgid "by <0>{senderName}" msgstr "por <0>{senderName}" @@ -1281,12 +1298,12 @@ msgstr "Al utilizar la función de firma electrónica, usted está consintiendo #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:246 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:232 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:341 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:320 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:352 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242 @@ -1305,7 +1322,8 @@ msgstr "Al utilizar la función de firma electrónica, usted está consintiendo #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:257 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:163 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:448 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:317 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:263 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:323 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" msgstr "Cancelar" @@ -1320,22 +1338,22 @@ msgstr "No se puede eliminar el firmante" #: packages/lib/constants/recipient-roles.ts:18 msgid "Cc" -msgstr "" +msgstr "Copia visible" #: packages/lib/constants/recipient-roles.ts:15 #: packages/lib/constants/recipient-roles.ts:17 msgid "CC" -msgstr "" +msgstr "COPIA VISIBLE" #: packages/lib/constants/recipient-roles.ts:16 msgid "CC'd" -msgstr "" +msgstr "Con copia" #: packages/lib/constants/recipient-roles.ts:19 msgid "Ccers" msgstr "" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 msgid "Character Limit" msgstr "Límite de caracteres" @@ -1389,7 +1407,7 @@ msgstr "Reclame su nombre de usuario ahora" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:537 msgid "Clear file" -msgstr "" +msgstr "Limpiar archivo" #: packages/ui/primitives/data-table.tsx:156 msgid "Clear filters" @@ -1499,7 +1517,7 @@ msgid "Configure template" msgstr "Configurar plantilla" #: packages/ui/primitives/document-flow/add-fields.tsx:586 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:416 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:491 msgid "Configure the {0} field" msgstr "Configurar el campo {0}" @@ -1557,7 +1575,7 @@ msgstr "Contenido" msgid "Continue" msgstr "Continuar" -#: packages/email/template-components/template-document-invite.tsx:86 +#: packages/email/template-components/template-document-invite.tsx:85 msgid "Continue by approving the document." msgstr "Continúa aprobando el documento." @@ -1565,11 +1583,11 @@ msgstr "Continúa aprobando el documento." msgid "Continue by downloading the document." msgstr "Continúa descargando el documento." -#: packages/email/template-components/template-document-invite.tsx:84 +#: packages/email/template-components/template-document-invite.tsx:83 msgid "Continue by signing the document." msgstr "Continúa firmando el documento." -#: packages/email/template-components/template-document-invite.tsx:85 +#: packages/email/template-components/template-document-invite.tsx:84 msgid "Continue by viewing the document." msgstr "Continúa viendo el documento." @@ -1736,7 +1754,7 @@ msgid "Create your account and start using state-of-the-art document signing. Op msgstr "Crea tu cuenta y comienza a utilizar la firma de documentos de última generación. La firma abierta y hermosa está al alcance de tu mano." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:62 -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:96 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:112 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:36 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:48 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 @@ -1768,6 +1786,10 @@ msgstr "Creado el" msgid "Created on {0}" msgstr "Creado el {0}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:143 +msgid "CSV Structure" +msgstr "Estructura CSV" + #: apps/web/src/components/forms/password.tsx:112 msgid "Current Password" msgstr "Contraseña actual" @@ -1776,6 +1798,10 @@ msgstr "Contraseña actual" msgid "Current password is incorrect." msgstr "La contraseña actual es incorrecta." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:154 +msgid "Current recipients:" +msgstr "Destinatarios actuales:" + #: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:28 msgid "Daily" msgstr "Diario" @@ -1785,10 +1811,10 @@ msgid "Dark Mode" msgstr "Modo Oscuro" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:67 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:153 #: packages/ui/primitives/document-flow/add-fields.tsx:945 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:732 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:810 msgid "Date" msgstr "Fecha" @@ -1822,14 +1848,14 @@ msgstr "Visibilidad predeterminada del documento" msgid "delete" msgstr "eliminar" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:143 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:107 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:85 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1928,7 +1954,7 @@ msgid "direct link" msgstr "enlace directo" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:81 msgid "Direct link" msgstr "Enlace directo" @@ -2057,7 +2083,7 @@ msgid "Document Approved" msgstr "Documento Aprobado" #: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40 -#: packages/lib/server-only/document/delete-document.ts:251 +#: packages/lib/server-only/document/delete-document.ts:263 #: packages/lib/server-only/document/super-delete-document.ts:101 msgid "Document Cancelled" msgstr "Documento cancelado" @@ -2263,7 +2289,7 @@ msgstr "El documento será eliminado permanentemente" msgid "Documents" msgstr "Documentos" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:200 msgid "Documents created from template" msgstr "Documentos creados a partir de la plantilla" @@ -2280,9 +2306,9 @@ msgstr "Documentos vistos" msgid "Don't have an account? <0>Sign up" msgstr "¿No tienes una cuenta? <0>Regístrate" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:122 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:117 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 @@ -2300,6 +2326,10 @@ msgstr "Descargar registros de auditoría" msgid "Download Certificate" msgstr "Descargar certificado" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:168 +msgid "Download Template CSV" +msgstr "Descargar Plantilla CSV" + #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208 #: apps/web/src/components/formatter/document-status.tsx:34 #: packages/lib/constants/document.ts:13 @@ -2319,7 +2349,7 @@ msgid "Drag & drop your PDF here." msgstr "Arrastre y suelte su PDF aquí." #: packages/ui/primitives/document-flow/add-fields.tsx:1076 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:863 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:941 msgid "Dropdown" msgstr "Menú desplegable" @@ -2331,28 +2361,28 @@ msgstr "Opciones de menú desplegable" msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "Debido a una factura impaga, tu equipo ha sido restringido. Realiza el pago para restaurar el acceso completo a tu equipo." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:161 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:84 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:117 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:89 msgid "Duplicate" msgstr "Duplicar" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:103 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:96 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:103 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:67 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Editar" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:120 msgid "Edit Template" msgstr "Editar plantilla" @@ -2377,7 +2407,7 @@ msgstr "Divulgación de Firma Electrónica" #: 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:119 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:131 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:407 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 @@ -2391,7 +2421,7 @@ msgstr "Divulgación de Firma Electrónica" #: packages/ui/primitives/document-flow/add-signers.tsx:511 #: packages/ui/primitives/document-flow/add-signers.tsx:518 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:680 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:477 msgid "Email" @@ -2484,7 +2514,7 @@ msgid "Enable Typed Signature" msgstr "Habilitar firma mecanografiada" #: packages/ui/primitives/document-flow/add-fields.tsx:813 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:600 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 msgid "Enable Typed Signatures" msgstr "Habilitar firmas escritas" @@ -2529,7 +2559,7 @@ msgstr "Ingresa tu dirección de correo electrónico para recibir el documento c msgid "Enter your name" msgstr "Ingresa tu nombre" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:293 msgid "Enter your text here" msgstr "Ingresa tu texto aquí" @@ -2554,28 +2584,28 @@ msgstr "Ingresa tu texto aquí" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:124 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:214 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:99 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:125 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:104 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:130 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:88 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:114 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:152 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:133 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:193 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:101 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:218 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:224 #: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Error" @@ -2614,7 +2644,7 @@ msgstr "ID externo" msgid "Failed to reseal document" msgstr "Falló al volver a sellar el documento" -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:219 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:225 msgid "Failed to save settings." msgstr "Fallo al guardar configuraciones." @@ -2627,16 +2657,20 @@ msgstr "Falló al actualizar el destinatario" msgid "Failed to update webhook" msgstr "Falló al actualizar el webhook" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 +#: packages/email/templates/bulk-send-complete.tsx:55 +msgid "Failed: {failedCount}" +msgstr "Fallidos: {failedCount}" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:100 msgid "Field character limit" msgstr "Límite de caracteres del campo" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:62 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:44 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:69 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:51 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:46 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:51 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:130 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:107 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:114 msgid "Field font size" msgstr "Tamaño de fuente del campo" @@ -2644,11 +2678,11 @@ msgstr "Tamaño de fuente del campo" msgid "Field format" msgstr "Formato de campo" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:53 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 msgid "Field label" msgstr "Etiqueta de campo" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:65 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:72 msgid "Field placeholder" msgstr "Marcador de posición de campo" @@ -2670,14 +2704,14 @@ msgstr "El archivo no puede ser mayor a {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:513 msgid "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" -msgstr "" +msgstr "El tamaño del archivo excede el límite de {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:38 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:63 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:45 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:40 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:45 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:124 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:101 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:108 msgid "Font Size" msgstr "Tamaño de fuente" @@ -2685,6 +2719,10 @@ msgstr "Tamaño de fuente" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "Si tiene alguna pregunta sobre esta divulgación, firmas electrónicas o cualquier proceso relacionado, comuníquese con nosotros en: <0>{SUPPORT_EMAIL}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:147 +msgid "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." +msgstr "Para cada destinatario, proporciona su correo electrónico (obligatorio) y nombre (opcional) en columnas separadas. Descarga el modelo CSV a continuación para el formato correcto." + #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" msgstr "¿Olvidaste tu contraseña?" @@ -2701,7 +2739,7 @@ msgstr "Firma gratuita" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:330 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:191 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:210 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:272 #: apps/web/src/components/forms/profile.tsx:101 @@ -2794,6 +2832,10 @@ msgstr "Así es como funciona:" msgid "Hey I’m Timur" msgstr "Hola, soy Timur" +#: packages/email/templates/bulk-send-complete.tsx:36 +msgid "Hi {userName}," +msgstr "Hola, {userName}," + #: packages/email/templates/reset-password.tsx:56 msgid "Hi, {userName} <0>({userEmail})" msgstr "Hola, {userName} <0>({userEmail})" @@ -2981,7 +3023,7 @@ msgstr "Únete a {teamName} en Documenso" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:55 msgid "Label" msgstr "Etiqueta" @@ -3110,7 +3152,7 @@ msgstr "Gestionar el perfil de {0}" msgid "Manage all teams you are currently associated with." msgstr "Gestionar todos los equipos con los que estás asociado actualmente." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:164 msgid "Manage and view template" msgstr "Gestionar y ver plantilla" @@ -3190,10 +3232,14 @@ msgstr "MAU (documento creado)" msgid "MAU (had document completed)" msgstr "MAU (documento completado)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:209 msgid "Max" msgstr "Máx" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:227 +msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." +msgstr "Tamaño máximo de archivo: 4MB. Máximo 100 filas por carga. Los valores en blanco usarán los valores predeterminados de la plantilla." + #: packages/lib/constants/teams.ts:12 msgid "Member" msgstr "Miembro" @@ -3214,7 +3260,7 @@ msgstr "Miembros" msgid "Message <0>(Optional)" msgstr "Mensaje <0>(Opcional)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:176 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:197 msgid "Min" msgstr "Mín" @@ -3250,7 +3296,7 @@ msgid "Move Template to Team" msgstr "Mover plantilla al equipo" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:168 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:87 msgid "Move to Team" msgstr "Mover al equipo" @@ -3272,7 +3318,7 @@ msgstr "Mis plantillas" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:299 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:306 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:118 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:175 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:141 #: apps/web/src/components/forms/signup.tsx:160 @@ -3280,7 +3326,7 @@ msgstr "Mis plantillas" #: packages/ui/primitives/document-flow/add-signers.tsx:549 #: packages/ui/primitives/document-flow/add-signers.tsx:555 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:505 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:511 msgid "Name" @@ -3354,7 +3400,7 @@ msgid "No recent documents" msgstr "No hay documentos recientes" #: packages/ui/primitives/document-flow/add-fields.tsx:705 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:520 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:598 msgid "No recipient matching this description was found." msgstr "No se encontró ningún destinatario que coincidiera con esta descripción." @@ -3366,7 +3412,7 @@ msgid "No recipients" msgstr "Sin destinatarios" #: packages/ui/primitives/document-flow/add-fields.tsx:720 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:535 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:613 msgid "No recipients with this role" msgstr "No hay destinatarios con este rol" @@ -3425,10 +3471,10 @@ msgstr "No soportado" msgid "Nothing to do" msgstr "Nada que hacer" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:284 #: packages/ui/primitives/document-flow/add-fields.tsx:997 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:862 msgid "Number" msgstr "Número" @@ -3686,11 +3732,11 @@ msgstr "Elige cualquiera de los siguientes acuerdos a continuación y comience a #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:79 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:84 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:67 msgid "Placeholder" msgstr "Marcador de posición" -#: packages/email/template-components/template-document-invite.tsx:56 +#: packages/email/template-components/template-document-invite.tsx:55 msgid "Please {0} your document<0/>\"{documentName}\"" msgstr "Por favor {0} tu documento<0/>\"{documentName}\"" @@ -3793,7 +3839,7 @@ msgstr "Por favor, revise el documento antes de firmar." #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:503 msgid "Please select a PDF file" -msgstr "" +msgstr "Por favor seleccione un archivo PDF" #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." @@ -3820,6 +3866,10 @@ msgstr "Por favor, escriba {0} para confirmar" msgid "Please type <0>{0} to confirm." msgstr "Por favor, escribe <0>{0} para confirmar." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:172 +msgid "Pre-formatted CSV template with example data." +msgstr "Plantilla CSV preformateada con datos de ejemplo." + #: 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 @@ -3898,9 +3948,9 @@ msgstr "Valores de radio" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:186 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:147 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:156 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:177 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:122 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:133 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:161 msgid "Read only" msgstr "Solo lectura" @@ -4020,7 +4070,7 @@ msgstr "Registro exitoso" #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162 -#: packages/email/template-components/template-document-invite.tsx:96 +#: packages/email/template-components/template-document-invite.tsx:95 msgid "Reject Document" msgstr "Rechazar Documento" @@ -4068,6 +4118,7 @@ msgstr "Recordatorio: Por favor {recipientActionVerb} tu documento" #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:163 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:165 #: apps/web/src/components/forms/avatar-image.tsx:166 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:217 #: packages/ui/primitives/document-flow/add-fields.tsx:1128 msgid "Remove" msgstr "Eliminar" @@ -4095,9 +4146,9 @@ msgstr "Solicitar transferencia" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:176 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:137 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:146 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:112 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:123 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:151 msgid "Required field" msgstr "Campo obligatorio" @@ -4206,15 +4257,15 @@ msgid "Rows per page" msgstr "Filas por página" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:440 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:350 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:361 #: 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:305 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:316 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:322 msgid "Save" msgstr "Guardar" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:896 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:974 msgid "Save Template" msgstr "Guardar plantilla" @@ -4229,7 +4280,7 @@ msgstr "Buscar" msgid "Search by document title" msgstr "Buscar por título del documento" -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:147 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:174 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 msgid "Search by name or email" msgstr "Buscar por nombre o correo electrónico" @@ -4339,6 +4390,10 @@ msgstr "Enviar correo electrónico de documento pendiente" msgid "Send documents on behalf of the team using the email address" msgstr "Enviar documentos en nombre del equipo usando la dirección de correo electrónico" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:253 +msgid "Send documents to recipients immediately" +msgstr "Enviar documentos a los destinatarios inmediatamente" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:200 msgid "Send on Behalf of Team" msgstr "Enviar en nombre del equipo" @@ -4391,7 +4446,7 @@ msgstr "Configuraciones" msgid "Setup" msgstr "Configuración" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:147 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 msgid "Share" msgstr "Compartir" @@ -4400,7 +4455,7 @@ msgstr "Compartir" msgid "Share Signature Card" msgstr "Compartir tarjeta de firma" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:178 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:185 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:213 msgid "Share Signing Card" msgstr "Compartir tarjeta de firma" @@ -4434,13 +4489,13 @@ msgstr "Mostrar plantillas en tu perfil público para que tu audiencia firme y c msgid "Show templates in your team public profile for your audience to sign and get started quickly" msgstr "Mostrar plantillas en el perfil público de tu equipo para que tu audiencia firme y comience rápidamente" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:82 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:108 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:115 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:133 #: apps/web/src/app/(profile)/p/[url]/page.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:241 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:328 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 @@ -4453,7 +4508,7 @@ msgstr "Firmar" msgid "Sign as {0} <0>({1})" msgstr "Firmar como {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:200 msgid "Sign as<0>{0} <1>({1})" msgstr "Firmar como<0>{0} <1>({1})" @@ -4463,7 +4518,7 @@ msgid "Sign document" msgstr "Firmar documento" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:141 -#: packages/email/template-components/template-document-invite.tsx:104 +#: packages/email/template-components/template-document-invite.tsx:103 msgid "Sign Document" msgstr "Firmar Documento" @@ -4527,7 +4582,7 @@ msgstr "Regístrate con OIDC" #: packages/ui/primitives/document-flow/add-fields.tsx:841 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:628 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 msgid "Signature" msgstr "Firma" @@ -4595,7 +4650,7 @@ msgstr "¡Firma completa!" msgid "Signing in..." msgstr "Iniciando sesión..." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:159 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:166 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:197 msgid "Signing Links" msgstr "Enlaces de firma" @@ -4608,7 +4663,7 @@ msgstr "Se han generado enlaces de firma para este documento." msgid "Signing up..." msgstr "Registrándose..." -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:82 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:90 #: apps/web/src/app/(dashboard)/admin/leaderboard/page.tsx:46 msgid "Signing Volume" msgstr "Volumen de firmas" @@ -4635,11 +4690,11 @@ msgid "Some signers have not been assigned a signature field. Please assign at l msgstr "Algunos firmantes no han sido asignados a un campo de firma. Asigne al menos 1 campo de firma a cada firmante antes de continuar." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:62 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:90 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:97 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:61 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:100 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:71 @@ -4713,7 +4768,7 @@ msgstr "Algo salió mal." #: apps/web/src/components/forms/token.tsx:143 msgid "Something went wrong. Please try again later." -msgstr "" +msgstr "Algo salió mal. Por favor, inténtelo de nuevo más tarde." #: 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 @@ -4799,6 +4854,7 @@ msgstr "Suscripciones" #: apps/web/src/components/forms/public-profile-form.tsx:80 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:132 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:168 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:95 msgid "Success" msgstr "Éxito" @@ -4806,6 +4862,14 @@ msgstr "Éxito" msgid "Successfully created passkey" msgstr "Clave de acceso creada con éxito" +#: packages/email/templates/bulk-send-complete.tsx:52 +msgid "Successfully created: {successCount}" +msgstr "Creado con éxito: {successCount}" + +#: packages/email/templates/bulk-send-complete.tsx:44 +msgid "Summary:" +msgstr "Resumen:" + #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" msgstr "Requisitos del Sistema" @@ -4956,7 +5020,7 @@ msgstr "Equipos restringidos" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:142 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:222 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:151 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:269 msgid "Template" @@ -4998,7 +5062,7 @@ msgstr "Plantilla guardada" msgid "Template title" msgstr "Título de plantilla" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -5010,14 +5074,23 @@ msgstr "Plantillas" msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields." msgstr "Las plantillas te permiten generar documentos rápidamente con destinatarios y campos prellenados." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:258 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:287 #: packages/ui/primitives/document-flow/add-fields.tsx:971 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:836 msgid "Text" msgstr "Texto" +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:79 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:56 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:140 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:124 +msgid "Text Align" +msgstr "Alineación de texto" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:157 msgid "Text Color" msgstr "Color de texto" @@ -5102,6 +5175,10 @@ msgstr "El nombre del documento" 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." +#: packages/email/templates/bulk-send-complete.tsx:62 +msgid "The following errors occurred:" +msgstr "Se produjeron los siguientes errores:" + #: 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" @@ -5497,7 +5574,7 @@ msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "Para marcar este documento como visto, debes iniciar sesión como <0>{0}" #: packages/ui/primitives/document-flow/add-fields.tsx:1091 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:876 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:954 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}." @@ -5558,6 +5635,10 @@ msgstr "Total de documentos" msgid "Total Recipients" msgstr "Total de destinatarios" +#: packages/email/templates/bulk-send-complete.tsx:49 +msgid "Total rows processed: {totalProcessed}" +msgstr "Filas totales procesadas: {totalProcessed}" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 msgid "Total Signers that Signed Up" msgstr "Total de firmantes que se registraron" @@ -5816,17 +5897,29 @@ msgstr "Actualizando Su Información" msgid "Upgrade" msgstr "Actualizar" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:132 +msgid "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." +msgstr "Sube un archivo CSV para crear múltiples documentos a partir de esta plantilla. Cada fila representa un documento con los detalles del destinatario." + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:426 msgid "Upload a custom document to use instead of the template's default document" -msgstr "" +msgstr "Sube un documento personalizado para usar en lugar del documento predeterminado de la plantilla" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:267 +msgid "Upload and Process" +msgstr "Subir y procesar" #: apps/web/src/components/forms/avatar-image.tsx:179 msgid "Upload Avatar" msgstr "Subir avatar" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:198 +msgid "Upload CSV" +msgstr "Subir CSV" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:419 msgid "Upload custom document" -msgstr "" +msgstr "Subir documento personalizado" #: packages/ui/primitives/signature-pad/signature-pad.tsx:529 msgid "Upload Signature" @@ -5857,7 +5950,7 @@ msgstr "El archivo subido es demasiado pequeño" msgid "Uploaded file not an allowed file type" msgstr "El archivo subido no es un tipo de archivo permitido" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:175 msgid "Use" msgstr "Usar" @@ -5915,7 +6008,7 @@ msgid "Users" msgstr "Usuarios" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:132 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 msgid "Validation" msgstr "Validación" @@ -5957,9 +6050,9 @@ msgstr "Verifica tu dirección de correo electrónico del equipo" msgid "Version History" msgstr "Historial de Versiones" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:94 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:101 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:136 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:126 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 @@ -6000,7 +6093,7 @@ msgid "View document" msgstr "Ver documento" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:140 -#: packages/email/template-components/template-document-invite.tsx:105 +#: packages/email/template-components/template-document-invite.tsx:104 #: packages/email/template-components/template-document-rejected.tsx:44 #: packages/ui/primitives/document-flow/add-subject.tsx:90 #: packages/ui/primitives/document-flow/add-subject.tsx:91 @@ -6213,7 +6306,7 @@ msgstr "Encontramos un error desconocido al intentar actualizar el correo electr #: apps/web/src/components/forms/profile.tsx:81 msgid "We encountered an unknown error while attempting update your profile. Please try again later." -msgstr "" +msgstr "Encontramos un error desconocido al intentar actualizar su perfil. Por favor, inténtelo de nuevo más tarde." #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:80 msgid "We have sent a confirmation email for verification." @@ -6449,7 +6542,7 @@ msgstr "No eres miembro de este equipo." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:62 msgid "You are not authorized to delete this user." -msgstr "" +msgstr "No está autorizado para eliminar a este usuario." #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:56 msgid "You are not authorized to disable this user." @@ -6499,6 +6592,10 @@ msgstr "Puede usar las siguientes variables en su mensaje:" 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." +#: packages/email/templates/bulk-send-complete.tsx:76 +msgid "You can view the created documents in your dashboard under the \"Documents created from template\" section." +msgstr "Puedes ver los documentos creados en tu panel de control bajo la sección \"Documentos creados a partir de la plantilla\"." + #: packages/email/template-components/template-document-rejected.tsx:37 msgid "You can view the document and its status by clicking the button below." msgstr "Puede ver el documento y su estado haciendo clic en el botón de abajo." @@ -6525,7 +6622,7 @@ msgstr "Actualmente no tienes un registro de cliente, esto no debería suceder. #: apps/web/src/components/forms/token.tsx:141 msgid "You do not have permission to create a token for this team" -msgstr "" +msgstr "No tiene permiso para crear un token para este equipo" #: packages/email/template-components/template-document-cancel.tsx:35 msgid "You don't need to sign it anymore." @@ -6593,7 +6690,7 @@ msgstr "Has alcanzado el límite máximo de {0} plantillas directas. <0>¡Actual #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 msgid "You have reached your document limit for this month. Please upgrade your plan." -msgstr "" +msgstr "Ha alcanzado su límite de documentos para este mes. Por favor, actualice su plan." #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:56 #: packages/ui/primitives/document-dropzone.tsx:69 @@ -6708,6 +6805,14 @@ msgstr "La URL de tu sitio web de marca" msgid "Your branding preferences have been updated" msgstr "Tus preferencias de marca han sido actualizadas" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:97 +msgid "Your bulk send has been initiated. You will receive an email notification upon completion." +msgstr "Tu envío masivo ha sido iniciado. Recibirás una notificación por correo electrónico al completarse." + +#: packages/email/templates/bulk-send-complete.tsx:40 +msgid "Your bulk send operation for template \"{templateName}\" has completed." +msgstr "Tu operación de envío masivo para la plantilla \"{templateName}\" ha sido completada." + #: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125 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." @@ -6857,3 +6962,4 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Tus tokens se mostrarán aquí una vez que los crees." + diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index e6cd7de98..47f1d6167 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-31 08:04\n" +"PO-Revision-Date: 2025-01-30 06:04\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -22,7 +22,7 @@ msgstr "" msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "\"{0}\" vous a invité à signer \"example document\"." -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:74 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}\"." @@ -46,7 +46,7 @@ msgstr "\"{documentTitle}\" a été supprimé avec succès" msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" au nom de \"{0}\" vous a invité à signer \"exemple de document\"." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:330 msgid "{0, plural, one {(1 character over)} other {(# characters over)}}" msgstr "{0, plural, one {(1 caractère de trop)} other {(# caractères de trop)}}" @@ -125,7 +125,7 @@ msgstr "{0} représentant \"{1}\" vous a invité à {recipientActionVerb} le doc msgid "{0} Recipient(s)" msgstr "{0} Destinataire(s)" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311 msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" msgstr "{charactersRemaining, plural, one {1 caractère restant} other {{charactersRemaining} caractères restants}}" @@ -141,7 +141,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:75 +#: packages/email/template-components/template-document-invite.tsx:74 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" msgstr "{inviterName} vous a invité à {0}<0/>\"{documentName}\"" @@ -161,9 +161,9 @@ msgstr "{inviterName} vous a retiré du document {documentName}." msgid "{inviterName} has removed you from the document<0/>\"{documentName}\"" msgstr "{inviterName} vous a retiré du document<0/>\"{documentName}\"" -#: packages/email/template-components/template-document-invite.tsx:63 -msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}" -msgstr "{inviterName} représentant \"{teamName}\" vous a invité à {0}" +#: packages/email/template-components/template-document-invite.tsx:61 +msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} représentant \"{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}" @@ -307,8 +307,8 @@ msgid "{signerName} has rejected the document \"{documentName}\"." msgstr "{signerName} a rejeté le document \"{documentName}\"." #: packages/email/template-components/template-document-invite.tsx:68 -msgid "{teamName} has invited you to {0}" -msgstr "{teamName} vous a invité à {0}" +msgid "{teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{teamName} vous a invité à {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:46 msgid "{teamName} has invited you to {action} {documentName}" @@ -360,7 +360,7 @@ msgstr "<0>{teamName} a demandé à utiliser votre adresse e-mail pour leur #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:463 msgid "<0>Click to upload or drag and drop" -msgstr "" +msgstr "<0>Cliquez pour télécharger ou faites glisser et déposez" #: packages/ui/primitives/template-flow/add-template-settings.tsx:287 msgid "<0>Email - The recipient will be emailed the document to sign, approve, etc." @@ -616,7 +616,7 @@ msgstr "Ré-authentification de compte" msgid "Acknowledgment" msgstr "Reconnaissance" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:107 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:97 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:117 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:159 @@ -738,11 +738,11 @@ msgstr "Ajouter des signataires" msgid "Add team email" msgstr "Ajouter un e-mail d'équipe" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:73 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:80 msgid "Add text" msgstr "Ajouter du texte" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:78 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:85 msgid "Add text to the field" msgstr "Ajouter du texte au champ" @@ -780,7 +780,7 @@ msgid "Advanced Options" msgstr "Options avancées" #: packages/ui/primitives/document-flow/add-fields.tsx:585 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:490 msgid "Advanced settings" msgstr "Paramètres avancés" @@ -905,7 +905,7 @@ msgstr "Une erreur est survenue lors de la création du webhook. Veuillez réess #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:63 msgid "An error occurred while deleting the user." -msgstr "" +msgstr "Une erreur s'est produite lors de la suppression de l'utilisateur." #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:120 msgid "An error occurred while disabling direct link signing." @@ -915,9 +915,9 @@ msgstr "Une erreur est survenue lors de la désactivation de la signature par li msgid "An error occurred while disabling the user." msgstr "Une erreur est survenue lors de la désactivation de l'utilisateur." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:98 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:77 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:101 msgid "An error occurred while downloading your document." msgstr "Une erreur est survenue lors du téléchargement de votre document." @@ -955,17 +955,17 @@ msgid "An error occurred while removing the field." msgstr "Une erreur est survenue lors de la suppression du champ." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:154 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:110 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:115 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:196 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:194 msgid "An error occurred while removing the signature." msgstr "Une erreur est survenue lors de la suppression de la signature." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:197 msgid "An error occurred while removing the text." msgstr "Une erreur est survenue lors de la suppression du texte." @@ -978,15 +978,15 @@ msgid "An error occurred while sending your confirmation email" msgstr "Une erreur est survenue lors de l'envoi de votre e-mail de confirmation" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:125 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:127 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:151 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:168 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:169 msgid "An error occurred while signing the document." msgstr "Une erreur est survenue lors de la signature du document." @@ -1072,8 +1072,8 @@ msgstr "Tokens API" msgid "App Version" msgstr "Version de l'application" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:88 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:121 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:140 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:143 #: packages/lib/constants/recipient-roles.ts:8 @@ -1081,7 +1081,7 @@ msgid "Approve" msgstr "Approuver" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:142 -#: packages/email/template-components/template-document-invite.tsx:106 +#: packages/email/template-components/template-document-invite.tsx:105 msgid "Approve Document" msgstr "Approuver le document" @@ -1132,7 +1132,7 @@ msgstr "Êtes-vous sûr ?" msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." msgstr "Essaye de sceller le document à nouveau, utile après qu'un changement de code ait eu lieu pour résoudre un document erroné." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136 msgid "Audit Log" msgstr "Journal d'audit" @@ -1230,6 +1230,23 @@ msgstr "Copie groupée" msgid "Bulk Import" msgstr "Importation en masse" +#: packages/lib/jobs/definitions/internal/bulk-send-template.handler.ts:203 +msgid "Bulk Send Complete: {0}" +msgstr "Envoi en masse terminé : {0}" + +#: packages/email/templates/bulk-send-complete.tsx:30 +msgid "Bulk send operation complete for template \"{templateName}\"" +msgstr "Envoi groupé terminé pour le modèle \"{templateName}\"" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:128 +msgid "Bulk Send Template via CSV" +msgstr "Envoi de modèle groupé via CSV" + +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:97 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:120 +msgid "Bulk Send via CSV" +msgstr "Envoi en masse via CSV" + #: packages/email/templates/team-invite.tsx:84 msgid "by <0>{senderName}" msgstr "par <0>{senderName}" @@ -1281,12 +1298,12 @@ msgstr "En utilisant la fonctionnalité de signature électronique, vous consent #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:246 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:232 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:341 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:320 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:352 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242 @@ -1305,7 +1322,8 @@ msgstr "En utilisant la fonctionnalité de signature électronique, vous consent #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:257 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:163 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:448 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:317 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:263 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:323 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" msgstr "Annuler" @@ -1335,7 +1353,7 @@ msgstr "" msgid "Ccers" msgstr "Copie Carboneurs" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 msgid "Character Limit" msgstr "Limite de caractères" @@ -1389,7 +1407,7 @@ msgstr "Revendiquer votre nom d'utilisateur maintenant" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:537 msgid "Clear file" -msgstr "" +msgstr "Effacer le fichier" #: packages/ui/primitives/data-table.tsx:156 msgid "Clear filters" @@ -1499,7 +1517,7 @@ msgid "Configure template" msgstr "Configurer le modèle" #: packages/ui/primitives/document-flow/add-fields.tsx:586 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:416 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:491 msgid "Configure the {0} field" msgstr "Configurer le champ {0}" @@ -1557,7 +1575,7 @@ msgstr "Contenu" msgid "Continue" msgstr "Continuer" -#: packages/email/template-components/template-document-invite.tsx:86 +#: packages/email/template-components/template-document-invite.tsx:85 msgid "Continue by approving the document." msgstr "Continuer en approuvant le document." @@ -1565,11 +1583,11 @@ msgstr "Continuer en approuvant le document." msgid "Continue by downloading the document." msgstr "Continuer en téléchargeant le document." -#: packages/email/template-components/template-document-invite.tsx:84 +#: packages/email/template-components/template-document-invite.tsx:83 msgid "Continue by signing the document." msgstr "Continuer en signant le document." -#: packages/email/template-components/template-document-invite.tsx:85 +#: packages/email/template-components/template-document-invite.tsx:84 msgid "Continue by viewing the document." msgstr "Continuer en consultant le document." @@ -1736,7 +1754,7 @@ msgid "Create your account and start using state-of-the-art document signing. Op msgstr "Créez votre compte et commencez à utiliser la signature de documents à la pointe de la technologie. Une signature ouverte et magnifique est à votre portée." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:62 -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:96 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:112 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:36 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:48 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 @@ -1768,6 +1786,10 @@ msgstr "Créé le" msgid "Created on {0}" msgstr "Créé le {0}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:143 +msgid "CSV Structure" +msgstr "Structure CSV" + #: apps/web/src/components/forms/password.tsx:112 msgid "Current Password" msgstr "Mot de passe actuel" @@ -1776,6 +1798,10 @@ msgstr "Mot de passe actuel" msgid "Current password is incorrect." msgstr "Le mot de passe actuel est incorrect." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:154 +msgid "Current recipients:" +msgstr "Destinataires actuels :" + #: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:28 msgid "Daily" msgstr "Quotidien" @@ -1785,10 +1811,10 @@ msgid "Dark Mode" msgstr "Mode sombre" #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:67 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:153 #: packages/ui/primitives/document-flow/add-fields.tsx:945 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:732 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:810 msgid "Date" msgstr "Date" @@ -1822,14 +1848,14 @@ msgstr "Visibilité par défaut du document" msgid "delete" msgstr "supprimer" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:143 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:107 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:85 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1928,7 +1954,7 @@ msgid "direct link" msgstr "lien direct" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:81 msgid "Direct link" msgstr "Lien direct" @@ -1981,12 +2007,12 @@ msgstr "Désactiver 2FA" #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:132 msgid "Disable account" -msgstr "" +msgstr "Désactiver le compte" #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:88 #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:95 msgid "Disable Account" -msgstr "" +msgstr "Désactiver le Compte" #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:105 msgid "Disable Two Factor Authentication before deleting your account." @@ -2057,7 +2083,7 @@ msgid "Document Approved" msgstr "Document Approuvé" #: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40 -#: packages/lib/server-only/document/delete-document.ts:251 +#: packages/lib/server-only/document/delete-document.ts:263 #: packages/lib/server-only/document/super-delete-document.ts:101 msgid "Document Cancelled" msgstr "Document Annulé" @@ -2263,7 +2289,7 @@ msgstr "Le document sera supprimé de manière permanente" msgid "Documents" msgstr "Documents" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:200 msgid "Documents created from template" msgstr "Documents créés à partir du modèle" @@ -2280,9 +2306,9 @@ msgstr "Documents consultés" msgid "Don't have an account? <0>Sign up" msgstr "Vous n'avez pas de compte? <0>Inscrivez-vous" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:122 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:117 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 @@ -2300,6 +2326,10 @@ msgstr "Télécharger les journaux d'audit" msgid "Download Certificate" msgstr "Télécharger le certificat" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:168 +msgid "Download Template CSV" +msgstr "Télécharger le modèle CSV" + #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208 #: apps/web/src/components/formatter/document-status.tsx:34 #: packages/lib/constants/document.ts:13 @@ -2319,7 +2349,7 @@ msgid "Drag & drop your PDF here." msgstr "Faites glisser et déposez votre PDF ici." #: packages/ui/primitives/document-flow/add-fields.tsx:1076 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:863 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:941 msgid "Dropdown" msgstr "Liste déroulante" @@ -2331,28 +2361,28 @@ msgstr "Options de liste déroulante" msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "En raison d'une facture impayée, votre équipe a été restreinte. Veuillez régler le paiement pour rétablir l'accès complet à votre équipe." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:135 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:142 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:161 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:84 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:117 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:89 msgid "Duplicate" msgstr "Dupliquer" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:103 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:96 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:103 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:67 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Modifier" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:120 msgid "Edit Template" msgstr "Modifier le modèle" @@ -2377,7 +2407,7 @@ msgstr "Divulgation de signature électronique" #: 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:119 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:131 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:407 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 @@ -2391,7 +2421,7 @@ msgstr "Divulgation de signature électronique" #: packages/ui/primitives/document-flow/add-signers.tsx:511 #: packages/ui/primitives/document-flow/add-signers.tsx:518 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:680 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:477 msgid "Email" @@ -2450,12 +2480,12 @@ msgstr "Activer 2FA" #: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:121 msgid "Enable account" -msgstr "" +msgstr "Activer le compte" #: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:88 #: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:95 msgid "Enable Account" -msgstr "" +msgstr "Activer le Compte" #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:194 msgid "Enable Authenticator App" @@ -2484,7 +2514,7 @@ msgid "Enable Typed Signature" msgstr "Activer la signature dactylographiée" #: packages/ui/primitives/document-flow/add-fields.tsx:813 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:600 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 msgid "Enable Typed Signatures" msgstr "Activer les signatures tapées" @@ -2529,7 +2559,7 @@ msgstr "Entrez votre adresse e-mail pour recevoir le document complété." msgid "Enter your name" msgstr "Entrez votre nom" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:293 msgid "Enter your text here" msgstr "Entrez votre texte ici" @@ -2554,28 +2584,28 @@ msgstr "Entrez votre texte ici" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:124 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:214 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:99 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:125 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:104 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:130 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:88 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:114 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:152 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:133 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:193 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:101 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:218 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:224 #: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Erreur" @@ -2614,7 +2644,7 @@ msgstr "ID externe" msgid "Failed to reseal document" msgstr "Échec du reseal du document" -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:219 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:225 msgid "Failed to save settings." msgstr "Échec de l'enregistrement des paramètres." @@ -2627,16 +2657,20 @@ msgstr "Échec de la mise à jour du destinataire" msgid "Failed to update webhook" msgstr "Échec de la mise à jour du webhook" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 +#: packages/email/templates/bulk-send-complete.tsx:55 +msgid "Failed: {failedCount}" +msgstr "Échoués : {failedCount}" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:100 msgid "Field character limit" msgstr "Limite de caractères du champ" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:62 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:44 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:69 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:51 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:46 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:51 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:130 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:107 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:114 msgid "Field font size" msgstr "Taille de police du champ" @@ -2644,11 +2678,11 @@ msgstr "Taille de police du champ" msgid "Field format" msgstr "Format du champ" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:53 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 msgid "Field label" msgstr "Étiquette du champ" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:65 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:72 msgid "Field placeholder" msgstr "Espace réservé du champ" @@ -2670,14 +2704,14 @@ msgstr "Le fichier ne peut pas dépasser {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} Mo" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:513 msgid "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" -msgstr "" +msgstr "La taille du fichier dépasse la limite de {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:38 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:63 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:45 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:40 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:45 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:124 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:101 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:108 msgid "Font Size" msgstr "Taille de Police" @@ -2685,6 +2719,10 @@ msgstr "Taille de Police" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "Pour toute question concernant cette divulgation, les signatures électroniques ou tout processus y afférent, veuillez nous contacter à : <0>{SUPPORT_EMAIL}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:147 +msgid "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." +msgstr "Pour chaque destinataire, fournissez leur email (obligatoire) et leur nom (facultatif) dans des colonnes séparées. Téléchargez le modèle CSV ci-dessous pour le format correct." + #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" msgstr "Mot de passe oublié ?" @@ -2701,7 +2739,7 @@ msgstr "Signature gratuite" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:330 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:191 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:210 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:272 #: apps/web/src/components/forms/profile.tsx:101 @@ -2794,6 +2832,10 @@ msgstr "Voici comment cela fonctionne :" msgid "Hey I’m Timur" msgstr "Salut, je suis Timur" +#: packages/email/templates/bulk-send-complete.tsx:36 +msgid "Hi {userName}," +msgstr "Bonjour, {userName}," + #: packages/email/templates/reset-password.tsx:56 msgid "Hi, {userName} <0>({userEmail})" msgstr "Bonjour, {userName} <0>({userEmail})" @@ -2981,7 +3023,7 @@ msgstr "Rejoindre {teamName} sur Documenso" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:55 msgid "Label" msgstr "Étiquette" @@ -3110,7 +3152,7 @@ msgstr "Gérer le profil de {0}" msgid "Manage all teams you are currently associated with." msgstr "Gérer toutes les équipes avec lesquelles vous êtes actuellement associé." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:164 msgid "Manage and view template" msgstr "Gérer et afficher le modèle" @@ -3190,10 +3232,14 @@ msgstr "MAU (document créé)" msgid "MAU (had document completed)" msgstr "MAU (document terminé)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:209 msgid "Max" msgstr "" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:227 +msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." +msgstr "Taille maximale du fichier : 4 Mo. Maximum de 100 lignes par téléversement. Les valeurs vides utiliseront les valeurs par défaut du modèle." + #: packages/lib/constants/teams.ts:12 msgid "Member" msgstr "Membre" @@ -3214,7 +3260,7 @@ msgstr "Membres" msgid "Message <0>(Optional)" msgstr "Message <0>(Optionnel)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:176 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:197 msgid "Min" msgstr "" @@ -3250,7 +3296,7 @@ msgid "Move Template to Team" msgstr "Déplacer le modèle vers l'équipe" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:168 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:87 msgid "Move to Team" msgstr "Déplacer vers l'équipe" @@ -3272,7 +3318,7 @@ msgstr "Mes modèles" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:299 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:306 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:118 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:175 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:141 #: apps/web/src/components/forms/signup.tsx:160 @@ -3280,7 +3326,7 @@ msgstr "Mes modèles" #: packages/ui/primitives/document-flow/add-signers.tsx:549 #: packages/ui/primitives/document-flow/add-signers.tsx:555 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:505 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:511 msgid "Name" @@ -3354,7 +3400,7 @@ msgid "No recent documents" msgstr "Aucun document récent" #: packages/ui/primitives/document-flow/add-fields.tsx:705 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:520 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:598 msgid "No recipient matching this description was found." msgstr "Aucun destinataire correspondant à cette description n'a été trouvé." @@ -3366,7 +3412,7 @@ msgid "No recipients" msgstr "Aucun destinataire" #: packages/ui/primitives/document-flow/add-fields.tsx:720 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:535 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:613 msgid "No recipients with this role" msgstr "Aucun destinataire avec ce rôle" @@ -3425,10 +3471,10 @@ msgstr "Non pris en charge" msgid "Nothing to do" msgstr "Rien à faire" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:284 #: packages/ui/primitives/document-flow/add-fields.tsx:997 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:862 msgid "Number" msgstr "Numéro" @@ -3686,11 +3732,11 @@ msgstr "Choisissez l'un des accords suivants ci-dessous et commencez à signer p #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:79 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:84 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:67 msgid "Placeholder" msgstr "Espace réservé" -#: packages/email/template-components/template-document-invite.tsx:56 +#: packages/email/template-components/template-document-invite.tsx:55 msgid "Please {0} your document<0/>\"{documentName}\"" msgstr "Veuillez {0} votre document<0/>\"{documentName}\"" @@ -3793,7 +3839,7 @@ msgstr "Veuillez examiner le document avant de signer." #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:503 msgid "Please select a PDF file" -msgstr "" +msgstr "Veuillez sélectionner un fichier PDF" #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." @@ -3820,6 +3866,10 @@ msgstr "Veuiillez taper {0} pour confirmer" msgid "Please type <0>{0} to confirm." msgstr "Veuillez taper <0>{0} pour confirmer." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:172 +msgid "Pre-formatted CSV template with example data." +msgstr "Modèle CSV pré-formaté avec des données d'exemple." + #: 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 @@ -3898,9 +3948,9 @@ msgstr "Valeurs radio" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:186 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:147 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:156 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:177 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:122 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:133 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:161 msgid "Read only" msgstr "Lecture seule" @@ -3969,7 +4019,7 @@ msgstr "E-mail de destinataire supprimé" #: packages/ui/components/document/document-email-checkboxes.tsx:50 msgid "Recipient signed email" -msgstr "" +msgstr "E-mail signé par le destinataire" #: packages/ui/components/document/document-email-checkboxes.tsx:88 msgid "Recipient signing request email" @@ -4020,7 +4070,7 @@ msgstr "Inscription réussie" #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162 -#: packages/email/template-components/template-document-invite.tsx:96 +#: packages/email/template-components/template-document-invite.tsx:95 msgid "Reject Document" msgstr "Rejeter le Document" @@ -4068,6 +4118,7 @@ msgstr "Rappel : Veuillez {recipientActionVerb} votre document" #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:163 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:165 #: apps/web/src/components/forms/avatar-image.tsx:166 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:217 #: packages/ui/primitives/document-flow/add-fields.tsx:1128 msgid "Remove" msgstr "Retirer" @@ -4095,9 +4146,9 @@ msgstr "Demander le transfert" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:176 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:137 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:146 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:112 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:123 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:151 msgid "Required field" msgstr "Champ requis" @@ -4206,15 +4257,15 @@ msgid "Rows per page" msgstr "Lignes par page" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:440 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:350 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:361 #: 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:305 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:316 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:322 msgid "Save" msgstr "Sauvegarder" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:896 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:974 msgid "Save Template" msgstr "Sauvegarder le modèle" @@ -4229,7 +4280,7 @@ msgstr "Recherche" msgid "Search by document title" msgstr "Recherche par titre de document" -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:147 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:174 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 msgid "Search by name or email" msgstr "Recherche par nom ou e-mail" @@ -4325,7 +4376,7 @@ msgstr "Envoyer l'e-mail de document complété" #: packages/ui/components/document/document-email-checkboxes.tsx:269 msgid "Send document completed email to the owner" -msgstr "" +msgstr "Envoyer l'e-mail de document complété au propriétaire" #: packages/ui/components/document/document-email-checkboxes.tsx:231 msgid "Send document deleted email" @@ -4339,6 +4390,10 @@ msgstr "Envoyer l'e-mail de document en attente" msgid "Send documents on behalf of the team using the email address" msgstr "Envoyer des documents au nom de l'équipe en utilisant l'adresse e-mail" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:253 +msgid "Send documents to recipients immediately" +msgstr "Envoyer les documents aux destinataires immédiatement" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:200 msgid "Send on Behalf of Team" msgstr "Envoyer au nom de l'équipe" @@ -4349,7 +4404,7 @@ msgstr "Envoyer l'e-mail de destinataire supprimé" #: packages/ui/components/document/document-email-checkboxes.tsx:40 msgid "Send recipient signed email" -msgstr "" +msgstr "Envoyer l'e-mail signé par le destinataire" #: packages/ui/components/document/document-email-checkboxes.tsx:78 msgid "Send recipient signing request email" @@ -4391,7 +4446,7 @@ msgstr "Paramètres" msgid "Setup" msgstr "Configuration" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:147 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 msgid "Share" msgstr "Partager" @@ -4400,7 +4455,7 @@ msgstr "Partager" msgid "Share Signature Card" msgstr "Partager la carte de signature" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:178 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:185 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:213 msgid "Share Signing Card" msgstr "Partager la carte de signature" @@ -4434,13 +4489,13 @@ msgstr "Afficher des modèles dans votre profil public pour que votre audience p msgid "Show templates in your team public profile for your audience to sign and get started quickly" msgstr "Afficher des modèles dans le profil public de votre équipe pour que votre audience puisse signer et commencer rapidement" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:82 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:108 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:115 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:133 #: apps/web/src/app/(profile)/p/[url]/page.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:241 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:328 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 @@ -4453,7 +4508,7 @@ msgstr "Signer" msgid "Sign as {0} <0>({1})" msgstr "Signer comme {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:200 msgid "Sign as<0>{0} <1>({1})" msgstr "Signer comme<0>{0} <1>({1})" @@ -4463,7 +4518,7 @@ msgid "Sign document" msgstr "Signer le document" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:141 -#: packages/email/template-components/template-document-invite.tsx:104 +#: packages/email/template-components/template-document-invite.tsx:103 msgid "Sign Document" msgstr "Signer le document" @@ -4527,7 +4582,7 @@ msgstr "S'inscrire avec OIDC" #: packages/ui/primitives/document-flow/add-fields.tsx:841 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:628 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 msgid "Signature" msgstr "Signature" @@ -4595,7 +4650,7 @@ msgstr "Signature Complète !" msgid "Signing in..." msgstr "Connexion en cours..." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:159 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:166 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:197 msgid "Signing Links" msgstr "Liens de signature" @@ -4608,7 +4663,7 @@ msgstr "Des liens de signature ont été générés pour ce document." msgid "Signing up..." msgstr "Inscription en cours..." -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:82 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:90 #: apps/web/src/app/(dashboard)/admin/leaderboard/page.tsx:46 msgid "Signing Volume" msgstr "Volume de signatures" @@ -4635,11 +4690,11 @@ msgid "Some signers have not been assigned a signature field. Please assign at l msgstr "Certains signataires n'ont pas été assignés à un champ de signature. Veuillez assigner au moins 1 champ de signature à chaque signataire avant de continuer." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:62 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:90 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:97 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:61 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:100 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:71 @@ -4713,7 +4768,7 @@ msgstr "Quelque chose a mal tourné." #: apps/web/src/components/forms/token.tsx:143 msgid "Something went wrong. Please try again later." -msgstr "" +msgstr "Quelque chose a mal tourné. Veuillez réessayer plus tard." #: 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 @@ -4799,6 +4854,7 @@ msgstr "Abonnements" #: apps/web/src/components/forms/public-profile-form.tsx:80 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:132 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:168 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:95 msgid "Success" msgstr "Succès" @@ -4806,6 +4862,14 @@ msgstr "Succès" msgid "Successfully created passkey" msgstr "Clé d'authentification créée avec succès" +#: packages/email/templates/bulk-send-complete.tsx:52 +msgid "Successfully created: {successCount}" +msgstr "Créés avec succès : {successCount}" + +#: packages/email/templates/bulk-send-complete.tsx:44 +msgid "Summary:" +msgstr "Résumé :" + #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" msgstr "Exigences du système" @@ -4956,7 +5020,7 @@ msgstr "Équipes restreintes" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:142 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:222 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:151 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:269 msgid "Template" @@ -4998,7 +5062,7 @@ msgstr "Modèle enregistré" msgid "Template title" msgstr "Titre du modèle" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -5010,14 +5074,23 @@ msgstr "Modèles" msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields." msgstr "Les modèles vous permettent de générer rapidement des documents avec des destinataires et des champs pré-remplis." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:258 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:287 #: packages/ui/primitives/document-flow/add-fields.tsx:971 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:836 msgid "Text" msgstr "Texte" +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:79 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:56 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:140 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:124 +msgid "Text Align" +msgstr "Alignement du texte" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:157 msgid "Text Color" msgstr "Couleur du texte" @@ -5102,6 +5175,10 @@ msgstr "Le nom du document" 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." +#: packages/email/templates/bulk-send-complete.tsx:62 +msgid "The following errors occurred:" +msgstr "Les erreurs suivantes se sont produites :" + #: 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" @@ -5497,7 +5574,7 @@ msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "Pour marquer ce document comme consulté, vous devez être connecté en tant que <0>{0}" #: packages/ui/primitives/document-flow/add-fields.tsx:1091 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:876 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:954 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}." @@ -5558,6 +5635,10 @@ msgstr "Total des documents" msgid "Total Recipients" msgstr "Total des destinataires" +#: packages/email/templates/bulk-send-complete.tsx:49 +msgid "Total rows processed: {totalProcessed}" +msgstr "Lignes totales traitées : {totalProcessed}" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 msgid "Total Signers that Signed Up" msgstr "Total des signataires qui se sont inscrits" @@ -5816,17 +5897,29 @@ msgstr "Mise à jour de vos informations" msgid "Upgrade" msgstr "Améliorer" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:132 +msgid "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." +msgstr "Téléchargez un fichier CSV pour créer plusieurs documents à partir de ce modèle. Chaque ligne représente un document avec ses détails de destinataire." + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:426 msgid "Upload a custom document to use instead of the template's default document" -msgstr "" +msgstr "Téléchargez un document personnalisé à utiliser à la place du document par défaut du modèle" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:267 +msgid "Upload and Process" +msgstr "Télécharger et traiter" #: apps/web/src/components/forms/avatar-image.tsx:179 msgid "Upload Avatar" msgstr "Télécharger un avatar" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:198 +msgid "Upload CSV" +msgstr "Télécharger le CSV" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:419 msgid "Upload custom document" -msgstr "" +msgstr "Télécharger un document personnalisé" #: packages/ui/primitives/signature-pad/signature-pad.tsx:529 msgid "Upload Signature" @@ -5857,7 +5950,7 @@ msgstr "Le fichier téléchargé est trop petit" msgid "Uploaded file not an allowed file type" msgstr "Le fichier téléchargé n'est pas un type de fichier autorisé" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:175 msgid "Use" msgstr "Utiliser" @@ -5915,7 +6008,7 @@ msgid "Users" msgstr "Utilisateurs" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:132 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 msgid "Validation" msgstr "Validation" @@ -5957,9 +6050,9 @@ msgstr "Vérifiez votre adresse e-mail d'équipe" msgid "Version History" msgstr "Historique des versions" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:94 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:129 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:101 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:136 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:126 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 @@ -6000,7 +6093,7 @@ msgid "View document" msgstr "Voir le document" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:140 -#: packages/email/template-components/template-document-invite.tsx:105 +#: packages/email/template-components/template-document-invite.tsx:104 #: packages/email/template-components/template-document-rejected.tsx:44 #: packages/ui/primitives/document-flow/add-subject.tsx:90 #: packages/ui/primitives/document-flow/add-subject.tsx:91 @@ -6213,7 +6306,7 @@ msgstr "Une erreur inconnue s'est produite lors de la mise à jour de l'e-mail d #: apps/web/src/components/forms/profile.tsx:81 msgid "We encountered an unknown error while attempting update your profile. Please try again later." -msgstr "" +msgstr "Nous avons rencontré une erreur inconnue lors de la tentative de mise à jour de votre profil. Veuillez réessayer plus tard." #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:80 msgid "We have sent a confirmation email for verification." @@ -6449,7 +6542,7 @@ msgstr "Vous n'êtes pas membre de cette équipe." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:62 msgid "You are not authorized to delete this user." -msgstr "" +msgstr "Vous n'êtes pas autorisé à supprimer cet utilisateur." #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:56 msgid "You are not authorized to disable this user." @@ -6499,6 +6592,10 @@ msgstr "Vous pouvez utiliser les variables suivantes dans votre message :" 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." +#: packages/email/templates/bulk-send-complete.tsx:76 +msgid "You can view the created documents in your dashboard under the \"Documents created from template\" section." +msgstr "Vous pouvez voir les documents créés dans votre tableau de bord sous la section \"Documents créés à partir du modèle\"." + #: packages/email/template-components/template-document-rejected.tsx:37 msgid "You can view the document and its status by clicking the button below." msgstr "Vous pouvez voir le document et son statut en cliquant sur le bouton ci-dessous." @@ -6525,7 +6622,7 @@ msgstr "Vous n'avez actuellement pas de dossier client, cela ne devrait pas se p #: apps/web/src/components/forms/token.tsx:141 msgid "You do not have permission to create a token for this team" -msgstr "" +msgstr "Vous n'avez pas la permission de créer un jeton pour cette équipe" #: packages/email/template-components/template-document-cancel.tsx:35 msgid "You don't need to sign it anymore." @@ -6593,7 +6690,7 @@ msgstr "Vous avez atteint la limite maximale de {0} modèles directs. <0>Mettez #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 msgid "You have reached your document limit for this month. Please upgrade your plan." -msgstr "" +msgstr "Vous avez atteint votre limite de documents pour ce mois. Veuillez passer à un plan supérieur." #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:56 #: packages/ui/primitives/document-dropzone.tsx:69 @@ -6708,6 +6805,14 @@ msgstr "L'URL de votre site web de marque" msgid "Your branding preferences have been updated" msgstr "Vos préférences de branding ont été mises à jour" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:97 +msgid "Your bulk send has been initiated. You will receive an email notification upon completion." +msgstr "Votre envoi groupé a été initié. Vous recevrez une notification par email une fois terminé." + +#: packages/email/templates/bulk-send-complete.tsx:40 +msgid "Your bulk send operation for template \"{templateName}\" has completed." +msgstr "Votre opération d'envoi groupé pour le modèle \"{templateName}\" est terminée." + #: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125 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." @@ -6857,3 +6962,4 @@ msgstr "Votre token a été créé avec succès ! Assurez-vous de le copier car #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Vos tokens seront affichés ici une fois que vous les aurez créés." + diff --git a/packages/lib/translations/it/web.po b/packages/lib/translations/it/web.po new file mode 100644 index 000000000..2041162c6 --- /dev/null +++ b/packages/lib/translations/it/web.po @@ -0,0 +1,6965 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2024-07-24 13:01+1000\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: it\n" +"Project-Id-Version: documenso-app\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-01-30 06:04\n" +"Last-Translator: \n" +"Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Crowdin-Project: documenso-app\n" +"X-Crowdin-Project-ID: 694691\n" +"X-Crowdin-Language: it\n" +"X-Crowdin-File: web.po\n" +"X-Crowdin-File-ID: 8\n" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226 +msgid "\"{0}\" has invited you to sign \"example document\"." +msgstr "\"{0}\" ti ha invitato a firmare \"documento di esempio\"." + +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:74 +msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"." +msgstr "\"{0}\" apparirà sul documento poiché ha un fuso orario di \"{timezone}\"." + +#: packages/email/template-components/template-document-super-delete.tsx:27 +msgid "\"{documentName}\" has been deleted by an admin." +msgstr "\"{documentName}\" è stato eliminato da un amministratore." + +#: packages/email/template-components/template-document-pending.tsx:37 +msgid "“{documentName}” has been signed" +msgstr "“{documentName}” è stato firmato" + +#: packages/email/template-components/template-document-completed.tsx:41 +msgid "“{documentName}” was signed by all signers" +msgstr "“{documentName}” è stato firmato da tutti i firmatari" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61 +msgid "\"{documentTitle}\" has been successfully deleted" +msgstr "\"{documentTitle}\" è stato eliminato con successo" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221 +msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." +msgstr "\"{placeholderEmail}\" per conto di \"{0}\" ti ha invitato a firmare \"documento di esempio\"." + +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:330 +msgid "{0, plural, one {(1 character over)} other {(# characters over)}}" +msgstr "{0, plural, one {(1 carattere in eccesso)} other {(# caratteri in eccesso)}}" + +#: apps/web/src/components/forms/public-profile-form.tsx:237 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:393 +msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}" +msgstr "{0, plural, one {# carattere oltre il limite} other {# caratteri oltre il limite}}" + +#: apps/web/src/app/(recipient)/d/[token]/page.tsx:84 +msgid "{0, plural, one {# recipient} other {# recipients}}" +msgstr "{0, plural, one {# destinatario} other {# destinatari}}" + +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:66 +msgid "{0, plural, one {# Seat} other {# Seats}}" +msgstr "{0, plural, one {# posto} other {# posti}}" + +#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:37 +#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:66 +msgid "{0, plural, one {<0>You have <1>1 pending team invitation} other {<2>You have <3># pending team invitations}}" +msgstr "{0, plural, one {<0>Hai <1>1 invito in sospeso alla squadra} other {<2>Hai <3># inviti in sospeso alla squadra}}" + +#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:196 +msgid "{0, plural, one {1 matching field} other {# matching fields}}" +msgstr "{0, plural, one {1 campo corrispondente} other {# campi corrispondenti}}" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:132 +msgid "{0, plural, one {1 Recipient} other {# Recipients}}" +msgstr "{0, plural, one {1 destinatario} other {# destinatari}}" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:239 +msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}" +msgstr "{0, plural, one {In attesa di 1 destinatario} other {In attesa di # destinatari}}" + +#: apps/web/src/components/(dashboard)/settings/webhooks/trigger-multiselect-combobox.tsx:64 +msgid "{0, plural, zero {Select values} other {# selected...}}" +msgstr "{0, plural, zero {Seleziona valori} other {# selezionati...}}" + +#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:193 +msgid "{0}" +msgstr "" + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:247 +msgid "{0} direct signing templates" +msgstr "{0} modelli di firma diretta" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:125 +msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"." +msgstr "{0} ti ha invitato a {recipientActionVerb} il documento \"{1}\"." + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:118 +msgid "{0} invited you to {recipientActionVerb} a document" +msgstr "{0} ti ha invitato a {recipientActionVerb} un documento" + +#: packages/email/templates/team-join.tsx:61 +msgid "{0} joined the team {teamName} on Documenso" +msgstr "{0} si è unito al team {teamName} su Documenso" + +#: packages/email/templates/team-leave.tsx:61 +msgid "{0} left the team {teamName} on Documenso" +msgstr "{0} ha lasciato il team {teamName} su Documenso" + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:145 +msgid "{0} of {1} documents remaining this month." +msgstr "{0} di {1} documenti rimanenti questo mese." + +#: packages/ui/primitives/data-table-pagination.tsx:30 +msgid "{0} of {1} row(s) selected." +msgstr "{0} di {1} riga selezionata." + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:124 +#: 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} per conto di \"{1}\" ti ha invitato a {recipientActionVerb} il documento \"{2}\"." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:174 +msgid "{0} Recipient(s)" +msgstr "{0} Destinatario(i)" + +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311 +msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" +msgstr "{charactersRemaining, plural, one {1 carattere rimanente} other {{charactersRemaining} caratteri rimanenti}}" + +#: packages/email/templates/document-invite.tsx:95 +msgid "{inviterName} <0>({inviterEmail})" +msgstr "{inviterName} <0>({inviterEmail})" + +#: 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 annullato il documento {documentName}, non è più necessario firmarlo." + +#: packages/email/template-components/template-document-cancel.tsx:24 +msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" +msgstr "{inviterName} ha annullato il documento<0/>\"{documentName}\"" + +#: packages/email/template-components/template-document-invite.tsx:74 +msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} ti ha invitato a {0}<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx:41 +msgid "{inviterName} has invited you to {action} {documentName}" +msgstr "{inviterName} ti ha invitato a {action} {documentName}" + +#: packages/email/templates/document-invite.tsx:108 +msgid "{inviterName} has invited you to {action} the document \"{documentName}\"." +msgstr "{inviterName} ti ha invitato a {action} il documento \"{documentName}\"." + +#: packages/email/templates/recipient-removed-from-document.tsx:20 +msgid "{inviterName} has removed you from the document {documentName}." +msgstr "{inviterName} ti ha rimosso dal documento {documentName}." + +#: packages/email/templates/recipient-removed-from-document.tsx:49 +msgid "{inviterName} has removed you from the document<0/>\"{documentName}\"" +msgstr "{inviterName} ti ha rimosso dal documento<0/>\"{documentName}\"" + +#: packages/email/template-components/template-document-invite.tsx:61 +msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} per conto di \"{teamName}\" ti ha invitato 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} per conto di \"{teamName}\" ti ha invitato a {action} {documentName}" + +#: packages/email/templates/team-join.tsx:67 +msgid "{memberEmail} joined the following team" +msgstr "{memberEmail} si è unito al seguente team" + +#: packages/email/templates/team-leave.tsx:67 +msgid "{memberEmail} left the following team" +msgstr "{memberEmail} ha lasciato il seguente team" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:59 +msgid "{numberOfSeats, plural, one {# member} other {# members}}" +msgstr "{numberOfSeats, plural, one {# membro} other {# membri}}" + +#: packages/lib/utils/document-audit-logs.ts:279 +msgid "{prefix} added a field" +msgstr "{prefix} ha aggiunto un campo" + +#: packages/lib/utils/document-audit-logs.ts:291 +msgid "{prefix} added a recipient" +msgstr "{prefix} ha aggiunto un destinatario" + +#: packages/lib/utils/document-audit-logs.ts:303 +msgid "{prefix} created the document" +msgstr "{prefix} ha creato il documento" + +#: packages/lib/utils/document-audit-logs.ts:307 +msgid "{prefix} deleted the document" +msgstr "{prefix} ha eliminato il documento" + +#: packages/lib/utils/document-audit-logs.ts:351 +msgid "{prefix} moved the document to team" +msgstr "{prefix} ha spostato il documento al team" + +#: packages/lib/utils/document-audit-logs.ts:335 +msgid "{prefix} opened the document" +msgstr "{prefix} ha aperto il documento" + +#: packages/lib/utils/document-audit-logs.ts:283 +msgid "{prefix} removed a field" +msgstr "{prefix} ha rimosso un campo" + +#: packages/lib/utils/document-audit-logs.ts:295 +msgid "{prefix} removed a recipient" +msgstr "{prefix} ha rimosso un destinatario" + +#: packages/lib/utils/document-audit-logs.ts:381 +msgid "{prefix} resent an email to {0}" +msgstr "{prefix} ha rinviato un'email a {0}" + +#: packages/lib/utils/document-audit-logs.ts:382 +msgid "{prefix} sent an email to {0}" +msgstr "{prefix} ha inviato un'email a {0}" + +#: packages/lib/utils/document-audit-logs.ts:347 +msgid "{prefix} sent the document" +msgstr "{prefix} ha inviato il documento" + +#: packages/lib/utils/document-audit-logs.ts:311 +msgid "{prefix} signed a field" +msgstr "{prefix} ha firmato un campo" + +#: packages/lib/utils/document-audit-logs.ts:315 +msgid "{prefix} unsigned a field" +msgstr "{prefix} ha annullato la firma di un campo" + +#: packages/lib/utils/document-audit-logs.ts:287 +msgid "{prefix} updated a field" +msgstr "{prefix} ha aggiornato un campo" + +#: packages/lib/utils/document-audit-logs.ts:299 +msgid "{prefix} updated a recipient" +msgstr "{prefix} ha aggiornato un destinatario" + +#: packages/lib/utils/document-audit-logs.ts:331 +msgid "{prefix} updated the document" +msgstr "{prefix} ha aggiornato il documento" + +#: packages/lib/utils/document-audit-logs.ts:323 +msgid "{prefix} updated the document access auth requirements" +msgstr "{prefix} ha aggiornato i requisiti di autenticazione per l'accesso al documento" + +#: packages/lib/utils/document-audit-logs.ts:343 +msgid "{prefix} updated the document external ID" +msgstr "{prefix} ha aggiornato l'ID esterno del documento" + +#: packages/lib/utils/document-audit-logs.ts:327 +msgid "{prefix} updated the document signing auth requirements" +msgstr "{prefix} ha aggiornato i requisiti di autenticazione per la firma del documento" + +#: packages/lib/utils/document-audit-logs.ts:339 +msgid "{prefix} updated the document title" +msgstr "{prefix} ha aggiornato il titolo del documento" + +#: packages/lib/utils/document-audit-logs.ts:319 +msgid "{prefix} updated the document visibility" +msgstr "{prefix} ha aggiornato la visibilità del documento" + +#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67 +msgid "{recipientActionVerb} document" +msgstr "{recipientActionVerb} documento" + +#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68 +msgid "{recipientActionVerb} the document to complete the process." +msgstr "{recipientActionVerb} il documento per completare il processo." + +#: 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 utilizzando uno dei tuoi link diretti" + +#: packages/email/templates/document-rejected.tsx:27 +msgid "{recipientName} has rejected the document '{documentName}'" +msgstr "{recipientName} ha rifiutato il documento '{documentName}'" + +#: packages/email/template-components/template-document-recipient-signed.tsx:49 +msgid "{recipientReference} has completed signing the document." +msgstr "{recipientReference} ha completato la firma del documento." + +#: packages/lib/jobs/definitions/emails/send-recipient-signed-email.ts:121 +msgid "{recipientReference} has signed \"{0}\"" +msgstr "{recipientReference} ha firmato \"{0}\"" + +#: packages/email/template-components/template-document-recipient-signed.tsx:43 +msgid "{recipientReference} has signed \"{documentName}\"" +msgstr "{recipientReference} ha firmato \"{documentName}\"" + +#: packages/email/templates/document-recipient-signed.tsx:27 +msgid "{recipientReference} has signed {documentName}" +msgstr "{recipientReference} ha firmato {documentName}" + +#: apps/web/src/components/forms/public-profile-form.tsx:231 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:387 +msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}" +msgstr "{remaningLength, plural, one {# carattere rimanente} other {# caratteri rimanenti}}" + +#: packages/email/template-components/template-document-rejected.tsx:25 +msgid "{signerName} has rejected the document \"{documentName}\"." +msgstr "{signerName} ha rifiutato il documento \"{documentName}\"." + +#: packages/email/template-components/template-document-invite.tsx:68 +msgid "{teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{teamName} ti ha invitato a {0}<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx:46 +msgid "{teamName} has invited you to {action} {documentName}" +msgstr "{teamName} ti ha invitato a {action} {documentName}" + +#: packages/email/templates/team-transfer-request.tsx:55 +msgid "{teamName} ownership transfer request" +msgstr "richiesta di trasferimento di proprietà di {teamName}" + +#: packages/lib/utils/document-audit-logs.ts:359 +msgid "{userName} approved the document" +msgstr "{userName} ha approvato il documento" + +#: packages/lib/utils/document-audit-logs.ts:360 +msgid "{userName} CC'd the document" +msgstr "{userName} ha inoltrato il documento" + +#: packages/lib/utils/document-audit-logs.ts:361 +msgid "{userName} completed their task" +msgstr "{userName} ha completato il suo compito" + +#: packages/lib/utils/document-audit-logs.ts:371 +msgid "{userName} rejected the document" +msgstr "{userName} ha rifiutato il documento" + +#: packages/lib/utils/document-audit-logs.ts:357 +msgid "{userName} signed the document" +msgstr "{userName} ha firmato il documento" + +#: packages/lib/utils/document-audit-logs.ts:358 +msgid "{userName} viewed the document" +msgstr "{userName} ha visualizzato il documento" + +#: packages/ui/primitives/data-table-pagination.tsx:41 +msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" +msgstr "{visibleRows, plural, one {Visualizzazione di # risultato.} other {Visualizzazione di # risultati.}}" + +#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:45 +msgid "<0>\"{0}\"is no longer available to sign" +msgstr "<0>\"{0}\"non è più disponibile per la firma" + +#: packages/email/templates/team-transfer-request.tsx:59 +msgid "<0>{senderName} has requested that you take ownership of the following team" +msgstr "<0>{senderName} ha richiesto di prendere in carico il seguente team" + +#: packages/email/templates/confirm-team-email.tsx:75 +msgid "<0>{teamName} has requested to use your email address for their team on Documenso." +msgstr "<0>{teamName} ha richiesto di utilizzare il tuo indirizzo email per il loro team su Documenso." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:463 +msgid "<0>Click to upload or drag and drop" +msgstr "<0>Fai clic per caricare o trascina e rilascia" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:287 +msgid "<0>Email - The recipient will be emailed the document to sign, approve, etc." +msgstr "<0>Email - Al destinatario verrà inviato il documento tramite email per firmare, approvare, ecc." + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 +msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" +msgstr "<0>Eredita metodo di autenticazione - Usa il metodo globale di autenticazione della firma configurato nel passaggio \"Impostazioni generali\"" + +#: packages/ui/components/document/document-global-auth-action-select.tsx:95 +msgid "<0>No restrictions - No authentication required" +msgstr "<0>Nessuna restrizione - Non è richiesta autenticazione" + +#: packages/ui/components/document/document-global-auth-access-select.tsx:77 +msgid "<0>No restrictions - The document can be accessed directly by the URL sent to the recipient" +msgstr "<0>Nessuna restrizione - Il documento può essere accessibile direttamente tramite l'URL inviato al destinatario" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:75 +msgid "<0>None - No authentication required" +msgstr "<0>Nessuno - Non è richiesta autenticazione" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:293 +msgid "<0>None - We will generate links which you can send to the recipients manually." +msgstr "<0>Nessuno - Genereremo i link che potrai inviare manualmente ai destinatari." + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:300 +msgid "<0>Note - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients." +msgstr "<0>Nota - Se usi i link in combinazione con modelli diretti, dovrai inviare manualmente i link ai destinatari rimanenti." + +#: 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 - The recipient must have an account and 2FA enabled via their settings" +msgstr "<0>Richiedi 2FA - Il destinatario deve avere un account e 2FA abilitato tramite le sue impostazioni" + +#: packages/ui/components/document/document-global-auth-access-select.tsx:72 +msgid "<0>Require account - The recipient must be signed in to view the document" +msgstr "<0>Richiede account - Il destinatario deve essere connesso per visualizzare il documento" + +#: packages/ui/components/document/document-global-auth-action-select.tsx:83 +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:63 +msgid "<0>Require passkey - The recipient must have an account and passkey configured via their settings" +msgstr "<0>Richiede passkey - Il destinatario deve avere un account e una passkey configurati tramite le sue impostazioni" + +#: apps/web/src/app/(dashboard)/documents/data-table-sender-filter.tsx:57 +msgid "<0>Sender: All" +msgstr "<0>Mittente: Tutti" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:105 +msgid "<0>You are about to complete approving <1>\"{documentTitle}\".<2/> Are you sure?" +msgstr "<0>Stai per completare l'approvazione di <1>\"{documentTitle}\".<2/> Sei sicuro?" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:91 +msgid "<0>You are about to complete signing \"<1>{documentTitle}\".<2/> Are you sure?" +msgstr "<0>Stai per completare la firma di \"<1>{documentTitle}\".<2/> Sei sicuro?" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:77 +msgid "<0>You are about to complete viewing \"<1>{documentTitle}\".<2/> Are you sure?" +msgstr "<0>Stai per completare la visualizzazione di \"<1>{documentTitle}\".<2/> Sei sicuro?" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 +msgid "1 month" +msgstr "{VAR_PLURAL, select, one {1 mese} other {# mesi}}" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 +msgid "12 months" +msgstr "{VAR_PLURAL, select, one {1 mese} other {12 mesi}}" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 +msgid "3 months" +msgstr "{VAR_PLURAL, select, one {1 mese} other {3 mesi}}" + +#: apps/web/src/components/partials/not-found.tsx:45 +msgid "404 Page not found" +msgstr "404 Pagina non trovata" + +#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:15 +msgid "404 Profile not found" +msgstr "404 Profilo non trovato" + +#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:15 +msgid "404 Team not found" +msgstr "404 Squadra non trovata" + +#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:15 +msgid "404 Template not found" +msgstr "404 Modello non trovato" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 +msgid "6 months" +msgstr "{VAR_PLURAL, select, one {1 mese} other {6 mesi}}" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 +msgid "7 days" +msgstr "{VAR_PLURAL, select, one {1 giorno} other {7 giorni}}" + +#: apps/web/src/components/forms/send-confirmation-email.tsx:55 +msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." +msgstr "È stata inviata un'e-mail di conferma e dovrebbe arrivare nella tua casella di posta a breve." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 +msgid "A device capable of accessing, opening, and reading documents" +msgstr "Un dispositivo in grado di accedere, aprire e leggere documenti" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:110 +msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." +msgstr "Un documento è stato creato dal tuo modello diretto che richiede di {recipientActionVerb}." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:230 +msgid "A draft document will be created" +msgstr "Verrà creato un documento bozza" + +#: packages/lib/utils/document-audit-logs.ts:278 +msgid "A field was added" +msgstr "Un campo è stato aggiunto" + +#: packages/lib/utils/document-audit-logs.ts:282 +msgid "A field was removed" +msgstr "Un campo è stato rimosso" + +#: packages/lib/utils/document-audit-logs.ts:286 +msgid "A field was updated" +msgstr "Un campo è stato aggiornato" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 +msgid "A means to print or download documents for your records" +msgstr "Un mezzo per stampare o scaricare documenti per i tuoi archivi" + +#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.handler.ts:98 +msgid "A new member has joined your team" +msgstr "Un nuovo membro si è unito al tuo team" + +#: apps/web/src/components/forms/token.tsx:128 +msgid "A new token was created successfully." +msgstr "Un nuovo token è stato creato con successo." + +#: apps/web/src/app/(unauthenticated)/check-email/page.tsx:24 +#: apps/web/src/components/forms/forgot-password.tsx:58 +msgid "A password reset email has been sent, if you have an account you should see it in your inbox shortly." +msgstr "È stata inviata un'e-mail per il reset della password; se hai un account dovresti vederla nella tua casella di posta a breve." + +#: packages/lib/utils/document-audit-logs.ts:290 +msgid "A recipient was added" +msgstr "Un destinatario è stato aggiunto" + +#: packages/lib/utils/document-audit-logs.ts:294 +msgid "A recipient was removed" +msgstr "Un destinatario è stato rimosso" + +#: packages/lib/utils/document-audit-logs.ts:298 +msgid "A recipient was updated" +msgstr "Un destinatario è stato aggiornato" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:94 +msgid "A request to transfer the ownership of this team has been sent to <0>{0} ({1})" +msgstr "Una richiesta per trasferire la proprietà di questa squadra è stata inviata a <0>{0} ({1})" + +#: packages/lib/server-only/team/create-team-email-verification.ts:159 +msgid "A request to use your email has been initiated by {0} on Documenso" +msgstr "Una richiesta per utilizzare la tua email è stata avviata da {0} su Documenso" + +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:228 +msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso" +msgstr "Un codice segreto che verrà inviato al tuo URL in modo che tu possa verificare che la richiesta sia stata inviata da Documenso" + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:196 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:198 +msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso." +msgstr "Un codice segreto che verrà inviato al tuo URL in modo che tu possa verificare che la richiesta sia stata inviata da Documenso." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 +msgid "A stable internet connection" +msgstr "Una connessione Internet stabile" + +#: packages/email/templates/team-join.tsx:31 +msgid "A team member has joined a team on Documenso" +msgstr "Un membro del team si è unito a un team su Documenso" + +#: packages/lib/jobs/definitions/emails/send-team-member-left-email.handler.ts:87 +msgid "A team member has left {0}" +msgstr "Un membro del team ha lasciato {0}" + +#: packages/email/templates/team-leave.tsx:31 +msgid "A team member has left a team on Documenso" +msgstr "Un membro del team ha lasciato un team su Documenso" + +#: packages/email/templates/team-delete.tsx:29 +#: packages/email/templates/team-delete.tsx:33 +msgid "A team you were a part of has been deleted" +msgstr "Un team di cui facevi parte è stato eliminato" + +#: apps/web/src/components/forms/public-profile-form.tsx:198 +msgid "A unique URL to access your profile" +msgstr "Un URL univoco per accedere al tuo profilo" + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:206 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:138 +msgid "A unique URL to identify your team" +msgstr "Un URL univoco per identificare la tua squadra" + +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:137 +msgid "A verification email will be sent to the provided email." +msgstr "Un'email di verifica sarà inviata all'email fornita." + +#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:46 +#: 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 "Accetta" + +#: packages/email/templates/team-invite.tsx:42 +msgid "Accept invitation to join a team on Documenso" +msgstr "Accetta l'invito a unirti a un team su Documenso" + +#: packages/email/templates/confirm-team-email.tsx:41 +msgid "Accept team email request for {teamName} on Documenso" +msgstr "Accetta la richiesta di email per il team {teamName} su Documenso" + +#: packages/email/templates/team-transfer-request.tsx:29 +msgid "Accept team transfer request on Documenso" +msgstr "Accetta la richiesta di trasferimento di team su Documenso" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 +msgid "Acceptance and Consent" +msgstr "Accettazione e Consenso" + +#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 +msgid "Accepted team invitation" +msgstr "Invito alla squadra accettato" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:128 +msgid "Account Authentication" +msgstr "Autenticazione dell'account" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51 +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:47 +msgid "Account deleted" +msgstr "Account eliminato" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:47 +msgid "Account disabled" +msgstr "Account disabilitato" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:47 +msgid "Account enabled" +msgstr "Account abilitato" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:119 +msgid "Account Re-Authentication" +msgstr "Ri-autenticazione dell'account" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 +msgid "Acknowledgment" +msgstr "Riconoscimento" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:97 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:117 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:159 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:115 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46 +msgid "Action" +msgstr "Azione" + +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:79 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:175 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:130 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:139 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:116 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:125 +msgid "Actions" +msgstr "Azioni" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:101 +#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:76 +#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:71 +msgid "Active" +msgstr "Attivo" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:68 +msgid "Active Subscriptions" +msgstr "Abbonamenti attivi" + +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:189 +msgid "Add" +msgstr "Aggiungi" + +#: packages/ui/primitives/document-dropzone.tsx:69 +msgid "Add a document" +msgstr "Aggiungi un documento" + +#: packages/ui/primitives/document-flow/add-settings.tsx:390 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:514 +msgid "Add a URL to redirect the user to once the document is signed" +msgstr "Aggiungi un URL per reindirizzare l'utente una volta firmato il documento" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:153 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87 +msgid "Add all relevant fields for each recipient." +msgstr "Aggiungi tutti i campi rilevanti per ciascun destinatario." + +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82 +msgid "Add all relevant placeholders for each recipient." +msgstr "Aggiungi tutti i segnaposto pertinenti per ciascun destinatario." + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:62 +msgid "Add an authenticator to serve as a secondary authentication method for signing documents." +msgstr "Aggiungi un autenticatore come metodo di autenticazione secondario per firmare documenti." + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:57 +msgid "Add an authenticator to serve as a secondary authentication method when signing in, or when signing documents." +msgstr "Aggiungi un autenticatore come metodo di autenticazione secondario al momento dell'accesso o durante la firma di documenti." + +#: packages/ui/primitives/document-flow/add-settings.tsx:302 +msgid "Add an external ID to the document. This can be used to identify the document in external systems." +msgstr "Aggiungi un ID esterno al documento. Questo può essere usato per identificare il documento in sistemi esterni." + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:431 +msgid "Add an external ID to the template. This can be used to identify in external systems." +msgstr "Aggiungi un ID esterno al modello. Questo può essere usato per identificare in sistemi esterni." + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:187 +msgid "Add another option" +msgstr "Aggiungi un'altra opzione" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:231 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:167 +msgid "Add another value" +msgstr "Aggiungi un altro valore" + +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:125 +msgid "Add email" +msgstr "Aggiungi email" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:152 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:86 +msgid "Add Fields" +msgstr "Aggiungi campi" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:364 +msgid "Add more" +msgstr "Aggiungi altro" + +#: packages/ui/primitives/document-flow/add-signers.tsx:690 +msgid "Add myself" +msgstr "Aggiungi me stesso" + +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:644 +msgid "Add Myself" +msgstr "Aggiungi me stesso" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:146 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:154 +msgid "Add passkey" +msgstr "Aggiungi chiave d'accesso" + +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:630 +msgid "Add Placeholder Recipient" +msgstr "Aggiungi un destinatario segnaposto" + +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:81 +msgid "Add Placeholders" +msgstr "Aggiungi segnaposto" + +#: packages/ui/primitives/document-flow/add-signers.tsx:679 +msgid "Add Signer" +msgstr "Aggiungi un firmatario" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:147 +msgid "Add Signers" +msgstr "Aggiungi firmatari" + +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133 +msgid "Add team email" +msgstr "Aggiungi email del team" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:80 +msgid "Add text" +msgstr "Aggiungi testo" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:85 +msgid "Add text to the field" +msgstr "Aggiungi testo al campo" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:148 +msgid "Add the people who will sign the document." +msgstr "Aggiungi le persone che firmeranno il documento." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:232 +msgid "Add the recipients to create the document with" +msgstr "Aggiungi i destinatari con cui creare il documento" + +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152 +msgid "Adding and removing seats will adjust your invoice accordingly." +msgstr "Aggiungere e rimuovere posti adeguerà di conseguenza la tua fattura." + +#: 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 "Informazioni aggiuntive sul marchio da mostrare in fondo alle email" + +#: packages/lib/constants/teams.ts:10 +msgid "Admin" +msgstr "Amministratore" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59 +msgid "Admin Actions" +msgstr "Azioni amministrative" + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:262 +msgid "Admin panel" +msgstr "Pannello admin" + +#: packages/ui/primitives/document-flow/add-settings.tsx:284 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:413 +msgid "Advanced Options" +msgstr "Opzioni avanzate" + +#: packages/ui/primitives/document-flow/add-fields.tsx:585 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:490 +msgid "Advanced settings" +msgstr "Impostazioni avanzate" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 +msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." +msgstr "Dopo aver firmato un documento elettronicamente, avrai la possibilità di visualizzare, scaricare e stampare il documento per i tuoi archivi. È altamente consigliato conservare una copia di tutti i documenti firmati elettronicamente per i tuoi archivi personali. Noi conserveremo anche una copia del documento firmato per i nostri archivi, tuttavia potremmo non essere in grado di fornirti una copia del documento firmato dopo un certo periodo di tempo." + +#: packages/lib/constants/template.ts:21 +msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." +msgstr "Dopo l'invio, un documento verrà generato automaticamente e aggiunto alla tua pagina dei documenti. Riceverai anche una notifica via email." + +#: apps/web/src/components/formatter/document-status.tsx:46 +msgid "All" +msgstr "Tutto" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:42 +msgid "All documents" +msgstr "Tutti i documenti" + +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35 +msgid "All documents have been processed. Any new documents that are sent or received will show here." +msgstr "Tutti i documenti sono stati elaborati. Eventuali nuovi documenti inviati o ricevuti verranno mostrati qui." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 +msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." +msgstr "Tutti i documenti relativi al processo di firma elettronica ti saranno forniti elettronicamente tramite la nostra piattaforma o via email. È tua responsabilità assicurarti che il tuo indirizzo email sia attuale e che tu possa ricevere e aprire le nostre email." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:146 +msgid "All inserted signatures will be voided" +msgstr "Tutte le firme inserite saranno annullate" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:149 +msgid "All recipients will be notified" +msgstr "Tutti i destinatari saranno notificati" + +#: packages/email/template-components/template-document-cancel.tsx:31 +msgid "All signatures have been voided." +msgstr "Tutte le firme sono state annullate." + +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62 +msgid "All signing links have been copied to your clipboard." +msgstr "Tutti i link di firma sono stati copiati negli Appunti." + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57 +msgid "All templates" +msgstr "Tutti i modelli" + +#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:55 +msgid "All Time" +msgstr "Tutto il tempo" + +#: packages/email/templates/confirm-team-email.tsx:98 +msgid "Allow document recipients to reply directly to this email address" +msgstr "Consenti ai destinatari del documento di rispondere direttamente a questo indirizzo email" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:110 +msgid "Allows authenticating using biometrics, password managers, hardware keys, etc." +msgstr "Consente di autenticare utilizzando biometria, gestori di password, chiavi hardware, ecc." + +#: apps/web/src/components/forms/v2/signup.tsx:427 +msgid "Already have an account? <0>Sign in instead" +msgstr "Hai già un account? <0>Accedi al posto" + +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:86 +msgid "Amount" +msgstr "Importo" + +#: packages/email/templates/document-super-delete.tsx:22 +msgid "An admin has deleted your document \"{documentName}\"." +msgstr "Un amministratore ha eliminato il tuo documento \"{documentName}\"." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 +msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." +msgstr "Una firma elettronica fornita da te sulla nostra piattaforma, ottenuta cliccando su un documento e inserendo il tuo nome, o qualsiasi altro metodo di firma elettronica che forniamo, è legalmente vincolante. Ha lo stesso peso e validità giuridica di una firma manuale scritta con inchiostro su carta." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 +msgid "An email account" +msgstr "Un account email" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 +msgid "An email containing an invitation will be sent to each member." +msgstr "Verrà inviato un'email contenente un invito a ciascun membro." + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:109 +msgid "An email requesting the transfer of this team has been sent." +msgstr "È stata inviata un'email per richiedere il trasferimento di questo team." + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:100 +#: apps/web/src/components/forms/avatar-image.tsx:122 +#: apps/web/src/components/forms/password.tsx:92 +#: apps/web/src/components/forms/reset-password.tsx:95 +#: apps/web/src/components/forms/signup.tsx:112 +#: apps/web/src/components/forms/token.tsx:146 +#: apps/web/src/components/forms/v2/signup.tsx:166 +msgid "An error occurred" +msgstr "Si è verificato un errore" + +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:227 +msgid "An error occurred while adding fields." +msgstr "Si è verificato un errore durante l'aggiunta dei campi." + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:243 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187 +msgid "An error occurred while adding signers." +msgstr "Si è verificato un errore durante l'aggiunta di firmatari." + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:281 +msgid "An error occurred while adding the fields." +msgstr "Si è verificato un errore durante l'aggiunta dei campi." + +#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:154 +msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." +msgstr "Si è verificato un errore durante la firma automatica del documento, alcuni campi potrebbero non essere firmati. Si prega di controllare e firmare manualmente eventuali campi rimanenti." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:188 +msgid "An error occurred while creating document from template." +msgstr "Si è verificato un errore durante la creazione del documento dal modello." + +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:102 +msgid "An error occurred while creating the webhook. Please try again." +msgstr "Si è verificato un errore durante la creazione del webhook. Prova di nuovo." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:63 +msgid "An error occurred while deleting the user." +msgstr "Si è verificato un errore durante l'eliminazione dell'utente." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:120 +msgid "An error occurred while disabling direct link signing." +msgstr "Si è verificato un errore durante la disabilitazione della firma tramite link diretto." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:57 +msgid "An error occurred while disabling the user." +msgstr "Si è verificato un errore durante la disabilitazione dell'utente." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:98 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:77 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:101 +msgid "An error occurred while downloading your document." +msgstr "Si è verificato un errore durante il download del tuo documento." + +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 +msgid "An error occurred while duplicating template." +msgstr "Si è verificato un errore durante la duplicazione del modello." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:119 +msgid "An error occurred while enabling direct link signing." +msgstr "Si è verificato un errore durante l'abilitazione della firma del link diretto." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:57 +msgid "An error occurred while enabling the user." +msgstr "Si è verificato un errore durante l'abilitazione dell'utente." + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:264 +msgid "An error occurred while loading team members. Please try again later." +msgstr "Si è verificato un errore durante il caricamento dei membri del team. Per favore riprova più tardi." + +#: packages/ui/primitives/pdf-viewer.tsx:167 +msgid "An error occurred while loading the document." +msgstr "Si è verificato un errore durante il caricamento del documento." + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:58 +msgid "An error occurred while moving the document." +msgstr "Si è verificato un errore durante lo spostamento del documento." + +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:65 +msgid "An error occurred while moving the template." +msgstr "Si è verificato un errore durante lo spostamento del modello." + +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 +msgid "An error occurred while removing the field." +msgstr "Si è verificato un errore durante la rimozione del campo." + +#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:154 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:131 +#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:115 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:196 +#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:194 +msgid "An error occurred while removing the signature." +msgstr "Si è verificato un errore durante la rimozione della firma." + +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:197 +msgid "An error occurred while removing the text." +msgstr "Si è verificato un errore durante la rimozione del testo." + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:326 +msgid "An error occurred while sending the document." +msgstr "Si è verificato un errore durante l'invio del documento." + +#: apps/web/src/components/forms/send-confirmation-email.tsx:63 +msgid "An error occurred while sending your confirmation email" +msgstr "Si è verificato un errore durante l'invio della tua email di conferma" + +#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:125 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:105 +#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:89 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:127 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:151 +#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:169 +msgid "An error occurred while signing the document." +msgstr "Si è verificato un errore durante la firma del documento." + +#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:63 +msgid "An error occurred while trying to create a checkout session." +msgstr "Si è verificato un errore durante il tentativo di creare una sessione di pagamento." + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:210 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:156 +msgid "An error occurred while updating the document settings." +msgstr "Si è verificato un errore durante l'aggiornamento delle impostazioni del documento." + +#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:215 +msgid "An error occurred while updating the signature." +msgstr "Si è verificato un errore durante l'aggiornamento della firma." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:81 +msgid "An error occurred while updating your profile." +msgstr "Si è verificato un errore durante l'aggiornamento del tuo profilo." + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:108 +msgid "An error occurred while uploading your document." +msgstr "Si è verificato un errore durante il caricamento del tuo documento." + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:58 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:81 +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:55 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:54 +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:301 +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:97 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:88 +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:100 +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:105 +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:84 +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:58 +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:158 +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:58 +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:116 +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:89 +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:93 +#: apps/web/src/components/forms/avatar-image.tsx:94 +#: apps/web/src/components/forms/profile.tsx:79 +#: apps/web/src/components/forms/public-profile-claim-dialog.tsx:113 +#: apps/web/src/components/forms/public-profile-form.tsx:104 +#: apps/web/src/components/forms/signin.tsx:249 +#: apps/web/src/components/forms/signin.tsx:257 +#: apps/web/src/components/forms/signin.tsx:271 +#: apps/web/src/components/forms/signin.tsx:286 +#: apps/web/src/components/forms/signin.tsx:302 +#: apps/web/src/components/forms/signup.tsx:124 +#: apps/web/src/components/forms/signup.tsx:138 +#: apps/web/src/components/forms/v2/signup.tsx:187 +#: apps/web/src/components/forms/v2/signup.tsx:201 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:140 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:176 +msgid "An unknown error occurred" +msgstr "Si è verificato un errore sconosciuto" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:225 +msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information." +msgstr "Qualsiasi metodo di pagamento associato a questo team rimarrà associato a questo team. Si prega di contattarci se necessario per aggiornare queste informazioni." + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:219 +msgid "Any Source" +msgstr "Qualsiasi fonte" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:199 +msgid "Any Status" +msgstr "Qualsiasi stato" + +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56 +#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:90 +#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:93 +#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:96 +#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:105 +msgid "API Tokens" +msgstr "Token API" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:74 +msgid "App Version" +msgstr "Versione dell'app" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:140 +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:143 +#: packages/lib/constants/recipient-roles.ts:8 +msgid "Approve" +msgstr "Approvare" + +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:142 +#: packages/email/template-components/template-document-invite.tsx:105 +msgid "Approve Document" +msgstr "Approva Documento" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94 +#: packages/lib/constants/recipient-roles.ts:9 +msgid "Approved" +msgstr "Approvato" + +#: packages/lib/constants/recipient-roles.ts:11 +msgid "Approver" +msgstr "Approvante" + +#: packages/lib/constants/recipient-roles.ts:12 +msgid "Approvers" +msgstr "Approvanti" + +#: packages/lib/constants/recipient-roles.ts:10 +msgid "Approving" +msgstr "Approvazione in corso" + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:129 +msgid "Are you sure you want to delete this token?" +msgstr "Sei sicuro di voler eliminare questo token?" + +#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120 +msgid "Are you sure you want to reject this document? This action cannot be undone." +msgstr "Sei sicuro di voler rifiutare questo documento? Questa azione non può essere annullata." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188 +msgid "Are you sure you want to remove the <0>{passkeyName} passkey." +msgstr "Sei sicuro di voler rimuovere la chiave di accesso <0>{passkeyName}." + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:126 +msgid "Are you sure you wish to delete this team?" +msgstr "Sei sicuro di voler eliminare questo team?" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:99 +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:94 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:449 +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:81 +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:81 +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:116 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:437 +msgid "Are you sure?" +msgstr "Sei sicuro?" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:66 +msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." +msgstr "Tenta nuovamente di sigillare il documento, utile dopo una modifica al codice per risolvere un documento errato." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136 +msgid "Audit Log" +msgstr "Registro di controllo" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:200 +msgid "Authentication Level" +msgstr "Livello di Autenticazione" + +#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:41 +#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:52 +msgid "Authentication required" +msgstr "Autenticazione richiesta" + +#: apps/web/src/components/forms/avatar-image.tsx:142 +msgid "Avatar" +msgstr "Avatar" + +#: apps/web/src/components/forms/avatar-image.tsx:107 +msgid "Avatar Updated" +msgstr "Avatar aggiornato" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:121 +msgid "Awaiting email confirmation" +msgstr "In attesa della conferma email" + +#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:373 +#: apps/web/src/components/(dashboard)/settings/layout/activity-back.tsx:20 +#: apps/web/src/components/forms/v2/signup.tsx:513 +msgid "Back" +msgstr "Indietro" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164 +msgid "Back to Documents" +msgstr "Torna ai Documenti" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:137 +msgid "Background Color" +msgstr "Colore di Sfondo" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:167 +#: apps/web/src/components/forms/signin.tsx:486 +msgid "Backup Code" +msgstr "Codice di Backup" + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:164 +msgid "Backup codes" +msgstr "Codici di Backup" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:73 +msgid "Banner Updated" +msgstr "Banner Aggiornato" + +#: apps/web/src/components/forms/v2/signup.tsx:476 +msgid "Basic details" +msgstr "Dettagli di Base" + +#: packages/email/template-components/template-confirmation-email.tsx:25 +msgid "Before you get started, please confirm your email address by clicking the button below:" +msgstr "Prima di iniziare, conferma il tuo indirizzo email facendo clic sul pulsante qui sotto:" + +#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:74 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:71 +#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117 +#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120 +#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:123 +#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:132 +msgid "Billing" +msgstr "Fatturazione" + +#: packages/ui/primitives/signature-pad/signature-pad.tsx:544 +msgid "Black" +msgstr "Nero" + +#: packages/ui/primitives/signature-pad/signature-pad.tsx:558 +msgid "Blue" +msgstr "Blu" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42 +msgid "Branding Preferences" +msgstr "Preferenze per il branding" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102 +msgid "Branding preferences updated" +msgstr "Preferenze di branding aggiornate" + +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:96 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48 +msgid "Browser" +msgstr "Browser" + +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145 +msgid "Bulk Copy" +msgstr "Copia massiva" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279 +msgid "Bulk Import" +msgstr "Importazione Massiva" + +#: packages/lib/jobs/definitions/internal/bulk-send-template.handler.ts:203 +msgid "Bulk Send Complete: {0}" +msgstr "Invio Massivo Completato: {0}" + +#: packages/email/templates/bulk-send-complete.tsx:30 +msgid "Bulk send operation complete for template \"{templateName}\"" +msgstr "Operazione di invio massivo completata per il modello \"{templateName}\"" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:128 +msgid "Bulk Send Template via CSV" +msgstr "Invio modello in blocco tramite CSV" + +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:97 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:120 +msgid "Bulk Send via CSV" +msgstr "Invio Massivo via CSV" + +#: packages/email/templates/team-invite.tsx:84 +msgid "by <0>{senderName}" +msgstr "da <0>{senderName}" + +#: packages/email/templates/confirm-team-email.tsx:87 +msgid "By accepting this request, you will be granting <0>{teamName} access to:" +msgstr "Accettando questa richiesta, concederai l'accesso a <0>{teamName} a:" + +#: packages/email/templates/team-transfer-request.tsx:70 +msgid "By accepting this request, you will take responsibility for any billing items associated with this team." +msgstr "Accettando questa richiesta, ti assumerai la responsabilità di qualsiasi voce di fatturazione associata a questo team." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:157 +msgid "By deleting this document, the following will occur:" +msgstr "Eliminando questo documento, si verificherà quanto segue:" + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:114 +msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in." +msgstr "Attivando 2FA, sarà necessario inserire un codice dalla tua app di autenticazione ogni volta che accedi." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 +msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." +msgstr "Procedendo con l'utilizzo del servizio di firma elettronica fornito da Documenso, affermi di aver letto e compreso questa divulgazione. Accetti tutti i termini e le condizioni relativi all'uso delle firme elettroniche e delle transazioni elettroniche come descritto in questo documento." + +#: apps/web/src/components/general/signing-disclosure.tsx:14 +msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." +msgstr "Procedendo con la tua firma elettronica, riconosci e acconsenti che sarà utilizzata per firmare il documento dato e ha la stessa validità legale di una firma autografa. Completando il processo di firma elettronica, affermi la tua comprensione e accettazione di queste condizioni." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 +msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." +msgstr "Utilizzando la funzione di firma elettronica, acconsenti a effettuare transazioni e ricevere divulgazioni elettronicamente. Riconosci che la tua firma elettronica sui documenti è vincolante e accetti i termini delineati nei documenti che stai firmando." + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:185 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:191 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:107 +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198 +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:109 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:76 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:77 +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:131 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:466 +#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:220 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:164 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:246 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:232 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:341 +#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:131 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:320 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:352 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:163 +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:185 +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:166 +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:218 +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:163 +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:104 +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:369 +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:102 +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:150 +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:243 +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:162 +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:187 +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:257 +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:163 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:448 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:263 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:323 +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 +msgid "Cancel" +msgstr "Annulla" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:226 +msgid "Cancelled by user" +msgstr "Annullato dall'utente" + +#: packages/ui/primitives/document-flow/add-signers.tsx:193 +msgid "Cannot remove signer" +msgstr "Impossibile rimuovere il firmatario" + +#: packages/lib/constants/recipient-roles.ts:18 +msgid "Cc" +msgstr "Cc" + +#: packages/lib/constants/recipient-roles.ts:15 +#: packages/lib/constants/recipient-roles.ts:17 +msgid "CC" +msgstr "CC" + +#: packages/lib/constants/recipient-roles.ts:16 +msgid "CC'd" +msgstr "CC'd" + +#: packages/lib/constants/recipient-roles.ts:19 +msgid "Ccers" +msgstr "" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 +msgid "Character Limit" +msgstr "Limite di caratteri" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:132 +msgid "Charts" +msgstr "Grafici" + +#: packages/ui/primitives/document-flow/types.ts:58 +msgid "Checkbox" +msgstr "Casella di controllo" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197 +msgid "Checkbox values" +msgstr "Valori della casella di controllo" + +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179 +msgid "Checkout" +msgstr "Pagamento" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:266 +msgid "Choose an existing recipient from below to continue" +msgstr "Scegli un destinatario esistente qui sotto per continuare" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:262 +msgid "Choose Direct Link Recipient" +msgstr "Scegli Destinatario Link Diretto" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:158 +msgid "Choose how the document will reach recipients" +msgstr "Scegli come il documento verrà inviato ai destinatari" + +#: apps/web/src/components/forms/token.tsx:200 +msgid "Choose..." +msgstr "Scegli..." + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:159 +msgid "Claim account" +msgstr "Rivendica account" + +#: apps/web/src/components/forms/v2/signup.tsx:485 +msgid "Claim username" +msgstr "Rivendica nome utente" + +#: apps/web/src/app/(dashboard)/documents/upcoming-profile-claim-teaser.tsx:28 +msgid "Claim your profile later" +msgstr "Rivendica il tuo profilo più tardi" + +#: apps/web/src/components/forms/v2/signup.tsx:283 +msgid "Claim your username now" +msgstr "Rivendica il tuo nome utente ora" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:537 +msgid "Clear file" +msgstr "Rimuovi file" + +#: packages/ui/primitives/data-table.tsx:156 +msgid "Clear filters" +msgstr "Cancella filtri" + +#: packages/ui/primitives/signature-pad/signature-pad.tsx:578 +msgid "Clear Signature" +msgstr "Cancella firma" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:125 +msgid "Click here to get started" +msgstr "Clicca qui per iniziare" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:76 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:113 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:64 +#: apps/web/src/components/document/document-history-sheet.tsx:133 +msgid "Click here to retry" +msgstr "Clicca qui per riprovare" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:392 +msgid "Click here to upload" +msgstr "Clicca qui per caricare" + +#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:52 +#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:65 +msgid "Click to copy signing link for sending to recipient" +msgstr "Clicca per copiare il link di firma da inviare al destinatario" + +#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:179 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:481 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:360 +msgid "Click to insert field" +msgstr "Clicca per inserire il campo" + +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:125 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:556 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:140 +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:180 +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:102 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:317 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:421 +#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:44 +msgid "Close" +msgstr "Chiudi" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:471 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:350 +#: apps/web/src/components/forms/v2/signup.tsx:538 +msgid "Complete" +msgstr "Completa" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:70 +msgid "Complete Approval" +msgstr "Completa l'Approvazione" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69 +msgid "Complete Signing" +msgstr "Completa la Firma" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68 +msgid "Complete Viewing" +msgstr "Completa la Visualizzazione" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:202 +#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:77 +#: apps/web/src/components/formatter/document-status.tsx:28 +#: packages/email/template-components/template-document-completed.tsx:35 +#: packages/email/template-components/template-document-recipient-signed.tsx:37 +#: packages/email/template-components/template-document-self-signed.tsx:36 +#: packages/lib/constants/document.ts:10 +msgid "Completed" +msgstr "Completato" + +#: packages/email/templates/document-completed.tsx:23 +#: packages/email/templates/document-self-signed.tsx:19 +msgid "Completed Document" +msgstr "Documento completato" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:48 +msgid "Completed documents" +msgstr "Documenti Completati" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:94 +msgid "Completed Documents" +msgstr "Documenti Completati" + +#: packages/lib/constants/template.ts:12 +msgid "Configure Direct Recipient" +msgstr "Configura destinatario diretto" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:143 +msgid "Configure general settings for the document." +msgstr "Configura le impostazioni generali per il documento." + +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77 +msgid "Configure general settings for the template." +msgstr "Configura le impostazioni generali per il modello." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:335 +msgid "Configure template" +msgstr "Configura il modello" + +#: packages/ui/primitives/document-flow/add-fields.tsx:586 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:491 +msgid "Configure the {0} field" +msgstr "Configura il campo {0}" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:475 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:458 +msgid "Confirm" +msgstr "Conferma" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:207 +msgid "Confirm by typing <0>{confirmTransferMessage}" +msgstr "Conferma digitando <0>{confirmTransferMessage}" + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:149 +msgid "Confirm by typing <0>{deleteMessage}" +msgstr "Conferma digitando <0>{deleteMessage}" + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:152 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:140 +msgid "Confirm by typing: <0>{deleteMessage}" +msgstr "Conferma digitando: <0>{deleteMessage}" + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:146 +msgid "Confirm Deletion" +msgstr "Conferma eliminazione" + +#: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:19 +#: packages/email/template-components/template-confirmation-email.tsx:35 +msgid "Confirm email" +msgstr "Conferma email" + +#: apps/web/src/components/forms/send-confirmation-email.tsx:53 +msgid "Confirmation email sent" +msgstr "Email di conferma inviato" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 +msgid "Consent to Electronic Transactions" +msgstr "Consenso alle transazioni elettroniche" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 +msgid "Contact Information" +msgstr "Informazioni di contatto" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:180 +msgid "Content" +msgstr "Contenuto" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:252 +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:135 +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:69 +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:143 +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:72 +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:122 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:326 +#: packages/ui/primitives/document-flow/document-flow-root.tsx:141 +msgid "Continue" +msgstr "Continua" + +#: packages/email/template-components/template-document-invite.tsx:85 +msgid "Continue by approving the document." +msgstr "Continua approvando il documento." + +#: packages/email/template-components/template-document-completed.tsx:45 +msgid "Continue by downloading the document." +msgstr "Continua scaricando il documento." + +#: packages/email/template-components/template-document-invite.tsx:83 +msgid "Continue by signing the document." +msgstr "Continua firmando il documento." + +#: packages/email/template-components/template-document-invite.tsx:84 +msgid "Continue by viewing the document." +msgstr "Continua visualizzando il documento." + +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:141 +msgid "Continue to login" +msgstr "Continua per accedere" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:185 +msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients." +msgstr "Controlla la lingua predefinita di un documento caricato. Questa verrà usata come lingua nelle comunicazioni email con i destinatari." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153 +msgid "Controls the default visibility of an uploaded document." +msgstr "Controlla la visibilità predefinita di un documento caricato." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232 +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 "Controlla la formattazione del messaggio che verrà inviato quando si invita un destinatario a firmare un documento. Se è stato fornito un messaggio personalizzato durante la configurazione del documento, verrà utilizzato invece." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:263 +msgid "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally." +msgstr "Controlla se i destinatari possono firmare i documenti utilizzando una firma digitata. Abilita o disabilita la firma digitata a livello globale." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:293 +msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately." +msgstr "Controlla se il certificato di firma sarà incluso nel documento quando viene scaricato. Il certificato di firma può comunque essere scaricato separatamente dalla pagina dei log." + +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128 +#: packages/ui/primitives/document-flow/add-subject.tsx:254 +msgid "Copied" +msgstr "Copiato" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:162 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:72 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:31 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:159 +#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:40 +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:61 +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:117 +#: apps/web/src/components/forms/public-profile-form.tsx:117 +#: packages/ui/components/document/document-share-button.tsx:46 +#: packages/ui/primitives/document-flow/add-subject.tsx:241 +msgid "Copied to clipboard" +msgstr "Copiato negli appunti" + +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123 +#: packages/ui/primitives/document-flow/add-subject.tsx:249 +msgid "Copy" +msgstr "Copia" + +#: packages/ui/components/document/document-share-button.tsx:194 +msgid "Copy Link" +msgstr "Copia il link" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164 +msgid "Copy sharable link" +msgstr "Copia il link condivisibile" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:391 +msgid "Copy Shareable Link" +msgstr "Copia il Link Condivisibile" + +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83 +msgid "Copy Signing Links" +msgstr "Copia link di firma" + +#: apps/web/src/components/forms/token.tsx:288 +msgid "Copy token" +msgstr "Copia il token" + +#: apps/web/src/app/(profile)/profile-header.tsx:83 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:245 +msgid "Create" +msgstr "Crea" + +#: packages/email/template-components/template-document-self-signed.tsx:46 +msgid "Create a <0>free account to access your signed documents at any time." +msgstr "Crea un <0>account gratuito per accedere ai tuoi documenti firmati in qualsiasi momento." + +#: apps/web/src/components/forms/v2/signup.tsx:268 +msgid "Create a new account" +msgstr "Crea un nuovo account" + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:150 +msgid "Create a team to collaborate with your team members." +msgstr "Crea un team per collaborare con i membri del tuo team." + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:106 +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:111 +#: packages/email/template-components/template-document-self-signed.tsx:68 +msgid "Create account" +msgstr "Crea un account" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:564 +msgid "Create and send" +msgstr "Crea e invia" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:562 +msgid "Create as draft" +msgstr "Crea come bozza" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:365 +msgid "Create as pending" +msgstr "Crea come in attesa" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37 +msgid "Create Direct Link" +msgstr "Crea Link Diretto" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:197 +msgid "Create Direct Signing Link" +msgstr "Crea Link di Firma Diretto" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:226 +msgid "Create document from template" +msgstr "Crea documento da modello" + +#: apps/web/src/app/(profile)/profile-header.tsx:79 +msgid "Create now" +msgstr "Crea ora" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:346 +msgid "Create one automatically" +msgstr "Crea uno automaticamente" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:566 +msgid "Create signing links" +msgstr "Crea link di firma" + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181 +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251 +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:138 +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:146 +msgid "Create team" +msgstr "Crea team" + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:226 +msgid "Create Team" +msgstr "Crea Team" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:372 +msgid "Create the document as pending and ready to sign." +msgstr "Crea il documento come in attesa e pronto per la firma." + +#: apps/web/src/components/forms/token.tsx:250 +#: apps/web/src/components/forms/token.tsx:259 +msgid "Create token" +msgstr "Crea token" + +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:125 +msgid "Create webhook" +msgstr "Crea webhook" + +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:117 +msgid "Create Webhook" +msgstr "Crea Webhook" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:213 +msgid "Create your account and start using state-of-the-art document signing." +msgstr "Crea il tuo account e inizia a utilizzare firme digitali all'avanguardia." + +#: apps/web/src/components/forms/v2/signup.tsx:272 +msgid "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp." +msgstr "Crea il tuo account e inizia a utilizzare firme digitali all'avanguardia. Una firma aperta e bella è a tua portata." + +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:62 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:112 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:36 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:48 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:103 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:35 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:272 +msgid "Created" +msgstr "Creato" + +#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:35 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:112 +msgid "Created At" +msgstr "Creato il" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:79 +msgid "Created by" +msgstr "Creato da" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:48 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:76 +msgid "Created on" +msgstr "Creato il" + +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67 +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93 +msgid "Created on {0}" +msgstr "Creato il {0}" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:143 +msgid "CSV Structure" +msgstr "Struttura CSV" + +#: apps/web/src/components/forms/password.tsx:112 +msgid "Current Password" +msgstr "Password attuale" + +#: apps/web/src/components/forms/password.tsx:81 +msgid "Current password is incorrect." +msgstr "La password corrente è errata." + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:154 +msgid "Current recipients:" +msgstr "Destinatari attuali:" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:28 +msgid "Daily" +msgstr "Giornaliero" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:265 +msgid "Dark Mode" +msgstr "Modalità Scura" + +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:67 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:153 +#: packages/ui/primitives/document-flow/add-fields.tsx:945 +#: packages/ui/primitives/document-flow/types.ts:53 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:810 +msgid "Date" +msgstr "Data" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:85 +msgid "Date created" +msgstr "Data di creazione" + +#: packages/ui/primitives/document-flow/add-settings.tsx:325 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:454 +msgid "Date Format" +msgstr "Formato data" + +#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:47 +#: packages/email/templates/team-invite.tsx:100 +msgid "Decline" +msgstr "Declina" + +#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:26 +msgid "Declined team invitation" +msgstr "Invito al team rifiutato" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:165 +msgid "Default Document Language" +msgstr "Lingua predefinita del documento" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:129 +msgid "Default Document Visibility" +msgstr "Visibilità predefinita del documento" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:49 +msgid "delete" +msgstr "elimina" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:150 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:107 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:85 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109 +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:167 +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:113 +msgid "Delete" +msgstr "Elimina" + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 +msgid "delete {0}" +msgstr "elimina {0}" + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 +msgid "delete {teamName}" +msgstr "elimina {teamName}" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:133 +msgid "Delete account" +msgstr "Elimina account" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:94 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:101 +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:72 +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:86 +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:93 +msgid "Delete Account" +msgstr "Elimina Account" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:125 +msgid "Delete document" +msgstr "Elimina documento" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:75 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:88 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:95 +msgid "Delete Document" +msgstr "Elimina Documento" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:184 +msgid "Delete passkey" +msgstr "Elimina chiave d'accesso" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:191 +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:118 +msgid "Delete team" +msgstr "Elimina squadra" + +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:73 +msgid "Delete team member" +msgstr "Elimina membro del team" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:78 +msgid "Delete the document. This action is irreversible so proceed with caution." +msgstr "Elimina il documento. Questa azione è irreversibile quindi procedi con cautela." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:83 +msgid "Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution." +msgstr "Elimina l'account utente e tutti i suoi contenuti. Questa azione è irreversibile e annullerà l'abbonamento, quindi procedi con cautela." + +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:117 +msgid "Delete Webhook" +msgstr "Elimina Webhook" + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:75 +msgid "Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution." +msgstr "Elimina il tuo account e tutti i suoi contenuti, inclusi i documenti completati. Questa azione è irreversibile e annullerà l'abbonamento, quindi procedi con cautela." + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:98 +msgid "Deleted" +msgstr "Eliminato" + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:146 +msgid "Deleting account..." +msgstr "Eliminazione account..." + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:180 +msgid "Details" +msgstr "Dettagli" + +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:72 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:244 +msgid "Device" +msgstr "Dispositivo" + +#: 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." +msgstr "Non hai richiesto un cambio di password? Siamo qui per aiutarti a proteggere il tuo account, basta <0>contattarci." + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:91 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 +msgid "direct link" +msgstr "collegamento diretto" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:81 +msgid "Direct link" +msgstr "Collegamento diretto" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:154 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225 +msgid "Direct Link" +msgstr "Collegamento diretto" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 +msgid "direct link disabled" +msgstr "collegamento diretto disabilitato" + +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:577 +msgid "Direct link receiver" +msgstr "Ricevitore del link diretto" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:357 +msgid "Direct Link Signing" +msgstr "Firma del collegamento diretto" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:111 +msgid "Direct link signing has been disabled" +msgstr "La firma del collegamento diretto è stata disabilitata" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:110 +msgid "Direct link signing has been enabled" +msgstr "La firma del collegamento diretto è stata abilitata" + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:95 +msgid "Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page." +msgstr "I modelli di collegamento diretto contengono un segnaposto per un destinatario dinamico. Chiunque abbia accesso a questo link può firmare il documento e apparirà successivamente nella tua pagina dei documenti." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:138 +msgid "Direct template link deleted" +msgstr "Collegamento diretto al modello eliminato" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:223 +msgid "Direct template link usage exceeded ({0}/{1})" +msgstr "Utilizzo del collegamento diretto al modello superato ({0}/{1})" + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:415 +msgid "Disable" +msgstr "Disabilita" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:116 +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:123 +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:192 +msgid "Disable 2FA" +msgstr "Disabilita 2FA" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:132 +msgid "Disable account" +msgstr "Disabilita account" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:88 +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:95 +msgid "Disable Account" +msgstr "Disabilita Account" + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:105 +msgid "Disable Two Factor Authentication before deleting your account." +msgstr "Disabilita l'Autenticazione a Due Fattori prima di eliminare il tuo account." + +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:79 +msgid "Disabled" +msgstr "Disabilitato" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:374 +msgid "Disabling direct link signing will prevent anyone from accessing the link." +msgstr "Disabilitare la firma del collegamento diretto impedirà a chiunque di accedere al collegamento." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:77 +msgid "Disabling the user results in the user not being able to use the account. It also disables all the related contents such as subscription, webhooks, teams, and API keys." +msgstr "Disabilitare l'utente porta all'impossibilità per l'utente di usare l'account. Disabilita anche tutti i contenuti correlati come abbonamento, webhook, team e chiavi API." + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:75 +msgid "Display your name and email in documents" +msgstr "Mostra il tuo nome e email nei documenti" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:157 +msgid "Distribute Document" +msgstr "Distribuire il documento" + +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:58 +msgid "Do you want to delete this template?" +msgstr "Vuoi eliminare questo modello?" + +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:62 +msgid "Do you want to duplicate this template?" +msgstr "Vuoi duplicare questo modello?" + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:111 +msgid "Documenso will delete <0>all of your documents, along with all of your completed documents, signatures, and all other resources belonging to your Account." +msgstr "Documenso eliminerà <0>tutti i tuoi documenti, insieme a tutti i tuoi documenti completati, firme e tutte le altre risorse appartenenti al tuo account." + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38 +msgid "Document" +msgstr "Documento" + +#: packages/lib/jobs/definitions/emails/send-rejection-emails.handler.ts:140 +msgid "Document \"{0}\" - Rejected by {1}" +msgstr "Documento \"{0}\" - Rifiutato da {1}" + +#: packages/lib/jobs/definitions/emails/send-rejection-emails.handler.ts:100 +msgid "Document \"{0}\" - Rejection Confirmed" +msgstr "Documento \"{0}\" - Rifiuto Confermato" + +#: packages/ui/components/document/document-global-auth-access-select.tsx:62 +#: packages/ui/primitives/document-flow/add-settings.tsx:227 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:224 +msgid "Document access" +msgstr "Accesso al documento" + +#: packages/lib/utils/document-audit-logs.ts:322 +msgid "Document access auth updated" +msgstr "Autenticazione di accesso al documento aggiornata" + +#: apps/web/src/components/formatter/document-status.tsx:47 +msgid "Document All" +msgstr "Documenta Tutto" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132 +msgid "Document Approved" +msgstr "Documento Approvato" + +#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40 +#: packages/lib/server-only/document/delete-document.ts:263 +#: packages/lib/server-only/document/super-delete-document.ts:101 +msgid "Document Cancelled" +msgstr "Documento Annullato" + +#: apps/web/src/components/formatter/document-status.tsx:29 +#: packages/lib/utils/document-audit-logs.ts:385 +#: packages/lib/utils/document-audit-logs.ts:386 +msgid "Document completed" +msgstr "Documento completato" + +#: packages/ui/components/document/document-email-checkboxes.tsx:203 +#: packages/ui/components/document/document-email-checkboxes.tsx:279 +msgid "Document completed email" +msgstr "Email documento completato" + +#: apps/web/src/app/embed/completed.tsx:17 +msgid "Document Completed!" +msgstr "Documento completato!" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:168 +#: packages/lib/utils/document-audit-logs.ts:302 +msgid "Document created" +msgstr "Documento creato" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:125 +msgid "Document created by <0>{0}" +msgstr "Documento creato da <0>{0}" + +#: packages/email/templates/document-created-from-direct-template.tsx:32 +#: packages/lib/server-only/template/create-document-from-direct-template.ts:588 +msgid "Document created from direct template" +msgstr "Documento creato da modello diretto" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:130 +msgid "Document created using a <0>direct link" +msgstr "Documento creato usando un <0>link diretto" + +#: packages/lib/constants/template.ts:20 +msgid "Document Creation" +msgstr "Creazione del documento" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:50 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:182 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:60 +#: packages/lib/utils/document-audit-logs.ts:306 +msgid "Document deleted" +msgstr "Documento eliminato" + +#: packages/ui/components/document/document-email-checkboxes.tsx:241 +msgid "Document deleted email" +msgstr "Email documento eliminato" + +#: packages/lib/server-only/document/send-delete-email.ts:85 +msgid "Document Deleted!" +msgstr "Documento Eliminato!" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:265 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:274 +msgid "Document Distribution Method" +msgstr "Metodo di distribuzione del documento" + +#: apps/web/src/components/formatter/document-status.tsx:35 +msgid "Document draft" +msgstr "Bozza del documento" + +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:57 +msgid "Document Duplicated" +msgstr "Documento Duplicato" + +#: packages/lib/utils/document-audit-logs.ts:342 +msgid "Document external ID updated" +msgstr "ID esterno del documento aggiornato" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:193 +#: apps/web/src/components/document/document-history-sheet.tsx:104 +msgid "Document history" +msgstr "Cronologia del documento" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:71 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:82 +msgid "Document ID" +msgstr "ID del documento" + +#: apps/web/src/components/formatter/document-status.tsx:41 +msgid "Document inbox" +msgstr "Posta in arrivo del documento" + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:180 +msgid "Document Limit Exceeded!" +msgstr "Limite di documenti superato!" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:82 +msgid "Document metrics" +msgstr "Metriche del documento" + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:49 +msgid "Document moved" +msgstr "Documento spostato" + +#: packages/lib/utils/document-audit-logs.ts:350 +msgid "Document moved to team" +msgstr "Documento spostato al team" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:156 +msgid "Document no longer available to sign" +msgstr "Documento non più disponibile per la firma" + +#: packages/lib/utils/document-audit-logs.ts:334 +msgid "Document opened" +msgstr "Documento aperto" + +#: apps/web/src/components/formatter/document-status.tsx:23 +msgid "Document pending" +msgstr "Documento in sospeso" + +#: packages/ui/components/document/document-email-checkboxes.tsx:164 +msgid "Document pending email" +msgstr "Email documento in attesa" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:103 +msgid "Document preferences updated" +msgstr "Preferenze del documento aggiornate" + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97 +msgid "Document re-sent" +msgstr "Documento rinviato" + +#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83 +#: packages/email/template-components/template-document-rejected.tsx:21 +msgid "Document Rejected" +msgstr "Documento Rifiutato" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36 +msgid "Document resealed" +msgstr "Documento risigillato" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303 +#: packages/lib/utils/document-audit-logs.ts:346 +msgid "Document sent" +msgstr "Documento inviato" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:130 +msgid "Document Signed" +msgstr "Documento firmato" + +#: packages/lib/utils/document-audit-logs.ts:326 +msgid "Document signing auth updated" +msgstr "Autenticazione firma documento aggiornata" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:143 +msgid "Document signing process will be cancelled" +msgstr "Il processo di firma del documento sarà annullato" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:75 +msgid "Document status" +msgstr "Stato del documento" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:67 +msgid "Document title" +msgstr "Titolo del documento" + +#: packages/lib/utils/document-audit-logs.ts:338 +msgid "Document title updated" +msgstr "Titolo documento aggiornato" + +#: packages/lib/utils/document-audit-logs.ts:330 +msgid "Document updated" +msgstr "Documento aggiornato" + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:55 +msgid "Document upload disabled due to unpaid invoices" +msgstr "Caricamento del documento disabilitato a causa di fatture non pagate" + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:85 +msgid "Document uploaded" +msgstr "Documento caricato" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:131 +msgid "Document Viewed" +msgstr "Documento visualizzato" + +#: packages/lib/utils/document-audit-logs.ts:318 +msgid "Document visibility updated" +msgstr "Visibilità del documento aggiornata" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:140 +msgid "Document will be permanently deleted" +msgstr "Il documento sarà eliminato definitivamente" + +#: apps/web/src/app/(dashboard)/admin/nav.tsx:65 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:145 +#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:109 +#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16 +#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:15 +#: apps/web/src/app/(dashboard)/documents/documents-page-view.tsx:119 +#: apps/web/src/app/(profile)/p/[url]/page.tsx:166 +#: apps/web/src/app/not-found.tsx:21 +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:205 +#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:18 +#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:35 +#: apps/web/src/components/ui/user-profile-timur.tsx:60 +msgid "Documents" +msgstr "Documenti" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:200 +msgid "Documents created from template" +msgstr "Documenti creati da modello" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113 +msgid "Documents Received" +msgstr "Documenti ricevuti" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:118 +msgid "Documents Viewed" +msgstr "Documenti visualizzati" + +#: apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx:40 +#: apps/web/src/app/(unauthenticated)/signin/page.tsx:45 +msgid "Don't have an account? <0>Sign up" +msgstr "Non hai un account? <0>Registrati" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:117 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:142 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107 +#: packages/email/template-components/template-document-completed.tsx:57 +#: packages/ui/components/document/document-download-button.tsx:68 +msgid "Download" +msgstr "Scarica" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:77 +msgid "Download Audit Logs" +msgstr "Scarica i log di audit" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86 +msgid "Download Certificate" +msgstr "Scarica il certificato" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:168 +msgid "Download Template CSV" +msgstr "Scarica Modello CSV" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208 +#: apps/web/src/components/formatter/document-status.tsx:34 +#: packages/lib/constants/document.ts:13 +msgid "Draft" +msgstr "Bozza" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:46 +msgid "Draft documents" +msgstr "Documenti in bozza" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:86 +msgid "Drafted Documents" +msgstr "Documenti redatti" + +#: packages/ui/primitives/document-dropzone.tsx:162 +msgid "Drag & drop your PDF here." +msgstr "Trascina e rilascia il tuo PDF qui." + +#: packages/ui/primitives/document-flow/add-fields.tsx:1076 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:941 +msgid "Dropdown" +msgstr "Menu a tendina" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:158 +msgid "Dropdown options" +msgstr "Opzioni del menu a tendina" + +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:121 +msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." +msgstr "A causa di una fattura non pagata, il vostro team è stato limitato. Si prega di effettuare il pagamento per ripristinare l'accesso completo al team." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:142 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:161 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:84 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:117 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:89 +msgid "Duplicate" +msgstr "Duplica" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:103 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:67 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 +msgid "Edit" +msgstr "Modifica" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:120 +msgid "Edit Template" +msgstr "Modifica Modello" + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100 +msgid "Edit webhook" +msgstr "Modifica webhook" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 +msgid "Electronic Delivery of Documents" +msgstr "Consegna elettronica dei documenti" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 +msgid "Electronic Signature Disclosure" +msgstr "Divulgazione della firma elettronica" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:116 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:284 +#: 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:119 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:131 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:407 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 +#: apps/web/src/components/forms/forgot-password.tsx:81 +#: apps/web/src/components/forms/profile.tsx:113 +#: apps/web/src/components/forms/signin.tsx:339 +#: apps/web/src/components/forms/signup.tsx:176 +#: packages/lib/constants/document.ts:28 +#: packages/ui/primitives/document-flow/add-fields.tsx:893 +#: packages/ui/primitives/document-flow/add-signers.tsx:511 +#: packages/ui/primitives/document-flow/add-signers.tsx:518 +#: packages/ui/primitives/document-flow/types.ts:54 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470 +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:477 +msgid "Email" +msgstr "Email" + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:133 +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:300 +#: apps/web/src/components/forms/send-confirmation-email.tsx:82 +msgid "Email address" +msgstr "Indirizzo email" + +#: apps/web/src/components/forms/v2/signup.tsx:332 +msgid "Email Address" +msgstr "Indirizzo Email" + +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:81 +msgid "Email cannot already exist in the template" +msgstr "L'email non può già esistere nel modello" + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 +msgid "Email Confirmed!" +msgstr "Email confermato!" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:353 +msgid "Email Options" +msgstr "Opzioni email" + +#: packages/lib/utils/document-audit-logs.ts:379 +msgid "Email resent" +msgstr "Email rinviato" + +#: packages/lib/utils/document-audit-logs.ts:379 +msgid "Email sent" +msgstr "Email inviato" + +#: apps/web/src/app/(unauthenticated)/check-email/page.tsx:20 +msgid "Email sent!" +msgstr "Email inviato!" + +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:77 +msgid "Email verification has been removed" +msgstr "Verifica email rimossa" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:33 +msgid "Email verification has been resent" +msgstr "Verifica email rinviata" + +#: packages/ui/primitives/document-flow/add-fields.tsx:1141 +msgid "Empty field" +msgstr "Campo vuoto" + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:153 +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:262 +msgid "Enable 2FA" +msgstr "Abilita 2FA" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:121 +msgid "Enable account" +msgstr "Abilita account" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:88 +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:95 +msgid "Enable Account" +msgstr "Abilita Account" + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:194 +msgid "Enable Authenticator App" +msgstr "Abilita l'app 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 "Abilita il branding personalizzato per tutti i documenti in questo team." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:246 +msgid "Enable direct link signing" +msgstr "Abilita la firma tramite link diretto" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:368 +#: packages/lib/constants/template.ts:8 +msgid "Enable Direct Link Signing" +msgstr "Abilita la firma di link diretto" + +#: packages/ui/primitives/document-flow/add-signers.tsx:400 +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:369 +msgid "Enable signing order" +msgstr "Abilita ordine di firma" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:248 +msgid "Enable Typed Signature" +msgstr "Abilita firma digitata" + +#: packages/ui/primitives/document-flow/add-fields.tsx:813 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 +msgid "Enable Typed Signatures" +msgstr "Abilita firme digitate" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:114 +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:138 +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:142 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:79 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:166 +msgid "Enabled" +msgstr "Abilitato" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:77 +msgid "Enabling the account results in the user being able to use the account again, and all the related features such as webhooks, teams, and API keys for example." +msgstr "Abilitare l'account consente all'utente di utilizzare nuovamente l'account, così come tutte le funzionalità correlate come webhook, team e chiavi API, per esempio." + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:88 +msgid "Enclosed Document" +msgstr "Documento Allegato" + +#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:38 +msgid "Ends On" +msgstr "Termina il" + +#: packages/ui/primitives/document-password-dialog.tsx:84 +msgid "Enter password" +msgstr "Inserisci la password" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295 +msgid "Enter your brand details" +msgstr "Inserisci i dettagli del tuo marchio" + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:136 +msgid "Enter your email" +msgstr "Inserisci la tua email" + +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:136 +msgid "Enter your email address to receive the completed document." +msgstr "Inserisci il tuo indirizzo email per ricevere il documento completato." + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:121 +msgid "Enter your name" +msgstr "Inserisci il tuo nome" + +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:293 +msgid "Enter your text here" +msgstr "Inserisci il tuo testo qui" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:66 +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:60 +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:60 +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:80 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:209 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:242 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:280 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:325 +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:111 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:155 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:186 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:226 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:50 +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:68 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:187 +#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:152 +#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:124 +#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:214 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:104 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:130 +#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:105 +#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:88 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:114 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:152 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 +#: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:133 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:167 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:193 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:101 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:224 +#: packages/ui/primitives/pdf-viewer.tsx:166 +msgid "Error" +msgstr "Errore" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:140 +msgid "Everyone can access and view the document" +msgstr "Tutti possono accedere e visualizzare il documento" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:140 +msgid "Everyone has signed" +msgstr "Hanno firmato tutti" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:164 +msgid "Everyone has signed! You will receive an Email copy of the signed document." +msgstr "Hanno firmato tutti! Riceverai una copia via email del documento firmato." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:232 +msgid "Exceeded timeout" +msgstr "Tempo scaduto" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:114 +msgid "Expired" +msgstr "Scaduto" + +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104 +msgid "Expires on {0}" +msgstr "Scade il {0}" + +#: packages/ui/primitives/document-flow/add-settings.tsx:295 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:424 +msgid "External ID" +msgstr "ID esterno" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42 +msgid "Failed to reseal document" +msgstr "Fallito il risigillo del documento" + +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:225 +msgid "Failed to save settings." +msgstr "Impossibile salvare le impostazioni." + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:125 +msgid "Failed to update recipient" +msgstr "Aggiornamento destinario fallito" + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:82 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:88 +msgid "Failed to update webhook" +msgstr "Aggiornamento webhook fallito" + +#: packages/email/templates/bulk-send-complete.tsx:55 +msgid "Failed: {failedCount}" +msgstr "Falliti: {failedCount}" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:100 +msgid "Field character limit" +msgstr "Limite di caratteri del campo" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:69 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:51 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:46 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:51 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:130 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:114 +msgid "Field font size" +msgstr "Dimensione del carattere del campo" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:110 +msgid "Field format" +msgstr "Formato del campo" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 +msgid "Field label" +msgstr "Etichetta del campo" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:72 +msgid "Field placeholder" +msgstr "Segnaposto del campo" + +#: packages/lib/utils/document-audit-logs.ts:310 +msgid "Field signed" +msgstr "Campo firmato" + +#: packages/lib/utils/document-audit-logs.ts:314 +msgid "Field unsigned" +msgstr "Campo non firmato" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:190 +msgid "Fields" +msgstr "Campi" + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:124 +msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" +msgstr "Il file non può essere più grande di {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:513 +msgid "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" +msgstr "La dimensione del file supera il limite di {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:63 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:45 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:40 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:45 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:124 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:108 +msgid "Font Size" +msgstr "Dimensione carattere" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 +msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" +msgstr "Per qualsiasi domanda riguardante questa divulgazione, le firme elettroniche o qualsiasi processo correlato, contattaci all'indirizzo: <0>{SUPPORT_EMAIL}" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:147 +msgid "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." +msgstr "Per ogni destinatario, fornisci la loro email (obbligatoria) e il nome (opzionale) in colonne separate. Scarica il modello CSV qui sotto per il formato corretto." + +#: packages/lib/server-only/auth/send-forgot-password.ts:61 +msgid "Forgot Password?" +msgstr "Password dimenticata?" + +#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 +#: apps/web/src/components/forms/signin.tsx:371 +#: packages/email/template-components/template-forgot-password.tsx:21 +msgid "Forgot your password?" +msgstr "Hai dimenticato la tua password?" + +#: packages/ui/primitives/document-flow/types.ts:50 +msgid "Free Signature" +msgstr "Firma gratuita" + +#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:330 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:191 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:210 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:272 +#: apps/web/src/components/forms/profile.tsx:101 +#: apps/web/src/components/forms/v2/signup.tsx:316 +msgid "Full Name" +msgstr "Nome completo" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:142 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:76 +#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62 +#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44 +#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52 +msgid "General" +msgstr "Generale" + +#: packages/ui/primitives/document-flow/add-subject.tsx:89 +msgid "Generate Links" +msgstr "Genera link" + +#: packages/ui/components/document/document-global-auth-action-select.tsx:64 +msgid "Global recipient action authentication" +msgstr "Autenticazione globale del destinatario" + +#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30 +#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33 +#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:51 +#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:32 +#: apps/web/src/components/partials/not-found.tsx:67 +#: packages/ui/primitives/document-flow/document-flow-root.tsx:142 +msgid "Go Back" +msgstr "Torna indietro" + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:48 +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:73 +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:101 +#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:38 +msgid "Go back home" +msgstr "Torna alla home" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:224 +#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:57 +msgid "Go Back Home" +msgstr "Torna alla home" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:76 +msgid "Go to owner" +msgstr "Vai al proprietario" + +#: apps/web/src/app/(profile)/p/[url]/page.tsx:147 +msgid "Go to your <0>public profile settings to add documents." +msgstr "Vai alle tue <0>impostazioni del profilo pubblico per aggiungere documenti." + +#: packages/ui/primitives/signature-pad/signature-pad.tsx:565 +msgid "Green" +msgstr "Verde" + +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:107 +msgid "has invited you to approve this document" +msgstr "ti ha invitato ad approvare questo documento" + +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:98 +msgid "has invited you to sign this document" +msgstr "ti ha invitato a firmare questo documento" + +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:89 +msgid "has invited you to view this document" +msgstr "ti ha invitato a visualizzare questo documento" + +#: apps/web/src/app/(dashboard)/settings/profile/page.tsx:29 +msgid "Here you can edit your personal details." +msgstr "Qui puoi modificare i tuoi dati personali." + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:35 +msgid "Here you can manage your password and security settings." +msgstr "Qui puoi gestire la tua password e le impostazioni di sicurezza." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43 +msgid "Here you can set preferences and defaults for branding." +msgstr "Qui puoi impostare preferenze e valori predefiniti per il 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 "Qui puoi impostare preferenze e valori predefiniti per il tuo team." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:201 +msgid "Here's how it works:" +msgstr "Ecco come funziona:" + +#: apps/web/src/components/ui/user-profile-timur.tsx:49 +msgid "Hey I’m Timur" +msgstr "Ciao, sono Timur" + +#: packages/email/templates/bulk-send-complete.tsx:36 +msgid "Hi {userName}," +msgstr "Ciao {userName}," + +#: packages/email/templates/reset-password.tsx:56 +msgid "Hi, {userName} <0>({userEmail})" +msgstr "Ciao, {userName} <0>({userEmail})" + +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:154 +msgid "Hide" +msgstr "Nascondi" + +#: apps/web/src/components/document/document-history-sheet.tsx:111 +msgid "Hide additional information" +msgstr "Nascondi informazioni aggiuntive" + +#: packages/lib/constants/recipient-roles.ts:44 +msgid "I am a signer of this document" +msgstr "Sono un firmatario di questo documento" + +#: packages/lib/constants/recipient-roles.ts:47 +msgid "I am a viewer of this document" +msgstr "Sono un visualizzatore di questo documento" + +#: packages/lib/constants/recipient-roles.ts:45 +msgid "I am an approver of this document" +msgstr "Sono un approvatore di questo documento" + +#: packages/lib/constants/recipient-roles.ts:46 +msgid "I am required to receive a copy of this document" +msgstr "Sono tenuto a ricevere una copia di questo documento" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:43 +msgid "I am the owner of this document" +msgstr "Sono il proprietario di questo documento" + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173 +msgid "I'm sure! Delete it" +msgstr "Sono sicuro! Eliminalo" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:103 +msgid "If they accept this request, the team will be transferred to their account." +msgstr "Se accettano questa richiesta, il team sarà trasferito sul loro account." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:196 +msgid "If you do not want to use the authenticator prompted, you can close it, which will then display the next available authenticator." +msgstr "Se non vuoi utilizzare l'autenticatore richiesto, puoi chiuderlo, dopodiché verrà mostrato il successivo disponibile." + +#: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:30 +msgid "If you don't find the confirmation link in your inbox, you can request a new one below." +msgstr "Se non trovi il link di conferma nella tua casella di posta, puoi richiederne uno nuovo qui sotto." + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:213 +msgid "If your authenticator app does not support QR codes, you can use the following code instead:" +msgstr "Se la tua app autenticatrice non supporta i codici QR, puoi usare il seguente codice:" + +#: apps/web/src/components/formatter/document-status.tsx:40 +msgid "Inbox" +msgstr "Posta in arrivo" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:52 +msgid "Inbox documents" +msgstr "Documenti in arrivo" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:278 +msgid "Include the Signing Certificate in the Document" +msgstr "Includi il certificato di firma nel documento" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:54 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:51 +msgid "Information" +msgstr "Informazioni" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:29 +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:87 +msgid "Inherit authentication method" +msgstr "Ereditare metodo di autenticazione" + +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 +#: packages/ui/primitives/document-flow/types.ts:51 +msgid "Initials" +msgstr "Iniziali" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 +msgid "Inserted" +msgstr "Inserito" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:60 +msgid "Instance Stats" +msgstr "Statistiche istanze" + +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:151 +msgid "Invalid code. Please try again." +msgstr "Codice non valido. Riprova." + +#: packages/ui/primitives/document-flow/add-signers.types.ts:17 +msgid "Invalid email" +msgstr "Email non valida" + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:33 +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:36 +msgid "Invalid link" +msgstr "Link non valido" + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:39 +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:39 +msgid "Invalid token" +msgstr "Token non valido" + +#: apps/web/src/components/forms/reset-password.tsx:84 +msgid "Invalid token provided. Please try again." +msgstr "Token non valido fornito. Per favore riprova." + +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:123 +msgid "Invitation accepted!" +msgstr "Invito accettato!" + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:118 +msgid "Invitation declined" +msgstr "Invito rifiutato" + +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:77 +msgid "Invitation has been deleted" +msgstr "L'invito è stato eliminato" + +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:60 +msgid "Invitation has been resent" +msgstr "L'invito è stato inviato nuovamente" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:374 +msgid "Invite" +msgstr "Invita" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:250 +msgid "Invite member" +msgstr "Invita un membro" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:275 +msgid "Invite Members" +msgstr "Invita membri" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:258 +msgid "Invite team members" +msgstr "Invita membri del team" + +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:125 +msgid "Invited At" +msgstr "Invitato il" + +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:55 +msgid "Invoice" +msgstr "Fattura" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237 +msgid "IP Address" +msgstr "Indirizzo IP" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 +msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." +msgstr "È fondamentale mantenere aggiornate le tue informazioni di contatto, in particolare il tuo indirizzo email. Ti preghiamo di notificarci immediatamente qualsiasi modifica per assicurarti di continuare a ricevere tutte le comunicazioni necessarie." + +#: apps/web/src/app/(profile)/p/[url]/page.tsx:134 +msgid "It looks like {0} hasn't added any documents to their profile yet." +msgstr "Sembra che {0} non abbia ancora aggiunto documenti al proprio profilo." + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:93 +msgid "It seems that the provided token has expired. We've just sent you another token, please check your email and try again." +msgstr "Sembra che il token fornito sia scaduto. Ti abbiamo appena inviato un altro token, controlla la tua email e riprova." + +#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:30 +msgid "It seems that there is no token provided, if you are trying to verify your email please follow the link in your email." +msgstr "Sembra che non sia stato fornito alcun token, se stai cercando di verificare la tua email, segui il link nella tua email." + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:40 +msgid "It seems that there is no token provided. Please check your email and try again." +msgstr "Sembra che non sia stato fornito alcun token. Controlla la tua email e riprova." + +#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:74 +msgid "It's currently not your turn to sign. You will receive an email with instructions once it's your turn to sign the document." +msgstr "Al momento, non è il tuo turno di firmare. Riceverai un'email con le istruzioni quando sarà il tuo turno di firmare il documento." + +#: packages/email/templates/team-invite.tsx:72 +msgid "Join {teamName} on Documenso" +msgstr "Unisci a {teamName} su Documenso" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:55 +msgid "Label" +msgstr "Etichetta" + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:286 +#: packages/ui/primitives/document-flow/add-settings.tsx:187 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:184 +msgid "Language" +msgstr "Lingua" + +#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:61 +msgid "Last 14 days" +msgstr "Ultimi 14 giorni" + +#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:64 +msgid "Last 30 days" +msgstr "Ultimi 30 giorni" + +#: apps/web/src/components/(dashboard)/period-selector/period-selector.tsx:58 +msgid "Last 7 days" +msgstr "Ultimi 7 giorni" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:42 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:39 +msgid "Last modified" +msgstr "Ultima modifica" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:91 +msgid "Last updated" +msgstr "Ultimo aggiornamento" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:122 +msgid "Last Updated" +msgstr "Ultimo aggiornamento" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:52 +msgid "Last updated at" +msgstr "Ultimo aggiornamento il" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:69 +msgid "Last used" +msgstr "Ultimo utilizzo" + +#: apps/web/src/app/(dashboard)/admin/nav.tsx:93 +msgid "Leaderboard" +msgstr "Classifica" + +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:111 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:115 +msgid "Leave" +msgstr "Lascia" + +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:73 +msgid "Leave team" +msgstr "Lascia il team" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 +msgid "Legality of Electronic Signatures" +msgstr "Legalità delle firme elettroniche" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 +msgid "Light Mode" +msgstr "Modalità chiara" + +#: apps/web/src/app/(profile)/profile-header.tsx:71 +msgid "Like to have your own public profile with agreements?" +msgstr "Ti piacerebbe avere il tuo profilo pubblico con accordi?" + +#: packages/email/templates/confirm-team-email.tsx:124 +#: packages/email/templates/team-transfer-request.tsx:87 +msgid "Link expires in 1 hour." +msgstr "Il link scade tra 1 ora." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:215 +msgid "Link template" +msgstr "Collega modello" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:314 +msgid "Links Generated" +msgstr "Link Generati" + +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84 +msgid "Listening to {0}" +msgstr "Ascoltando {0}" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:98 +msgid "Load older activity" +msgstr "Carica attività precedente" + +#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:33 +#: packages/ui/primitives/lazy-pdf-viewer.tsx:15 +#: packages/ui/primitives/pdf-viewer.tsx:44 +msgid "Loading document..." +msgstr "Caricamento del documento..." + +#: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:20 +#: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:19 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:90 +msgid "Loading Document..." +msgstr "Caricamento Documento..." + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:92 +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:103 +msgid "Loading teams..." +msgstr "Caricamento dei team..." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:98 +msgid "Loading..." +msgstr "Caricamento in corso..." + +#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:54 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:75 +#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:67 +msgid "Login" +msgstr "Accedi" + +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:99 +msgid "Manage" +msgstr "Gestisci" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:90 +msgid "Manage {0}'s profile" +msgstr "Gestisci il profilo di {0}" + +#: apps/web/src/app/(dashboard)/settings/teams/page.tsx:26 +msgid "Manage all teams you are currently associated with." +msgstr "Gestisci tutti i team a cui sei attualmente associato." + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:164 +msgid "Manage and view template" +msgstr "Gestisci e visualizza il modello" + +#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:136 +msgid "Manage billing" +msgstr "Gestisci la fatturazione" + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:339 +msgid "Manage details for this public template" +msgstr "Gestisci i dettagli per questo modello pubblico" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 +msgid "Manage Direct Link" +msgstr "Gestisci Link Diretto" + +#: apps/web/src/app/(dashboard)/admin/documents/page.tsx:13 +msgid "Manage documents" +msgstr "Gestisci documenti" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:118 +msgid "Manage passkeys" +msgstr "Gestisci chiavi di accesso" + +#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:41 +msgid "Manage subscription" +msgstr "Gestisci abbonamento" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:67 +msgid "Manage Subscription" +msgstr "Gestisci Abbonamento" + +#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:24 +msgid "Manage subscriptions" +msgstr "Gestisci abbonamenti" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:87 +msgid "Manage team subscription." +msgstr "Gestisci abbonamento del team." + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:168 +msgid "Manage teams" +msgstr "Gestisci gruppi" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:361 +msgid "Manage the direct link signing for this template" +msgstr "Gestisci la firma del link diretto per questo modello" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:32 +msgid "Manage the members or invite new members." +msgstr "Gestisci i membri o invita nuovi membri." + +#: apps/web/src/app/(dashboard)/admin/users/page.tsx:35 +msgid "Manage users" +msgstr "Gestisci utenti" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:33 +msgid "Manage your passkeys." +msgstr "Gestisci le tue chiavi di accesso." + +#: apps/web/src/app/(dashboard)/admin/site-settings/page.tsx:27 +msgid "Manage your site settings here" +msgstr "Gestisci le impostazioni del tuo sito qui" + +#: packages/lib/constants/teams.ts:11 +msgid "Manager" +msgstr "Responsabile" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:141 +msgid "Mark as Viewed" +msgstr "Segna come visto" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:137 +msgid "MAU (created document)" +msgstr "MAU (documento creato)" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:143 +msgid "MAU (had document completed)" +msgstr "MAU (ha completato il documento)" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:209 +msgid "Max" +msgstr "" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:227 +msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." +msgstr "Dimensione massima del file: 4MB. Massimo 100 righe per caricamento. I valori vuoti utilizzeranno i valori predefiniti del modello." + +#: packages/lib/constants/teams.ts:12 +msgid "Member" +msgstr "Membro" + +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:88 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:111 +msgid "Member Since" +msgstr "Membro dal" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx:31 +#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:86 +#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:95 +msgid "Members" +msgstr "Membri" + +#: packages/ui/primitives/document-flow/add-subject.tsx:160 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:384 +msgid "Message <0>(Optional)" +msgstr "Messaggio <0>(Opzionale)" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:197 +msgid "Min" +msgstr "" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35 +msgid "Modify recipients" +msgstr "Modifica destinatari" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:30 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:54 +msgid "Monthly" +msgstr "Mensile" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:138 +msgid "Monthly Active Users: Users that created at least one Document" +msgstr "Utenti attivi mensili: Utenti che hanno creato almeno un documento" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:145 +msgid "Monthly Active Users: Users that had at least one of their documents completed" +msgstr "Utenti attivi mensili: Utenti con almeno uno dei loro documenti completati" + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:134 +msgid "Move" +msgstr "Sposta" + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:78 +msgid "Move Document to Team" +msgstr "Sposta documento al team" + +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:89 +msgid "Move Template to Team" +msgstr "Sposta modello al team" + +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:168 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:87 +msgid "Move to Team" +msgstr "Sposta nel team" + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:134 +msgid "Moving..." +msgstr "Spostamento..." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:44 +msgid "My templates" +msgstr "I miei modelli" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:148 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:56 +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:101 +#: 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:59 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:299 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:306 +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:118 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:175 +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:141 +#: apps/web/src/components/forms/signup.tsx:160 +#: packages/ui/primitives/document-flow/add-fields.tsx:919 +#: packages/ui/primitives/document-flow/add-signers.tsx:549 +#: packages/ui/primitives/document-flow/add-signers.tsx:555 +#: packages/ui/primitives/document-flow/types.ts:55 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:505 +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:511 +msgid "Name" +msgstr "Nome" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:209 +msgid "Need to sign documents?" +msgstr "Hai bisogno di firmare documenti?" + +#: packages/ui/components/recipient/recipient-role-select.tsx:52 +msgid "Needs to approve" +msgstr "Necessita di approvazione" + +#: packages/ui/components/recipient/recipient-role-select.tsx:31 +msgid "Needs to sign" +msgstr "Necessita di firma" + +#: packages/ui/components/recipient/recipient-role-select.tsx:73 +msgid "Needs to view" +msgstr "Necessita di visualizzazione" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:74 +msgid "Never" +msgstr "Mai" + +#: apps/web/src/components/forms/token.tsx:224 +msgid "Never expire" +msgstr "Mai scadere" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:176 +msgid "New team owner" +msgstr "Nuovo proprietario del team" + +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:95 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:102 +msgid "New Template" +msgstr "Nuovo modello" + +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:462 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:341 +#: apps/web/src/components/forms/v2/signup.tsx:525 +msgid "Next" +msgstr "Successivo" + +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 +msgid "Next field" +msgstr "Campo successivo" + +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:24 +msgid "No active drafts" +msgstr "Nessuna bozza attiva" + +#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99 +msgid "No further action is required from you at this time." +msgstr "Non sono richieste ulteriori azioni da parte tua in questo momento." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:43 +msgid "No payment required" +msgstr "Nessun pagamento richiesto" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:120 +msgid "No public profile templates found" +msgstr "Nessun modello di profilo pubblico trovato" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:106 +msgid "No recent activity" +msgstr "Nessuna attività recente" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:99 +msgid "No recent documents" +msgstr "Nessun documento recente" + +#: packages/ui/primitives/document-flow/add-fields.tsx:705 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:598 +msgid "No recipient matching this description was found." +msgstr "Nessun destinatario corrispondente a questa descrizione è stato trovato." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:70 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49 +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:96 +#: packages/ui/primitives/document-flow/add-subject.tsx:215 +msgid "No recipients" +msgstr "Nessun destinatario" + +#: packages/ui/primitives/document-flow/add-fields.tsx:720 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:613 +msgid "No recipients with this role" +msgstr "Nessun destinatario con questo ruolo" + +#: packages/ui/components/document/document-global-auth-access-select.tsx:30 +#: packages/ui/components/document/document-global-auth-access-select.tsx:43 +#: packages/ui/components/document/document-global-auth-action-select.tsx:31 +#: packages/ui/components/document/document-global-auth-action-select.tsx:46 +msgid "No restrictions" +msgstr "Nessuna restrizione" + +#: packages/ui/primitives/data-table.tsx:148 +msgid "No results found" +msgstr "Nessun risultato trovato" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:200 +msgid "No results found." +msgstr "Nessun risultato trovato." + +#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:30 +msgid "No signature field found" +msgstr "Nessun campo di firma trovato" + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:37 +msgid "No token provided" +msgstr "Nessun token fornito" + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:282 +msgid "No valid direct templates found" +msgstr "Nessun modello diretto valido trovato" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:288 +msgid "No valid recipients found" +msgstr "Nessun destinatario valido trovato" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/multiselect-role-combobox.tsx:64 +#: apps/web/src/components/(dashboard)/settings/webhooks/trigger-multiselect-combobox.tsx:77 +#: packages/ui/primitives/combobox.tsx:60 +#: packages/ui/primitives/multi-select-combobox.tsx:153 +msgid "No value found." +msgstr "Nessun valore trovato." + +#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:25 +msgid "No worries, it happens! Enter your email and we'll email you a special link to reset your password." +msgstr "Non ti preoccupare, succede! Inserisci la tua email e ti invieremo un link speciale per reimpostare la tua password." + +#: packages/lib/constants/document.ts:32 +msgid "None" +msgstr "Nessuno" + +#: apps/web/src/components/forms/signin.tsx:161 +msgid "Not supported" +msgstr "Non supportato" + +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:19 +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34 +msgid "Nothing to do" +msgstr "Niente da fare" + +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:284 +#: packages/ui/primitives/document-flow/add-fields.tsx:997 +#: packages/ui/primitives/document-flow/types.ts:56 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:862 +msgid "Number" +msgstr "Numero" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:103 +msgid "Number format" +msgstr "Formato numero" + +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:103 +msgid "on behalf of \"{0}\" has invited you to approve this document" +msgstr "per conto di \"{0}\" ti ha invitato ad approvare questo documento" + +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:94 +msgid "on behalf of \"{0}\" has invited you to sign this document" +msgstr "per conto di \"{0}\" ti ha invitato a firmare questo documento" + +#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:85 +msgid "on behalf of \"{0}\" has invited you to view this document" +msgstr "per conto di \"{0}\" ti ha invitato a visualizzare questo documento" + +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:128 +msgid "On this page, you can create a new webhook." +msgstr "In questa pagina, puoi creare un nuovo webhook." + +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:26 +msgid "On this page, you can create new API tokens and manage the existing ones. <0/>Also see our <1>Documentation." +msgstr "In questa pagina, puoi creare nuovi token API e gestire quelli esistenti. <0/>Consulta anche la nostra <1>Documentazione." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:60 +msgid "On this page, you can create new API tokens and manage the existing ones. <0/>You can view our swagger docs <1>here" +msgstr "In questa pagina, puoi creare nuovi token API e gestire quelli esistenti. <0/>Puoi visualizzare la nostra documentazione swagger <1>qui" + +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:29 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:34 +msgid "On this page, you can create new Webhooks and manage the existing ones." +msgstr "In questa pagina, puoi creare nuovi Webhook e gestire quelli esistenti." + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:95 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:101 +msgid "On this page, you can edit the webhook and its settings." +msgstr "In questa pagina, puoi modificare il webhook e le sue impostazioni." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:135 +msgid "Once confirmed, the following will occur:" +msgstr "Una volta confermato, si verificherà quanto segue:" + +#: packages/lib/constants/template.ts:9 +msgid "Once enabled, you can select any active recipient to be a direct link signing recipient, or create a new one. This recipient type cannot be edited or deleted." +msgstr "Una volta abilitato, puoi selezionare qualsiasi destinatario attivo per essere un destinatario di firma a link diretto, o crearne uno nuovo. Questo tipo di destinatario non può essere modificato o eliminato." + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:224 +msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below." +msgstr "Una volta scansionato il codice QR o inserito manualmente il codice, inserisci il codice fornito dalla tua app di autenticazione qui sotto." + +#: packages/lib/constants/template.ts:17 +msgid "Once your template is set up, share the link anywhere you want. The person who opens the link will be able to enter their information in the direct link recipient field and complete any other fields assigned to them." +msgstr "Una volta configurato il tuo modello, condividi il link ovunque tu voglia. La persona che apre il link potrà inserire le proprie informazioni nel campo destinatario del link diretto e completare qualsiasi altro campo assegnato a loro." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:146 +msgid "Only admins can access and view the document" +msgstr "Solo gli amministratori possono accedere e visualizzare il documento" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:143 +msgid "Only managers and above can access and view the document" +msgstr "Solo i manager e superiori possono accedere e visualizzare il documento" + +#: apps/web/src/components/forms/v2/signup.tsx:82 +msgid "Only subscribers can have a username shorter than 6 characters" +msgstr "Solo gli abbonati possono avere un nome utente più corto di 6 caratteri" + +#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19 +#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19 +#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:37 +#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:19 +#: apps/web/src/components/partials/not-found.tsx:49 +msgid "Oops! Something went wrong." +msgstr "Ops! Qualcosa è andato storto." + +#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:140 +msgid "Opened" +msgstr "Aperto" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:332 +#: apps/web/src/components/forms/signup.tsx:239 +#: apps/web/src/components/forms/signup.tsx:263 +#: apps/web/src/components/forms/v2/signup.tsx:387 +msgid "Or" +msgstr "Oppure" + +#: apps/web/src/components/forms/signin.tsx:391 +msgid "Or continue with" +msgstr "Oppure continua con" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351 +msgid "Otherwise, the document will be created as a draft." +msgstr "Altrimenti, il documento sarà creato come bozza." + +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:104 +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:107 +msgid "Owner" +msgstr "Proprietario" + +#: packages/ui/primitives/data-table-pagination.tsx:77 +msgid "Page {0} of {1}" +msgstr "Pagina {0} di {1}" + +#: packages/ui/primitives/pdf-viewer.tsx:259 +msgid "Page {0} of {numPages}" +msgstr "Pagina {0} di {numPages}" + +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 +msgid "Paid" +msgstr "Pagato" + +#: apps/web/src/components/forms/signin.tsx:436 +msgid "Passkey" +msgstr "Password" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:229 +msgid "Passkey already exists for the provided authenticator" +msgstr "Una passkey esiste già per l'autenticatore fornito" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:219 +msgid "Passkey creation cancelled due to one of the following reasons:" +msgstr "Creazione della passkey annullata per uno dei seguenti motivi:" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:88 +msgid "Passkey has been removed" +msgstr "La passkey è stata rimossa" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:68 +msgid "Passkey has been updated" +msgstr "La passkey è stata aggiornata" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:177 +msgid "Passkey name" +msgstr "Nome della passkey" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:121 +msgid "Passkey Re-Authentication" +msgstr "Ri-autenticazione con chiave di accesso" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:106 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx:32 +msgid "Passkeys" +msgstr "Passkey" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:158 +msgid "Passkeys allow you to sign in and authenticate using biometrics, password managers, etc." +msgstr "Le passkey permettono di autenticarsi usando dati biometrici, gestori di password, ecc." + +#: apps/web/src/components/forms/signin.tsx:162 +msgid "Passkeys are not supported on this browser" +msgstr "Le passkey non sono supportate su questo browser" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:70 +#: apps/web/src/components/forms/password.tsx:128 +#: apps/web/src/components/forms/reset-password.tsx:115 +#: apps/web/src/components/forms/signin.tsx:357 +#: apps/web/src/components/forms/signup.tsx:192 +#: apps/web/src/components/forms/v2/signup.tsx:348 +msgid "Password" +msgstr "\"Password\"" + +#: packages/ui/primitives/document-password-dialog.tsx:62 +msgid "Password Required" +msgstr "Password richiesta" + +#: packages/email/templates/forgot-password.tsx:19 +msgid "Password Reset Requested" +msgstr "Richiesta di reimpostazione password" + +#: packages/email/templates/reset-password.tsx:20 +msgid "Password Reset Successful" +msgstr "Reimpostazione password riuscita" + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:51 +#: apps/web/src/components/forms/v2/signup.tsx:72 +msgid "Password should not be common or based on personal information" +msgstr "La password non deve essere comune o basata su informazioni personali" + +#: apps/web/src/components/forms/password.tsx:72 +#: apps/web/src/components/forms/reset-password.tsx:73 +msgid "Password updated" +msgstr "Password aggiornato" + +#: packages/email/template-components/template-reset-password.tsx:22 +msgid "Password updated!" +msgstr "Password aggiornata!" + +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:46 +msgid "Pay" +msgstr "Paga" + +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:89 +msgid "Payment is required to finalise the creation of your team." +msgstr "È necessario il pagamento per completare la creazione del tuo team." + +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:82 +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:107 +msgid "Payment overdue" +msgstr "Pagamento scaduto" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:131 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205 +#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:82 +#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:77 +#: apps/web/src/components/document/document-read-only-fields.tsx:89 +#: apps/web/src/components/formatter/document-status.tsx:22 +#: packages/lib/constants/document.ts:16 +msgid "Pending" +msgstr "In sospeso" + +#: packages/email/templates/document-pending.tsx:19 +msgid "Pending Document" +msgstr "Documento in sospeso" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:51 +msgid "Pending documents" +msgstr "Documenti in sospeso" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:89 +msgid "Pending Documents" +msgstr "Documenti in sospeso" + +#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:62 +msgid "Pending invitations" +msgstr "Inviti in sospeso" + +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:28 +msgid "Pending team deleted." +msgstr "Team in sospeso eliminato." + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:134 +msgid "Personal" +msgstr "Personale" + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:77 +msgid "Personal Account" +msgstr "Account personale" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 +msgid "Pick a number" +msgstr "Scegli un numero" + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:151 +msgid "Pick a password" +msgstr "Inserisci una password" + +#: apps/web/src/components/ui/user-profile-timur.tsx:53 +msgid "Pick any of the following agreements below and start signing to get started" +msgstr "Scegli uno dei seguenti accordi e inizia a firmare per iniziare" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:79 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:84 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:67 +msgid "Placeholder" +msgstr "Segnaposto" + +#: packages/email/template-components/template-document-invite.tsx:55 +msgid "Please {0} your document<0/>\"{documentName}\"" +msgstr "Per favore {0} il tuo documento<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx:50 +msgid "Please {action} your document {documentName}" +msgstr "Per favore {action} il tuo documento {documentName}" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:99 +msgid "Please {recipientActionVerb} this document" +msgstr "Per favore {recipientActionVerb} questo documento" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:113 +msgid "Please {recipientActionVerb} this document created by your direct template" +msgstr "Per favore {recipientActionVerb} questo documento creato dal tuo modello diretto" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:105 +msgid "Please {recipientActionVerb} your document" +msgstr "Per favore {recipientActionVerb} il tuo documento" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:212 +msgid "Please check the CSV file and make sure it is according to our format" +msgstr "Si prega di controllare il file CSV e assicurarsi che sia conforme al nostro formato" + +#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:81 +msgid "Please check your email for updates." +msgstr "Per favore controlla la tua email per aggiornamenti." + +#: apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx:34 +msgid "Please choose your new password" +msgstr "Per favore scegli la tua nuova password" + +#: packages/lib/server-only/auth/send-confirmation-email.ts:67 +msgid "Please confirm your email" +msgstr "Per favore conferma la tua email" + +#: packages/email/templates/confirm-email.tsx:17 +msgid "Please confirm your email address" +msgstr "Per favore conferma il tuo indirizzo email" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:175 +msgid "Please contact support if you would like to revert this action." +msgstr "Si prega di contattare il supporto se si desidera annullare questa azione." + +#: apps/web/src/components/forms/token.tsx:175 +msgid "Please enter a meaningful name for your token. This will help you identify it later." +msgstr "Si prega di inserire un nome significativo per il proprio token. Questo ti aiuterà a identificarlo più tardi." + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:41 +#: apps/web/src/components/forms/v2/signup.tsx:53 +msgid "Please enter a valid name." +msgstr "Per favore inserisci un nome valido." + +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:148 +msgid "Please mark as viewed to complete" +msgstr "Si prega di segnare come visualizzato per completare" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:453 +msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." +msgstr "Si prega di notare che procedendo si rimuoverà il destinatario del link diretto e si trasformerà in un segnaposto." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:129 +msgid "Please note that this action is <0>irreversible." +msgstr "Si prega di notare che questa azione è <0>irreversibile." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:120 +msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." +msgstr "Si prega di notare che questa azione è <0>irreversibile. Una volta confermato, questo documento sarà eliminato permanentemente." + +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:62 +msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." +msgstr "Si prega di notare che questa azione è irreversibile. Una volta confermato, il tuo modello sarà eliminato permanentemente." + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:133 +msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." +msgstr "Si prega di notare che questa azione è irreversibile. Una volta confermato, il tuo token sarà eliminato permanentemente." + +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:121 +msgid "Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted." +msgstr "Si prega di notare che questa azione è irreversibile. Una volta confermato, il tuo webhook sarà eliminato permanentemente." + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:130 +msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified" +msgstr "Si prega di notare che perderai l'accesso a tutti i documenti associati a questo team e tutti i membri saranno rimossi e notificati" + +#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37 +msgid "Please provide a reason" +msgstr "Per favore, fornire una ragione" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127 +msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support." +msgstr "Si prega di fornire un token dal tuo autenticatore, o un codice di backup. Se non hai un codice di backup disponibile, contatta il supporto." + +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:120 +msgid "Please provide a token from your authenticator, or a backup code." +msgstr "Si prega di fornire un token dal tuo autenticatore, o un codice di backup." + +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:182 +msgid "Please review the document before signing." +msgstr "Rivedi il documento prima di firmare." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:503 +msgid "Please select a PDF file" +msgstr "Seleziona un file PDF" + +#: apps/web/src/components/forms/send-confirmation-email.tsx:64 +msgid "Please try again and make sure you enter the correct email address." +msgstr "Si prega di riprovare assicurandosi di inserire l'indirizzo email corretto." + +#: apps/web/src/components/forms/signin.tsx:204 +msgid "Please try again later or login using your normal details" +msgstr "Si prega di riprovare più tardi o accedi utilizzando i tuoi dettagli normali" + +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:79 +msgid "Please try again later." +msgstr "Si prega di riprovare più tardi." + +#: packages/ui/primitives/pdf-viewer.tsx:223 +#: packages/ui/primitives/pdf-viewer.tsx:238 +msgid "Please try again or contact our support." +msgstr "Per favore, riprova o contatta il nostro supporto." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:185 +msgid "Please type {0} to confirm" +msgstr "Per favore, digita {0} per confermare" + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:123 +msgid "Please type <0>{0} to confirm." +msgstr "Si prega di digitare <0>{0} per confermare." + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:172 +msgid "Pre-formatted CSV template with example data." +msgstr "Modello CSV preformattato con dati di esempio." + +#: 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 "Preferenze" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216 +msgid "Preview" +msgstr "Anteprima" + +#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63 +msgid "Preview and configure template." +msgstr "Anteprima e configurazione del modello." + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105 +#: apps/web/src/components/formatter/template-type.tsx:22 +msgid "Private" +msgstr "Privato" + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:115 +msgid "Private templates can only be modified and viewed by you." +msgstr "I modelli privati possono essere modificati e visualizzati solo da te." + +#: apps/web/src/app/(dashboard)/settings/profile/page.tsx:28 +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:69 +#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:36 +#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:39 +msgid "Profile" +msgstr "Profilo" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:183 +msgid "Profile is currently <0>hidden." +msgstr "Il profilo è attualmente <0>nascosto." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:171 +msgid "Profile is currently <0>visible." +msgstr "Il profilo è attualmente <0>visibile." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:74 +#: apps/web/src/components/forms/profile.tsx:71 +msgid "Profile updated" +msgstr "Profilo aggiornato" + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:78 +#: apps/web/src/components/formatter/template-type.tsx:27 +msgid "Public" +msgstr "Pubblico" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:42 +#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:50 +#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:53 +#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:72 +#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:81 +msgid "Public Profile" +msgstr "Profilo pubblico" + +#: apps/web/src/components/forms/public-profile-form.tsx:146 +msgid "Public profile URL" +msgstr "URL del profilo pubblico" + +#: apps/web/src/components/forms/v2/signup.tsx:454 +msgid "Public profile username" +msgstr "Nome utente del profilo pubblico" + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:82 +msgid "Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile." +msgstr "I modelli pubblici sono collegati al tuo profilo pubblico. Ogni modifica ai modelli pubblici apparirà anche nel tuo profilo pubblico." + +#: packages/ui/primitives/document-flow/types.ts:57 +msgid "Radio" +msgstr "Radio" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:133 +msgid "Radio values" +msgstr "Valori radio" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:186 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:147 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:177 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:122 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:161 +msgid "Read only" +msgstr "Sola lettura" + +#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:144 +msgid "Read only field" +msgstr "Campo di sola lettura" + +#: apps/web/src/components/general/signing-disclosure.tsx:21 +msgid "Read the full <0>signature disclosure." +msgstr "Leggi l'intera <0>divulgazione della firma." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106 +msgid "Ready" +msgstr "Pronto" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:291 +msgid "Reason" +msgstr "Motivo" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146 +msgid "Reason for rejection:" +msgstr "Motivo del rifiuto:" + +#: packages/email/template-components/template-document-rejected.tsx:32 +msgid "Reason for rejection: {rejectionReason}" +msgstr "Motivo del rifiuto: {rejectionReason}" + +#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38 +msgid "Reason must be less than 500 characters" +msgstr "Il motivo deve essere inferiore a 500 caratteri" + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62 +msgid "Reauthentication is required to sign this field" +msgstr "È richiesta una riautenticazione per firmare questo campo" + +#: packages/ui/components/recipient/recipient-role-select.tsx:95 +msgid "Receives copy" +msgstr "Riceve copia" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:55 +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:130 +msgid "Recent activity" +msgstr "Attività recenti" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:43 +msgid "Recent documents" +msgstr "Documenti recenti" + +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:63 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:114 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:275 +#: packages/lib/utils/document-audit-logs.ts:354 +#: packages/lib/utils/document-audit-logs.ts:369 +msgid "Recipient" +msgstr "Destinatario" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:39 +#: packages/ui/primitives/document-flow/add-settings.tsx:269 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:337 +msgid "Recipient action authentication" +msgstr "Autenticazione azione destinatario" + +#: packages/ui/components/document/document-email-checkboxes.tsx:126 +msgid "Recipient removed email" +msgstr "Email destinatario rimosso" + +#: packages/ui/components/document/document-email-checkboxes.tsx:50 +msgid "Recipient signed email" +msgstr "Email firmato dal destinatario" + +#: packages/ui/components/document/document-email-checkboxes.tsx:88 +msgid "Recipient signing request email" +msgstr "Email richiesta firma destinatario" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:118 +msgid "Recipient updated" +msgstr "Destinatario aggiornato" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:49 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:140 +msgid "Recipients" +msgstr "Destinatari" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:102 +msgid "Recipients metrics" +msgstr "Metriche dei destinatari" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:165 +msgid "Recipients will still retain their copy of the document" +msgstr "I destinatari conserveranno comunque la loro copia del documento" + +#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:26 +msgid "Recovery code copied" +msgstr "Codice di recupero copiato" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:84 +msgid "Recovery codes" +msgstr "Codici di recupero" + +#: packages/ui/primitives/signature-pad/signature-pad.tsx:551 +msgid "Red" +msgstr "Rosso" + +#: packages/ui/primitives/document-flow/add-settings.tsx:383 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:507 +msgid "Redirect URL" +msgstr "URL di reindirizzamento" + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:83 +#: apps/web/src/components/forms/signup.tsx:95 +#: apps/web/src/components/forms/v2/signup.tsx:139 +msgid "Registration Successful" +msgstr "Registrazione avvenuta con successo" + +#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116 +#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162 +#: packages/email/template-components/template-document-invite.tsx:95 +msgid "Reject Document" +msgstr "Rifiuta Documento" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141 +#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101 +msgid "Rejected" +msgstr "Rifiutato" + +#: packages/email/template-components/template-document-rejection-confirmed.tsx:22 +msgid "Rejection Confirmed" +msgstr "Rifiuto confermato" + +#: packages/email/template-components/template-document-rejection-confirmed.tsx:34 +msgid "Rejection reason: {reason}" +msgstr "Motivo del rifiuto: {reason}" + +#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34 +msgid "Remembered your password? <0>Sign In" +msgstr "Ricordi la tua password? <0>Accedi" + +#: packages/lib/server-only/document/resend-document.tsx:192 +msgid "Reminder: {0}" +msgstr "Promemoria: {0}" + +#: packages/lib/server-only/document/resend-document.tsx:132 +msgid "Reminder: {0} invited you to {recipientActionVerb} a document" +msgstr "Promemoria: {0} ti ha invitato a {recipientActionVerb} un documento" + +#: packages/lib/server-only/document/resend-document.tsx:121 +msgid "Reminder: Please {recipientActionVerb} this document" +msgstr "Promemoria: per favore {recipientActionVerb} questo documento" + +#: packages/lib/server-only/document/resend-document.tsx:127 +msgid "Reminder: Please {recipientActionVerb} your document" +msgstr "Promemoria: per favore {recipientActionVerb} il tuo documento" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:188 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:425 +#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156 +#: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89 +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:163 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:165 +#: apps/web/src/components/forms/avatar-image.tsx:166 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:217 +#: packages/ui/primitives/document-flow/add-fields.tsx:1128 +msgid "Remove" +msgstr "Rimuovi" + +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:108 +msgid "Remove team email" +msgstr "Rimuovere l'email del team" + +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:162 +msgid "Remove team member" +msgstr "Rimuovere il membro del team" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:63 +msgid "Renews: {formattedDate}" +msgstr "Rinnova: {formattedDate}" + +#: apps/web/src/components/forms/password.tsx:144 +#: apps/web/src/components/forms/reset-password.tsx:131 +msgid "Repeat Password" +msgstr "Ripeti Password" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:247 +msgid "Request transfer" +msgstr "Richiedi trasferimento" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:176 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:137 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:112 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:151 +msgid "Required field" +msgstr "Campo richiesto" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:61 +msgid "Reseal document" +msgstr "Risigilla documento" + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:118 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:151 +#: packages/ui/primitives/document-flow/add-subject.tsx:84 +msgid "Resend" +msgstr "Reinvia" + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:128 +msgid "Resend Confirmation Email" +msgstr "Reinvia email di conferma" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:67 +msgid "Resend verification" +msgstr "Reinvia verifica" + +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:163 +#: apps/web/src/components/forms/public-profile-form.tsx:267 +msgid "Reset" +msgstr "Ripristina" + +#: apps/web/src/components/forms/forgot-password.tsx:56 +msgid "Reset email sent" +msgstr "Email di reset inviato" + +#: apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx:30 +#: apps/web/src/components/forms/forgot-password.tsx:93 +#: apps/web/src/components/forms/reset-password.tsx:143 +#: packages/email/template-components/template-forgot-password.tsx:33 +msgid "Reset Password" +msgstr "Reimposta password" + +#: apps/web/src/components/forms/reset-password.tsx:143 +msgid "Resetting Password..." +msgstr "Reimpostazione della password..." + +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:99 +msgid "Resolve" +msgstr "Risolvi" + +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:132 +msgid "Resolve payment" +msgstr "Risolvere il pagamento" + +#: packages/ui/components/document/document-share-button.tsx:147 +msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" +msgstr "Stai tranquillo, il tuo documento è strettamente confidenziale e non sarà mai condiviso. Solo la tua esperienza di firma sarà evidenziata. Condividi la tua carta di firma personalizzata per mostrare la tua firma!" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 +msgid "Retention of Documents" +msgstr "Conservazione dei documenti" + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 +msgid "Retry" +msgstr "Riprova" + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:48 +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:50 +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:45 +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:48 +msgid "Return" +msgstr "Ritorna" + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:130 +msgid "Return to Dashboard" +msgstr "Torna al cruscotto" + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:136 +msgid "Return to Home" +msgstr "Torna alla home" + +#: apps/web/src/app/(unauthenticated)/check-email/page.tsx:32 +#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:32 +msgid "Return to sign in" +msgstr "Torna a accedere" + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:118 +msgid "Revoke" +msgstr "Revoca" + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:87 +msgid "Revoke access" +msgstr "Revoca l'accesso" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:278 +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:318 +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:163 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:80 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:120 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:103 +msgid "Role" +msgstr "Ruolo" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:133 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:76 +msgid "Roles" +msgstr "Ruoli" + +#: packages/ui/primitives/data-table-pagination.tsx:55 +msgid "Rows per page" +msgstr "Righe per pagina" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:440 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:350 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:361 +#: 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:305 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:322 +msgid "Save" +msgstr "Salva" + +#: packages/ui/primitives/template-flow/add-template-fields.tsx:974 +msgid "Save Template" +msgstr "Salva modello" + +#: apps/web/src/app/(dashboard)/documents/data-table-sender-filter.tsx:63 +#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:81 +#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:69 +#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:64 +msgid "Search" +msgstr "Cerca" + +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:140 +msgid "Search by document title" +msgstr "Cerca per titolo del documento" + +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:174 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 +msgid "Search by name or email" +msgstr "Cerca per nome o email" + +#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 +msgid "Search documents..." +msgstr "Cerca documenti..." + +#: packages/ui/components/common/language-switcher-dialog.tsx:34 +msgid "Search languages..." +msgstr "Cerca lingue..." + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 +msgid "Secret" +msgstr "Segreto" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:34 +#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:77 +#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:80 +msgid "Security" +msgstr "Sicurezza" + +#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:25 +msgid "Security activity" +msgstr "Attività di sicurezza" + +#: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:194 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:115 +#: packages/ui/primitives/document-flow/types.ts:59 +msgid "Select" +msgstr "Seleziona" + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:87 +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:98 +msgid "Select a team" +msgstr "Seleziona un team" + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:81 +msgid "Select a team to move this document to. This action cannot be undone." +msgstr "Seleziona un team a cui spostare questo documento. Questa azione non può essere annullata." + +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:92 +msgid "Select a team to move this template to. This action cannot be undone." +msgstr "Seleziona un team a cui spostare questo modello. Questa azione non può essere annullata." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:259 +msgid "Select a template you'd like to display on your public profile" +msgstr "Seleziona un modello che desideri mostrare nel tuo profilo pubblico" + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:255 +msgid "Select a template you'd like to display on your team's public profile" +msgstr "Seleziona un modello che desideri mostrare nel profilo pubblico del tuo team" + +#: packages/ui/primitives/combobox.tsx:38 +msgid "Select an option" +msgstr "Seleziona un'opzione" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:139 +msgid "Select at least" +msgstr "Seleziona almeno" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:105 +msgid "Select default option" +msgstr "Seleziona opzione predefinita" + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:222 +msgid "Select passkey" +msgstr "Seleziona una chiave di accesso" + +#: packages/ui/primitives/document-flow/add-subject.tsx:82 +#: packages/ui/primitives/document-flow/add-subject.tsx:85 +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:34 +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:64 +msgid "Send" +msgstr "Invia" + +#: apps/web/src/components/forms/send-confirmation-email.tsx:94 +msgid "Send confirmation email" +msgstr "Invia email di conferma" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:336 +msgid "Send document" +msgstr "Invia documento" + +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:41 +msgid "Send Document" +msgstr "Invia documento" + +#: packages/ui/components/document/document-email-checkboxes.tsx:193 +msgid "Send document completed email" +msgstr "Invia email documento completato" + +#: packages/ui/components/document/document-email-checkboxes.tsx:269 +msgid "Send document completed email to the owner" +msgstr "Invia email documento completato al proprietario" + +#: packages/ui/components/document/document-email-checkboxes.tsx:231 +msgid "Send document deleted email" +msgstr "Invia email documento eliminato" + +#: packages/ui/components/document/document-email-checkboxes.tsx:154 +msgid "Send document pending email" +msgstr "Invia email documento in sospeso" + +#: packages/email/templates/confirm-team-email.tsx:101 +msgid "Send documents on behalf of the team using the email address" +msgstr "Invia documenti a nome del team utilizzando l'indirizzo email" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:253 +msgid "Send documents to recipients immediately" +msgstr "Invia documenti ai destinatari immediatamente" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:200 +msgid "Send on Behalf of Team" +msgstr "Invia per conto del team" + +#: packages/ui/components/document/document-email-checkboxes.tsx:116 +msgid "Send recipient removed email" +msgstr "Invia email destinatario rimosso" + +#: packages/ui/components/document/document-email-checkboxes.tsx:40 +msgid "Send recipient signed email" +msgstr "Invia email firmato dal destinatario" + +#: packages/ui/components/document/document-email-checkboxes.tsx:78 +msgid "Send recipient signing request email" +msgstr "Invia email richiesta firma destinatario" + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:190 +msgid "Send reminder" +msgstr "Invia promemoria" + +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:59 +msgid "Sender" +msgstr "Mittente" + +#: apps/web/src/components/forms/forgot-password.tsx:93 +msgid "Sending Reset Email..." +msgstr "Invio dell'email di ripristino..." + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:128 +msgid "Sending..." +msgstr "Invio..." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:258 +msgid "Sent" +msgstr "Inviato" + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:148 +msgid "Set a password" +msgstr "Imposta una password" + +#: apps/web/src/app/(dashboard)/settings/layout.tsx:20 +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:65 +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:211 +#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:47 +msgid "Settings" +msgstr "Impostazioni" + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:196 +msgid "Setup" +msgstr "Configurazione" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:154 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 +msgid "Share" +msgstr "Condividi" + +#: packages/ui/components/document/document-share-button.tsx:135 +msgid "Share Signature Card" +msgstr "Condividi carta firma" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:185 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:213 +msgid "Share Signing Card" +msgstr "Condividi scheda di firma" + +#: packages/lib/constants/template.ts:16 +msgid "Share the Link" +msgstr "Condividi il link" + +#: packages/ui/components/document/document-share-button.tsx:143 +msgid "Share your signing experience!" +msgstr "Condividi la tua esperienza di firma!" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:162 +msgid "Show" +msgstr "Mostra" + +#: apps/web/src/components/document/document-history-sheet.tsx:113 +msgid "Show additional information" +msgstr "Mostra informazioni aggiuntive" + +#: packages/ui/primitives/document-flow/add-signers.tsx:707 +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:661 +msgid "Show advanced settings" +msgstr "Mostra impostazioni avanzate" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:45 +msgid "Show templates in your public profile for your audience to sign and get started quickly" +msgstr "Mostra modelli nel tuo profilo pubblico per il tuo pubblico da firmare e iniziare rapidamente" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:52 +msgid "Show templates in your team public profile for your audience to sign and get started quickly" +msgstr "Mostra modelli nel profilo pubblico della tua squadra per il tuo pubblico da firmare e iniziare rapidamente" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:115 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:133 +#: apps/web/src/app/(profile)/p/[url]/page.tsx:192 +#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229 +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:241 +#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:328 +#: apps/web/src/components/ui/user-profile-skeleton.tsx:75 +#: apps/web/src/components/ui/user-profile-timur.tsx:81 +#: packages/lib/constants/recipient-roles.ts:22 +msgid "Sign" +msgstr "Firma" + +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:278 +msgid "Sign as {0} <0>({1})" +msgstr "Firma come {0} <0>({1})" + +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:200 +msgid "Sign as<0>{0} <1>({1})" +msgstr "Firma come<0>{0} <1>({1})" + +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:360 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:240 +msgid "Sign document" +msgstr "Firma il documento" + +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:141 +#: packages/email/template-components/template-document-invite.tsx:103 +msgid "Sign Document" +msgstr "Firma documento" + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 +msgid "Sign field" +msgstr "Campo di firma" + +#: apps/web/src/components/forms/signup.tsx:208 +#: apps/web/src/components/forms/v2/signup.tsx:366 +msgid "Sign Here" +msgstr "Firma qui" + +#: apps/web/src/app/not-found.tsx:29 +#: apps/web/src/components/forms/signin.tsx:384 +#: apps/web/src/components/forms/signin.tsx:511 +#: packages/email/template-components/template-reset-password.tsx:34 +msgid "Sign In" +msgstr "Accedi" + +#: apps/web/src/app/(unauthenticated)/signin/page.tsx:29 +msgid "Sign in to your account" +msgstr "Accedi al tuo account" + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:297 +#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:84 +msgid "Sign Out" +msgstr "Disconnetti" + +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:381 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:261 +msgid "Sign the document to complete the process." +msgstr "Firma il documento per completare il processo." + +#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:67 +msgid "Sign up" +msgstr "Registrati" + +#: apps/web/src/components/forms/signup.tsx:231 +msgid "Sign Up" +msgstr "Registrati" + +#: apps/web/src/components/forms/signup.tsx:253 +#: apps/web/src/components/forms/v2/signup.tsx:405 +msgid "Sign Up with Google" +msgstr "Iscriviti con Google" + +#: apps/web/src/components/forms/signup.tsx:277 +#: apps/web/src/components/forms/v2/signup.tsx:421 +msgid "Sign Up with OIDC" +msgstr "Iscriviti con OIDC" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:179 +#: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:342 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:205 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:251 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:286 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:422 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:301 +#: apps/web/src/components/forms/profile.tsx:123 +#: packages/ui/primitives/document-flow/add-fields.tsx:841 +#: packages/ui/primitives/document-flow/field-icon.tsx:52 +#: packages/ui/primitives/document-flow/types.ts:49 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 +msgid "Signature" +msgstr "Firma" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:230 +msgid "Signature ID" +msgstr "ID Firma" + +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:229 +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:303 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:448 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:327 +msgid "Signature is too small. Please provide a more complete signature." +msgstr "La firma è troppo piccola. Si prega di fornire una firma più completa." + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:123 +msgid "Signatures Collected" +msgstr "Firme raccolte" + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:198 +msgid "Signatures will appear once the document has been completed" +msgstr "Le firme appariranno una volta completato il documento" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:280 +#: apps/web/src/components/document/document-read-only-fields.tsx:84 +#: packages/lib/constants/recipient-roles.ts:23 +msgid "Signed" +msgstr "Firmato" + +#: packages/lib/constants/recipient-roles.ts:25 +msgid "Signer" +msgstr "Firmatario" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178 +msgid "Signer Events" +msgstr "Eventi del Firmatario" + +#: packages/lib/constants/recipient-roles.ts:26 +msgid "Signers" +msgstr "Firmatari" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:36 +msgid "Signers must have unique emails" +msgstr "I firmatari devono avere email uniche" + +#: packages/lib/constants/recipient-roles.ts:24 +msgid "Signing" +msgstr "Firma" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:170 +msgid "Signing Certificate" +msgstr "Certificato di Firma" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:313 +msgid "Signing certificate provided by" +msgstr "Certificato di firma fornito da" + +#: packages/lib/server-only/document/send-completed-email.ts:119 +#: packages/lib/server-only/document/send-completed-email.ts:199 +msgid "Signing Complete!" +msgstr "Firma completata!" + +#: apps/web/src/components/forms/signin.tsx:384 +#: apps/web/src/components/forms/signin.tsx:511 +msgid "Signing in..." +msgstr "Accesso in corso..." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:166 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:197 +msgid "Signing Links" +msgstr "Link di firma" + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:315 +msgid "Signing links have been generated for this document." +msgstr "I link di firma sono stati generati per questo documento." + +#: apps/web/src/components/forms/signup.tsx:231 +msgid "Signing up..." +msgstr "Registrazione in corso..." + +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:90 +#: apps/web/src/app/(dashboard)/admin/leaderboard/page.tsx:46 +msgid "Signing Volume" +msgstr "Volume di firma" + +#: apps/web/src/components/forms/v2/signup.tsx:78 +msgid "Signups are disabled." +msgstr "Le iscrizioni sono disabilitate." + +#: apps/web/src/app/(profile)/p/[url]/page.tsx:109 +msgid "Since {0}" +msgstr "Dal {0}" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:93 +msgid "Site Banner" +msgstr "Banner del sito" + +#: apps/web/src/app/(dashboard)/admin/nav.tsx:107 +#: apps/web/src/app/(dashboard)/admin/site-settings/page.tsx:26 +msgid "Site Settings" +msgstr "Impostazioni del sito" + +#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 +msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." +msgstr "Alcuni firmatari non hanno un campo firma assegnato. Assegna almeno 1 campo di firma a ciascun firmatario prima di procedere." + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:97 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:61 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:100 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:71 +#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62 +#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:51 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:123 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93 +#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:32 +#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:32 +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:44 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:45 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:78 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:100 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:123 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:147 +#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:118 +#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27 +#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38 +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:53 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:107 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:39 +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:61 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:262 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:144 +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:50 +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:99 +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:210 +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:64 +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:83 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:33 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:65 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:82 +#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:29 +#: packages/ui/components/document/document-share-button.tsx:51 +msgid "Something went wrong" +msgstr "Qualcosa è andato storto" + +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:98 +msgid "Something went wrong while attempting to transfer the ownership of team <0>{0} to your. Please try again later or contact support." +msgstr "Qualcosa è andato storto durante il tentativo di trasferimento della proprietà del team <0>{0} a te. Riprova più tardi o contatta il supporto." + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:120 +msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." +msgstr "Qualcosa è andato storto durante il tentativo di verifica del tuo indirizzo e-mail per <0>{0}. Riprova più tardi." + +#: packages/ui/primitives/pdf-viewer.tsx:220 +#: packages/ui/primitives/pdf-viewer.tsx:235 +msgid "Something went wrong while loading the document." +msgstr "Qualcosa è andato storto durante il caricamento del documento." + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:158 +msgid "Something went wrong while loading your passkeys." +msgstr "Qualcosa è andato storto durante il caricamento delle tue chiavi di accesso." + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:55 +msgid "Something went wrong while sending the confirmation email." +msgstr "Qualcosa è andato storto durante l'invio dell'e-mail di conferma." + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:96 +msgid "Something went wrong while updating the team billing subscription, please contact support." +msgstr "Qualcosa è andato storto durante l'aggiornamento dell'abbonamento di fatturazione del team, contatta il supporto." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:108 +msgid "Something went wrong!" +msgstr "Qualcosa è andato storto!" + +#: packages/ui/primitives/data-table.tsx:136 +msgid "Something went wrong." +msgstr "Qualcosa è andato storto." + +#: apps/web/src/components/forms/token.tsx:143 +msgid "Something went wrong. Please try again later." +msgstr "Qualcosa è andato storto. Si prega di riprovare più tardi." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240 +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154 +msgid "Something went wrong. Please try again or contact support." +msgstr "Qualcosa è andato storto. Riprova o contatta il supporto." + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:63 +msgid "Sorry, we were unable to download the audit logs. Please try again later." +msgstr "Siamo spiacenti, non siamo riusciti a scaricare i log di verifica. Riprova più tardi." + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70 +msgid "Sorry, we were unable to download the certificate. Please try again later." +msgstr "Siamo spiacenti, non siamo riusciti a scaricare il certificato. Riprova più tardi." + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:132 +msgid "Source" +msgstr "Fonte" + +#: apps/web/src/app/(dashboard)/admin/nav.tsx:37 +msgid "Stats" +msgstr "Statistiche" + +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81 +#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:73 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:124 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:94 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 +msgid "Status" +msgstr "Stato" + +#: packages/ui/primitives/document-flow/document-flow-root.tsx:107 +msgid "Step <0>{step} of {maxStep}" +msgstr "Passo <0>{step} di {maxStep}" + +#: packages/ui/primitives/document-flow/add-subject.tsx:143 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:364 +msgid "Subject <0>(Optional)" +msgstr "Oggetto <0>(Opzionale)" + +#: packages/ui/primitives/document-password-dialog.tsx:97 +msgid "Submit" +msgstr "Invia" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:129 +msgid "Subscribe" +msgstr "Iscriviti" + +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:81 +msgid "Subscription" +msgstr "Abbonamento" + +#: apps/web/src/app/(dashboard)/admin/nav.tsx:79 +msgid "Subscriptions" +msgstr "Abbonamenti" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:35 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:67 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:87 +#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:25 +#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:25 +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:37 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:114 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:137 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:32 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:44 +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:44 +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:79 +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:88 +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:72 +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:49 +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:150 +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:49 +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:57 +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:76 +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:108 +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:79 +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:67 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:59 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:76 +#: apps/web/src/components/forms/public-profile-form.tsx:80 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:132 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:168 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:95 +msgid "Success" +msgstr "Successo" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:87 +msgid "Successfully created passkey" +msgstr "Chiave di accesso creata con successo" + +#: packages/email/templates/bulk-send-complete.tsx:52 +msgid "Successfully created: {successCount}" +msgstr "Creati con successo: {successCount}" + +#: packages/email/templates/bulk-send-complete.tsx:44 +msgid "Summary:" +msgstr "Sommario:" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 +msgid "System Requirements" +msgstr "Requisiti di sistema" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 +msgid "System Theme" +msgstr "Tema del sistema" + +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:63 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:62 +msgid "Team" +msgstr "Squadra" + +#: packages/lib/server-only/team/delete-team.ts:124 +msgid "Team \"{0}\" has been deleted on Documenso" +msgstr "Il team \"{0}\" è stato eliminato su Documenso" + +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:85 +msgid "Team checkout" +msgstr "Acquisto squadra" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:61 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:140 +msgid "Team email" +msgstr "Email della squadra" + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:58 +msgid "Team Email" +msgstr "Email del team" + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:57 +msgid "Team email already verified!" +msgstr "Email del team già verificato!" + +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:58 +msgid "Team email has been removed" +msgstr "L'email del team è stato rimosso" + +#: packages/lib/server-only/team/delete-team-email.ts:104 +msgid "Team email has been revoked for {0}" +msgstr "L'email del team è stata revocata per {0}" + +#: packages/email/templates/team-email-removed.tsx:59 +msgid "Team email removed" +msgstr "Email del team rimosso" + +#: packages/email/templates/team-email-removed.tsx:29 +msgid "Team email removed for {teamName} on Documenso" +msgstr "Email del team rimosso per {teamName} su Documenso" + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:116 +msgid "Team email verification" +msgstr "Verifica email del team" + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:132 +msgid "Team email verified!" +msgstr "Email del team verificato!" + +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:80 +msgid "Team email was updated." +msgstr "L'email del team è stato aggiornato." + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:91 +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:96 +msgid "Team invitation" +msgstr "Invito del team" + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:151 +msgid "Team invitations have been sent." +msgstr "Gli inviti del team sono stati inviati." + +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:106 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:84 +msgid "Team Member" +msgstr "Membro del team" + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:166 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:112 +msgid "Team Name" +msgstr "Nome del team" + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105 +msgid "Team Only" +msgstr "Solo team" + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:110 +msgid "Team only templates are not linked anywhere and are visible only to your team." +msgstr "I modelli solo per il team non sono collegati da nessuna parte e sono visibili solo al tuo team." + +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:94 +msgid "Team ownership transfer" +msgstr "Trasferimento di proprietà del team" + +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:60 +msgid "Team ownership transfer already completed!" +msgstr "Trasferimento della proprietà del team già completato!" + +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:110 +msgid "Team ownership transferred!" +msgstr "Proprietà del team trasferita!" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33 +msgid "Team Preferences" +msgstr "Preferenze del team" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49 +msgid "Team Public Profile" +msgstr "Profilo pubblico del team" + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:277 +msgid "Team settings" +msgstr "Impostazioni del team" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/layout.tsx:50 +msgid "Team Settings" +msgstr "Impostazioni del team" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:51 +msgid "Team templates" +msgstr "Modelli del team" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:79 +msgid "Team transfer in progress" +msgstr "Trasferimento del team in corso" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:77 +msgid "Team transfer request expired" +msgstr "Richiesta di trasferimento del team scaduta" + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:196 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:128 +msgid "Team URL" +msgstr "URL del team" + +#: apps/web/src/app/(dashboard)/settings/teams/page.tsx:25 +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:162 +#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:43 +#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:64 +#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:67 +msgid "Teams" +msgstr "Team" + +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:83 +msgid "Teams restricted" +msgstr "Team limitati" + +#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:64 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:142 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:222 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:151 +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:269 +msgid "Template" +msgstr "Modello" + +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:36 +msgid "Template deleted" +msgstr "Modello eliminato" + +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:66 +msgid "Template document uploaded" +msgstr "Documento modello caricato" + +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:41 +msgid "Template duplicated" +msgstr "Modello duplicato" + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:133 +msgid "Template has been removed from your public profile." +msgstr "Il modello è stato rimosso dal tuo profilo pubblico." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:169 +msgid "Template has been updated." +msgstr "Il modello è stato aggiornato." + +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:50 +msgid "Template moved" +msgstr "Modello spostato" + +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:62 +msgid "Template not found or already associated with a team." +msgstr "Modello non trovato o già associato a un team." + +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:216 +msgid "Template saved" +msgstr "Modello salvato" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:167 +msgid "Template title" +msgstr "Titolo del modello" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 +#: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 +#: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 +#: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:39 +msgid "Templates" +msgstr "Modelli" + +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:105 +msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields." +msgstr "I modelli ti consentono di generare rapidamente documenti con destinatari e campi precompilati." + +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:258 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:287 +#: packages/ui/primitives/document-flow/add-fields.tsx:971 +#: packages/ui/primitives/document-flow/types.ts:52 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:836 +msgid "Text" +msgstr "Testo" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:79 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:56 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:140 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:124 +msgid "Text Align" +msgstr "Allineamento del testo" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:157 +msgid "Text Color" +msgstr "Colore del testo" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 +msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." +msgstr "Grazie per aver utilizzato Documenso per eseguire la firma elettronica dei tuoi documenti. Lo scopo di questa divulgazione è informarti sul processo, la legalità e i tuoi diritti riguardanti l'uso delle firme elettroniche sulla nostra piattaforma. Optando per l'utilizzo di una firma elettronica, accetti i termini e le condizioni delineati di seguito." + +#: packages/email/template-components/template-forgot-password.tsx:25 +msgid "That's okay, it happens! Click the button below to reset your password." +msgstr "Va bene, succede! Fai clic sul pulsante qui sotto per reimpostare la tua password." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 +msgid "The account has been deleted successfully." +msgstr "L'account è stato eliminato con successo." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:48 +msgid "The account has been disabled successfully." +msgstr "L'account è stato disabilitato con successo." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:48 +msgid "The account has been enabled successfully." +msgstr "L'account è stato abilitato con successo." + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 +msgid "The authentication required for recipients to sign fields" +msgstr "Autenticazione richiesta per i destinatari per firmare i campi" + +#: packages/ui/components/document/document-global-auth-action-select.tsx:68 +msgid "The authentication required for recipients to sign the signature field." +msgstr "Autenticazione richiesta per i destinatari per firmare il campo della firma." + +#: packages/ui/components/document/document-global-auth-access-select.tsx:67 +msgid "The authentication required for recipients to view the document." +msgstr "Autenticazione richiesta per i destinatari per visualizzare il documento." + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:188 +msgid "The content to show in the banner, HTML is allowed" +msgstr "Il contenuto da mostrare nel banner, HTML è consentito" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:73 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:32 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:160 +msgid "The direct link has been copied to your clipboard" +msgstr "Il link diretto è stato copiato negli appunti" + +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:50 +msgid "The document has been successfully moved to the selected team." +msgstr "Il documento è stato spostato con successo al team selezionato." + +#: apps/web/src/app/embed/completed.tsx:30 +msgid "The document is now completed, please follow any instructions provided within the parent application." +msgstr "Il documento è ora completato, si prega di seguire eventuali istruzioni fornite nell'applicazione principale." + +#: packages/email/template-components/template-document-rejection-confirmed.tsx:39 +msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection." +msgstr "Il proprietario del documento è stato informato di questo rifiuto. Non sono necessarie ulteriori azioni da parte tua in questo momento. Il proprietario del documento potrebbe contattarti per qualsiasi domanda riguardante questo rifiuto." + +#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92 +msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary." +msgstr "Il proprietario del documento è stato informato della tua decisione. Potrebbe contattarti per ulteriori istruzioni, se necessario." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:194 +msgid "The document was created but could not be sent to recipients." +msgstr "Il documento è stato creato ma non è stato possibile inviarlo ai destinatari." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:162 +msgid "The document will be hidden from your account" +msgstr "Il documento verrà nascosto dal tuo account" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:344 +msgid "The document will be immediately sent to recipients if this is checked." +msgstr "Il documento sarà immediatamente inviato ai destinatari se selezionato." + +#: packages/ui/components/document/document-send-email-message-helper.tsx:31 +msgid "The document's name" +msgstr "Il nome del documento" + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:175 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:179 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:203 +msgid "The events that will trigger a webhook to be sent to your URL." +msgstr "Gli eventi che scateneranno un webhook da inviare al tuo URL." + +#: packages/email/templates/bulk-send-complete.tsx:62 +msgid "The following errors occurred:" +msgstr "Si sono verificati i seguenti errori:" + +#: 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 "Il seguente team è stato eliminato dal suo proprietario. Non potrai più accedere a questo team e ai suoi documenti" + +#: packages/email/templates/team-delete.tsx:36 +msgid "The following team has been deleted by you" +msgstr "Il seguente team è stato eliminato da te" + +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114 +msgid "The ownership of team <0>{0} has been successfully transferred to you." +msgstr "La proprietà del team <0>{0} è stata trasferita con successo a te." + +#: apps/web/src/components/partials/not-found.tsx:53 +msgid "The page you are looking for was moved, removed, renamed or might never have existed." +msgstr "La pagina che stai cercando è stata spostata, rimossa, rinominata o potrebbe non essere mai esistita." + +#: packages/ui/primitives/document-password-dialog.tsx:52 +msgid "The password you have entered is incorrect. Please try again." +msgstr "La password che hai inserito non è corretta. Per favore riprova." + +#: apps/web/src/components/forms/public-profile-form.tsx:118 +msgid "The profile link has been copied to your clipboard" +msgstr "Il link del profilo è stato copiato negli appunti" + +#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:23 +msgid "The profile you are looking for could not be found." +msgstr "Il profilo che stai cercando non è stato trovato." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:378 +msgid "The public description that will be displayed with this template" +msgstr "La descrizione pubblica che verrà visualizzata con questo modello" + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:356 +msgid "The public name for your template" +msgstr "Il nome pubblico per il tuo modello" + +#: packages/email/template-components/template-document-super-delete.tsx:38 +msgid "The reason provided for deletion is the following:" +msgstr "Il motivo fornito per l'eliminazione è il seguente:" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119 +msgid "The recipient has been updated successfully" +msgstr "Il destinatario è stato aggiornato con successo" + +#: packages/ui/components/recipient/recipient-role-select.tsx:103 +msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." +msgstr "Il destinatario non è tenuto a prendere alcuna azione e riceverà una copia del documento una volta completato." + +#: packages/ui/components/recipient/recipient-role-select.tsx:60 +msgid "The recipient is required to approve the document for it to be completed." +msgstr "Il destinatario è tenuto ad approvare il documento affinché sia completato." + +#: packages/ui/components/recipient/recipient-role-select.tsx:39 +msgid "The recipient is required to sign the document for it to be completed." +msgstr "Il destinatario è tenuto a firmare il documento affinché sia completato." + +#: packages/ui/components/recipient/recipient-role-select.tsx:81 +msgid "The recipient is required to view the document for it to be completed." +msgstr "Il destinatario è tenuto a visualizzare il documento affinché sia completato." + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:232 +msgid "The selected team member will receive an email which they must accept before the team is transferred" +msgstr "Il membro del team selezionato riceverà un'email che dovrà accettare prima che il team venga trasferito" + +#: packages/ui/components/document/document-share-button.tsx:52 +msgid "The sharing link could not be created at this time. Please try again." +msgstr "Il link di condivisione non può essere creato in questo momento. Per favore riprova." + +#: packages/ui/components/document/document-share-button.tsx:47 +msgid "The sharing link has been copied to your clipboard." +msgstr "Il link di condivisione è stato copiato negli appunti." + +#: packages/ui/components/document/document-send-email-message-helper.tsx:25 +msgid "The signer's email" +msgstr "L'email del firmatario" + +#: packages/ui/components/document/document-send-email-message-helper.tsx:19 +msgid "The signer's name" +msgstr "Il nome del firmatario" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:163 +#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41 +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:118 +#: packages/ui/primitives/document-flow/add-subject.tsx:243 +msgid "The signing link has been copied to your clipboard." +msgstr "Il link di firma è stato copiato negli appunti." + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:96 +msgid "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users." +msgstr "Il banner del sito è un messaggio che viene mostrato in cima al sito. Può essere utilizzato per visualizzare informazioni importanti ai tuoi utenti." + +#: packages/email/templates/team-email-removed.tsx:63 +msgid "The team email <0>{teamEmail} has been removed from the following team" +msgstr "L'email del team <0>{teamEmail} è stata rimossa dal seguente team" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:45 +msgid "The team transfer invitation has been successfully deleted." +msgstr "L'invito al trasferimento del team è stato eliminato con successo." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:86 +msgid "The team transfer request to <0>{0} has expired." +msgstr "La richiesta di trasferimento del team a <0>{0} è scaduta." + +#: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:23 +msgid "The team you are looking for may have been removed, renamed or may have never existed." +msgstr "Il team che stai cercando potrebbe essere stato rimosso, rinominato o potrebbe non essere mai esistito." + +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:51 +msgid "The template has been successfully moved to the selected team." +msgstr "Il modello è stato spostato con successo al team selezionato." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:441 +msgid "The template will be removed from your profile" +msgstr "Il modello sarà rimosso dal tuo profilo" + +#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:23 +msgid "The template you are looking for may have been disabled, deleted or may have never existed." +msgstr "Il modello che stai cercando potrebbe essere stato disabilitato, eliminato o potrebbe non essere mai esistito." + +#: apps/web/src/components/forms/token.tsx:107 +msgid "The token was copied to your clipboard." +msgstr "Il token è stato copiato negli appunti." + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:88 +msgid "The token was deleted successfully." +msgstr "Il token è stato eliminato con successo." + +#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:24 +msgid "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link." +msgstr "Il token che hai usato per reimpostare la tua password è scaduto o non è mai esistito. Se hai ancora dimenticato la tua password, richiedi un nuovo link per la reimpostazione." + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:124 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:128 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:152 +msgid "The URL for Documenso to send webhook events to." +msgstr "L'URL per Documenso per inviare eventi webhook." + +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:79 +msgid "The webhook has been successfully deleted." +msgstr "Il webhook è stato eliminato con successo." + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:75 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:81 +msgid "The webhook has been updated successfully." +msgstr "Il webhook è stato aggiornato con successo." + +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:93 +msgid "The webhook was successfully created." +msgstr "Il webhook è stato creato con successo." + +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:25 +msgid "There are no active drafts at the current moment. You can upload a document to start drafting." +msgstr "Non ci sono bozze attive al momento attuale. Puoi caricare un documento per iniziare a redigere." + +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:20 +msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." +msgstr "Non ci sono ancora documenti completati. I documenti che hai creato o ricevuto appariranno qui una volta completati." + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70 +msgid "They have permission on your behalf to:" +msgstr "Hanno il permesso per tuo conto di:" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:100 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:106 +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:98 +msgid "This action is not reversible. Please be certain." +msgstr "Questa azione non è reversibile. Si prega di essere certi." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:100 +msgid "This action is reversible, but please be careful as the account may be affected permanently (e.g. their settings and contents not being restored properly)." +msgstr "Questa azione è reversibile, ma fai attenzione poiché l'account potrebbe essere influenzato permanentemente (ad es. le impostazioni e i contenuti potrebbero non essere ripristinati correttamente)." + +#: packages/ui/components/document/document-global-auth-action-select.tsx:72 +msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." +msgstr "Questo può essere sovrascritto impostando i requisiti di autenticazione direttamente su ciascun destinatario nel passaggio successivo." + +#: packages/email/template-components/template-document-super-delete.tsx:31 +msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." +msgstr "Questo documento non può essere recuperato, se vuoi contestare la ragione per i documenti futuri, contatta il supporto." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82 +msgid "This document could not be deleted at this time. Please try again." +msgstr "Questo documento non può essere eliminato in questo momento. Riprova." + +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72 +msgid "This document could not be duplicated at this time. Please try again." +msgstr "Questo documento non può essere duplicato in questo momento. Riprova." + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:106 +msgid "This document could not be re-sent at this time. Please try again." +msgstr "Questo documento non può essere rinviato in questo momento. Riprova." + +#: packages/ui/primitives/document-flow/add-fields.tsx:776 +msgid "This document has already been sent to this recipient. You can no longer edit this recipient." +msgstr "Questo documento è già stato inviato a questo destinatario. Non puoi più modificare questo destinatario." + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:178 +msgid "This document has been cancelled by the owner and is no longer available for others to sign." +msgstr "Questo documento è stato annullato dal proprietario e non è più disponibile per la firma di altri." + +#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:52 +msgid "This document has been cancelled by the owner." +msgstr "Questo documento è stato annullato dal proprietario." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:228 +msgid "This document has been signed by all recipients" +msgstr "Questo documento è stato firmato da tutti i destinatari" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:231 +msgid "This document is currently a draft and has not been sent" +msgstr "Questo documento è attualmente una bozza e non è stato inviato" + +#: packages/ui/primitives/document-password-dialog.tsx:66 +msgid "This document is password protected. Please enter the password to view the document." +msgstr "Questo documento è protetto da password. Inserisci la password per visualizzare il documento." + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:146 +msgid "This document was created by you or a team member using the template above." +msgstr "Questo documento è stato creato da te o un membro del team utilizzando il modello sopra." + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:158 +msgid "This document was created using a direct link." +msgstr "Questo documento è stato creato utilizzando un link diretto." + +#: packages/email/template-components/template-footer.tsx:17 +msgid "This document was sent using <0>Documenso." +msgstr "Questo documento è stato inviato utilizzando <0>Documenso." + +#: packages/email/template-components/template-document-rejection-confirmed.tsx:26 +msgid "This email confirms that you have rejected the document <0>\"{documentName}\" sent by {documentOwnerName}." +msgstr "Questa email conferma che hai rifiutato il documento <0>\"{documentName}\" inviato da {documentOwnerName}." + +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93 +msgid "This email is already being used by another team." +msgstr "Questa email è già in uso da un altro team." + +#: packages/ui/components/document/document-email-checkboxes.tsx:55 +msgid "This email is sent to the document owner when a recipient has signed the document." +msgstr "Questa email viene inviata al proprietario del documento quando un destinatario ha firmato il documento." + +#: packages/ui/components/document/document-email-checkboxes.tsx:131 +msgid "This email is sent to the recipient if they are removed from a pending document." +msgstr "Questa email viene inviata al destinatario se viene rimosso da un documento in attesa." + +#: packages/ui/components/document/document-email-checkboxes.tsx:93 +msgid "This email is sent to the recipient requesting them to sign the document." +msgstr "Questa email viene inviata al destinatario chiedendo loro di firmare il documento." + +#: packages/ui/components/document/document-email-checkboxes.tsx:169 +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 "Questa email sarà inviata al destinatario che ha appena firmato il documento, se ci sono ancora altri destinatari che non hanno ancora firmato." + +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:580 +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 "Questo campo non può essere modificato o eliminato. Quando condividi il link diretto di questo modello o lo aggiungi al tuo profilo pubblico, chiunque vi acceda può inserire il proprio nome e email, e compilare i campi assegnati." + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:279 +msgid "This is how the document will reach the recipients once the document is ready for signing." +msgstr "È così che il documento raggiungerà i destinatari una volta pronto per essere firmato." + +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:40 +msgid "This link is invalid or has expired. Please contact your team to resend a transfer request." +msgstr "Questo link è invalido o è scaduto. Si prega di contattare il tuo team per inviare nuovamente una richiesta di trasferimento." + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:37 +msgid "This link is invalid or has expired. Please contact your team to resend a verification." +msgstr "Questo link è invalido o è scaduto. Si prega di contattare il tuo team per inviare nuovamente una verifica." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:208 +msgid "This passkey has already been registered." +msgstr "Questa chiave d'accesso è già stata registrata." + +#: apps/web/src/components/forms/signin.tsx:201 +msgid "This passkey is not configured for this application. Please login and add one in the user settings." +msgstr "Questa chiave di accesso non è configurata per questa applicazione. Effettua il login e aggiungine una nelle impostazioni utente." + +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:148 +msgid "This price includes minimum 5 seats." +msgstr "Questo prezzo include almeno 5 posti." + +#: packages/ui/primitives/document-flow/add-fields.tsx:1108 +msgid "This recipient can no longer be modified as they have signed a field, or completed the document." +msgstr "Questo destinatario non può più essere modificato poiché ha firmato un campo o completato il documento." + +#: apps/web/src/components/forms/signin.tsx:203 +msgid "This session has expired. Please try again." +msgstr "Questa sessione è scaduta. Per favore prova di nuovo." + +#: packages/ui/primitives/document-flow/add-signers.tsx:194 +msgid "This signer has already signed the document." +msgstr "Questo firmatario ha già firmato il documento." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195 +msgid "This team, and any associated data excluding billing invoices will be permanently deleted." +msgstr "Questo team e tutti i dati associati, escluse le fatture di fatturazione, verranno eliminati definitivamente." + +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:46 +msgid "This template could not be deleted at this time. Please try again." +msgstr "Questo modello non può essere eliminato in questo momento. Per favore prova di nuovo." + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:43 +msgid "This token is invalid or has expired. No action is needed." +msgstr "Questo token è invalido o è scaduto. Non è necessaria alcuna azione." + +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:43 +msgid "This token is invalid or has expired. Please contact your team for a new invitation." +msgstr "Questo token è invalido o è scaduto. Si prega di contattare il vostro team per un nuovo invito." + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98 +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:86 +msgid "This URL is already in use." +msgstr "Questo URL è già in uso." + +#: apps/web/src/components/forms/v2/signup.tsx:81 +msgid "This username has already been taken" +msgstr "Questo nome utente è già stato preso" + +#: apps/web/src/components/forms/public-profile-claim-dialog.tsx:98 +msgid "This username is already taken" +msgstr "Questo nome utente è già stato preso" + +#: packages/ui/components/document/document-email-checkboxes.tsx:246 +msgid "This will be sent to all recipients if a pending document has been deleted." +msgstr "Questo sarà inviato a tutti i destinatari se un documento in attesa è stato eliminato." + +#: packages/ui/components/document/document-email-checkboxes.tsx:208 +msgid "This will be sent to all recipients once the document has been fully completed." +msgstr "Questo sarà inviato a tutti i destinatari una volta che il documento è stato completamente completato." + +#: packages/ui/components/document/document-email-checkboxes.tsx:284 +msgid "This will be sent to the document owner once the document has been fully completed." +msgstr "Questo sarà inviato al proprietario del documento una volta che il documento è stato completamente completato." + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48 +msgid "This will override any global settings." +msgstr "Questo sovrascriverà qualsiasi impostazione globale." + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:70 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:44 +msgid "Time" +msgstr "Ora" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:97 +msgid "Time zone" +msgstr "Fuso orario" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:132 +#: packages/ui/primitives/document-flow/add-settings.tsx:359 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:484 +msgid "Time Zone" +msgstr "Fuso orario" + +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 +#: packages/ui/primitives/document-flow/add-settings.tsx:166 +msgid "Title" +msgstr "Titolo" + +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:106 +msgid "To accept this invitation you must create an account." +msgstr "Per accettare questo invito devi creare un account." + +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:125 +msgid "To change the email you must remove and add a new email address." +msgstr "Per cambiare la email devi rimuovere e aggiungere un nuovo indirizzo email." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:113 +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:111 +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:101 +msgid "To confirm, please enter the accounts email address <0/>({0})." +msgstr "Per confermare, inserisci l'indirizzo email dell'account <0/>({0})." + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:107 +msgid "To confirm, please enter the reason" +msgstr "Per confermare, per favore inserisci il motivo" + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:101 +msgid "To decline this invitation you must create an account." +msgstr "Per rifiutare questo invito devi creare un account." + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:197 +msgid "To enable two-factor authentication, scan the following QR code using your authenticator app." +msgstr "Per abilitare l'autenticazione a due fattori, scansiona il seguente codice QR utilizzando la tua app di autenticazione." + +#: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:23 +msgid "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox." +msgstr "Per accedere al tuo account, conferma il tuo indirizzo email facendo clic sul link di conferma dalla tua casella di posta." + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:54 +msgid "To mark this document as viewed, you need to be logged in as <0>{0}" +msgstr "Per contrassegnare questo documento come visualizzato, è necessario essere connessi come <0>{0}" + +#: packages/ui/primitives/document-flow/add-fields.tsx:1091 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:954 +msgid "To proceed further, please set at least one value for the {0} field." +msgstr "Per procedere ulteriormente, si prega di impostare almeno un valore per il campo {0}." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 +msgid "To use our electronic signature service, you must have access to:" +msgstr "Per utilizzare il nostro servizio di firma elettronica, devi avere accesso a:" + +#: apps/web/src/app/embed/authenticate.tsx:21 +msgid "To view this document you need to be signed into your account, please sign in to continue." +msgstr "Per visualizzare questo documento devi essere connesso al tuo account, per favore accedi per continuare." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:177 +msgid "Toggle the switch to hide your profile from the public." +msgstr "Attiva l'interruttore per nascondere il tuo profilo al pubblico." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:189 +msgid "Toggle the switch to show your profile to the public." +msgstr "Attiva l'interruttore per mostrare il tuo profilo al pubblico." + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:236 +msgid "Token" +msgstr "Token" + +#: apps/web/src/components/forms/token.tsx:106 +msgid "Token copied to clipboard" +msgstr "Token copiato negli appunti" + +#: apps/web/src/components/forms/token.tsx:127 +msgid "Token created" +msgstr "Token creato" + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:87 +msgid "Token deleted" +msgstr "Token eliminato" + +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 +msgid "Token doesn't have an expiration date" +msgstr "Il token non ha una data di scadenza" + +#: apps/web/src/components/forms/token.tsx:193 +msgid "Token expiration date" +msgstr "Data di scadenza del token" + +#: apps/web/src/components/forms/reset-password.tsx:83 +msgid "Token has expired. Please try again." +msgstr "Il token è scaduto. Per favore riprova." + +#: apps/web/src/components/forms/token.tsx:165 +msgid "Token name" +msgstr "Nome del token" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:65 +msgid "Total Documents" +msgstr "Totale documenti" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:108 +msgid "Total Recipients" +msgstr "Totale destinatari" + +#: packages/email/templates/bulk-send-complete.tsx:49 +msgid "Total rows processed: {totalProcessed}" +msgstr "Righe totali elaborate: {totalProcessed}" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 +msgid "Total Signers that Signed Up" +msgstr "Totale firmatari che si sono iscritti" + +#: apps/web/src/app/(dashboard)/admin/stats/page.tsx:64 +msgid "Total Users" +msgstr "Totale utenti" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 +msgid "transfer {teamName}" +msgstr "trasferisci {teamName}" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 +msgid "Transfer ownership of this team to a selected team member." +msgstr "Trasferisci la proprietà di questo team a un membro del team selezionato." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169 +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147 +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156 +msgid "Transfer team" +msgstr "Trasferisci il team" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173 +msgid "Transfer the ownership of the team to another team member." +msgstr "Trasferisci la proprietà del team a un altro membro del team." + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:163 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:167 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:191 +msgid "Triggers" +msgstr "Trigger" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:52 +msgid "Two factor authentication" +msgstr "Autenticazione a due fattori" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:88 +msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." +msgstr "I codici di recupero dell'autenticazione a due fattori sono utilizzati per accedere al tuo account nel caso in cui perdi l'accesso alla tua app di autenticazione." + +#: apps/web/src/components/forms/signin.tsx:449 +msgid "Two-Factor Authentication" +msgstr "Autenticazione a due fattori" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:90 +msgid "Two-factor authentication disabled" +msgstr "Autenticazione a due fattori disattivata" + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:94 +msgid "Two-factor authentication enabled" +msgstr "Autenticazione a due fattori attivata" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:92 +msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." +msgstr "L'autenticazione a due fattori è stata disattivata per il tuo account. Non sarà più necessario inserire un codice dalla tua app di autenticazione quando accedi." + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:120 +msgid "Two-Factor Re-Authentication" +msgstr "Ri-autenticazione a due fattori" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67 +msgid "Type" +msgstr "Tipo" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:186 +msgid "Type a command or search..." +msgstr "Digita un comando o cerca..." + +#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:134 +msgid "Typed signatures are not allowed. Please draw your signature." +msgstr "Le firme digitate non sono consentite. Si prega di disegnare la propria firma." + +#: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 +msgid "Uh oh! Looks like you're missing a token" +msgstr "Oh no! Sembra che ti manchi un token" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:303 +msgid "Unable to change the language at this time. Please try again later." +msgstr "Impossibile cambiare la lingua in questo momento. Per favore riprova più tardi." + +#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:31 +msgid "Unable to copy recovery code" +msgstr "Impossibile copiare il codice di recupero" + +#: apps/web/src/components/forms/token.tsx:111 +msgid "Unable to copy token" +msgstr "Impossibile copiare il token" + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:101 +msgid "Unable to create direct template access. Please try again later." +msgstr "Impossibile creare l'accesso diretto al modello. Si prega di riprovare più tardi." + +#: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:33 +msgid "Unable to decline this team invitation at this time." +msgstr "Impossibile rifiutare questo invito al team in questo momento." + +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:83 +msgid "Unable to delete invitation. Please try again." +msgstr "Impossibile eliminare l'invito. Si prega di riprovare." + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:94 +msgid "Unable to delete team" +msgstr "Impossibile eliminare il team" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:103 +msgid "Unable to disable two-factor authentication" +msgstr "Impossibile disabilitare l'autenticazione a due fattori" + +#: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:33 +msgid "Unable to join this team at this time." +msgstr "Impossibile unirsi a questo team in questo momento." + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:70 +#: apps/web/src/components/document/document-history-sheet.tsx:127 +msgid "Unable to load document history" +msgstr "Impossibile caricare la cronologia del documento" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:58 +msgid "Unable to load documents" +msgstr "Impossibile caricare i documenti" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:106 +msgid "Unable to load your public profile templates at this time" +msgstr "Impossibile caricare i modelli del profilo pubblico in questo momento" + +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:84 +msgid "Unable to remove email verification at this time. Please try again." +msgstr "Impossibile rimuovere la verifica e-mail in questo momento. Si prega di riprovare." + +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:65 +msgid "Unable to remove team email at this time. Please try again." +msgstr "Impossibile rimuovere l'e-mail del team in questo momento. Si prega di riprovare." + +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:66 +msgid "Unable to resend invitation. Please try again." +msgstr "Impossibile reinviare l'invito. Si prega di riprovare." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:40 +msgid "Unable to resend verification at this time. Please try again." +msgstr "Impossibile reinviare la verifica in questo momento. Si prega di riprovare." + +#: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:20 +msgid "Unable to reset password" +msgstr "Impossibile reimpostare la password" + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:68 +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:101 +msgid "Unable to setup two-factor authentication" +msgstr "Impossibile configurare l'autenticazione a due fattori" + +#: apps/web/src/components/forms/signin.tsx:248 +#: apps/web/src/components/forms/signin.tsx:256 +msgid "Unable to sign in" +msgstr "Impossibile accedere" + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:166 +#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:27 +msgid "Unauthorized" +msgstr "Non autorizzato" + +#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:155 +msgid "Uncompleted" +msgstr "Incompleto" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:239 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:264 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:275 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:286 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:55 +msgid "Unknown" +msgstr "Sconosciuto" + +#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23 +msgid "Unknown error" +msgstr "Errore sconosciuto" + +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 +msgid "Unpaid" +msgstr "Non pagato" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:176 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:162 +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:166 +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:191 +#: apps/web/src/components/forms/public-profile-form.tsx:279 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:426 +#: packages/ui/primitives/document-flow/add-subject.tsx:86 +msgid "Update" +msgstr "Aggiorna" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:202 +msgid "Update Banner" +msgstr "Aggiorna banner" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:118 +msgid "Update passkey" +msgstr "Aggiorna chiave d'accesso" + +#: apps/web/src/components/forms/password.tsx:157 +msgid "Update password" +msgstr "Aggiorna password" + +#: apps/web/src/components/forms/profile.tsx:142 +msgid "Update profile" +msgstr "Aggiorna profilo" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:180 +msgid "Update Recipient" +msgstr "Aggiorna destinatario" + +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:144 +msgid "Update role" +msgstr "Aggiorna ruolo" + +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:175 +msgid "Update team" +msgstr "Aggiorna team" + +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:113 +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:121 +msgid "Update team email" +msgstr "Aggiorna email del team" + +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:136 +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:144 +msgid "Update team member" +msgstr "Aggiorna membro del team" + +#: packages/lib/constants/template.ts:13 +msgid "Update the role and add fields as required for the direct recipient. The individual who uses the direct link will sign the document as the direct recipient." +msgstr "Aggiorna il ruolo e aggiungi campi come richiesto per il destinatario diretto. L'individuo che utilizza il link diretto firmerà il documento come destinatario diretto." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:149 +msgid "Update user" +msgstr "Aggiorna utente" + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:208 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:210 +msgid "Update webhook" +msgstr "Aggiorna webhook" + +#: apps/web/src/components/forms/password.tsx:157 +msgid "Updating password..." +msgstr "Aggiornamento della password..." + +#: apps/web/src/components/forms/profile.tsx:142 +msgid "Updating profile..." +msgstr "Aggiornamento del profilo..." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 +msgid "Updating Your Information" +msgstr "Aggiornamento delle tue informazioni" + +#: packages/ui/primitives/document-dropzone.tsx:168 +msgid "Upgrade" +msgstr "Aggiorna" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:132 +msgid "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." +msgstr "Carica un file CSV per creare più documenti da questo modello. Ogni riga rappresenta un documento con i dettagli del destinatario." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:426 +msgid "Upload a custom document to use instead of the template's default document" +msgstr "Carica un documento personalizzato da utilizzare al posto del documento predefinito del modello" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:267 +msgid "Upload and Process" +msgstr "Carica e elabora" + +#: apps/web/src/components/forms/avatar-image.tsx:179 +msgid "Upload Avatar" +msgstr "Carica Avatar" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:198 +msgid "Upload CSV" +msgstr "Carica CSV" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:419 +msgid "Upload custom document" +msgstr "Carica documento personalizzato" + +#: packages/ui/primitives/signature-pad/signature-pad.tsx:529 +msgid "Upload Signature" +msgstr "Carica Firma" + +#: packages/ui/primitives/document-dropzone.tsx:70 +msgid "Upload Template Document" +msgstr "Carica Documento Modello" + +#: 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 "Carica il tuo logo aziendale (max 5MB, JPG, PNG o WebP)" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30 +msgid "Uploaded by" +msgstr "Caricato da" + +#: apps/web/src/components/forms/avatar-image.tsx:91 +msgid "Uploaded file is too large" +msgstr "Il file caricato è troppo grande" + +#: apps/web/src/components/forms/avatar-image.tsx:92 +msgid "Uploaded file is too small" +msgstr "Il file caricato è troppo piccolo" + +#: apps/web/src/components/forms/avatar-image.tsx:93 +msgid "Uploaded file not an allowed file type" +msgstr "Il file caricato non è di un tipo di file consentito" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:175 +msgid "Use" +msgstr "Utilizza" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187 +#: apps/web/src/components/forms/signin.tsx:506 +msgid "Use Authenticator" +msgstr "Usa Authenticator" + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:185 +#: apps/web/src/components/forms/signin.tsx:504 +msgid "Use Backup Code" +msgstr "Usa il Codice di Backup" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:219 +msgid "Use Template" +msgstr "Usa Modello" + +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:75 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:45 +msgid "User" +msgstr "Utente" + +#: apps/web/src/components/forms/password.tsx:80 +msgid "User has no password." +msgstr "L'utente non ha password." + +#: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:41 +msgid "User ID" +msgstr "ID Utente" + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:61 +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:55 +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:55 +msgid "User not found." +msgstr "Utente non trovato." + +#: apps/web/src/components/forms/v2/signup.tsx:238 +msgid "User profiles are here!" +msgstr "I profili utente sono qui!" + +#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:269 +msgid "User settings" +msgstr "Impostazioni utente" + +#: apps/web/src/components/forms/v2/signup.tsx:79 +msgid "User with this email already exists. Please use a different email address." +msgstr "Un utente con questo email esiste già. Si prega di utilizzare un indirizzo email diverso." + +#: apps/web/src/components/forms/v2/signup.tsx:63 +msgid "Username can only container alphanumeric characters and dashes." +msgstr "Il nome utente può contenere solo caratteri alfanumerici e trattini." + +#: apps/web/src/app/(dashboard)/admin/nav.tsx:51 +msgid "Users" +msgstr "Utenti" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:132 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 +msgid "Validation" +msgstr "Validazione" + +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:83 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:91 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:96 +msgid "Value" +msgstr "Valore" + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:100 +msgid "Verification Email Sent" +msgstr "Email di Verifica Inviata" + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:45 +msgid "Verification email sent successfully." +msgstr "Email di verifica inviata con successo." + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:102 +msgid "Verify Now" +msgstr "Verifica Ora" + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:112 +msgid "Verify your email address" +msgstr "Verifica il tuo indirizzo email" + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:88 +msgid "Verify your email address to unlock all features." +msgstr "Verifica il tuo indirizzo email per sbloccare tutte le funzionalità." + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:60 +msgid "Verify your email to upload documents." +msgstr "Verifica il tuo email per caricare documenti." + +#: packages/email/templates/confirm-team-email.tsx:71 +msgid "Verify your team email address" +msgstr "Verifica il tuo indirizzo email del team" + +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:76 +msgid "Version History" +msgstr "Cronologia delle versioni" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:101 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:136 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:126 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 +#: packages/lib/constants/recipient-roles.ts:29 +msgid "View" +msgstr "Visualizza" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:140 +msgid "View activity" +msgstr "Visualizza attività" + +#: packages/email/templates/confirm-team-email.tsx:95 +msgid "View all documents sent to and from this email address" +msgstr "Visualizza tutti i documenti inviati a o da questo indirizzo email" + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:78 +msgid "View all documents sent to your account" +msgstr "Visualizza tutti i documenti inviati al tuo account" + +#: apps/web/src/app/(dashboard)/settings/security/page.tsx:134 +msgid "View all recent security activity related to your account." +msgstr "Visualizza tutte le attività di sicurezza recenti relative al tuo account." + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:153 +msgid "View all related documents" +msgstr "Visualizza tutti i documenti correlati" + +#: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26 +msgid "View all security activity related to your account." +msgstr "Visualizza tutte le attività di sicurezza relative al tuo account." + +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:78 +msgid "View Codes" +msgstr "Visualizza Codici" + +#: packages/email/templates/document-created-from-direct-template.tsx:75 +msgid "View document" +msgstr "Visualizza documento" + +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:140 +#: packages/email/template-components/template-document-invite.tsx:104 +#: packages/email/template-components/template-document-rejected.tsx:44 +#: packages/ui/primitives/document-flow/add-subject.tsx:90 +#: packages/ui/primitives/document-flow/add-subject.tsx:91 +msgid "View Document" +msgstr "Visualizza documento" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 +msgid "View documents associated with this email" +msgstr "Visualizza documenti associati a questa email" + +#: apps/web/src/app/(dashboard)/settings/teams/team-invitations.tsx:55 +msgid "View invites" +msgstr "Visualizza inviti" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:91 +msgid "View more" +msgstr "Vedi di più" + +#: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34 +msgid "View Original Document" +msgstr "Visualizza Documento Originale" + +#: packages/email/template-components/template-document-self-signed.tsx:79 +msgid "View plans" +msgstr "Visualizza piani" + +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:87 +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:116 +msgid "View Recovery Codes" +msgstr "Visualizza Codici di Recupero" + +#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:56 +msgid "View teams" +msgstr "Visualizza squadre" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:269 +#: packages/lib/constants/recipient-roles.ts:30 +msgid "Viewed" +msgstr "Visualizzato" + +#: packages/lib/constants/recipient-roles.ts:32 +msgid "Viewer" +msgstr "Visualizzatore" + +#: packages/lib/constants/recipient-roles.ts:33 +msgid "Viewers" +msgstr "Visualizzatori" + +#: packages/lib/constants/recipient-roles.ts:31 +msgid "Viewing" +msgstr "Visualizzazione" + +#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:125 +msgid "Waiting" +msgstr "In attesa" + +#: packages/email/template-components/template-document-pending.tsx:31 +msgid "Waiting for others" +msgstr "In attesa di altri" + +#: packages/lib/server-only/document/send-pending-email.ts:96 +msgid "Waiting for others to complete signing." +msgstr "In attesa che altri completino la firma." + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:148 +msgid "Waiting for others to sign" +msgstr "In attesa degli altri per firmare" + +#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:70 +msgid "Waiting for Your Turn" +msgstr "In attesa del tuo turno" + +#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:61 +msgid "Want to send slick signing links like this one? <0>Check out Documenso." +msgstr "Vuoi inviare link di firma eleganti come questo? <0>Scopri Documenso." + +#: apps/web/src/app/(profile)/profile-header.tsx:68 +msgid "Want your own public profile?" +msgstr "Vuoi il tuo profilo pubblico?" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:41 +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:55 +#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:31 +msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support." +msgstr "Non siamo in grado di procedere al portale di fatturazione in questo momento. Per favore riprova, o contatta l'assistenza." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:95 +msgid "We are unable to remove this passkey at the moment. Please try again later." +msgstr "Non siamo in grado di rimuovere questa chiave d'accesso al momento. Per favore riprova più tardi." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:75 +msgid "We are unable to update this passkey at the moment. Please try again later." +msgstr "Non siamo in grado di aggiornare questa chiave d'accesso al momento. Per favore riprova più tardi." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:149 +msgid "We encountered an error while removing the direct template link. Please try again later." +msgstr "Abbiamo riscontrato un errore durante la rimozione del link diretto al modello. Per favore riprova più tardi." + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:84 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:90 +msgid "We encountered an error while updating the webhook. Please try again later." +msgstr "Abbiamo riscontrato un errore durante l'aggiornamento del webhook. Per favore riprova più tardi." + +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:102 +msgid "We encountered an unknown error while attempting to add this email. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto mentre tentavamo di aggiungere questa email. Per favore riprova più tardi." + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:107 +msgid "We encountered an unknown error while attempting to create a team. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto mentre tentavamo di creare un team. Per favore riprova più tardi." + +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:90 +msgid "We encountered an unknown error while attempting to delete it. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di eliminarlo. Per favore riprova più tardi." + +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:35 +msgid "We encountered an unknown error while attempting to delete the pending team. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto mentre tentavamo di eliminare il team in sospeso. Per favore riprova più tardi." + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:86 +msgid "We encountered an unknown error while attempting to delete this team. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto mentre tentavamo di eliminare questo team. Per favore riprova più tardi." + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:99 +msgid "We encountered an unknown error while attempting to delete this token. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di eliminare questo token. Si prega di riprovare più tardi." + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:58 +msgid "We encountered an unknown error while attempting to delete your account. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di eliminare il tuo account. Si prega di riprovare più tardi." + +#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:160 +msgid "We encountered an unknown error while attempting to invite team members. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di invitare membri del team. Si prega di riprovare più tardi." + +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:60 +msgid "We encountered an unknown error while attempting to leave this team. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di abbandonare questo team. Si prega di riprovare più tardi." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:142 +msgid "We encountered an unknown error while attempting to remove this template from your profile. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di rimuovere questo modello dal tuo profilo. Si prega di riprovare più tardi." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:56 +msgid "We encountered an unknown error while attempting to remove this transfer. Please try again or contact support." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di rimuovere questo trasferimento. Si prega di riprovare o contattare il supporto." + +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:60 +msgid "We encountered an unknown error while attempting to remove this user. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di rimuovere questo utente. Si prega di riprovare più tardi." + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:118 +msgid "We encountered an unknown error while attempting to request a transfer of this team. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di richiedere un trasferimento di questo team. Si prega di riprovare più tardi." + +#: apps/web/src/components/forms/reset-password.tsx:91 +msgid "We encountered an unknown error while attempting to reset your password. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di reimpostare la tua password. Si prega di riprovare più tardi." + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:46 +msgid "We encountered an unknown error while attempting to revoke access. Please try again or contact support." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di revocare l'accesso. Si prega di riprovare o contattare il supporto." + +#: apps/web/src/components/forms/public-profile-claim-dialog.tsx:115 +msgid "We encountered an unknown error while attempting to save your details. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di salvare i tuoi dettagli. Si prega di riprovare più tardi." + +#: apps/web/src/components/forms/signin.tsx:273 +#: apps/web/src/components/forms/signin.tsx:288 +#: apps/web/src/components/forms/signin.tsx:304 +msgid "We encountered an unknown error while attempting to sign you In. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di accedere. Si prega di riprovare più tardi." + +#: apps/web/src/components/forms/signup.tsx:126 +#: apps/web/src/components/forms/signup.tsx:140 +#: apps/web/src/components/forms/v2/signup.tsx:189 +#: apps/web/src/components/forms/v2/signup.tsx:203 +msgid "We encountered an unknown error while attempting to sign you Up. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di registrarti. Si prega di riprovare più tardi." + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:84 +msgid "We encountered an unknown error while attempting to update the banner. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare il banner. Si prega di riprovare più tardi." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:178 +msgid "We encountered an unknown error while attempting to update the template. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare il modello. Si prega di riprovare più tardi." + +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:102 +msgid "We encountered an unknown error while attempting to update this team member. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare questo membro del team. Si prega di riprovare più tardi." + +#: apps/web/src/components/forms/avatar-image.tsx:118 +#: apps/web/src/components/forms/password.tsx:88 +msgid "We encountered an unknown error while attempting to update your password. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare la tua password. Si prega di riprovare più tardi." + +#: apps/web/src/components/forms/public-profile-form.tsx:106 +msgid "We encountered an unknown error while attempting to update your public profile. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare il tuo profilo pubblico. Si prega di riprovare più tardi." + +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:95 +msgid "We encountered an unknown error while attempting to update your team. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare il tuo team. Si prega di riprovare più tardi." + +#: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:91 +msgid "We encountered an unknown error while attempting update the team email. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare l'email del team. Si prega di riprovare più tardi." + +#: apps/web/src/components/forms/profile.tsx:81 +msgid "We encountered an unknown error while attempting update your profile. Please try again later." +msgstr "Abbiamo riscontrato un errore sconosciuto durante il tentativo di aggiornare il tuo profilo. Si prega di riprovare più tardi." + +#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:80 +msgid "We have sent a confirmation email for verification." +msgstr "Abbiamo inviato un'email di conferma per la verifica." + +#: apps/web/src/components/forms/v2/signup.tsx:61 +msgid "We need a username to create your profile" +msgstr "Abbiamo bisogno di un nome utente per creare il tuo profilo" + +#: apps/web/src/components/forms/v2/signup.tsx:56 +msgid "We need your signature to sign documents" +msgstr "Abbiamo bisogno della tua firma per firmare i documenti" + +#: apps/web/src/components/forms/token.tsx:112 +msgid "We were unable to copy the token to your clipboard. Please try again." +msgstr "Non siamo riusciti a copiare il token negli appunti. Si prega di riprovare." + +#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:33 +msgid "We were unable to copy your recovery code to your clipboard. Please try again." +msgstr "Non siamo riusciti a copiare il tuo codice di recupero negli appunti. Si prega di riprovare." + +#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:52 +msgid "We were unable to create a checkout session. Please try again, or contact support" +msgstr "Non siamo riusciti a creare una sessione di pagamento. Si prega di riprovare o contattare il supporto" + +#: apps/web/src/components/forms/v2/signup.tsx:80 +msgid "We were unable to create your account. Please review the information you provided and try again." +msgstr "Non siamo riusciti a creare il tuo account. Si prega di rivedere le informazioni fornite e riprovare." + +#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:105 +msgid "We were unable to disable two-factor authentication for your account. Please ensure that you have entered your password and backup code correctly and try again." +msgstr "Non siamo riusciti a disabilitare l'autenticazione a due fattori per il tuo account. Assicurati di aver inserito correttamente la password e il codice di backup e riprova." + +#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:28 +#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:39 +msgid "We were unable to log you out at this time." +msgstr "Non siamo riusciti a disconnetterti in questo momento." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124 +msgid "We were unable to set your public profile to public. Please try again." +msgstr "Non siamo riusciti a impostare il tuo profilo pubblico come pubblico. Per favore riprova." + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:70 +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:103 +msgid "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again." +msgstr "Non siamo riusciti a impostare l'autenticazione a due fattori per il tuo account. Assicurati di aver inserito correttamente il tuo codice e riprova." + +#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:120 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:264 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:146 +msgid "We were unable to submit this document at this time. Please try again later." +msgstr "Non siamo riusciti a inviare questo documento in questo momento. Per favore riprova più tardi." + +#: 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 "Non siamo riusciti ad aggiornare le tue preferenze di branding al momento, riprova più tardi" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:110 +msgid "We were unable to update your document preferences at this time, please try again later" +msgstr "Non siamo riusciti ad aggiornare le tue preferenze sui documenti al momento, riprova più tardi" + +#: 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 "Non siamo riusciti a verificare i tuoi dati. Per favore riprova o contatta il supporto" + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:65 +msgid "We were unable to verify your email. If your email is not verified already, please try again." +msgstr "Non siamo riusciti a verificare la tua email. Se la tua email non è già verificata, riprova." + +#: 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 "Genereremo link di firma con te, che potrai inviare ai destinatari tramite il tuo metodo preferito." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:382 +msgid "We will generate signing links for you, which you can send to the recipients through your method of choice." +msgstr "Genereremo link di firma per te, che potrai inviare ai destinatari tramite il metodo di tua scelta." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:378 +#: packages/ui/primitives/document-flow/add-subject.tsx:201 +msgid "We won't send anything to notify recipients." +msgstr "Non invieremo nulla per notificare i destinatari." + +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29 +#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11 +msgid "We're all empty" +msgstr "Siamo tutti vuoti" + +#: 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 "Stiamo ancora aspettando che altri firmatari firmino questo documento.<0/>Ti avviseremo non appena sarà pronto." + +#: 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 "Abbiamo cambiato la tua password come richiesto. Ora puoi accedere con la tua nuova password." + +#: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:116 +msgid "We've sent a confirmation email to <0>{email}. Please check your inbox and click the link in the email to verify your account." +msgstr "Abbiamo inviato un'email di conferma a <0>{email}. Controlla la tua casella di posta e clicca sul link nell'email per verificare il tuo account." + +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:92 +msgid "Webhook created" +msgstr "Webhook creato" + +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:78 +msgid "Webhook deleted" +msgstr "Webhook eliminato" + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:74 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:80 +msgid "Webhook updated" +msgstr "Webhook aggiornato" + +#: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:117 +#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:145 +msgid "Webhook URL" +msgstr "URL del webhook" + +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:28 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:33 +#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:103 +#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:106 +#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:109 +#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:118 +msgid "Webhooks" +msgstr "Webhook" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:29 +msgid "Weekly" +msgstr "Settimanale" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 +msgid "Welcome" +msgstr "Benvenuto" + +#: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 +msgid "Welcome back, we are lucky to have you." +msgstr "Bentornato, siamo fortunati ad averti." + +#: packages/email/template-components/template-confirmation-email.tsx:21 +msgid "Welcome to Documenso!" +msgstr "Benvenuto su Documenso!" + +#: apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx:88 +msgid "Were you trying to edit this document instead?" +msgstr "Stavi provando a modificare questo documento invece?" + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:189 +msgid "When you click continue, you will be prompted to add the first available authenticator on your system." +msgstr "Quando fai clic su continua, ti verrà chiesto di aggiungere il primo autenticatore disponibile sul tuo sistema." + +#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:183 +msgid "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire." +msgstr "Quando firmi un documento, possiamo automaticamente compilare e firmare i seguenti campi utilizzando le informazioni già fornite. Puoi anche firmare manualmente o rimuovere eventuali campi firmati automaticamente in seguito, se lo desideri." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36 +msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications." +msgstr "Quando utilizzi la nostra piattaforma per apporre la tua firma elettronica sui documenti, acconsenti a farlo ai sensi della Legge sulle firme elettroniche nel commercio globale e nazionale (E-Sign Act) e altre leggi applicabili. Questa azione indica il tuo consenso a utilizzare mezzi elettronici per firmare documenti e ricevere notifiche." + +#: apps/web/src/app/(profile)/p/[url]/page.tsx:139 +msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." +msgstr "Mentre aspetti che lo facciano, puoi creare il tuo account Documenso e iniziare a firmare documenti subito." + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:126 +msgid "Who do you want to remind?" +msgstr "Chi vuoi ricordare?" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 +msgid "Withdrawing Consent" +msgstr "Ritiro del consenso" + +#: apps/web/src/components/forms/public-profile-form.tsx:223 +msgid "Write about the team" +msgstr "Scrivi della squadra" + +#: apps/web/src/components/forms/public-profile-form.tsx:223 +msgid "Write about yourself" +msgstr "Scrivi di te stesso" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:31 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:53 +msgid "Yearly" +msgstr "Annuale" + +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:33 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:32 +#: packages/lib/utils/document-audit-logs.ts:274 +msgid "You" +msgstr "Tu" + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:104 +msgid "You are about to delete <0>\"{documentTitle}\"" +msgstr "Stai per eliminare <0>\"{documentTitle}\"" + +#: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:120 +msgid "You are about to delete the following team email from <0>{teamName}." +msgstr "Stai per eliminare la seguente email del team da <0>{teamName}." + +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:108 +msgid "You are about to hide <0>\"{documentTitle}\"" +msgstr "Stai per nascondere <0>\"{documentTitle}\"" + +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:85 +msgid "You are about to leave the following team." +msgstr "Stai per abbandonare il seguente team." + +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:85 +msgid "You are about to remove the following user from <0>{teamName}." +msgstr "Stai per rimuovere il seguente utente da <0>{teamName}." + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:98 +msgid "You are about to revoke access for team <0>{0} ({1}) to use your email." +msgstr "Stai per revocare l'accesso per il team <0>{0} ({1}) per utilizzare la tua email." + +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 +msgid "You are about to send this document to the recipients. Are you sure you want to continue?" +msgstr "Stai per inviare questo documento ai destinatari. Sei sicuro di voler continuare?" + +#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:80 +msgid "You are currently on the <0>Free Plan." +msgstr "Attualmente sei sul <0>Piano Gratuito." + +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:148 +msgid "You are currently updating <0>{teamMemberName}." +msgstr "Stai attualmente aggiornando <0>{teamMemberName}." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:122 +msgid "You are currently updating the <0>{passkeyName} passkey." +msgstr "Stai attualmente aggiornando la chiave d'accesso <0>{passkeyName}." + +#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:64 +msgid "You are not a member of this team." +msgstr "Non sei un membro di questo team." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:62 +msgid "You are not authorized to delete this user." +msgstr "Non sei autorizzato a eliminare questo utente." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:56 +msgid "You are not authorized to disable this user." +msgstr "Non sei autorizzato a disabilitare questo utente." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:56 +msgid "You are not authorized to enable this user." +msgstr "Non sei autorizzato ad abilitare questo utente." + +#: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:28 +msgid "You are not authorized to view this page." +msgstr "Non sei autorizzato a visualizzare questa pagina." + +#: packages/email/template-components/template-confirmation-email.tsx:38 +msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" +msgstr "Puoi anche copiare e incollare questo link nel tuo browser: {confirmationLink} (il link scade tra 1 ora)" + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:43 +msgid "You can choose to enable or disable your profile for public view." +msgstr "Puoi scegliere di abilitare o disabilitare il tuo profilo per la visualizzazione pubblica." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:50 +msgid "You can choose to enable or disable your team profile for public view." +msgstr "Puoi scegliere di abilitare o disabilitare il profilo del tuo team per la visualizzazione pubblica." + +#: apps/web/src/app/(dashboard)/documents/upcoming-profile-claim-teaser.tsx:30 +msgid "You can claim your profile later on by going to your profile settings!" +msgstr "Puoi rivendicare il tuo profilo più tardi andando alle impostazioni del tuo profilo!" + +#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87 +msgid "You can copy and share these links to recipients so they can action the document." +msgstr "Puoi copiare e condividere questi link con i destinatari affinché possano agire sul documento." + +#: packages/email/templates/confirm-team-email.tsx:106 +msgid "You can revoke access at any time in your team settings on Documenso <0>here." +msgstr "Puoi revocare l'accesso in qualsiasi momento nelle impostazioni del tuo team su Documenso <0>qui." + +#: apps/web/src/components/forms/public-profile-form.tsx:154 +msgid "You can update the profile URL by updating the team URL in the general settings page." +msgstr "Puoi aggiornare l'URL del profilo aggiornando l'URL del team nella pagina delle impostazioni generali." + +#: packages/ui/components/document/document-send-email-message-helper.tsx:11 +msgid "You can use the following variables in your message:" +msgstr "Puoi utilizzare le seguenti variabili nel tuo messaggio:" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:65 +msgid "You can view documents associated with this email and use this identity when sending documents." +msgstr "Puoi visualizzare i documenti associati a questa email e utilizzare questa identità quando invii documenti." + +#: packages/email/templates/bulk-send-complete.tsx:76 +msgid "You can view the created documents in your dashboard under the \"Documents created from template\" section." +msgstr "Puoi visualizzare i documenti creati nel tuo dashboard nella sezione \"Documenti creati dal modello\"." + +#: packages/email/template-components/template-document-rejected.tsx:37 +msgid "You can view the document and its status by clicking the button below." +msgstr "Puoi visualizzare il documento e il suo stato cliccando sul pulsante qui sotto." + +#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:213 +msgid "You cannot have more than {MAXIMUM_PASSKEYS} passkeys." +msgstr "Non puoi avere più di {MAXIMUM_PASSKEYS} passkey." + +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:120 +msgid "You cannot modify a team member who has a higher role than you." +msgstr "Non puoi modificare un membro del team che ha un ruolo superiore al tuo." + +#: packages/ui/primitives/document-dropzone.tsx:43 +msgid "You cannot upload documents at this time." +msgstr "Non puoi caricare documenti in questo momento." + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:103 +msgid "You cannot upload encrypted PDFs" +msgstr "Non puoi caricare PDF crittografati" + +#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:46 +msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance." +msgstr "Attualmente non hai un record cliente, questo non dovrebbe succedere. Per favore contatta il supporto per assistenza." + +#: apps/web/src/components/forms/token.tsx:141 +msgid "You do not have permission to create a token for this team" +msgstr "Non hai il permesso di creare un token per questo team" + +#: packages/email/template-components/template-document-cancel.tsx:35 +msgid "You don't need to sign it anymore." +msgstr "Non hai più bisogno di firmarlo." + +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:127 +msgid "You have accepted an invitation from <0>{0} to join their team." +msgstr "Hai accettato un invito da <0>{0} per unirti al loro team." + +#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:64 +msgid "You have already completed the ownership transfer for <0>{0}." +msgstr "Hai già completato il trasferimento di proprietà per <0>{0}." + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:61 +msgid "You have already verified your email address for <0>{0}." +msgstr "Hai già verificato il tuo indirizzo email per <0>{0}." + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:95 +#: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:100 +msgid "You have been invited by <0>{0} to join their team." +msgstr "Sei stato invitato da <0>{0} a unirti al loro team." + +#: packages/lib/server-only/team/create-team-member-invites.ts:186 +msgid "You have been invited to join {0} on Documenso" +msgstr "Sei stato invitato a unirti a {0} su Documenso" + +#: packages/email/templates/team-invite.tsx:76 +msgid "You have been invited to join the following team" +msgstr "Sei stato invitato a unirti al seguente team" + +#: packages/lib/server-only/recipient/delete-document-recipient.ts:156 +#: packages/lib/server-only/recipient/set-document-recipients.ts:326 +msgid "You have been removed from a document" +msgstr "Sei stato rimosso da un documento" + +#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 +msgid "You have been requested to take ownership of team {0} on Documenso" +msgstr "Ti è stato richiesto di prendere possesso del team {0} su Documenso" + +#: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:122 +msgid "You have declined the invitation from <0>{0} to join their team." +msgstr "Hai rifiutato l'invito da <0>{0} per unirti al loro team." + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts:103 +#: packages/lib/server-only/document/resend-document.tsx:125 +msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." +msgstr "Hai avviato il documento {0} che richiede che tu lo {recipientActionVerb}." + +#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:44 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:49 +msgid "You have no webhooks yet. Your webhooks will be shown here once you create them." +msgstr "Non hai ancora webhook. I tuoi webhook verranno visualizzati qui una volta creati." + +#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:15 +msgid "You have not yet created any templates. To create a template please upload one." +msgstr "Non hai ancora creato alcun modello. Per creare un modello, caricane uno." + +#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:30 +msgid "You have not yet created or received any documents. To create a document please upload one." +msgstr "Non hai ancora creato o ricevuto documenti. Per creare un documento caricane uno." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:229 +msgid "You have reached the maximum limit of {0} direct templates. <0>Upgrade your account to continue!" +msgstr "Hai raggiunto il limite massimo di {0} modelli diretti. <0>Aggiorna il tuo account per continuare!" + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 +msgid "You have reached your document limit for this month. Please upgrade your plan." +msgstr "Hai raggiunto il limite dei documenti per questo mese. Si prega di aggiornare il proprio piano." + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:56 +#: packages/ui/primitives/document-dropzone.tsx:69 +msgid "You have reached your document limit." +msgstr "Hai raggiunto il tuo limite di documenti." + +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:183 +msgid "You have reached your document limit. <0>Upgrade your account to continue!" +msgstr "Hai raggiunto il tuo limite di documenti. <0>Aggiorna il tuo account per continuare!" + +#: packages/email/templates/document-rejection-confirmed.tsx:27 +msgid "You have rejected the document '{documentName}'" +msgstr "Hai rifiutato il documento '{documentName}'" + +#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88 +msgid "You have rejected this document" +msgstr "Hai rifiutato questo documento" + +#: packages/email/template-components/template-document-self-signed.tsx:42 +msgid "You have signed “{documentName}”" +msgstr "Hai firmato “{documentName}”" + +#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50 +msgid "You have successfully left this team." +msgstr "Hai lasciato con successo questo team." + +#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:85 +#: apps/web/src/components/forms/signup.tsx:97 +#: apps/web/src/components/forms/v2/signup.tsx:141 +msgid "You have successfully registered. Please verify your account by clicking on the link you received in the email." +msgstr "Ti sei registrato con successo. Verifica il tuo account cliccando sul link ricevuto via email." + +#: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:50 +msgid "You have successfully removed this user from the team." +msgstr "Hai rimosso con successo questo utente dal team." + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:38 +msgid "You have successfully revoked access." +msgstr "Hai revocato con successo l'accesso." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 +msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +msgstr "Hai il diritto di ritirare il tuo consenso all'uso delle firme elettroniche in qualsiasi momento prima di completare il processo di firma. Per ritirare il tuo consenso, contatta il mittente del documento. Nel caso in cui non riesci a contattare il mittente, puoi contattare <0>{SUPPORT_EMAIL} per assistenza. Sii consapevole che il ritiro del consenso potrebbe ritardare o fermare il completamento della transazione o del servizio correlato." + +#: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 +msgid "You have updated {teamMemberName}." +msgstr "Hai aggiornato {teamMemberName}." + +#: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:136 +msgid "You have verified your email address for <0>{0}." +msgstr "Hai verificato il tuo indirizzo email per <0>{0}." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:88 +msgid "You must be an admin of this team to manage billing." +msgstr "Devi essere un amministratore di questo team per gestire la fatturazione." + +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:60 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:58 +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:54 +msgid "You must enter '{deleteMessage}' to proceed" +msgstr "Devi inserire '{deleteMessage}' per procedere" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:266 +msgid "You must have at least one other team member to transfer ownership." +msgstr "Devi avere almeno un altro membro del team per trasferire la proprietà." + +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:108 +msgid "You must set a profile URL before enabling your public profile." +msgstr "Devi impostare un'URL del profilo prima di abilitare il tuo profilo pubblico." + +#: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:56 +msgid "You need to be logged in as <0>{email} to view this page." +msgstr "Devi essere loggato come <0>{email} per visualizzare questa pagina." + +#: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:45 +msgid "You need to be logged in to view this page." +msgstr "Devi essere loggato per visualizzare questa pagina." + +#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:105 +msgid "You need to setup 2FA to mark this document as viewed." +msgstr "Devi configurare l'autenticazione a due fattori per contrassegnare questo documento come visualizzato." + +#: apps/web/src/components/forms/v2/signup.tsx:287 +msgid "You will get notified & be able to set up your documenso public profile when we launch the feature." +msgstr "Riceverai una notifica e potrai configurare il tuo profilo pubblico su Documenso quando lanceremo la funzionalità." + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:96 +msgid "You will now be required to enter a code from your authenticator app when signing in." +msgstr "Ora ti verrà richiesto di inserire un codice dalla tua app di autenticazione durante l'accesso." + +#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:171 +msgid "You will receive an Email copy of the signed document once everyone has signed." +msgstr "Riceverai una copia del documento firmato via email una volta che tutti hanno firmato." + +#: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:48 +msgid "Your account has been deleted successfully." +msgstr "Il tuo account è stato eliminato con successo." + +#: apps/web/src/components/forms/avatar-image.tsx:108 +msgid "Your avatar has been updated successfully." +msgstr "Il tuo avatar è stato aggiornato correttamente." + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:74 +msgid "Your banner has been updated successfully." +msgstr "Il tuo banner è stato aggiornato correttamente." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280 +msgid "Your brand website URL" +msgstr "URL del sito web del tuo marchio" + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103 +msgid "Your branding preferences have been updated" +msgstr "Le tue preferenze di branding sono state aggiornate" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:97 +msgid "Your bulk send has been initiated. You will receive an email notification upon completion." +msgstr "Il tuo invio massivo è stato avviato. Riceverai una notifica via email al completamento." + +#: packages/email/templates/bulk-send-complete.tsx:40 +msgid "Your bulk send operation for template \"{templateName}\" has completed." +msgstr "La tua operazione di invio massivo per il modello \"{templateName}\" è stata completata." + +#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125 +msgid "Your current plan is past due. Please update your payment information." +msgstr "Il tuo piano attuale è scaduto. Aggiorna le informazioni di pagamento." + +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249 +msgid "Your direct signing templates" +msgstr "I tuoi modelli di firma diretta" + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:123 +msgid "Your document failed to upload." +msgstr "Il tuo documento non è stato caricato." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:169 +msgid "Your document has been created from the template successfully." +msgstr "Il tuo documento è stato creato con successo dal modello." + +#: packages/email/template-components/template-document-super-delete.tsx:23 +msgid "Your document has been deleted by an admin!" +msgstr "Il tuo documento è stato eliminato da un amministratore!" + +#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:98 +msgid "Your document has been re-sent successfully." +msgstr "Il tuo documento è stato reinviato correttamente." + +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304 +msgid "Your document has been sent successfully." +msgstr "Il tuo documento è stato inviato correttamente." + +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:58 +msgid "Your document has been successfully duplicated." +msgstr "Il tuo documento è stato duplicato correttamente." + +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:86 +msgid "Your document has been uploaded successfully." +msgstr "Il tuo documento è stato caricato correttamente." + +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:68 +msgid "Your document has been uploaded successfully. You will be redirected to the template page." +msgstr "Il tuo documento è stato caricato correttamente. Sarai reindirizzato alla pagina del modello." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:104 +msgid "Your document preferences have been updated" +msgstr "Le tue preferenze sui documenti sono state aggiornate" + +#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223 +msgid "Your documents" +msgstr "I tuoi documenti" + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:40 +msgid "Your email has been successfully confirmed! You can now use all features of Documenso." +msgstr "La tua email è stata confermata con successo! Ora puoi utilizzare tutte le funzionalità di Documenso." + +#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:62 +msgid "Your email is currently being used by team <0>{0} ({1})." +msgstr "La tua email è attualmente utilizzata dal team <0>{0} ({1})." + +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:47 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:80 +msgid "Your existing tokens" +msgstr "I tuoi token esistenti" + +#: apps/web/src/components/forms/password.tsx:84 +#: apps/web/src/components/forms/reset-password.tsx:87 +msgid "Your new password cannot be the same as your old password." +msgstr "La tua nuova password non può essere la stessa della vecchia password." + +#: apps/web/src/components/forms/password.tsx:73 +#: apps/web/src/components/forms/reset-password.tsx:74 +msgid "Your password has been updated successfully." +msgstr "La tua password è stata aggiornata con successo." + +#: packages/email/template-components/template-reset-password.tsx:26 +msgid "Your password has been updated." +msgstr "La tua password è stata aggiornata." + +#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:113 +msgid "Your payment for teams is overdue. Please settle the payment to avoid any service disruptions." +msgstr "Il pagamento per i team è in ritardo. Si prega di effettuare il pagamento per evitare interruzioni del servizio." + +#: apps/web/src/components/forms/profile.tsx:72 +msgid "Your profile has been updated successfully." +msgstr "Il tuo profilo è stato aggiornato correttamente." + +#: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:75 +msgid "Your profile has been updated." +msgstr "Il tuo profilo è stato aggiornato." + +#: apps/web/src/components/forms/public-profile-form.tsx:81 +msgid "Your public profile has been updated." +msgstr "Il tuo profilo pubblico è stato aggiornato." + +#: apps/web/src/components/forms/2fa/recovery-code-list.tsx:27 +msgid "Your recovery code has been copied to your clipboard." +msgstr "Il tuo codice di recupero è stato copiato negli appunti." + +#: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:167 +#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:91 +msgid "Your recovery codes are listed below. Please store them in a safe place." +msgstr "I tuoi codici di recupero sono elencati di seguito. Si prega di conservarli in un luogo sicuro." + +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:72 +msgid "Your subscription is currently active." +msgstr "Il tuo abbonamento è attualmente attivo." + +#: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:89 +msgid "Your team has been created." +msgstr "Il tuo team è stato creato." + +#: packages/email/templates/team-delete.tsx:28 +#: packages/email/templates/team-delete.tsx:32 +msgid "Your team has been deleted" +msgstr "Il tuo team è stato eliminato" + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:73 +msgid "Your team has been successfully deleted." +msgstr "Il tuo team è stato eliminato correttamente." + +#: apps/web/src/components/(teams)/forms/update-team-form.tsx:68 +msgid "Your team has been successfully updated." +msgstr "Il tuo team è stato aggiornato correttamente." + +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:42 +msgid "Your template has been duplicated successfully." +msgstr "Il tuo modello è stato duplicato correttamente." + +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:37 +msgid "Your template has been successfully deleted." +msgstr "Il tuo modello è stato eliminato correttamente." + +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:66 +msgid "Your template will be duplicated." +msgstr "Il tuo modello sarà duplicato." + +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217 +msgid "Your templates has been saved successfully." +msgstr "I tuoi modelli sono stati salvati con successo." + +#: apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx:89 +msgid "Your token has expired!" +msgstr "Il tuo token è scaduto!" + +#: apps/web/src/components/forms/token.tsx:277 +msgid "Your token was created successfully! Make sure to copy it because you won't be able to see it again!" +msgstr "Il tuo token è stato creato con successo! Assicurati di copiarlo perché non potrai più vederlo!" + +#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:53 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 +msgid "Your tokens will be shown here once you create them." +msgstr "I tuoi token verranno mostrati qui una volta creati." + diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po index fd1825aea..cc97b7752 100644 --- a/packages/lib/translations/pl/web.po +++ b/packages/lib/translations/pl/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-31 08:04\n" +"PO-Revision-Date: 2025-01-30 06:04\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -22,7 +22,7 @@ msgstr "" msgid "\"{0}\" has invited you to sign \"example document\"." msgstr "Użytkownik \"{0}\" zaprosił Cię do podpisania \"przykładowego dokumentu\"." -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:74 msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"." msgstr "\"{0}\" pojawi się w dokumencie, ponieważ ma strefę czasową \"{timezone}\"." @@ -38,7 +38,7 @@ msgstr "„{documentName}” został podpisany" msgid "“{documentName}” was signed by all signers" msgstr "„{documentName}” został podpisany przez wszystkich sygnatariuszy" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:62 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61 msgid "\"{documentTitle}\" has been successfully deleted" msgstr "\"{documentTitle}\" został pomyślnie usunięty" @@ -46,12 +46,12 @@ msgstr "\"{documentTitle}\" został pomyślnie usunięty" msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" w imieniu \"{0}\" zaprosił Cię do podpisania \"przykładowego dokumentu\"." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:330 msgid "{0, plural, one {(1 character over)} other {(# characters over)}}" msgstr "{0, plural, one {(1 znak przekroczony)} few {(# znaki przekroczone)} many {(# znaków przekroczonych)} other {(# znaków przekroczonych)}}" #: apps/web/src/components/forms/public-profile-form.tsx:237 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:395 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:393 msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}" msgstr "{0, plural, one {# znak przekroczony} few {# znaki przekroczone} many {# znaków przekroczonych} other {# znaków przekroczonych}}" @@ -76,7 +76,7 @@ msgstr "{0, plural, one {1 pasujące pole} few {# pasujące pola} many {# pasuj msgid "{0, plural, one {1 Recipient} other {# Recipients}}" msgstr "{0, plural, one {1 odbiorca} few {# odbiorców} many {# odbiorców} other {# odbiorców}}" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:238 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:239 msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}" msgstr "{0, plural, one {Czekam na 1 odbiorcę} few {Czekam na # odbiorców} many {Czekam na # odbiorców} other {Czekam na # odbiorców}}" @@ -88,7 +88,7 @@ msgstr "{0, plural, zero {Wybierz wartości} one {# wybrana...} few {# wybrane.. msgid "{0}" msgstr "{0}" -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:247 msgid "{0} direct signing templates" msgstr "{0} bezpośrednich szablonów podpisu" @@ -108,7 +108,7 @@ msgstr "{0} dołączył do zespołu {teamName} na Documenso" msgid "{0} left the team {teamName} on Documenso" msgstr "{0} opuścił zespół {teamName} na Documenso" -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:151 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:145 msgid "{0} of {1} documents remaining this month." msgstr "{0} z {1} dokumentów pozostałych w tym miesiącu." @@ -121,11 +121,11 @@ msgstr "{0} z {1} wybranych wierszy." msgid "{0} on behalf of \"{1}\" has invited you to {recipientActionVerb} the document \"{2}\"." msgstr "{0} w imieniu \"{1}\" zaprosił Cię do {recipientActionVerb} dokument „{2}”." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:174 msgid "{0} Recipient(s)" msgstr "{0} Odbiorca(ów)" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311 msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" msgstr "{charactersRemaining, plural, one {Pozostał # znak} few {Pozostały {charactersRemaining} znaki} many {Pozostało {charactersRemaining} znaków} other {Pozostało {charactersRemaining} znaków}}" @@ -141,7 +141,7 @@ msgstr "{inviterName} anulował dokument {documentName}, nie musisz go już podp msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" msgstr "{inviterName} anulował dokument<0/>\"{documentName}\"" -#: packages/email/template-components/template-document-invite.tsx:75 +#: packages/email/template-components/template-document-invite.tsx:74 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" msgstr "{inviterName} zaprosił Cię do {0}<0/>\"{documentName}\"" @@ -161,9 +161,9 @@ msgstr "{inviterName} usunął Cię z dokumentu {documentName}." msgid "{inviterName} has removed you from the document<0/>\"{documentName}\"" msgstr "{inviterName} usunął cię z dokumentu<0/>„{documentName}”" -#: packages/email/template-components/template-document-invite.tsx:63 -msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}" -msgstr "Użytkownik {inviterName} w imieniu zespołu \"{teamName}\" zaprosił Cię do {0}" +#: packages/email/template-components/template-document-invite.tsx:61 +msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} w imieniu \"{teamName}\" zaprosił Cię do {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:45 msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {action} {documentName}" @@ -181,87 +181,87 @@ msgstr "{memberEmail} opuścił następujący zespół" msgid "{numberOfSeats, plural, one {# member} other {# members}}" msgstr "{numberOfSeats, plural, one {# członek} few {# członkowie} many {# członków} other {# członków}}" -#: packages/lib/utils/document-audit-logs.ts:263 +#: packages/lib/utils/document-audit-logs.ts:279 msgid "{prefix} added a field" msgstr "{prefix} dodał pole" -#: packages/lib/utils/document-audit-logs.ts:275 +#: packages/lib/utils/document-audit-logs.ts:291 msgid "{prefix} added a recipient" msgstr "{prefix} dodał odbiorcę" -#: packages/lib/utils/document-audit-logs.ts:287 +#: packages/lib/utils/document-audit-logs.ts:303 msgid "{prefix} created the document" msgstr "{prefix} utworzył dokument" -#: packages/lib/utils/document-audit-logs.ts:291 +#: packages/lib/utils/document-audit-logs.ts:307 msgid "{prefix} deleted the document" msgstr "{prefix} usunął dokument" -#: packages/lib/utils/document-audit-logs.ts:335 +#: packages/lib/utils/document-audit-logs.ts:351 msgid "{prefix} moved the document to team" msgstr "{prefix} przeniósł dokument do zespołu" -#: packages/lib/utils/document-audit-logs.ts:319 +#: packages/lib/utils/document-audit-logs.ts:335 msgid "{prefix} opened the document" msgstr "{prefix} otworzył dokument" -#: packages/lib/utils/document-audit-logs.ts:267 +#: packages/lib/utils/document-audit-logs.ts:283 msgid "{prefix} removed a field" msgstr "{prefix} usunął pole" -#: packages/lib/utils/document-audit-logs.ts:279 +#: packages/lib/utils/document-audit-logs.ts:295 msgid "{prefix} removed a recipient" msgstr "{prefix} usunął odbiorcę" -#: packages/lib/utils/document-audit-logs.ts:365 +#: packages/lib/utils/document-audit-logs.ts:381 msgid "{prefix} resent an email to {0}" msgstr "{prefix} ponownie wysłał e-mail do {0}" -#: packages/lib/utils/document-audit-logs.ts:366 +#: packages/lib/utils/document-audit-logs.ts:382 msgid "{prefix} sent an email to {0}" msgstr "{prefix} wysłał e-mail do {0}" -#: packages/lib/utils/document-audit-logs.ts:331 +#: packages/lib/utils/document-audit-logs.ts:347 msgid "{prefix} sent the document" msgstr "{prefix} wysłał dokument" -#: packages/lib/utils/document-audit-logs.ts:295 +#: packages/lib/utils/document-audit-logs.ts:311 msgid "{prefix} signed a field" msgstr "{prefix} podpisał pole" -#: packages/lib/utils/document-audit-logs.ts:299 +#: packages/lib/utils/document-audit-logs.ts:315 msgid "{prefix} unsigned a field" msgstr "{prefix} niepodpisane pole" -#: packages/lib/utils/document-audit-logs.ts:271 +#: packages/lib/utils/document-audit-logs.ts:287 msgid "{prefix} updated a field" msgstr "{prefix} zaktualizowane pole" -#: packages/lib/utils/document-audit-logs.ts:283 +#: packages/lib/utils/document-audit-logs.ts:299 msgid "{prefix} updated a recipient" msgstr "{prefix} zaktualizowany odbiorca" -#: packages/lib/utils/document-audit-logs.ts:315 +#: packages/lib/utils/document-audit-logs.ts:331 msgid "{prefix} updated the document" msgstr "{prefix} zaktualizowany dokument" -#: packages/lib/utils/document-audit-logs.ts:307 +#: packages/lib/utils/document-audit-logs.ts:323 msgid "{prefix} updated the document access auth requirements" msgstr "{prefix} zaktualizowane wymagania dotyczące autoryzacji dostępu do dokumentu" -#: packages/lib/utils/document-audit-logs.ts:327 +#: packages/lib/utils/document-audit-logs.ts:343 msgid "{prefix} updated the document external ID" msgstr "{prefix} zaktualizowane ID zewnętrzne dokumentu" -#: packages/lib/utils/document-audit-logs.ts:311 +#: packages/lib/utils/document-audit-logs.ts:327 msgid "{prefix} updated the document signing auth requirements" msgstr "{prefix} zaktualizowane wymagania dotyczące autoryzacji podpisu dokumentu" -#: packages/lib/utils/document-audit-logs.ts:323 +#: packages/lib/utils/document-audit-logs.ts:339 msgid "{prefix} updated the document title" msgstr "{prefix} zaktualizowany tytuł dokumentu" -#: packages/lib/utils/document-audit-logs.ts:303 +#: packages/lib/utils/document-audit-logs.ts:319 msgid "{prefix} updated the document visibility" msgstr "{prefix} zaktualizowana widoczność dokumentu" @@ -298,7 +298,7 @@ msgid "{recipientReference} has signed {documentName}" msgstr "{recipientReference} podpisał {documentName}" #: apps/web/src/components/forms/public-profile-form.tsx:231 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:387 msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}" msgstr "{remaningLength, plural, one {Pozostał # znak} few {Pozostały # znaki} many {Pozostało # znaków} other {Pozostało # znaków}}" @@ -307,8 +307,8 @@ msgid "{signerName} has rejected the document \"{documentName}\"." msgstr "{signerName} odrzucił dokument \"{documentName}\"." #: packages/email/template-components/template-document-invite.tsx:68 -msgid "{teamName} has invited you to {0}" -msgstr "{teamName} zaprosił cię do {0}" +msgid "{teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{teamName} zaprosił Cię do {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:46 msgid "{teamName} has invited you to {action} {documentName}" @@ -318,27 +318,27 @@ msgstr "{teamName} zaprosił cię do {action} {documentName}" msgid "{teamName} ownership transfer request" msgstr "Prośba o przeniesienie własności zespołu {teamName}" -#: packages/lib/utils/document-audit-logs.ts:343 +#: packages/lib/utils/document-audit-logs.ts:359 msgid "{userName} approved the document" msgstr "{userName} zatwierdził dokument" -#: packages/lib/utils/document-audit-logs.ts:344 +#: packages/lib/utils/document-audit-logs.ts:360 msgid "{userName} CC'd the document" msgstr "{userName} dodał CC do dokumentu" -#: packages/lib/utils/document-audit-logs.ts:345 +#: packages/lib/utils/document-audit-logs.ts:361 msgid "{userName} completed their task" msgstr "{userName} zakończył swoje zadanie" -#: packages/lib/utils/document-audit-logs.ts:355 +#: packages/lib/utils/document-audit-logs.ts:371 msgid "{userName} rejected the document" msgstr "{userName} odrzucił dokument" -#: packages/lib/utils/document-audit-logs.ts:341 +#: packages/lib/utils/document-audit-logs.ts:357 msgid "{userName} signed the document" msgstr "{userName} podpisał dokument" -#: packages/lib/utils/document-audit-logs.ts:342 +#: packages/lib/utils/document-audit-logs.ts:358 msgid "{userName} viewed the document" msgstr "{userName} wyświetlił dokument" @@ -358,7 +358,11 @@ msgstr "<0>{senderName} poprosił, abyś przejął własność następujące msgid "<0>{teamName} has requested to use your email address for their team on Documenso." msgstr "<0>{teamName} poprosił o używanie twojego adresu e-mail dla swojego zespołu w Documenso." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:241 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:463 +msgid "<0>Click to upload or drag and drop" +msgstr "<0>Kliknij, aby przesłać lub przeciągnij i upuść" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:287 msgid "<0>Email - The recipient will be emailed the document to sign, approve, etc." msgstr "<0>E-mail - Odbiorca otrzyma e-mail z dokumentem do podpisania, zatwierdzenia itp." @@ -378,11 +382,11 @@ msgstr "<0>Brak ograniczeń - Dokument można bezpośrednio otworzyć za pom msgid "<0>None - No authentication required" msgstr "<0>Brak - Uwierzytelnianie nie jest wymagane" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:247 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:293 msgid "<0>None - We will generate links which you can send to the recipients manually." msgstr "<0>Brak - Wygenerujemy linki, które możesz wysłać do odbiorców ręcznie." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:254 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:300 msgid "<0>Note - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients." msgstr "<0>Uwaga - Jeśli używasz linków w połączeniu z bezpośrednimi szablonami, musisz ręcznie wysłać linki do pozostałych odbiorców." @@ -464,19 +468,19 @@ msgstr "Urządzenie zdolne do uzyskiwania dostępu, otwierania i czytania dokume msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." msgstr "Dokument został utworzony przez Twój bezpośredni szablon, który wymaga, abyś go {recipientActionVerb}." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:218 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:230 msgid "A draft document will be created" msgstr "Zostanie utworzony szkic dokumentu" -#: packages/lib/utils/document-audit-logs.ts:262 +#: packages/lib/utils/document-audit-logs.ts:278 msgid "A field was added" msgstr "Dodano pole" -#: packages/lib/utils/document-audit-logs.ts:266 +#: packages/lib/utils/document-audit-logs.ts:282 msgid "A field was removed" msgstr "Usunięto pole" -#: packages/lib/utils/document-audit-logs.ts:270 +#: packages/lib/utils/document-audit-logs.ts:286 msgid "A field was updated" msgstr "Zaktualizowano pole" @@ -488,7 +492,7 @@ msgstr "Środek do drukowania lub pobierania dokumentów do swoich zapisów" msgid "A new member has joined your team" msgstr "Nowy członek dołączył do Twojego zespołu" -#: apps/web/src/components/forms/token.tsx:127 +#: apps/web/src/components/forms/token.tsx:128 msgid "A new token was created successfully." msgstr "Nowy token został utworzony." @@ -497,15 +501,15 @@ msgstr "Nowy token został utworzony." msgid "A password reset email has been sent, if you have an account you should see it in your inbox shortly." msgstr "E-mail z linkiem do resetowania hasła został wysłany. Jeśli masz konto, powinieneś go niedługo zobaczyć w skrzynce odbiorczej." -#: packages/lib/utils/document-audit-logs.ts:274 +#: packages/lib/utils/document-audit-logs.ts:290 msgid "A recipient was added" msgstr "Dodano odbiorcę" -#: packages/lib/utils/document-audit-logs.ts:278 +#: packages/lib/utils/document-audit-logs.ts:294 msgid "A recipient was removed" msgstr "Usunięto odbiorcę" -#: packages/lib/utils/document-audit-logs.ts:282 +#: packages/lib/utils/document-audit-logs.ts:298 msgid "A recipient was updated" msgstr "Zaktualizowano odbiorcę" @@ -591,7 +595,7 @@ msgstr "Akceptowane zaproszenie do zespołu" msgid "Account Authentication" msgstr "Uwierzytelnianie konta" -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:50 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:47 msgid "Account deleted" msgstr "Konto zostało usunięte" @@ -612,20 +616,20 @@ msgstr "Ponowna Autoryzacja Konta" msgid "Acknowledgment" msgstr "Potwierdzenie" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108 -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:98 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123 -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164 -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:116 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:114 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:97 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:117 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:159 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:115 #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46 msgid "Action" msgstr "Akcja" #: apps/web/src/app/(dashboard)/documents/data-table.tsx:79 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:177 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:175 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:131 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:140 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:130 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:139 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:116 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:125 msgid "Actions" @@ -650,16 +654,16 @@ msgid "Add a document" msgstr "Dodaj dokument" #: packages/ui/primitives/document-flow/add-settings.tsx:390 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:468 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:514 msgid "Add a URL to redirect the user to once the document is signed" msgstr "Dodaj URL, aby przekierować użytkownika po podpisaniu dokumentu" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:177 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:153 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87 msgid "Add all relevant fields for each recipient." msgstr "Dodaj wszystkie istotne pola dla każdego odbiorcy." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82 msgid "Add all relevant placeholders for each recipient." msgstr "Dodaj wszystkie odpowiednie symbole zastępcze dla każdego odbiorcy." @@ -675,7 +679,7 @@ msgstr "Dodaj autoryzator, aby służył jako dodatkowa metoda uwierzytelniania msgid "Add an external ID to the document. This can be used to identify the document in external systems." msgstr "Dodaj zewnętrzny ID do dokumentu. Może być używany do identyfikacji dokumentu w zewnętrznych systemach." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:385 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:431 msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Dodaj zewnętrzny ID do szablonu. Może być używany do identyfikacji w systemach zewnętrznych." @@ -692,8 +696,8 @@ msgstr "Dodaj kolejną wartość" msgid "Add email" msgstr "Dodaj adres e-mail" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:152 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:86 msgid "Add Fields" msgstr "Dodaj pola" @@ -718,7 +722,7 @@ msgstr "Dodaj klucz dostępu" msgid "Add Placeholder Recipient" msgstr "Dodaj odbiorcę zastępczego" -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:81 msgid "Add Placeholders" msgstr "Dodaj znaczniki" @@ -726,7 +730,7 @@ msgstr "Dodaj znaczniki" msgid "Add Signer" msgstr "Dodaj sygnatariusza" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:147 msgid "Add Signers" msgstr "Dodaj podpisujących" @@ -734,19 +738,19 @@ msgstr "Dodaj podpisujących" msgid "Add team email" msgstr "Dodaj e-mail zespołowy" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:73 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:80 msgid "Add text" msgstr "Dodaj tekst" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:78 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:85 msgid "Add text to the field" msgstr "Dodaj tekst do pola" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:172 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:148 msgid "Add the people who will sign the document." msgstr "Dodaj osoby, które podpiszą dokument." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:232 msgid "Add the recipients to create the document with" msgstr "Dodaj odbiorców, aby utworzyć dokument" @@ -771,12 +775,12 @@ msgid "Admin panel" msgstr "Panel administratora" #: packages/ui/primitives/document-flow/add-settings.tsx:284 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:367 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:413 msgid "Advanced Options" msgstr "Opcje zaawansowane" #: packages/ui/primitives/document-flow/add-fields.tsx:585 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:415 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:490 msgid "Advanced settings" msgstr "Ustawienia zaawansowane" @@ -804,11 +808,11 @@ msgstr "Wszystkie dokumenty zostały przetworzone. Nowe dokumenty, które zostan msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." msgstr "Wszystkie dokumenty związane z procesem podpisywania elektronicznego będą dostarczane do Ciebie elektronicznie za pośrednictwem naszej platformy lub za pośrednictwem e-maila. To Twoja odpowiedzialność, aby upewnić się, że twój adres e-mail jest aktualny i że możesz odbierać i otwierać nasze e-maile." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:147 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:146 msgid "All inserted signatures will be voided" msgstr "Wszystkie wstawione podpisy zostaną unieważnione" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:150 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:149 msgid "All recipients will be notified" msgstr "Wszyscy odbiorcy zostaną powiadomieni" @@ -864,30 +868,26 @@ msgstr "E-mail zawierający zaproszenie zostanie wysłany do każdego członka." msgid "An email requesting the transfer of this team has been sent." msgstr "E-mail z prośbą o przeniesienie tego zespołu został wysłany." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:60 -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:83 -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:59 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:100 #: apps/web/src/components/forms/avatar-image.tsx:122 #: apps/web/src/components/forms/password.tsx:92 -#: apps/web/src/components/forms/profile.tsx:81 #: apps/web/src/components/forms/reset-password.tsx:95 #: apps/web/src/components/forms/signup.tsx:112 -#: apps/web/src/components/forms/token.tsx:137 +#: apps/web/src/components/forms/token.tsx:146 #: apps/web/src/components/forms/v2/signup.tsx:166 msgid "An error occurred" msgstr "Wystąpił błąd" -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:257 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:227 msgid "An error occurred while adding fields." msgstr "Wystąpił błąd podczas dodawania pól." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:269 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:218 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:243 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187 msgid "An error occurred while adding signers." msgstr "Wystąpił błąd podczas dodawania podpisujących." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:281 msgid "An error occurred while adding the fields." msgstr "Wystąpił błąd podczas dodawania pól." @@ -895,7 +895,7 @@ msgstr "Wystąpił błąd podczas dodawania pól." msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Wystąpił błąd podczas automatycznego podpisywania dokumentu, niektóre pola mogą nie być podpisane. Proszę sprawdzić i ręcznie podpisać wszystkie pozostałe pola." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:188 msgid "An error occurred while creating document from template." msgstr "Wystąpił błąd podczas tworzenia dokumentu z szablonu." @@ -903,7 +903,11 @@ msgstr "Wystąpił błąd podczas tworzenia dokumentu z szablonu." msgid "An error occurred while creating the webhook. Please try again." msgstr "Wystąpił błąd podczas tworzenia webhooka. Proszę spróbować ponownie." -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:124 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:63 +msgid "An error occurred while deleting the user." +msgstr "Wystąpił błąd podczas usuwania użytkownika." + +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:120 msgid "An error occurred while disabling direct link signing." msgstr "Wystąpił błąd podczas dezaktywacji podpisywania za pomocą linku bezpośredniego." @@ -911,18 +915,18 @@ msgstr "Wystąpił błąd podczas dezaktywacji podpisywania za pomocą linku bez msgid "An error occurred while disabling the user." msgstr "Wystąpił błąd podczas wyłączania użytkownika." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:64 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:92 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:107 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:70 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:98 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:77 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:101 msgid "An error occurred while downloading your document." msgstr "Wystąpił błąd podczas pobierania dokumentu." -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:52 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 msgid "An error occurred while duplicating template." msgstr "Wystąpił błąd podczas duplikowania szablonu." -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:123 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:119 msgid "An error occurred while enabling direct link signing." msgstr "Wystąpił błąd podczas aktywacji podpisywania za pomocą linku bezpośredniego." @@ -951,21 +955,21 @@ msgid "An error occurred while removing the field." msgstr "Wystąpił błąd podczas usuwania pola." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:154 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:110 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:148 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:115 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:153 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:196 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:129 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:194 msgid "An error occurred while removing the signature." msgstr "Wystąpił błąd podczas usuwania podpisu." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:197 msgid "An error occurred while removing the text." msgstr "Wystąpił błąd podczas usuwania tekstu." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:350 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:326 msgid "An error occurred while sending the document." msgstr "Wystąpił błąd podczas wysyłania dokumentu." @@ -974,15 +978,15 @@ msgid "An error occurred while sending your confirmation email" msgstr "Wystąpił błąd podczas wysyłania e-maila potwierdzającego" #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:125 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:127 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:151 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:168 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:169 msgid "An error occurred while signing the document." msgstr "Wystąpił błąd podczas podpisywania dokumentu." @@ -990,8 +994,8 @@ msgstr "Wystąpił błąd podczas podpisywania dokumentu." msgid "An error occurred while trying to create a checkout session." msgstr "Wystąpił błąd podczas próby utworzenia sesji zamówienia." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:235 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:187 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:210 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:156 msgid "An error occurred while updating the document settings." msgstr "Wystąpił błąd podczas aktualizowania ustawień dokumentu." @@ -1003,13 +1007,12 @@ msgstr "Wystąpił błąd podczas aktualizowania podpisu." msgid "An error occurred while updating your profile." msgstr "Wystąpił błąd podczas aktualizowania profilu." -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:118 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:108 msgid "An error occurred while uploading your document." msgstr "Wystąpił błąd podczas przesyłania dokumentu." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:66 -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:89 -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:65 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:58 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:81 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:55 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:54 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:301 @@ -1026,7 +1029,7 @@ msgstr "Wystąpił błąd podczas przesyłania dokumentu." #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:100 #: apps/web/src/components/(teams)/forms/update-team-form.tsx:93 #: apps/web/src/components/forms/avatar-image.tsx:94 -#: apps/web/src/components/forms/profile.tsx:87 +#: apps/web/src/components/forms/profile.tsx:79 #: apps/web/src/components/forms/public-profile-claim-dialog.tsx:113 #: apps/web/src/components/forms/public-profile-form.tsx:104 #: apps/web/src/components/forms/signin.tsx:249 @@ -1036,11 +1039,10 @@ msgstr "Wystąpił błąd podczas przesyłania dokumentu." #: apps/web/src/components/forms/signin.tsx:302 #: apps/web/src/components/forms/signup.tsx:124 #: apps/web/src/components/forms/signup.tsx:138 -#: apps/web/src/components/forms/token.tsx:143 #: apps/web/src/components/forms/v2/signup.tsx:187 #: apps/web/src/components/forms/v2/signup.tsx:201 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:141 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:178 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:140 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:176 msgid "An unknown error occurred" msgstr "Wystąpił nieznany błąd" @@ -1048,11 +1050,11 @@ msgstr "Wystąpił nieznany błąd" msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information." msgstr "Jakiekolwiek metody płatności przypisane do tego zespołu pozostaną przypisane do tego zespołu. Proszę skontaktować się z nami, jeśli potrzebujesz zaktualizować te informacje." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:221 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:219 msgid "Any Source" msgstr "Jakiekolwiek źródło" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:199 msgid "Any Status" msgstr "Jakikolwiek status" @@ -1070,16 +1072,16 @@ msgstr "Tokeny API" msgid "App Version" msgstr "Wersja aplikacji" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:140 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:143 #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" msgstr "Zatwierdź" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:142 -#: packages/email/template-components/template-document-invite.tsx:106 +#: packages/email/template-components/template-document-invite.tsx:105 msgid "Approve Document" msgstr "Zatwierdź dokument" @@ -1116,13 +1118,13 @@ msgstr "Czy na pewno chcesz usunąć klucz hasła <0>{passkeyName}." msgid "Are you sure you wish to delete this team?" msgstr "Czy na pewno chcesz usunąć ten zespół?" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:100 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:99 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:94 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:455 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:449 #: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:116 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:439 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:437 msgid "Are you sure?" msgstr "Czy na pewno?" @@ -1130,11 +1132,11 @@ msgstr "Czy na pewno?" msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." msgstr "Ponowne próby zapieczętowania dokumentu, przydatne po zmianie kodu w celu rozwiązania błędnego dokumentu." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:130 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136 msgid "Audit Log" msgstr "Dziennik logów" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:198 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:200 msgid "Authentication Level" msgstr "Poziom autoryzacji" @@ -1165,7 +1167,7 @@ msgstr "Powrót" msgid "Back to Documents" msgstr "Powrót do dokumentów" -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:146 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:137 msgid "Background Color" msgstr "Kolor tła" @@ -1178,7 +1180,7 @@ msgstr "Kod zapasowy" msgid "Backup codes" msgstr "Kody zapasowe" -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:74 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:73 msgid "Banner Updated" msgstr "Baner został zaktualizowany" @@ -1215,7 +1217,7 @@ msgstr "Preferencje dotyczące marki" msgid "Branding preferences updated" msgstr "Preferencje dotyczące marki zaktualizowane" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:97 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:96 #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48 msgid "Browser" msgstr "Przeglądarka" @@ -1228,6 +1230,23 @@ msgstr "Masowa kopia" msgid "Bulk Import" msgstr "Import zbiorczy" +#: packages/lib/jobs/definitions/internal/bulk-send-template.handler.ts:203 +msgid "Bulk Send Complete: {0}" +msgstr "Zakończono wysyłkę zbiorczą: {0}" + +#: packages/email/templates/bulk-send-complete.tsx:30 +msgid "Bulk send operation complete for template \"{templateName}\"" +msgstr "Zakończono operację masowej wysyłki dla szablonu \"{templateName}\"" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:128 +msgid "Bulk Send Template via CSV" +msgstr "Szablon masowej wysyłki przez CSV" + +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:97 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:120 +msgid "Bulk Send via CSV" +msgstr "Zbiorcza wysyłka przez CSV" + #: packages/email/templates/team-invite.tsx:84 msgid "by <0>{senderName}" msgstr "przez <0>{senderName}" @@ -1240,7 +1259,7 @@ msgstr "Akceptując tę prośbę, przyznasz <0>{teamName} dostęp do:" msgid "By accepting this request, you will take responsibility for any billing items associated with this team." msgstr "Akceptując tę prośbę, przejmiesz odpowiedzialność za wszelkie pozycje dotyczące rozliczeń związane z tym zespołem." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:158 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:157 msgid "By deleting this document, the following will occur:" msgstr "Usunięcie tego dokumentu spowoduje następujące:" @@ -1261,17 +1280,17 @@ msgid "By using the electronic signature feature, you are consenting to conduct msgstr "Korzystając z funkcji podpisu elektronicznego, wyrażasz zgodę na przeprowadzanie transakcji i otrzymywanie ujawnień elektronicznie. Przyjmujesz do wiadomości, że Twój podpis elektroniczny na dokumentach jest wiążący i akceptujesz warunki przedstawione w dokumentach, które podpisujesz." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:185 -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:192 -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:191 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:107 #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:109 -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:81 -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:76 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:77 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:131 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:466 #: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:220 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71 @@ -1279,12 +1298,12 @@ msgstr "Korzystając z funkcji podpisu elektronicznego, wyrażasz zgodę na prze #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:246 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:232 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:341 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:131 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:320 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:352 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242 @@ -1302,8 +1321,9 @@ msgstr "Korzystając z funkcji podpisu elektronicznego, wyrażasz zgodę na prze #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:187 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:257 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:163 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:450 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:357 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:448 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:263 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:323 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" msgstr "Anuluj" @@ -1333,7 +1353,7 @@ msgstr "CC'd" msgid "Ccers" msgstr "Kserokopie" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 msgid "Character Limit" msgstr "Limit znaków" @@ -1353,15 +1373,15 @@ msgstr "Wartości checkboxa" msgid "Checkout" msgstr "Kasa" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:271 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:266 msgid "Choose an existing recipient from below to continue" msgstr "Wybierz istniejącego odbiorcę, aby kontynuować" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:267 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:262 msgid "Choose Direct Link Recipient" msgstr "Wybierz odbiorcę bezpośredniego linku" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:158 msgid "Choose how the document will reach recipients" msgstr "Wybierz, jak dokument dotrze do odbiorców" @@ -1385,6 +1405,10 @@ msgstr "Zgłoś swój profil później" msgid "Claim your username now" msgstr "Zgłoś swoją nazwę użytkownika teraz" +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:537 +msgid "Clear file" +msgstr "Wyczyść plik" + #: packages/ui/primitives/data-table.tsx:156 msgid "Clear filters" msgstr "Wyczyść filtry" @@ -1393,13 +1417,13 @@ msgstr "Wyczyść filtry" msgid "Clear Signature" msgstr "Wyczyść podpis" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:130 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:125 msgid "Click here to get started" msgstr "Kliknij, aby rozpocząć" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:76 -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:66 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:113 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:64 #: apps/web/src/components/document/document-history-sheet.tsx:133 msgid "Click here to retry" msgstr "Kliknij tutaj, aby spróbować ponownie" @@ -1420,16 +1444,16 @@ msgstr "Kliknij, aby skopiować link podpisu do wysłania do odbiorcy" msgid "Click to insert field" msgstr "Kliknij, aby wstawić pole" -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:388 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:125 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:556 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 #: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:140 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:180 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:102 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:319 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:423 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:317 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:421 #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:44 msgid "Close" msgstr "Zamknij" @@ -1453,7 +1477,7 @@ msgstr "Zakończ podpisywanie" msgid "Complete Viewing" msgstr "Zakończ wyświetlanie" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:204 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:202 #: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:77 #: apps/web/src/components/formatter/document-status.tsx:28 #: packages/email/template-components/template-document-completed.tsx:35 @@ -1480,25 +1504,25 @@ msgstr "Zakończone dokumenty" msgid "Configure Direct Recipient" msgstr "Skonfiguruj bezpośredniego odbiorcę" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:167 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:143 msgid "Configure general settings for the document." msgstr "Skonfiguruj ogólne ustawienia dokumentu." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77 msgid "Configure general settings for the template." msgstr "Skonfiguruj ogólne ustawienia szablonu." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:337 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:335 msgid "Configure template" msgstr "Skonfiguruj szablon" #: packages/ui/primitives/document-flow/add-fields.tsx:586 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:416 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:491 msgid "Configure the {0} field" msgstr "Skonfiguruj pole {0}" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:481 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:460 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:475 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:458 msgid "Confirm" msgstr "Potwierdź" @@ -1536,7 +1560,7 @@ msgstr "Zgoda na transakcje elektroniczne" msgid "Contact Information" msgstr "Informacje kontaktowe" -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:180 msgid "Content" msgstr "Treść" @@ -1546,12 +1570,12 @@ msgstr "Treść" #: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:143 #: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:72 #: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:122 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:328 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:326 #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" msgstr "Kontynuuj" -#: packages/email/template-components/template-document-invite.tsx:86 +#: packages/email/template-components/template-document-invite.tsx:85 msgid "Continue by approving the document." msgstr "Kontynuuj, zatwierdzając dokument." @@ -1559,11 +1583,11 @@ msgstr "Kontynuuj, zatwierdzając dokument." msgid "Continue by downloading the document." msgstr "Kontynuuj, pobierając dokument." -#: packages/email/template-components/template-document-invite.tsx:84 +#: packages/email/template-components/template-document-invite.tsx:83 msgid "Continue by signing the document." msgstr "Kontynuuj, podpisując dokument." -#: packages/email/template-components/template-document-invite.tsx:85 +#: packages/email/template-components/template-document-invite.tsx:84 msgid "Continue by viewing the document." msgstr "Kontynuuj, wyświetlając dokument." @@ -1597,9 +1621,9 @@ msgid "Copied" msgstr "Skopiowano" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:162 -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:77 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:72 #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:31 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:163 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:159 #: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:40 #: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:61 #: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:117 @@ -1618,11 +1642,11 @@ msgstr "Kopiuj" msgid "Copy Link" msgstr "Skopiuj link" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164 msgid "Copy sharable link" msgstr "Kopiuj udostępnianą link" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:397 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:391 msgid "Copy Shareable Link" msgstr "Kopiuj udostępniany link" @@ -1657,15 +1681,15 @@ msgstr "Utwórz zespół, aby współpracować z członkami zespołu." msgid "Create account" msgstr "Utwórz konto" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:396 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:564 msgid "Create and send" msgstr "Utwórz i wyślij" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:394 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:562 msgid "Create as draft" msgstr "Utwórz jako szkic" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:354 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:365 msgid "Create as pending" msgstr "Utwórz jako oczekujące" @@ -1673,11 +1697,11 @@ msgstr "Utwórz jako oczekujące" msgid "Create Direct Link" msgstr "Utwórz bezpośredni link" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:202 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:197 msgid "Create Direct Signing Link" msgstr "Utwórz bezpośredni link do podpisu" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:214 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:226 msgid "Create document from template" msgstr "Utwórz dokument z szablonu" @@ -1685,11 +1709,11 @@ msgstr "Utwórz dokument z szablonu" msgid "Create now" msgstr "Utwórz teraz" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:352 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:346 msgid "Create one automatically" msgstr "Utwórz jeden automatycznie" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:398 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:566 msgid "Create signing links" msgstr "Utwórz linki do podpisania" @@ -1704,7 +1728,7 @@ msgstr "Utwórz zespół" msgid "Create Team" msgstr "Utwórz zespół" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:361 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:372 msgid "Create the document as pending and ready to sign." msgstr "Utwórz dokument jako oczekujący i gotowy do podpisania." @@ -1730,19 +1754,19 @@ msgid "Create your account and start using state-of-the-art document signing. Op msgstr "Utwórz swoje konto i zacznij korzystać z nowoczesnego podpisywania dokumentów. Otwarty i piękny podpis jest w zasięgu ręki." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:62 -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:96 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:112 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:36 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:48 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:105 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:103 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:35 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:274 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:272 msgid "Created" msgstr "Utworzono" #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:35 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:111 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:112 msgid "Created At" msgstr "Utworzono w" @@ -1762,6 +1786,10 @@ msgstr "Utworzone w" msgid "Created on {0}" msgstr "Utworzono {0}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:143 +msgid "CSV Structure" +msgstr "Struktura CSV" + #: apps/web/src/components/forms/password.tsx:112 msgid "Current Password" msgstr "Obecne hasło" @@ -1770,6 +1798,10 @@ msgstr "Obecne hasło" msgid "Current password is incorrect." msgstr "Aktualne hasło jest niepoprawne." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:154 +msgid "Current recipients:" +msgstr "Aktualni odbiorcy:" + #: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:28 msgid "Daily" msgstr "Codziennie" @@ -1778,11 +1810,11 @@ msgstr "Codziennie" msgid "Dark Mode" msgstr "Tryb ciemny" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:68 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:67 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:153 #: packages/ui/primitives/document-flow/add-fields.tsx:945 #: packages/ui/primitives/document-flow/types.ts:53 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:732 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:810 msgid "Date" msgstr "Data" @@ -1791,7 +1823,7 @@ msgid "Date created" msgstr "Data utworzenia" #: packages/ui/primitives/document-flow/add-settings.tsx:325 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:408 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:454 msgid "Date Format" msgstr "Format daty" @@ -1812,19 +1844,19 @@ msgstr "Domyślny język dokumentu" msgid "Default Document Visibility" msgstr "Domyślna widoczność dokumentu" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:50 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:49 msgid "delete" msgstr "usuń" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189 -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:150 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:177 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:107 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:85 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121 @@ -1843,25 +1875,25 @@ msgstr "usuń {0}" msgid "delete {teamName}" msgstr "usuń {teamName}" -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:136 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:133 msgid "Delete account" msgstr "Usuń konto" -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:97 -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:104 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:94 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:101 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:72 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:86 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:93 msgid "Delete Account" msgstr "Usuń konto" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:135 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:125 msgid "Delete document" msgstr "Usuń dokument" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:85 -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:98 -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:105 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:75 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:88 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:95 msgid "Delete Document" msgstr "Usuń dokument" @@ -1878,11 +1910,11 @@ msgstr "Usuń zespół" msgid "Delete team member" msgstr "Usuń członka zespołu" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:88 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:78 msgid "Delete the document. This action is irreversible so proceed with caution." msgstr "Usuń dokument. Działanie to jest nieodwracalne, więc działaj ostrożnie." -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:86 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:83 msgid "Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution." msgstr "Usuń konto użytkownika i wszystkie jego treści. Działanie to jest nieodwracalne i anuluję subskrypcję, więc działaj ostrożnie." @@ -1895,7 +1927,7 @@ msgid "Delete your account and all its contents, including completed documents. msgstr "Usuń swoje konto i wszystkie jego treści, w tym zakończone dokumenty. Działanie to jest nieodwracalne i anuluję twoją subskrypcję, więc działaj ostrożnie." #: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:98 msgid "Deleted" msgstr "Usunięto" @@ -1903,12 +1935,12 @@ msgstr "Usunięto" msgid "Deleting account..." msgstr "Usuwanie konta..." -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:180 msgid "Details" msgstr "Szczegóły" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:73 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:242 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:72 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:244 msgid "Device" msgstr "Urządzenie" @@ -1922,12 +1954,12 @@ msgid "direct link" msgstr "link bezpośredni" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:81 msgid "Direct link" msgstr "Link bezpośredni" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:156 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:227 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:154 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225 msgid "Direct Link" msgstr "Bezpośredni link" @@ -1939,15 +1971,15 @@ msgstr "link bezpośredni wyłączony" msgid "Direct link receiver" msgstr "Odbiorca linku bezpośredniego" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:363 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:357 msgid "Direct Link Signing" msgstr "Podpisywanie bezpośrednim linkiem" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:115 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:111 msgid "Direct link signing has been disabled" msgstr "Podpisywanie bezpośrednim linkiem zostało wyłączone" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:114 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:110 msgid "Direct link signing has been enabled" msgstr "Podpisywanie za pomocą linku bezpośredniego zostało włączone" @@ -1955,15 +1987,15 @@ msgstr "Podpisywanie za pomocą linku bezpośredniego zostało włączone" msgid "Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page." msgstr "Szablony linków bezpośrednich zawierają jedno dynamiczne miejsce odbiorcy. Każdy, kto ma dostęp do tego linku, może podpisać dokument, a następnie pojawi się on na stronie twoich dokumentów." -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:142 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:138 msgid "Direct template link deleted" msgstr "Link szablonu bezpośredniego usunięty" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:228 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:223 msgid "Direct template link usage exceeded ({0}/{1})" msgstr "Przekroczono użycie linku szablonu bezpośredniego ({0}/{1})" -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:417 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:415 msgid "Disable" msgstr "Wyłącz" @@ -1991,7 +2023,7 @@ msgstr "Wyłącz dwuskładnikowe uwierzytelnianie przed usunięciem konta." msgid "Disabled" msgstr "Wyłączone" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:380 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:374 msgid "Disabling direct link signing will prevent anyone from accessing the link." msgstr "Wyłączenie podpisywania za pomocą linku bezpośredniego uniemożliwi dostęp do linku." @@ -2003,15 +2035,15 @@ msgstr "Wyłączenie użytkownika uniemożliwia korzystanie z konta oraz dezakty msgid "Display your name and email in documents" msgstr "Wyświetl swoją nazwę i adres e-mail w dokumentach" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:157 msgid "Distribute Document" msgstr "Rozprowadź dokument" -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:58 msgid "Do you want to delete this template?" msgstr "Czy chcesz usunąć ten szablon?" -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:63 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:62 msgid "Do you want to duplicate this template?" msgstr "Czy chcesz zduplikować ten szablon?" @@ -2034,11 +2066,11 @@ msgstr "Dokument \"{0}\" - Odrzucenie potwierdzone" #: packages/ui/components/document/document-global-auth-access-select.tsx:62 #: packages/ui/primitives/document-flow/add-settings.tsx:227 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:202 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:224 msgid "Document access" msgstr "Dostęp do dokumentu" -#: packages/lib/utils/document-audit-logs.ts:306 +#: packages/lib/utils/document-audit-logs.ts:322 msgid "Document access auth updated" msgstr "Zaktualizowano autoryzację dostępu do dokumentu" @@ -2051,14 +2083,14 @@ msgid "Document Approved" msgstr "Dokument zatwierdzony" #: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40 -#: packages/lib/server-only/document/delete-document.ts:246 -#: packages/lib/server-only/document/super-delete-document.ts:98 +#: packages/lib/server-only/document/delete-document.ts:263 +#: packages/lib/server-only/document/super-delete-document.ts:101 msgid "Document Cancelled" msgstr "Dokument anulowany" #: apps/web/src/components/formatter/document-status.tsx:29 -#: packages/lib/utils/document-audit-logs.ts:369 -#: packages/lib/utils/document-audit-logs.ts:370 +#: packages/lib/utils/document-audit-logs.ts:385 +#: packages/lib/utils/document-audit-logs.ts:386 msgid "Document completed" msgstr "Dokument ukończony" @@ -2071,21 +2103,21 @@ msgstr "E-mail ukończonego dokumentu" msgid "Document Completed!" msgstr "Dokument Zakończony!" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:156 -#: packages/lib/utils/document-audit-logs.ts:286 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:168 +#: packages/lib/utils/document-audit-logs.ts:302 msgid "Document created" msgstr "Dokument utworzony" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:127 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:125 msgid "Document created by <0>{0}" msgstr "Dokument utworzony przez <0>{0}" #: packages/email/templates/document-created-from-direct-template.tsx:32 -#: packages/lib/server-only/template/create-document-from-direct-template.ts:585 +#: packages/lib/server-only/template/create-document-from-direct-template.ts:588 msgid "Document created from direct template" msgstr "Dokument utworzony z bezpośredniego szablonu" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:132 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:130 msgid "Document created using a <0>direct link" msgstr "Dokument utworzony za pomocą <0>bezpośredniego linku" @@ -2093,10 +2125,10 @@ msgstr "Dokument utworzony za pomocą <0>bezpośredniego linku" msgid "Document Creation" msgstr "Tworzenie dokumentu" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:181 -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61 -#: packages/lib/utils/document-audit-logs.ts:290 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:50 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:182 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:60 +#: packages/lib/utils/document-audit-logs.ts:306 msgid "Document deleted" msgstr "Dokument usunięty" @@ -2104,12 +2136,12 @@ msgstr "Dokument usunięty" msgid "Document deleted email" msgstr "E-mail usuniętego dokumentu" -#: packages/lib/server-only/document/send-delete-email.ts:82 +#: packages/lib/server-only/document/send-delete-email.ts:85 msgid "Document Deleted!" msgstr "Dokument usunięty!" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:219 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:228 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:265 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:274 msgid "Document Distribution Method" msgstr "Metoda dystrybucji dokumentu" @@ -2117,21 +2149,21 @@ msgstr "Metoda dystrybucji dokumentu" msgid "Document draft" msgstr "Szkic dokumentu" -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:58 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:57 msgid "Document Duplicated" msgstr "Dokument zduplikowany" -#: packages/lib/utils/document-audit-logs.ts:326 +#: packages/lib/utils/document-audit-logs.ts:342 msgid "Document external ID updated" msgstr "Zaktualizowane ID zewnętrzne dokumentu" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:192 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:193 #: apps/web/src/components/document/document-history-sheet.tsx:104 msgid "Document history" msgstr "Historia dokumentu" #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:71 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:81 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:82 msgid "Document ID" msgstr "Identyfikator dokumentu" @@ -2151,7 +2183,7 @@ msgstr "Metryki dokumentów" msgid "Document moved" msgstr "Dokument przeniesiony" -#: packages/lib/utils/document-audit-logs.ts:334 +#: packages/lib/utils/document-audit-logs.ts:350 msgid "Document moved to team" msgstr "Dokument przeniesiony do zespołu" @@ -2159,7 +2191,7 @@ msgstr "Dokument przeniesiony do zespołu" msgid "Document no longer available to sign" msgstr "Dokument nie jest już dostępny do podpisania" -#: packages/lib/utils/document-audit-logs.ts:318 +#: packages/lib/utils/document-audit-logs.ts:334 msgid "Document opened" msgstr "Dokument otwarty" @@ -2188,8 +2220,8 @@ msgstr "Dokument odrzucone" msgid "Document resealed" msgstr "Dokument ponownie zaplombowany" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:327 -#: packages/lib/utils/document-audit-logs.ts:330 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303 +#: packages/lib/utils/document-audit-logs.ts:346 msgid "Document sent" msgstr "Dokument wysłany" @@ -2197,11 +2229,11 @@ msgstr "Dokument wysłany" msgid "Document Signed" msgstr "Dokument podpisany" -#: packages/lib/utils/document-audit-logs.ts:310 +#: packages/lib/utils/document-audit-logs.ts:326 msgid "Document signing auth updated" msgstr "Zaktualizowano autoryzację podpisu dokumentu" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:144 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:143 msgid "Document signing process will be cancelled" msgstr "Proces podpisywania dokumentu zostanie anulowany" @@ -2213,11 +2245,11 @@ msgstr "Status dokumentu" msgid "Document title" msgstr "Tytuł dokumentu" -#: packages/lib/utils/document-audit-logs.ts:322 +#: packages/lib/utils/document-audit-logs.ts:338 msgid "Document title updated" msgstr "Zaktualizowano tytuł dokumentu" -#: packages/lib/utils/document-audit-logs.ts:314 +#: packages/lib/utils/document-audit-logs.ts:330 msgid "Document updated" msgstr "Zaktualizowano dokument" @@ -2225,7 +2257,7 @@ msgstr "Zaktualizowano dokument" msgid "Document upload disabled due to unpaid invoices" msgstr "Przesyłanie dokumentu wyłączone z powodu nieopłaconych faktur" -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:86 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:85 msgid "Document uploaded" msgstr "Przesłano dokument" @@ -2233,17 +2265,17 @@ msgstr "Przesłano dokument" msgid "Document Viewed" msgstr "Dokument został wyświetlony" -#: packages/lib/utils/document-audit-logs.ts:302 +#: packages/lib/utils/document-audit-logs.ts:318 msgid "Document visibility updated" msgstr "Zaktualizowano widoczność dokumentu" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:141 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:140 msgid "Document will be permanently deleted" msgstr "Dokument zostanie trwale usunięty" #: apps/web/src/app/(dashboard)/admin/nav.tsx:65 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:144 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:145 #: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:109 #: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16 #: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:15 @@ -2257,7 +2289,7 @@ msgstr "Dokument zostanie trwale usunięty" msgid "Documents" msgstr "Dokumenty" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:200 msgid "Documents created from template" msgstr "Dokumenty utworzone z szablonu" @@ -2274,10 +2306,10 @@ msgstr "Wyświetlone dokumenty" msgid "Don't have an account? <0>Sign up" msgstr "Nie masz konta? <0>Zarejestruj się" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:117 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:129 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:142 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107 @@ -2286,7 +2318,7 @@ msgstr "Nie masz konta? <0>Zarejestruj się" msgid "Download" msgstr "Pobierz" -#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:81 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:77 msgid "Download Audit Logs" msgstr "Pobierz dziennik logów" @@ -2294,7 +2326,11 @@ msgstr "Pobierz dziennik logów" msgid "Download Certificate" msgstr "Pobierz certyfikat" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:210 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:168 +msgid "Download Template CSV" +msgstr "Pobierz szablon CSV" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208 #: apps/web/src/components/formatter/document-status.tsx:34 #: packages/lib/constants/document.ts:13 msgid "Draft" @@ -2313,7 +2349,7 @@ msgid "Drag & drop your PDF here." msgstr "Przeciągnij i upuść swój PDF tutaj." #: packages/ui/primitives/document-flow/add-fields.tsx:1076 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:863 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:941 msgid "Dropdown" msgstr "Lista rozwijana" @@ -2325,28 +2361,28 @@ msgstr "Opcje rozwijane" msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "Z powodu nieopłaconej faktury Twój zespół został ograniczony. Proszę uregulować płatność, aby przywrócić pełny dostęp do zespołu." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:136 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167 -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85 -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:142 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:161 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:84 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:117 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:89 msgid "Duplicate" msgstr "Zduplikuj" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:104 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:115 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:102 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:156 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:110 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:121 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:103 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:67 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Edytuj" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:120 msgid "Edit Template" msgstr "Edytuj szablon" @@ -2366,18 +2402,18 @@ msgstr "Ujawnienie podpisu elektronicznego" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:116 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:265 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:272 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:284 #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:122 #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:129 -#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:119 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:131 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:407 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:287 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 -#: apps/web/src/components/forms/profile.tsx:122 +#: apps/web/src/components/forms/profile.tsx:113 #: apps/web/src/components/forms/signin.tsx:339 #: apps/web/src/components/forms/signup.tsx:176 #: packages/lib/constants/document.ts:28 @@ -2385,7 +2421,7 @@ msgstr "Ujawnienie podpisu elektronicznego" #: packages/ui/primitives/document-flow/add-signers.tsx:511 #: packages/ui/primitives/document-flow/add-signers.tsx:518 #: packages/ui/primitives/document-flow/types.ts:54 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:680 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:477 msgid "Email" @@ -2401,7 +2437,7 @@ msgstr "Adres e-mail" msgid "Email Address" msgstr "Adres e-mail" -#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:81 msgid "Email cannot already exist in the template" msgstr "E-mail nie może już istnieć w szablonie" @@ -2409,15 +2445,15 @@ msgstr "E-mail nie może już istnieć w szablonie" msgid "Email Confirmed!" msgstr "E-mail potwierdzony!" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:307 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:353 msgid "Email Options" msgstr "Opcje e-mail" -#: packages/lib/utils/document-audit-logs.ts:363 +#: packages/lib/utils/document-audit-logs.ts:379 msgid "Email resent" msgstr "E-mail wysłany ponownie" -#: packages/lib/utils/document-audit-logs.ts:363 +#: packages/lib/utils/document-audit-logs.ts:379 msgid "Email sent" msgstr "E-mail wysłany" @@ -2459,11 +2495,11 @@ msgstr "Włącz aplikację uwierzytelniającą" msgid "Enable custom branding for all documents in this team." msgstr "Włącz niestandardowe brandowanie dla wszystkich dokumentów w tym zespole." -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:246 msgid "Enable direct link signing" msgstr "Włącz podpisywanie za pomocą bezpośredniego linku" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:374 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:368 #: packages/lib/constants/template.ts:8 msgid "Enable Direct Link Signing" msgstr "Włącz podpisywanie linku bezpośredniego" @@ -2478,11 +2514,11 @@ msgid "Enable Typed Signature" msgstr "Włącz podpis pisany" #: packages/ui/primitives/document-flow/add-fields.tsx:813 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:600 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:678 msgid "Enable Typed Signatures" msgstr "Włącz podpisy typu pisanego" -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:123 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:114 #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:138 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:74 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:142 @@ -2495,7 +2531,7 @@ msgstr "Włączone" msgid "Enabling the account results in the user being able to use the account again, and all the related features such as webhooks, teams, and API keys for example." msgstr "Włączenie konta pozwala użytkownikowi na ponowne korzystanie z niego oraz przywraca wszystkie powiązane funkcje, takie jak webhooki, zespoły i klucze API." -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:87 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:88 msgid "Enclosed Document" msgstr "Załączony dokument" @@ -2515,7 +2551,7 @@ msgstr "Wprowadź szczegóły swojej marki" msgid "Enter your email" msgstr "Wprowadź swój adres e-mail" -#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:135 +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:136 msgid "Enter your email address to receive the completed document." msgstr "Wprowadź swój adres e-mail, aby otrzymać ukończony dokument." @@ -2523,53 +2559,53 @@ msgstr "Wprowadź swój adres e-mail, aby otrzymać ukończony dokument." msgid "Enter your name" msgstr "Wprowadź swoje imię" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:293 msgid "Enter your text here" msgstr "Wprowadź swój tekst tutaj" #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:66 #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:60 #: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:60 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:80 -#: 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/[id]/edit-document.tsx:209 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:242 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:280 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:325 #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:111 -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:117 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:155 #: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:186 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217 -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:256 -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:226 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:50 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:68 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:187 #: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:124 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:153 #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:214 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:99 -#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:125 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:104 +#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:130 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:105 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 -#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:88 +#: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:114 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:194 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:126 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:152 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:101 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:128 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:133 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:167 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:193 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:167 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:195 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:168 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:196 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:54 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:101 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:258 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:224 #: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Błąd" @@ -2600,7 +2636,7 @@ msgid "Expires on {0}" msgstr "Wygasa {0}" #: packages/ui/primitives/document-flow/add-settings.tsx:295 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:378 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:424 msgid "External ID" msgstr "Zewnętrzny ID" @@ -2608,7 +2644,7 @@ msgstr "Zewnętrzny ID" msgid "Failed to reseal document" msgstr "Nie udało się ponownie zaplombować dokumentu" -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:259 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:225 msgid "Failed to save settings." msgstr "Nie udało się zapisać ustawień." @@ -2621,16 +2657,20 @@ msgstr "Nie udało się zaktualizować odbiorcy" msgid "Failed to update webhook" msgstr "Nie udało się zaktualizować webhooku" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:93 +#: packages/email/templates/bulk-send-complete.tsx:55 +msgid "Failed: {failedCount}" +msgstr "Niepowodzenia: {failedCount}" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:100 msgid "Field character limit" msgstr "Limit znaków pola" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:62 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:44 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:44 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:69 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:51 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:46 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:51 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:130 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:107 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:114 msgid "Field font size" msgstr "Rozmiar czcionki pola" @@ -2638,19 +2678,19 @@ msgstr "Rozmiar czcionki pola" msgid "Field format" msgstr "Format pola" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:53 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 msgid "Field label" msgstr "Etykieta pola" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:65 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:72 msgid "Field placeholder" msgstr "Zastępczy tekst pola" -#: packages/lib/utils/document-audit-logs.ts:294 +#: packages/lib/utils/document-audit-logs.ts:310 msgid "Field signed" msgstr "Pole podpisane" -#: packages/lib/utils/document-audit-logs.ts:298 +#: packages/lib/utils/document-audit-logs.ts:314 msgid "Field unsigned" msgstr "Pole niepodpisane" @@ -2658,16 +2698,20 @@ msgstr "Pole niepodpisane" msgid "Fields" msgstr "Pola" -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:130 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:124 msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgstr "Plik nie może mieć większej wielkości niż {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:56 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:38 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:38 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:513 +msgid "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" +msgstr "Rozmiar pliku przekracza limit {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:63 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:45 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:40 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:45 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:124 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:101 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:108 msgid "Font Size" msgstr "Rozmiar czcionki" @@ -2675,6 +2719,10 @@ msgstr "Rozmiar czcionki" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "W przypadku jakichkolwiek pytań dotyczących tego ujawnienia, podpisów elektronicznych lub jakiegokolwiek powiązanego procesu, prosimy o kontakt z nami pod adresem: <0>{SUPPORT_EMAIL}" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:147 +msgid "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." +msgstr "Dla każdego odbiorcy podaj jego email (wymagany) i nazwę (opcjonalnie) w oddzielnych kolumnach. Pobierz poniżej szablon CSV dla właściwego formatu." + #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" msgstr "Zapomniałeś hasła?" @@ -2691,16 +2739,16 @@ msgstr "Podpis wolny" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:330 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:191 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:210 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:272 -#: apps/web/src/components/forms/profile.tsx:110 +#: apps/web/src/components/forms/profile.tsx:101 #: apps/web/src/components/forms/v2/signup.tsx:316 msgid "Full Name" msgstr "Imię i nazwisko" -#: 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/(dashboard)/documents/[id]/edit-document.tsx:142 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:76 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:62 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:44 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:52 @@ -2776,7 +2824,7 @@ msgstr "Tutaj możesz ustawić preferencje i domyślne ustawienia dla brandowani msgid "Here you can set preferences and defaults for your team." msgstr "Tutaj możesz ustawić preferencje i domyślne ustawienia dla swojego zespołu." -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:201 msgid "Here's how it works:" msgstr "Oto jak to działa:" @@ -2784,13 +2832,17 @@ msgstr "Oto jak to działa:" msgid "Hey I’m Timur" msgstr "Cześć, jestem Timur" +#: packages/email/templates/bulk-send-complete.tsx:36 +msgid "Hi {userName}," +msgstr "Cześć, {userName}," + #: packages/email/templates/reset-password.tsx:56 msgid "Hi, {userName} <0>({userEmail})" msgstr "Cześć, {userName} <0>({userEmail})" -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189 -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202 -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:183 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:201 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:154 msgid "Hide" msgstr "Ukryj" @@ -2851,8 +2903,8 @@ msgstr "Skrzynka odbiorcza dokumentów" msgid "Include the Signing Certificate in the Document" msgstr "Dołącz certyfikat podpisu do dokumentu" -#: 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 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:54 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:51 msgid "Information" msgstr "Informacje" @@ -2882,10 +2934,6 @@ msgstr "Nieprawidłowy kod. Proszę spróbuj ponownie." msgid "Invalid email" msgstr "Nieprawidłowy email" -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:105 -msgid "Invalid file" -msgstr "Plik jest nieprawidłowy" - #: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:33 #: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:36 msgid "Invalid link" @@ -2908,11 +2956,11 @@ msgstr "Zaproszenie zaakceptowane!" msgid "Invitation declined" msgstr "Zaproszenie odrzucone" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:78 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:77 msgid "Invitation has been deleted" msgstr "Zaproszenie zostało usunięte" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:61 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:60 msgid "Invitation has been resent" msgstr "Zaproszenie zostało ponownie wysłane" @@ -2932,7 +2980,7 @@ msgstr "Zaproś członków" msgid "Invite team members" msgstr "Zaproś członków zespołu" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:126 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:125 msgid "Invited At" msgstr "Zaproś o" @@ -2941,7 +2989,7 @@ msgid "Invoice" msgstr "Faktura" #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:47 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:235 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237 msgid "IP Address" msgstr "Adres IP" @@ -2975,13 +3023,13 @@ msgstr "Dołącz do {teamName} na Documenso" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:55 msgid "Label" msgstr "Etykieta" #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:286 #: packages/ui/primitives/document-flow/add-settings.tsx:187 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:162 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Language" msgstr "Język" @@ -2997,8 +3045,8 @@ msgstr "Ostatnie 30 dni" msgid "Last 7 days" msgstr "Ostatnie 7 dni" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:42 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:39 msgid "Last modified" msgstr "Ostatnia modyfikacja" @@ -3006,7 +3054,7 @@ msgstr "Ostatnia modyfikacja" msgid "Last updated" msgstr "Zaktualizowano" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:121 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:122 msgid "Last Updated" msgstr "Zaktualizowano" @@ -3048,11 +3096,11 @@ msgstr "Czy chcesz mieć własny publiczny profil z umowami?" msgid "Link expires in 1 hour." msgstr "Link wygasa za 1 godzinę." -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:216 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:215 msgid "Link template" msgstr "Szablon linku" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:314 msgid "Links Generated" msgstr "Wygenerowane linki" @@ -3073,7 +3121,7 @@ msgstr "Ładowanie dokumentu..." #: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:20 #: apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx:19 -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:91 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:90 msgid "Loading Document..." msgstr "Ładowanie dokumentu..." @@ -3104,7 +3152,7 @@ msgstr "Zarządzaj profilem {0}" msgid "Manage all teams you are currently associated with." msgstr "Zarządzaj wszystkimi zespołami, z którymi jesteś obecnie związany." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:164 msgid "Manage and view template" msgstr "Zarządzaj i przeglądaj szablon" @@ -3112,7 +3160,7 @@ msgstr "Zarządzaj i przeglądaj szablon" msgid "Manage billing" msgstr "Zarządzaj fakturowaniem" -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:339 msgid "Manage details for this public template" msgstr "Zarządzaj szczegółami tego publicznego szablonu" @@ -3148,7 +3196,7 @@ msgstr "Zarządzaj subskrypcją zespołu." msgid "Manage teams" msgstr "Zarządzaj zespołami" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:367 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:361 msgid "Manage the direct link signing for this template" msgstr "Zarządzaj podpisywaniem bezpośredniego linku dla tego szablonu" @@ -3184,10 +3232,14 @@ msgstr "MAU (utworzony dokument)" msgid "MAU (had document completed)" msgstr "MAU (zakończony dokument)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:209 msgid "Max" msgstr "Max" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:227 +msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." +msgstr "Maksymalny rozmiar pliku: 4MB. Maksymalnie 100 wierszy na przesyłkę. Puste wartości zostaną zastąpione domyślnymi z szablonu." + #: packages/lib/constants/teams.ts:12 msgid "Member" msgstr "Członek" @@ -3204,11 +3256,11 @@ msgid "Members" msgstr "Członkowie" #: packages/ui/primitives/document-flow/add-subject.tsx:160 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:338 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:384 msgid "Message <0>(Optional)" msgstr "Wiadomość <0>(Opcjonalnie)" -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:176 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:197 msgid "Min" msgstr "Min" @@ -3243,8 +3295,8 @@ msgstr "Przenieś dokument do zespołu" msgid "Move Template to Team" msgstr "Przenieś szablon do zespołu" -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:168 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:87 msgid "Move to Team" msgstr "Przenieś do zespołu" @@ -3263,10 +3315,10 @@ msgstr "Moje szablony" #: 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:59 -#: 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/(dashboard)/templates/use-template-dialog.tsx:299 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:306 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:118 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:175 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:141 #: apps/web/src/components/forms/signup.tsx:160 @@ -3274,7 +3326,7 @@ msgstr "Moje szablony" #: packages/ui/primitives/document-flow/add-signers.tsx:549 #: packages/ui/primitives/document-flow/add-signers.tsx:555 #: packages/ui/primitives/document-flow/types.ts:55 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:505 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:511 msgid "Name" @@ -3308,8 +3360,8 @@ msgstr "Nigdy nie wygasa" msgid "New team owner" msgstr "Nowy właściciel zespołu" -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:96 -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:103 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:95 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:102 msgid "New Template" msgstr "Nowy szablon" @@ -3335,7 +3387,7 @@ msgstr "Nie są wymagane żadne dalsze działania z Twojej strony w tym momencie msgid "No payment required" msgstr "Brak wymaganej płatności" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:125 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:120 msgid "No public profile templates found" msgstr "Nie znaleziono szablonów profilu publicznego" @@ -3343,12 +3395,12 @@ msgstr "Nie znaleziono szablonów profilu publicznego" msgid "No recent activity" msgstr "Brak ostatnich aktywności" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:101 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:99 msgid "No recent documents" msgstr "Brak ostatnich dokumentów" #: packages/ui/primitives/document-flow/add-fields.tsx:705 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:520 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:598 msgid "No recipient matching this description was found." msgstr "Nie znaleziono odbiorcy pasującego do tego opisu." @@ -3360,7 +3412,7 @@ msgid "No recipients" msgstr "Brak odbiorców" #: packages/ui/primitives/document-flow/add-fields.tsx:720 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:535 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:613 msgid "No recipients with this role" msgstr "Brak odbiorców z tą rolą" @@ -3387,11 +3439,11 @@ msgstr "Nie znaleziono pola podpisu" msgid "No token provided" msgstr "Nie podano tokena" -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:284 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:282 msgid "No valid direct templates found" msgstr "Nie znaleziono ważnych szablonów bezpośrednich" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:293 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:288 msgid "No valid recipients found" msgstr "Nie znaleziono ważnych odbiorców" @@ -3419,10 +3471,10 @@ msgstr "Nieobsługiwane" msgid "Nothing to do" msgstr "Nic do zrobienia" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:284 #: packages/ui/primitives/document-flow/add-fields.tsx:997 #: packages/ui/primitives/document-flow/types.ts:56 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:784 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:862 msgid "Number" msgstr "Numer" @@ -3464,7 +3516,7 @@ msgstr "Na tej stronie możesz utworzyć nowe webhooki i zarządzać istniejący msgid "On this page, you can edit the webhook and its settings." msgstr "Na tej stronie możesz edytować webhook i jego ustawienia." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:136 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:135 msgid "Once confirmed, the following will occur:" msgstr "Po potwierdzeniu, nastąpi:" @@ -3504,7 +3556,7 @@ msgstr "Ups! Coś poszło nie tak." msgid "Opened" msgstr "Otwarto" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:337 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:332 #: apps/web/src/components/forms/signup.tsx:239 #: apps/web/src/components/forms/signup.tsx:263 #: apps/web/src/components/forms/v2/signup.tsx:387 @@ -3515,12 +3567,12 @@ msgstr "Lub" msgid "Or continue with" msgstr "Lub kontynuuj z" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:340 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351 msgid "Otherwise, the document will be created as a draft." msgstr "W przeciwnym razie dokument zostanie utworzony jako wersja robocza." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:103 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:104 #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81 #: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:84 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:107 @@ -3629,7 +3681,7 @@ msgid "Payment overdue" msgstr "Płatność zaległa" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:131 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:207 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205 #: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:82 #: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:77 #: apps/web/src/components/document/document-read-only-fields.tsx:89 @@ -3680,11 +3732,11 @@ msgstr "Wybierz dowolną z poniższych umów i zacznij podpisywanie, aby rozpocz #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:79 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:84 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:60 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:67 msgid "Placeholder" msgstr "Zastępczy tekst" -#: packages/email/template-components/template-document-invite.tsx:56 +#: packages/email/template-components/template-document-invite.tsx:55 msgid "Please {0} your document<0/>\"{documentName}\"" msgstr "Proszę {0} Twój dokument<0/>\"{documentName}\"" @@ -3724,7 +3776,7 @@ msgstr "Proszę potwierdzić swój email" msgid "Please confirm your email address" msgstr "Proszę potwierdzić swój adres email" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:176 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:175 msgid "Please contact support if you would like to revert this action." msgstr "Proszę skontaktować się z pomocą techniczną, jeśli chcesz cofnąć tę akcję." @@ -3741,19 +3793,19 @@ msgstr "Proszę wpisać poprawną nazwę." msgid "Please mark as viewed to complete" msgstr "Proszę zaznaczyć jako obejrzane, aby zakończyć" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:459 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:453 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Proszę zauważyć, że kontynuowanie usunie bezpośrednio łączącego odbiorcę i zamieni go w symbol zastępczy." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:130 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:129 msgid "Please note that this action is <0>irreversible." msgstr "Proszę zauważyć, że ta czynność jest <0>nieodwracalna." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:121 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:120 msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Proszę pamiętać, że ta czynność jest <0>nieodwracalna. Po potwierdzeniu, ten dokument zostanie trwale usunięty." -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:67 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:62 msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." msgstr "Proszę pamiętać, że ta czynność jest nieodwracalna. Po potwierdzeniu, Twój szablon zostanie trwale usunięty." @@ -3785,6 +3837,10 @@ msgstr "Proszę podać token z Twojego uwierzytelniacza lub kod zapasowy." msgid "Please review the document before signing." msgstr "Proszę przejrzeć dokument przed podpisaniem." +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:503 +msgid "Please select a PDF file" +msgstr "Proszę wybrać plik PDF" + #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." msgstr "Spróbuj ponownie i upewnij się, że wprowadzasz poprawny adres email." @@ -3793,7 +3849,7 @@ msgstr "Spróbuj ponownie i upewnij się, że wprowadzasz poprawny adres email." msgid "Please try again later or login using your normal details" msgstr "Spróbuj ponownie później lub zaloguj się, używając swoich normalnych danych" -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:80 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:79 msgid "Please try again later." msgstr "Proszę spróbować ponownie później." @@ -3802,7 +3858,7 @@ msgstr "Proszę spróbować ponownie później." msgid "Please try again or contact our support." msgstr "Spróbuj ponownie lub skontaktuj się z naszym wsparciem." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:186 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:185 msgid "Please type {0} to confirm" msgstr "Wpisz {0}, aby potwierdzić" @@ -3810,6 +3866,10 @@ msgstr "Wpisz {0}, aby potwierdzić" msgid "Please type <0>{0} to confirm." msgstr "Wpisz <0>{0}, aby potwierdzić." +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:172 +msgid "Pre-formatted CSV template with example data." +msgstr "Wstępnie sformatowany szablon CSV z przykładowymi danymi." + #: 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 @@ -3840,16 +3900,16 @@ msgstr "Prywatne szablony mogą być modyfikowane i przeglądane tylko przez Cie msgid "Profile" msgstr "Profil" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:184 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:183 msgid "Profile is currently <0>hidden." msgstr "Profil jest obecnie <0>ukryty." -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:172 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:171 msgid "Profile is currently <0>visible." msgstr "Profil jest obecnie <0>widoczny." #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:74 -#: apps/web/src/components/forms/profile.tsx:72 +#: apps/web/src/components/forms/profile.tsx:71 msgid "Profile updated" msgstr "Profil zaktualizowano" @@ -3888,9 +3948,9 @@ msgstr "Wartości radiowe" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:186 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:147 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:156 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:177 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:122 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:133 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:161 msgid "Read only" msgstr "Tylko do odczytu" @@ -3906,7 +3966,7 @@ msgstr "Przeczytaj pełne <0>ujawnienie podpisu." msgid "Ready" msgstr "Gotowy" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:289 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:291 msgid "Reason" msgstr "Powód" @@ -3935,21 +3995,21 @@ msgstr "Otrzymuje kopię" msgid "Recent activity" msgstr "Ostatnia aktywność" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:45 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:43 msgid "Recent documents" msgstr "Ostatnie dokumenty" #: apps/web/src/app/(dashboard)/documents/data-table.tsx:63 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:116 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280 -#: packages/lib/utils/document-audit-logs.ts:338 -#: packages/lib/utils/document-audit-logs.ts:353 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:114 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:275 +#: packages/lib/utils/document-audit-logs.ts:354 +#: packages/lib/utils/document-audit-logs.ts:369 msgid "Recipient" msgstr "Odbiorca" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:39 #: packages/ui/primitives/document-flow/add-settings.tsx:269 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:291 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:337 msgid "Recipient action authentication" msgstr "Uwierzytelnianie akcji odbiorcy" @@ -3972,7 +4032,7 @@ msgstr "Odbiorca zaktualizowany" #: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:49 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:139 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:140 msgid "Recipients" msgstr "Odbiorcy" @@ -3980,7 +4040,7 @@ msgstr "Odbiorcy" msgid "Recipients metrics" msgstr "Metryki odbiorców" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:166 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:165 msgid "Recipients will still retain their copy of the document" msgstr "Odbiorcy nadal zachowają swoją kopię dokumentu" @@ -3997,7 +4057,7 @@ msgid "Red" msgstr "Czerwony" #: packages/ui/primitives/document-flow/add-settings.tsx:383 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:461 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:507 msgid "Redirect URL" msgstr "Adres URL przekierowania" @@ -4010,7 +4070,7 @@ msgstr "Rejestracja zakończona sukcesem" #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116 #: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162 -#: packages/email/template-components/template-document-invite.tsx:96 +#: packages/email/template-components/template-document-invite.tsx:95 msgid "Reject Document" msgstr "Odrzuć dokument" @@ -4047,17 +4107,18 @@ msgstr "Przypomnienie: Proszę {recipientActionVerb} ten dokument" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Przypomnienie: Proszę {recipientActionVerb} Twój dokument" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:193 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:431 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:188 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:425 #: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:156 #: apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx:180 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:250 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:164 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:163 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:165 #: apps/web/src/components/forms/avatar-image.tsx:166 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:217 #: packages/ui/primitives/document-flow/add-fields.tsx:1128 msgid "Remove" msgstr "Usuń" @@ -4085,9 +4146,9 @@ msgstr "Zleć przeniesienie" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:176 #: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:137 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:146 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 #: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx:112 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:123 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:151 msgid "Required field" msgstr "Wymagane pole" @@ -4096,7 +4157,7 @@ msgid "Reseal document" msgstr "Zapieczętuj ponownie dokument" #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:118 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:152 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:151 #: packages/ui/primitives/document-flow/add-subject.tsx:84 msgid "Resend" msgstr "Wyślij ponownie" @@ -4177,11 +4238,11 @@ msgstr "Cofnij" msgid "Revoke access" msgstr "Cofnij dostęp" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:283 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:278 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:318 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:163 #: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:80 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:121 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:120 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:103 msgid "Role" msgstr "Rola" @@ -4195,16 +4256,16 @@ msgstr "Role" msgid "Rows per page" msgstr "Wiersze na stronę" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446 -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:440 +#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:350 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:361 #: 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:305 -#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:322 msgid "Save" msgstr "Zapisz" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:896 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:974 msgid "Save Template" msgstr "Zapisz szablon" @@ -4219,7 +4280,7 @@ msgstr "Szukaj" msgid "Search by document title" msgstr "Szukaj tytułu dokumentu" -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:147 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:174 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 msgid "Search by name or email" msgstr "Szukaj nazwy lub adresu e-mail" @@ -4266,11 +4327,11 @@ msgstr "Wybierz drużynę, do której chcesz przenieść ten dokument. Ta akcja msgid "Select a team to move this template to. This action cannot be undone." msgstr "Wybierz drużynę, do której chcesz przenieść ten szablon. Ta akcja nie może być cofnięta." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:261 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:259 msgid "Select a template you'd like to display on your public profile" msgstr "Wybierz szablon, który chcesz wyświetlić w profilu publicznym" -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:257 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:255 msgid "Select a template you'd like to display on your team's public profile" msgstr "Wybierz szablon, który chcesz wyświetlić w profilu publicznym zespołu" @@ -4301,7 +4362,7 @@ msgstr "Wyślij" msgid "Send confirmation email" msgstr "Wyślij e-mail potwierdzający" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:325 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:336 msgid "Send document" msgstr "Wyślij dokument" @@ -4329,6 +4390,10 @@ msgstr "Wyślij e-mail oczekującego dokumentu" msgid "Send documents on behalf of the team using the email address" msgstr "Wyślij dokumenty w imieniu zespołu, używając adresu e-mail" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:253 +msgid "Send documents to recipients immediately" +msgstr "Wyślij dokumenty do odbiorców natychmiast" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:200 msgid "Send on Behalf of Team" msgstr "Wyślij w imieniu zespołu" @@ -4362,7 +4427,7 @@ msgid "Sending..." msgstr "Wysyłanie..." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:256 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:258 msgid "Sent" msgstr "Wysłano" @@ -4381,8 +4446,8 @@ msgstr "Ustawienia" msgid "Setup" msgstr "Konfiguracja" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:148 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:193 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:154 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 msgid "Share" msgstr "Udostępnij" @@ -4390,8 +4455,8 @@ msgstr "Udostępnij" msgid "Share Signature Card" msgstr "Udostępnij kartę podpisu" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:179 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:219 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:185 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:213 msgid "Share Signing Card" msgstr "Udostępnij kartę podpisu" @@ -4403,7 +4468,7 @@ msgstr "Udostępnij link" msgid "Share your signing experience!" msgstr "Podziel się swoim doświadczeniem podpisywania!" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:163 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:162 msgid "Show" msgstr "Pokaż" @@ -4424,13 +4489,13 @@ msgstr "Pokaż szablony w profilu publicznym, aby szybko podpisać dokument" msgid "Show templates in your team public profile for your audience to sign and get started quickly" msgstr "Pokaż szablony w profilu publicznym zespołu, aby szybko podpisać dokument" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:83 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:115 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:133 #: apps/web/src/app/(profile)/p/[url]/page.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182 -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:241 #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:328 #: apps/web/src/components/ui/user-profile-skeleton.tsx:75 @@ -4443,7 +4508,7 @@ msgstr "Podpisz" msgid "Sign as {0} <0>({1})" msgstr "Podpisz jako {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 +#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:200 msgid "Sign as<0>{0} <1>({1})" msgstr "Podpisz jako<0>{0} <1>({1})" @@ -4453,7 +4518,7 @@ msgid "Sign document" msgstr "Podpisz dokument" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:141 -#: packages/email/template-components/template-document-invite.tsx:104 +#: packages/email/template-components/template-document-invite.tsx:103 msgid "Sign Document" msgstr "Podpisz dokument" @@ -4506,22 +4571,22 @@ msgid "Sign Up with OIDC" msgstr "Zarejestruj się za pomocą OIDC" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:177 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:179 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:342 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:205 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:251 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:286 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:422 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:301 -#: apps/web/src/components/forms/profile.tsx:132 +#: apps/web/src/components/forms/profile.tsx:123 #: packages/ui/primitives/document-flow/add-fields.tsx:841 #: packages/ui/primitives/document-flow/field-icon.tsx:52 #: packages/ui/primitives/document-flow/types.ts:49 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:628 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:706 msgid "Signature" msgstr "Podpis" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:228 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:230 msgid "Signature ID" msgstr "Identyfikator podpisu" @@ -4541,7 +4606,7 @@ msgid "Signatures will appear once the document has been completed" msgstr "Podpisy pojawią się po ukończeniu dokumentu" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:278 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:280 #: apps/web/src/components/document/document-read-only-fields.tsx:84 #: packages/lib/constants/recipient-roles.ts:23 msgid "Signed" @@ -4551,7 +4616,7 @@ msgstr "Podpisano" msgid "Signer" msgstr "Sygnatariusz" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:176 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:178 msgid "Signer Events" msgstr "Wydarzenia sygnatariusza" @@ -4567,11 +4632,11 @@ msgstr "Podpisujący muszą mieć unikalne emaile" msgid "Signing" msgstr "Podpisywanie" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:168 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:170 msgid "Signing Certificate" msgstr "Certyfikat podpisu" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:311 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:313 msgid "Signing certificate provided by" msgstr "Certyfikat podpisu dostarczony przez" @@ -4585,12 +4650,12 @@ msgstr "Podpisywanie zakończone!" msgid "Signing in..." msgstr "Logowanie..." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:166 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:197 msgid "Signing Links" msgstr "Linki do podpisania" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:315 msgid "Signing links have been generated for this document." msgstr "Linki do podpisania zostały wygenerowane dla tego dokumentu." @@ -4598,7 +4663,7 @@ msgstr "Linki do podpisania zostały wygenerowane dla tego dokumentu." msgid "Signing up..." msgstr "Rejestracja..." -#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:82 +#: apps/web/src/app/(dashboard)/admin/leaderboard/data-table-leaderboard.tsx:90 #: apps/web/src/app/(dashboard)/admin/leaderboard/page.tsx:46 msgid "Signing Volume" msgstr "Liczba podpisów" @@ -4611,7 +4676,7 @@ msgstr "Rejestracje są wyłączone." msgid "Since {0}" msgstr "Od {0}" -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:102 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:93 msgid "Site Banner" msgstr "Baner strony" @@ -4625,27 +4690,27 @@ msgid "Some signers have not been assigned a signature field. Please assign at l msgstr "Niektórzy sygnatariusze nie zostali przypisani do pola podpisu. Przypisz co najmniej 1 pole podpisu do każdego sygnatariusza przed kontynuowaniem." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:105 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63 -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91 -#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:69 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:97 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:61 #: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106 -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82 -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:76 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:100 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:71 #: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62 #: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:51 -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:123 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93 #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:32 #: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:32 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:44 -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:50 -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:79 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:104 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:127 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:151 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:45 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:78 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:100 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:123 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:147 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:118 #: apps/web/src/app/(recipient)/d/[token]/signing-auth-page.tsx:27 #: apps/web/src/app/(signing)/sign/[token]/signing-auth-page.tsx:38 @@ -4661,8 +4726,8 @@ msgstr "Niektórzy sygnatariusze nie zostali przypisani do pola podpisu. Przypis #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:64 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:83 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:33 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:66 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:83 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:65 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:82 #: apps/web/src/components/(teams)/team-billing-portal-button.tsx:29 #: packages/ui/components/document/document-share-button.tsx:51 msgid "Something went wrong" @@ -4701,12 +4766,16 @@ msgstr "Coś poszło nie tak!" msgid "Something went wrong." msgstr "Coś poszło nie tak." +#: apps/web/src/components/forms/token.tsx:143 +msgid "Something went wrong. Please try again later." +msgstr "Coś poszło nie tak. Proszę spróbować ponownie później." + #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154 msgid "Something went wrong. Please try again or contact support." msgstr "Coś poszło nie tak. Proszę spróbować ponownie lub skontaktować się z pomocą techniczną." -#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:67 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:63 msgid "Sorry, we were unable to download the audit logs. Please try again later." msgstr "Nie mogliśmy pobrać dzienniku logów. Spróbuj ponownie później." @@ -4714,7 +4783,7 @@ msgstr "Nie mogliśmy pobrać dzienniku logów. Spróbuj ponownie później." msgid "Sorry, we were unable to download the certificate. Please try again later." msgstr "Przepraszamy, nie mogliśmy pobrać certyfikatu. Proszę spróbować ponownie później." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:134 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:132 msgid "Source" msgstr "Źródło" @@ -4725,8 +4794,8 @@ msgstr "Statystyki" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81 #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:73 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:126 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:93 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:124 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:94 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 msgid "Status" msgstr "Stan" @@ -4736,7 +4805,7 @@ msgid "Step <0>{step} of {maxStep}" msgstr "Krok <0>{step} z {maxStep}" #: packages/ui/primitives/document-flow/add-subject.tsx:143 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:318 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:364 msgid "Subject <0>(Optional)" msgstr "Temat <0>(Opcjonalnie)" @@ -4762,8 +4831,8 @@ msgstr "Subskrypcje" #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:25 #: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:25 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:37 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:118 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:141 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:114 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:137 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:32 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:44 #: apps/web/src/components/(dashboard)/layout/verify-email-banner.tsx:44 @@ -4780,11 +4849,12 @@ msgstr "Subskrypcje" #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 #: apps/web/src/components/(teams)/forms/update-team-form.tsx:67 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:60 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:77 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:59 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:76 #: apps/web/src/components/forms/public-profile-form.tsx:80 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:133 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:170 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:132 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:168 +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:95 msgid "Success" msgstr "Sukces" @@ -4792,6 +4862,14 @@ msgstr "Sukces" msgid "Successfully created passkey" msgstr "Pomyślnie utworzono klucz uwierzytelniający" +#: packages/email/templates/bulk-send-complete.tsx:52 +msgid "Successfully created: {successCount}" +msgstr "Pomyślnie utworzono: {successCount}" + +#: packages/email/templates/bulk-send-complete.tsx:44 +msgid "Summary:" +msgstr "Podsumowanie:" + #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" msgstr "Wymagania systemowe" @@ -4863,7 +4941,7 @@ msgstr "Zaproszenie do zespołu" msgid "Team invitations have been sent." msgstr "Zaproszenia do zespołu zostały wysłane." -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:107 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:106 #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:84 msgid "Team Member" msgstr "Użytkownik zespołu" @@ -4940,31 +5018,31 @@ msgstr "Zespoły ograniczone" #: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:64 #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:144 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:224 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:142 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:222 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:151 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:269 msgid "Template" msgstr "Szablon" -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:41 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:36 msgid "Template deleted" msgstr "Szablon usunięty" -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:67 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:66 msgid "Template document uploaded" msgstr "Dokument szablonu przesłany" -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:42 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:41 msgid "Template duplicated" msgstr "Szablon skopiowany" -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:134 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:133 msgid "Template has been removed from your public profile." msgstr "Szablon został usunięty z profilu publicznego." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:171 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:169 msgid "Template has been updated." msgstr "Szablon został zaktualizowany." @@ -4976,15 +5054,15 @@ msgstr "Szablon przeniesiony" msgid "Template not found or already associated with a team." msgstr "Szablon nie znaleziony lub już powiązany z zespołem." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:246 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:216 msgid "Template saved" msgstr "Szablon zapisany" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:145 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:167 msgid "Template title" msgstr "Tytuł szablonu" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:86 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -4992,19 +5070,28 @@ msgstr "Tytuł szablonu" msgid "Templates" msgstr "Szablony" -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:106 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:105 msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields." msgstr "Szablony pozwalają na szybkie generowanie dokumentów z wypełnionymi odbiorcami i polami." -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257 -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:258 +#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:287 #: packages/ui/primitives/document-flow/add-fields.tsx:971 #: packages/ui/primitives/document-flow/types.ts:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:758 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:836 msgid "Text" msgstr "Tekst" -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:166 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx:79 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx:56 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx:61 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:140 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:124 +msgid "Text Align" +msgstr "Wyrównanie tekstu" + +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:157 msgid "Text Color" msgstr "Kolor tekstu" @@ -5016,7 +5103,7 @@ msgstr "Dziękujemy za korzystanie z Documenso do wykonywania podpisu elektronic msgid "That's okay, it happens! Click the button below to reset your password." msgstr "To w porządku, zdarza się! Kliknij przycisk poniżej, aby zresetować hasło." -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:51 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." msgstr "Konto zostało pomyślnie usunięte." @@ -5040,13 +5127,13 @@ msgstr "Uwierzytelnianie wymagane dla odbiorców do podpisania pola podpisu." msgid "The authentication required for recipients to view the document." msgstr "Uwierzytelnianie wymagane dla odbiorców do wyświetlenia dokumentu." -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:197 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:188 msgid "The content to show in the banner, HTML is allowed" msgstr "Treść do wyświetlenia w banerze, dozwolone HTML" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:78 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:73 #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:32 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:164 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:160 msgid "The direct link has been copied to your clipboard" msgstr "Bezpośredni link został skopiowany do schowka" @@ -5066,15 +5153,15 @@ msgstr "Właściciel dokumentu został poinformowany o tym odrzuceniu. W tej chw msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary." msgstr "Właściciel dokumentu został poinformowany o Twojej decyzji. Mogą się z Tobą skontaktować w celu podania dalszych instrukcji, jeśli to konieczne." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:194 msgid "The document was created but could not be sent to recipients." msgstr "Dokument został utworzony, ale nie mógł zostać wysłany do odbiorców." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:163 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:162 msgid "The document will be hidden from your account" msgstr "Dokument zostanie ukryty w Twoim koncie" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:333 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:344 msgid "The document will be immediately sent to recipients if this is checked." msgstr "Dokument zostanie natychmiast wysłany do odbiorców, jeśli to zostanie zaznaczone." @@ -5088,6 +5175,10 @@ msgstr "Nazwa dokumentu" msgid "The events that will trigger a webhook to be sent to your URL." msgstr "Wydarzenia, które wyzwolą webhook do wysłania do Twojego URL." +#: packages/email/templates/bulk-send-complete.tsx:62 +msgid "The following errors occurred:" +msgstr "Wystąpiły następujące błędy:" + #: packages/email/templates/team-delete.tsx:37 msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" msgstr "Następujący zespół został usunięty przez jego właściciela. Nie będziesz mógł już uzyskać dostępu do tego zespołu i jego dokumentów" @@ -5116,11 +5207,11 @@ msgstr "Link do profilu został skopiowany do schowka" msgid "The profile you are looking for could not be found." msgstr "Profil, którego szukasz, nie mógł zostać znaleziony." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:380 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:378 msgid "The public description that will be displayed with this template" msgstr "Publiczny opis, który zostanie wyświetlony z tym szablonem" -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:358 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:356 msgid "The public name for your template" msgstr "Publiczna nazwa Twojego szablonu" @@ -5162,11 +5253,11 @@ msgstr "Link do udostępniania został skopiowany do schowka." #: packages/ui/components/document/document-send-email-message-helper.tsx:25 msgid "The signer's email" -msgstr "Email sygnatariusza" +msgstr "Adres e-mail podpisującego" #: packages/ui/components/document/document-send-email-message-helper.tsx:19 msgid "The signer's name" -msgstr "Imię sygnatariusza" +msgstr "Nazwa podpisującego" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:163 #: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41 @@ -5175,7 +5266,7 @@ msgstr "Imię sygnatariusza" msgid "The signing link has been copied to your clipboard." msgstr "Link do podpisu został skopiowany do schowka." -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:105 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:96 msgid "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users." msgstr "Baner strony to wiadomość, która jest wyświetlana u góry strony. Może być używany do wyświetlania ważnych informacji użytkownikom." @@ -5199,7 +5290,7 @@ msgstr "Zespół, którego szukasz, mógł zostać usunięty, zmieniony lub mog msgid "The template has been successfully moved to the selected team." msgstr "Szablon został pomyślnie przeniesiony do wybranego zespołu." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:443 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:441 msgid "The template will be removed from your profile" msgstr "Szablon zostanie usunięty z Twojego profilu" @@ -5207,7 +5298,7 @@ msgstr "Szablon zostanie usunięty z Twojego profilu" msgid "The template you are looking for may have been disabled, deleted or may have never existed." msgstr "Szablon, którego szukasz, mógł zostać wyłączony, usunięty lub mógł nigdy nie istnieć." -#: apps/web/src/components/forms/token.tsx:106 +#: apps/web/src/components/forms/token.tsx:107 msgid "The token was copied to your clipboard." msgstr "Token został skopiowany do schowka." @@ -5250,8 +5341,8 @@ msgstr "Brak zakończonych dokumentów. Utworzone lub odebrane dokumentu pojawi msgid "They have permission on your behalf to:" msgstr "Mają pozwolenie w Twoim imieniu na:" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:110 -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:109 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:100 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:106 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:98 msgid "This action is not reversible. Please be certain." msgstr "Ta akcja nie jest odwracalna. Proszę być pewnym." @@ -5268,11 +5359,11 @@ msgstr "To można nadpisać, ustawiając wymagania dotyczące uwierzytelniania b msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." msgstr "Dokument ten nie może być odzyskany. Jeśli chcesz zakwestionować przyczynę przyszłych dokumentów, skontaktuj się z administracją." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:83 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82 msgid "This document could not be deleted at this time. Please try again." msgstr "Nie można usunąć tego dokumentu w tej chwili. Proszę spróbować ponownie." -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:73 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72 msgid "This document could not be duplicated at this time. Please try again." msgstr "Nie można skopiować tego dokumentu w tej chwili. Proszę spróbować ponownie." @@ -5292,11 +5383,11 @@ msgstr "Ten dokument został anulowany przez właściciela i nie jest już dost msgid "This document has been cancelled by the owner." msgstr "Ten dokument został anulowany przez właściciela." -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:228 msgid "This document has been signed by all recipients" msgstr "Ten dokument został podpisany przez wszystkich odbiorców" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:231 msgid "This document is currently a draft and has not been sent" msgstr "Ten dokument jest obecnie szkicowany i nie został wysłany" @@ -5304,11 +5395,11 @@ msgstr "Ten dokument jest obecnie szkicowany i nie został wysłany" msgid "This document is password protected. Please enter the password to view the document." msgstr "Ten dokument jest zabezpieczony hasłem. Proszę wprowadzić hasło, aby wyświetlić dokument." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:146 msgid "This document was created by you or a team member using the template above." msgstr "Ten dokument został stworzony przez Ciebie lub członka zespołu przy użyciu powyższego szablonu." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:158 msgid "This document was created using a direct link." msgstr "Ten dokument został stworzony przy użyciu bezpośredniego linku." @@ -5344,7 +5435,7 @@ msgstr "Ten e-mail zostanie wysłany do odbiorcy, który właśnie podpisał dok msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." msgstr "To pole nie może być modyfikowane ani usuwane. Po udostępnieniu bezpośredniego linku do tego szablonu lub dodaniu go do swojego publicznego profilu, każdy, kto się w nim dostanie, może wpisać swoje imię i email oraz wypełnić przypisane mu pola." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:233 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:279 msgid "This is how the document will reach the recipients once the document is ready for signing." msgstr "W ten sposób dokument dotrze do odbiorców, gdy tylko dokument będzie gotowy do podpisania." @@ -5384,7 +5475,7 @@ msgstr "Ten sygnatariusz już podpisał dokument." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Ten zespół oraz wszelkie powiązane dane, z wyjątkiem faktur, zostaną trwale usunięte." -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:51 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:46 msgid "This template could not be deleted at this time. Please try again." msgstr "Ten szablon nie mógł zostać usunięty w tej chwili. Proszę spróbować ponownie." @@ -5425,7 +5516,7 @@ msgstr "To zostanie wysłane do właściciela dokumentu, gdy dokument zostanie w msgid "This will override any global settings." msgstr "To zastąpi wszystkie globalne ustawienia." -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:71 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:70 #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:44 msgid "Time" msgstr "Czas" @@ -5434,15 +5525,15 @@ msgstr "Czas" msgid "Time zone" msgstr "Strefa czasowa" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:131 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:132 #: packages/ui/primitives/document-flow/add-settings.tsx:359 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:438 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:484 msgid "Time Zone" msgstr "Strefa czasowa" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:111 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 #: packages/ui/primitives/document-flow/add-settings.tsx:166 msgid "Title" @@ -5456,13 +5547,13 @@ msgstr "Aby zaakceptować to zaproszenie, musisz założyć konto." msgid "To change the email you must remove and add a new email address." msgstr "Aby zmienić e-mail, musisz usunąć i dodać nowy adres e-mail." -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:116 +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:113 #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:111 #: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:101 msgid "To confirm, please enter the accounts email address <0/>({0})." msgstr "Aby potwierdzić, proszę wpisać adres e-mail konta <0/>({0})." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:117 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:107 msgid "To confirm, please enter the reason" msgstr "Aby potwierdzić, proszę wpisać powód" @@ -5483,7 +5574,7 @@ msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "Aby oznaczyć ten dokument jako wyświetlony, musisz być zalogowany jako <0>{0}" #: packages/ui/primitives/document-flow/add-fields.tsx:1091 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:876 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:954 msgid "To proceed further, please set at least one value for the {0} field." msgstr "Aby kontynuować, ustaw przynajmniej jedną wartość dla pola {0}." @@ -5495,11 +5586,11 @@ msgstr "Aby skorzystać z naszej usługi podpisu elektronicznego, musisz mieć d msgid "To view this document you need to be signed into your account, please sign in to continue." msgstr "Aby zobaczyć ten dokument, musisz być zalogowany na swoje konto, proszę zaloguj się, aby kontynuować." -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:178 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:177 msgid "Toggle the switch to hide your profile from the public." msgstr "Przełącz przełącznik, aby ukryć swój profil przed publicznością." -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:190 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:189 msgid "Toggle the switch to show your profile to the public." msgstr "Przełącz przełącznik, aby pokazać swój profil publicznie." @@ -5507,11 +5598,11 @@ msgstr "Przełącz przełącznik, aby pokazać swój profil publicznie." msgid "Token" msgstr "Token" -#: apps/web/src/components/forms/token.tsx:105 +#: apps/web/src/components/forms/token.tsx:106 msgid "Token copied to clipboard" msgstr "Token został skopiowany do schowka" -#: apps/web/src/components/forms/token.tsx:126 +#: apps/web/src/components/forms/token.tsx:127 msgid "Token created" msgstr "Token został utworzony" @@ -5544,6 +5635,10 @@ msgstr "Łączna liczba dokumentów" msgid "Total Recipients" msgstr "Łączna liczba odbiorców" +#: packages/email/templates/bulk-send-complete.tsx:49 +msgid "Total rows processed: {totalProcessed}" +msgstr "Łączna liczba przetworzonych wierszy: {totalProcessed}" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 msgid "Total Signers that Signed Up" msgstr "Łączna liczba podpisujących, którzy się zarejestrowali" @@ -5629,11 +5724,11 @@ msgstr "Nie można zmienić języka w tej chwili. Spróbuj ponownie później." msgid "Unable to copy recovery code" msgstr "Nie można skopiować kodu odzyskiwania" -#: apps/web/src/components/forms/token.tsx:110 +#: apps/web/src/components/forms/token.tsx:111 msgid "Unable to copy token" msgstr "Nie można skopiować tokena" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:105 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:101 msgid "Unable to create direct template access. Please try again later." msgstr "Nie można utworzyć bezpośredniego dostępu do szablonu. Proszę spróbować ponownie później." @@ -5641,7 +5736,7 @@ msgstr "Nie można utworzyć bezpośredniego dostępu do szablonu. Proszę spró msgid "Unable to decline this team invitation at this time." msgstr "Nie można w tej chwili odrzucić zaproszenia do zespołu." -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:83 msgid "Unable to delete invitation. Please try again." msgstr "Nie można usunąć zaproszenia. Proszę spróbować ponownie." @@ -5662,11 +5757,11 @@ msgstr "Nie można dołączyć do tego zespołu w tej chwili." msgid "Unable to load document history" msgstr "Nie można załadować historii dokumentu" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:58 msgid "Unable to load documents" msgstr "Nie można załadować dokumentów" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:106 msgid "Unable to load your public profile templates at this time" msgstr "Nie można załadować szablonów publicznego profilu w tej chwili" @@ -5678,7 +5773,7 @@ msgstr "Nie można usunąć weryfikacji e-maila w tej chwili. Proszę spróbowa msgid "Unable to remove team email at this time. Please try again." msgstr "Nie można usunąć e-maila zespołu w tej chwili. Proszę spróbować ponownie." -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:67 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:66 msgid "Unable to resend invitation. Please try again." msgstr "Nie można ponownie wysłać zaproszenia. Proszę spróbować ponownie." @@ -5709,10 +5804,10 @@ msgstr "Nieautoryzowany" msgid "Uncompleted" msgstr "Niezakończony" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:237 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:262 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:273 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:284 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:239 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:264 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:275 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:286 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:55 msgid "Unknown" msgstr "Nieznany" @@ -5725,17 +5820,17 @@ msgstr "Nieznany błąd" msgid "Unpaid" msgstr "Nieopłacone" -#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:181 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:176 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:162 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:166 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:191 #: apps/web/src/components/forms/public-profile-form.tsx:279 -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:428 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:426 #: packages/ui/primitives/document-flow/add-subject.tsx:86 msgid "Update" msgstr "Zaktualizuj" -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:211 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:202 msgid "Update Banner" msgstr "Zaktualizuj baner" @@ -5747,7 +5842,7 @@ msgstr "Zaktualizuj klucz dostępu" msgid "Update password" msgstr "Zaktualizuj hasło" -#: apps/web/src/components/forms/profile.tsx:151 +#: apps/web/src/components/forms/profile.tsx:142 msgid "Update profile" msgstr "Zaktualizuj profil" @@ -5790,7 +5885,7 @@ msgstr "Zaktualizuj webhook" msgid "Updating password..." msgstr "Aktualizowanie hasła..." -#: apps/web/src/components/forms/profile.tsx:151 +#: apps/web/src/components/forms/profile.tsx:142 msgid "Updating profile..." msgstr "Aktualizacja profilu..." @@ -5802,10 +5897,30 @@ msgstr "Aktualizacja Twoich informacji" msgid "Upgrade" msgstr "Ulepsz" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:132 +msgid "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." +msgstr "Prześlij plik CSV, aby utworzyć wiele dokumentów z tego szablonu. Każda linia reprezentuje jeden dokument z jego szczegółami odbiorcy." + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:426 +msgid "Upload a custom document to use instead of the template's default document" +msgstr "Prześlij niestandardowy dokument do użycia zamiast domyślnego dokumentu szablonu" + +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:267 +msgid "Upload and Process" +msgstr "Prześlij i przetwórz" + #: apps/web/src/components/forms/avatar-image.tsx:179 msgid "Upload Avatar" msgstr "Prześlij awatar" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:198 +msgid "Upload CSV" +msgstr "Prześlij CSV" + +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:419 +msgid "Upload custom document" +msgstr "Prześlij niestandardowy dokument" + #: packages/ui/primitives/signature-pad/signature-pad.tsx:529 msgid "Upload Signature" msgstr "Prześlij podpis" @@ -5835,7 +5950,7 @@ msgstr "Przesłany plik jest zbyt mały" msgid "Uploaded file not an allowed file type" msgstr "Przesłany plik nie jest dozwolonym typem pliku" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:175 msgid "Use" msgstr "Użyj" @@ -5849,11 +5964,11 @@ msgstr "Użyj Authenticatora" msgid "Use Backup Code" msgstr "Użyj kodu zapasowego" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:219 msgid "Use Template" msgstr "Użyj szablonu" -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:76 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:75 #: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:45 msgid "User" msgstr "Użytkownik" @@ -5866,6 +5981,7 @@ msgstr "Użytkownik nie ma hasła." msgid "User ID" msgstr "ID użytkownika" +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:61 #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:55 #: apps/web/src/app/(dashboard)/admin/users/[id]/enable-user-dialog.tsx:55 msgid "User not found." @@ -5892,7 +6008,7 @@ msgid "Users" msgstr "Użytkownicy" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:132 -#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:167 +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:188 msgid "Validation" msgstr "Walidacja" @@ -5930,14 +6046,14 @@ msgstr "Zweryfikuj adres e-mail, aby przesłać dokumenty." msgid "Verify your team email address" msgstr "Zweryfikuj swój adres e-mail zespołu" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:75 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:76 msgid "Version History" msgstr "Historia wersji" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126 -#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135 -#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:101 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:136 +#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:126 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 #: packages/lib/constants/recipient-roles.ts:29 @@ -5960,7 +6076,7 @@ msgstr "Wyświetl wszystkie dokumenty wysłane na twoje konto" msgid "View all recent security activity related to your account." msgstr "Wyświetl wszystkie ostatnie aktywności związane z bezpieczeństwem twojego konta." -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:155 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:153 msgid "View all related documents" msgstr "Zobacz wszystkie powiązane dokumenty" @@ -5977,7 +6093,7 @@ msgid "View document" msgstr "Zobacz dokument" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:140 -#: packages/email/template-components/template-document-invite.tsx:105 +#: packages/email/template-components/template-document-invite.tsx:104 #: packages/email/template-components/template-document-rejected.tsx:44 #: packages/ui/primitives/document-flow/add-subject.tsx:90 #: packages/ui/primitives/document-flow/add-subject.tsx:91 @@ -5992,7 +6108,7 @@ msgstr "Wyświetl dokumenty powiązane z tym e-mailem" msgid "View invites" msgstr "Wyświetl zaproszenia" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:93 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:91 msgid "View more" msgstr "Zobacz więcej" @@ -6014,7 +6130,7 @@ msgid "View teams" msgstr "Wyświetl zespoły" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120 -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:267 +#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:269 #: packages/lib/constants/recipient-roles.ts:30 msgid "Viewed" msgstr "Wyświetlono" @@ -6073,7 +6189,7 @@ msgstr "Nie możemy usunąć tego klucza zabezpieczeń w tej chwili. Proszę spr msgid "We are unable to update this passkey at the moment. Please try again later." msgstr "Nie możemy zaktualizować tego klucza zabezpieczeń w tej chwili. Proszę spróbuj ponownie później." -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:153 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:149 msgid "We encountered an error while removing the direct template link. Please try again later." msgstr "Wystąpił błąd podczas usuwania bezpośredniego linku do szablonu. Proszę spróbować ponownie później." @@ -6082,10 +6198,6 @@ msgstr "Wystąpił błąd podczas usuwania bezpośredniego linku do szablonu. Pr msgid "We encountered an error while updating the webhook. Please try again later." msgstr "Natknęliśmy się na błąd podczas aktualizacji webhooka. Proszę spróbuj ponownie później." -#: apps/web/src/components/forms/token.tsx:145 -msgid "We encountered an unknown error while attempting create the new token. Please try again later." -msgstr "Natknęliśmy się na nieznany błąd podczas próby utworzenia nowego tokena. Proszę spróbuj ponownie później." - #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:102 msgid "We encountered an unknown error while attempting to add this email. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby dodania tego e-maila. Proszę spróbuj ponownie później." @@ -6110,7 +6222,6 @@ msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego zes msgid "We encountered an unknown error while attempting to delete this token. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego tokena. Proszę spróbuj ponownie później." -#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:70 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:58 msgid "We encountered an unknown error while attempting to delete your account. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia twojego konta. Proszę spróbuj ponownie później." @@ -6123,7 +6234,7 @@ msgstr "Natknęliśmy się na nieznany błąd podczas próby zaproszenia członk msgid "We encountered an unknown error while attempting to leave this team. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby opuszczenia tego zespołu. Proszę spróbuj ponownie później." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:143 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:142 msgid "We encountered an unknown error while attempting to remove this template from your profile. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby usunięcia tego szablonu z twojego profilu. Proszę spróbuj ponownie później." @@ -6151,7 +6262,6 @@ msgstr "Natknęliśmy się na nieznany błąd podczas próby odwołania dostępu msgid "We encountered an unknown error while attempting to save your details. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby zapisania twoich danych. Proszę spróbuj ponownie później." -#: apps/web/src/components/forms/profile.tsx:89 #: apps/web/src/components/forms/signin.tsx:273 #: apps/web/src/components/forms/signin.tsx:288 #: apps/web/src/components/forms/signin.tsx:304 @@ -6165,11 +6275,11 @@ msgstr "Natknęliśmy się na nieznany błąd podczas próby zalogowania się. P msgid "We encountered an unknown error while attempting to sign you Up. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby rejestracji. Proszę spróbuj ponownie później." -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:92 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:84 msgid "We encountered an unknown error while attempting to update the banner. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania banera. Proszę spróbuj ponownie później." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:180 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:178 msgid "We encountered an unknown error while attempting to update the template. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania szablonu. Proszę spróbuj ponownie później." @@ -6194,6 +6304,10 @@ msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania two msgid "We encountered an unknown error while attempting update the team email. Please try again later." msgstr "Natknęliśmy się na nieznany błąd podczas próby zaktualizowania e-maila zespołu. Proszę spróbuj ponownie później." +#: apps/web/src/components/forms/profile.tsx:81 +msgid "We encountered an unknown error while attempting update your profile. Please try again later." +msgstr "Napotkaliśmy nieznany błąd podczas próby aktualizacji Twojego profilu. Proszę spróbować ponownie później." + #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:80 msgid "We have sent a confirmation email for verification." msgstr "Wysłaliśmy wiadomość e-mail z potwierdzeniem dla weryfikacji." @@ -6206,7 +6320,7 @@ msgstr "Potrzebujemy nazwy użytkownika, aby utworzyć Twój profil" msgid "We need your signature to sign documents" msgstr "Potrzebujemy Twojego podpisu, aby podpisać dokumenty" -#: apps/web/src/components/forms/token.tsx:111 +#: apps/web/src/components/forms/token.tsx:112 msgid "We were unable to copy the token to your clipboard. Please try again." msgstr "Nie udało nam się skopiować tokena do schowka. Spróbuj ponownie." @@ -6231,7 +6345,7 @@ msgstr "Nie udało nam się wyłączyć uwierzytelniania dwuskładnikowego dla t msgid "We were unable to log you out at this time." msgstr "Nie udało nam się wylogować w tej chwili." -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:125 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124 msgid "We were unable to set your public profile to public. Please try again." msgstr "Nie udało nam się ustawić twojego profilu publicznego na publiczny. Proszę spróbuj ponownie." @@ -6266,11 +6380,11 @@ msgstr "Nie udało się zweryfikować twojego e-maila. Jeśli twój e-mail nie j msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice." msgstr "Wygenerujemy linki do podpisu dla Ciebie, które możesz wysłać do odbiorców w wybrany przez siebie sposób." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:369 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:382 msgid "We will generate signing links for you, which you can send to the recipients through your method of choice." msgstr "Wygenerujemy dla Ciebie linki do podpisania, które możesz wysłać do odbiorców za pomocą wybranej metody." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:365 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:378 #: packages/ui/primitives/document-flow/add-subject.tsx:201 msgid "We won't send anything to notify recipients." msgstr "Nie wyślemy nic, aby powiadomić odbiorców." @@ -6376,13 +6490,13 @@ msgstr "Napisz o sobie" msgid "Yearly" msgstr "Rocznie" -#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32 -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31 -#: packages/lib/utils/document-audit-logs.ts:258 +#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:33 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:32 +#: packages/lib/utils/document-audit-logs.ts:274 msgid "You" msgstr "Ty" -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:104 msgid "You are about to delete <0>\"{documentTitle}\"" msgstr "Zaraz usuniesz <0>\"{documentTitle}\"" @@ -6390,7 +6504,7 @@ msgstr "Zaraz usuniesz <0>\"{documentTitle}\"" msgid "You are about to delete the following team email from <0>{teamName}." msgstr "Zaraz usuniesz następujący e-mail zespołowy z <0>{teamName}." -#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:109 +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:108 msgid "You are about to hide <0>\"{documentTitle}\"" msgstr "Zaraz ukryjesz <0>\"{documentTitle}\"" @@ -6426,6 +6540,10 @@ msgstr "Obecnie aktualizujesz klucz zabezpieczeń <0>{passkeyName}." msgid "You are not a member of this team." msgstr "Nie jesteś członkiem tego zespołu." +#: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:62 +msgid "You are not authorized to delete this user." +msgstr "Nie masz uprawnień do usunięcia tego użytkownika." + #: apps/web/src/app/(dashboard)/admin/users/[id]/disable-user-dialog.tsx:56 msgid "You are not authorized to disable this user." msgstr "Nie masz uprawnień, aby wyłączyć tego użytkownika." @@ -6474,6 +6592,10 @@ msgstr "Możesz użyć następujących zmiennych w swojej wiadomości:" msgid "You can view documents associated with this email and use this identity when sending documents." msgstr "Możesz wyświetlać dokumenty powiązane z tym e-mailem i używać tej tożsamości podczas wysyłania dokumentów." +#: packages/email/templates/bulk-send-complete.tsx:76 +msgid "You can view the created documents in your dashboard under the \"Documents created from template\" section." +msgstr "Możesz zobaczyć utworzone dokumenty na swoim pulpicie w sekcji \"Dokumenty utworzone z szablonu\"." + #: packages/email/template-components/template-document-rejected.tsx:37 msgid "You can view the document and its status by clicking the button below." msgstr "Możesz zobaczyć dokument i jego status, klikając przycisk poniżej." @@ -6490,7 +6612,7 @@ msgstr "Nie możesz modyfikować członka zespołu, który ma wyższą rolę ni msgid "You cannot upload documents at this time." msgstr "Nie możesz przesyłać dokumentów w tej chwili." -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:103 msgid "You cannot upload encrypted PDFs" msgstr "Nie możesz przesyłać zaszyfrowanych plików PDF" @@ -6498,6 +6620,10 @@ msgstr "Nie możesz przesyłać zaszyfrowanych plików PDF" msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance." msgstr "Obecnie nie masz rekordu klienta, nie powinno tak się dziać. Proszę skontaktuj się z pomocą techniczną." +#: apps/web/src/components/forms/token.tsx:141 +msgid "You do not have permission to create a token for this team" +msgstr "Nie masz uprawnień do utworzenia tokenu dla tego zespołu" + #: packages/email/template-components/template-document-cancel.tsx:35 msgid "You don't need to sign it anymore." msgstr "Nie musisz go już podpisywać." @@ -6527,7 +6653,8 @@ msgstr "Zostałeś zaproszony do dołączenia do {0} na Documenso" msgid "You have been invited to join the following team" msgstr "Zostałeś zaproszony do dołączenia do następującego zespołu" -#: packages/lib/server-only/recipient/set-recipients-for-document.ts:337 +#: packages/lib/server-only/recipient/delete-document-recipient.ts:156 +#: packages/lib/server-only/recipient/set-document-recipients.ts:326 msgid "You have been removed from a document" msgstr "Zostałeś usunięty z dokumentu" @@ -6557,10 +6684,14 @@ msgstr "Brak utworzonych szablonów. Prześlij, aby utworzyć." msgid "You have not yet created or received any documents. To create a document please upload one." msgstr "Brak utworzonych lub odebranych dokumentów. Prześlij, aby utworzyć." -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:234 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:229 msgid "You have reached the maximum limit of {0} direct templates. <0>Upgrade your account to continue!" msgstr "Osiągnąłeś maksymalny limit {0} bezpośrednich szablonów. <0>Ulepsz swoje konto, aby kontynuować!" +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 +msgid "You have reached your document limit for this month. Please upgrade your plan." +msgstr "Osiągnąłeś limit dokumentów na ten miesiąc. Proszę zaktualizować swój plan." + #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:56 #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." @@ -6626,7 +6757,7 @@ msgstr "Musisz wpisać '{deleteMessage}' aby kontynuować" msgid "You must have at least one other team member to transfer ownership." msgstr "Musisz mieć przynajmniej jednego innego członka zespołu, aby przenieść własność." -#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:109 +#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:108 msgid "You must set a profile URL before enabling your public profile." msgstr "Musisz ustawić URL profilu przed włączeniem swojego publicznego profilu." @@ -6662,7 +6793,7 @@ msgstr "Konto zostało usunięte." msgid "Your avatar has been updated successfully." msgstr "Awatar został zaktualizowany." -#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:75 +#: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:74 msgid "Your banner has been updated successfully." msgstr "Twój banner został pomyślnie zaktualizowany." @@ -6674,43 +6805,51 @@ msgstr "Adres URL witryny Twojej marki" msgid "Your branding preferences have been updated" msgstr "Preferencje dotyczące marki zostały zaktualizowane" +#: apps/web/src/components/templates/template-bulk-send-dialog.tsx:97 +msgid "Your bulk send has been initiated. You will receive an email notification upon completion." +msgstr "Twoja masowa wysyłka została zainicjowana. Otrzymasz powiadomienie e-mail po jej zakończeniu." + +#: packages/email/templates/bulk-send-complete.tsx:40 +msgid "Your bulk send operation for template \"{templateName}\" has completed." +msgstr "Twoja operacja masowej wysyłki dla szablonu \"{templateName}\" została zakończona." + #: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125 msgid "Your current plan is past due. Please update your payment information." msgstr "Twój obecny plan jest przeterminowany. Zaktualizuj swoje informacje płatnicze." -#: apps/web/src/components/templates/manage-public-template-dialog.tsx:251 +#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249 msgid "Your direct signing templates" msgstr "Twoje bezpośrednie szablony podpisu" -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:129 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:123 msgid "Your document failed to upload." msgstr "Twój dokument nie udało się załadować." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:157 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:169 msgid "Your document has been created from the template successfully." msgstr "Twój dokument został pomyślnie utworzony na podstawie szablonu." #: packages/email/template-components/template-document-super-delete.tsx:23 msgid "Your document has been deleted by an admin!" -msgstr "Twój dokument został usunięty przez administratora!" +msgstr "Dokument został usunięty przez administratora!" #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:98 msgid "Your document has been re-sent successfully." msgstr "Twój dokument został pomyślnie ponownie wysłany." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:328 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:304 msgid "Your document has been sent successfully." msgstr "Twój dokument został pomyślnie wysłany." -#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:59 +#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:58 msgid "Your document has been successfully duplicated." msgstr "Twój dokument został pomyślnie zduplikowany." -#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:87 +#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:86 msgid "Your document has been uploaded successfully." msgstr "Twój dokument został pomyślnie załadowany." -#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:69 +#: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:68 msgid "Your document has been uploaded successfully. You will be redirected to the template page." msgstr "Twój dokument został pomyślnie załadowany. Zostaniesz przekierowany na stronę szablonu." @@ -6747,13 +6886,13 @@ msgstr "Hasło zostało zaktualizowane." #: packages/email/template-components/template-reset-password.tsx:26 msgid "Your password has been updated." -msgstr "Twoje hasło zostało zaktualizowane." +msgstr "Hasło zostało zaktualizowane." #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:113 msgid "Your payment for teams is overdue. Please settle the payment to avoid any service disruptions." msgstr "Twoja płatność za zespoły jest przeterminowana. Proszę uregulować płatność, aby uniknąć zakłóceń w świadczeniu usług." -#: apps/web/src/components/forms/profile.tsx:73 +#: apps/web/src/components/forms/profile.tsx:72 msgid "Your profile has been updated successfully." msgstr "Twój profil został pomyślnie zaktualizowany." @@ -6795,19 +6934,19 @@ msgstr "Twój zespół został pomyślnie usunięty." msgid "Your team has been successfully updated." msgstr "Twój zespół został pomyślnie zaktualizowany." -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:43 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:42 msgid "Your template has been duplicated successfully." msgstr "Twój szablon został pomyślnie zduplikowany." -#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:42 +#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:37 msgid "Your template has been successfully deleted." msgstr "Twój szablon został pomyślnie usunięty." -#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:67 +#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:66 msgid "Your template will be duplicated." msgstr "Twój szablon zostanie zduplikowany." -#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:247 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:217 msgid "Your templates has been saved successfully." msgstr "Twoje szablony zostały pomyślnie zapisane." diff --git a/packages/lib/types/document-audit-logs.ts b/packages/lib/types/document-audit-logs.ts index 73073f7a8..e0b251f5d 100644 --- a/packages/lib/types/document-audit-logs.ts +++ b/packages/lib/types/document-audit-logs.ts @@ -28,6 +28,7 @@ export const ZDocumentAuditLogTypeSchema = z.enum([ 'DOCUMENT_DELETED', // When the document is soft deleted. 'DOCUMENT_FIELD_INSERTED', // When a field is inserted (signed/approved/etc) by a recipient. 'DOCUMENT_FIELD_UNINSERTED', // When a field is uninserted by a recipient. + 'DOCUMENT_FIELD_PREFILLED', // When a field is prefilled by an assistant. 'DOCUMENT_VISIBILITY_UPDATED', // When the document visibility scope is updated 'DOCUMENT_GLOBAL_AUTH_ACCESS_UPDATED', // When the global access authentication is updated. 'DOCUMENT_GLOBAL_AUTH_ACTION_UPDATED', // When the global action authentication is updated. @@ -45,6 +46,7 @@ export const ZDocumentAuditLogEmailTypeSchema = z.enum([ 'SIGNING_REQUEST', 'VIEW_REQUEST', 'APPROVE_REQUEST', + 'ASSISTING_REQUEST', 'CC', 'DOCUMENT_COMPLETED', ]); @@ -313,6 +315,83 @@ export const ZDocumentAuditLogEventDocumentFieldUninsertedSchema = z.object({ }), }); +/** + * Event: Document field prefilled by assistant. + */ +export const ZDocumentAuditLogEventDocumentFieldPrefilledSchema = z.object({ + type: z.literal(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_PREFILLED), + data: ZBaseRecipientDataSchema.extend({ + fieldId: z.string(), + + // Organised into union to allow us to extend each field if required. + field: z.union([ + z.object({ + type: z.literal(FieldType.INITIALS), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.EMAIL), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.DATE), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.NAME), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.TEXT), + data: z.string(), + }), + z.object({ + type: z.union([z.literal(FieldType.SIGNATURE), z.literal(FieldType.FREE_SIGNATURE)]), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.RADIO), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.CHECKBOX), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.DROPDOWN), + data: z.string(), + }), + z.object({ + type: z.literal(FieldType.NUMBER), + data: z.string(), + }), + ]), + fieldSecurity: z.preprocess( + (input) => { + const legacyNoneSecurityType = JSON.stringify({ + type: 'NONE', + }); + + // Replace legacy 'NONE' field security type with undefined. + if ( + typeof input === 'object' && + input !== null && + JSON.stringify(input) === legacyNoneSecurityType + ) { + return undefined; + } + + return input; + }, + z + .object({ + type: ZRecipientActionAuthTypesSchema, + }) + .optional(), + ), + }), +}); + export const ZDocumentAuditLogEventDocumentVisibilitySchema = z.object({ type: z.literal(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_VISIBILITY_UPDATED), data: ZGenericFromToSchema, @@ -493,6 +572,7 @@ export const ZDocumentAuditLogSchema = ZDocumentAuditLogBaseSchema.and( ZDocumentAuditLogEventDocumentMovedToTeamSchema, ZDocumentAuditLogEventDocumentFieldInsertedSchema, ZDocumentAuditLogEventDocumentFieldUninsertedSchema, + ZDocumentAuditLogEventDocumentFieldPrefilledSchema, ZDocumentAuditLogEventDocumentVisibilitySchema, ZDocumentAuditLogEventDocumentGlobalAuthAccessUpdatedSchema, ZDocumentAuditLogEventDocumentGlobalAuthActionUpdatedSchema, diff --git a/packages/lib/utils/document-audit-logs.ts b/packages/lib/utils/document-audit-logs.ts index 339bf453b..44ae23ac0 100644 --- a/packages/lib/utils/document-audit-logs.ts +++ b/packages/lib/utils/document-audit-logs.ts @@ -314,6 +314,10 @@ export const formatDocumentAuditLogAction = ( anonymous: msg`Field unsigned`, identified: msg`${prefix} unsigned a field`, })) + .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_PREFILLED }, () => ({ + anonymous: msg`Field prefilled by assistant`, + identified: msg`${prefix} prefilled a field`, + })) .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_VISIBILITY_UPDATED }, () => ({ anonymous: msg`Document visibility updated`, identified: msg`${prefix} updated the document visibility`, diff --git a/packages/prisma/migrations/20250108133544_add_assistant_recipient_role/migration.sql b/packages/prisma/migrations/20250108133544_add_assistant_recipient_role/migration.sql new file mode 100644 index 000000000..b5eb3e491 --- /dev/null +++ b/packages/prisma/migrations/20250108133544_add_assistant_recipient_role/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "RecipientRole" ADD VALUE 'ASSISTANT'; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 44e0bfeee..0cdb1521e 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -417,6 +417,7 @@ enum RecipientRole { SIGNER VIEWER APPROVER + ASSISTANT } /// @zod.import(["import { ZRecipientAuthOptionsSchema } from '@documenso/lib/types/document-auth';"]) diff --git a/packages/prisma/types/recipient-with-fields.ts b/packages/prisma/types/recipient-with-fields.ts new file mode 100644 index 000000000..ed4314897 --- /dev/null +++ b/packages/prisma/types/recipient-with-fields.ts @@ -0,0 +1,5 @@ +import type { Field, Recipient } from '@documenso/prisma/client'; + +export type RecipientWithFields = Recipient & { + fields: Field[]; +}; diff --git a/packages/ui/components/field/field.tsx b/packages/ui/components/field/field.tsx index eb6468c03..7681b4324 100644 --- a/packages/ui/components/field/field.tsx +++ b/packages/ui/components/field/field.tsx @@ -31,7 +31,8 @@ const getCardClassNames = ( checkBoxOrRadio: boolean, cardClassName?: string, ) => { - const baseClasses = 'field-card-container relative z-20 h-full w-full transition-all'; + const baseClasses = + 'field--FieldRootContainer field-card-container relative z-20 h-full w-full transition-all'; const insertedClasses = 'bg-primary/20 border-primary ring-primary/20 ring-offset-primary/20 ring-2 ring-offset-2 dark:shadow-none'; @@ -141,6 +142,7 @@ export function FieldRootContainer({ field, children, cardClassName }: FieldCont diff --git a/packages/ui/components/recipient/recipient-role-select.tsx b/packages/ui/components/recipient/recipient-role-select.tsx index 4d72b7be1..8559a9b59 100644 --- a/packages/ui/components/recipient/recipient-role-select.tsx +++ b/packages/ui/components/recipient/recipient-role-select.tsx @@ -1,6 +1,6 @@ 'use client'; -import React, { forwardRef } from 'react'; +import { forwardRef } from 'react'; import { Trans } from '@lingui/macro'; import type { SelectProps } from '@radix-ui/react-select'; @@ -11,12 +11,15 @@ import { ROLE_ICONS } from '@documenso/ui/primitives/recipient-role-icons'; import { Select, SelectContent, SelectItem, SelectTrigger } from '@documenso/ui/primitives/select'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; +import { cn } from '../../lib/utils'; + export type RecipientRoleSelectProps = SelectProps & { hideCCRecipients?: boolean; + isAssistantEnabled?: boolean; }; export const RecipientRoleSelect = forwardRef( - ({ hideCCRecipients, ...props }, ref) => ( + ({ hideCCRecipients, isAssistantEnabled = true, ...props }, ref) => ( ), diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index 79a22e83c..f6b1572d8 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -508,7 +508,15 @@ export const AddFieldsFormPartial = ({ }, []); useEffect(() => { - setSelectedSigner(recipients.find((r) => r.sendStatus !== SendStatus.SENT) ?? recipients[0]); + const recipientsByRoleToDisplay = recipients.filter( + (recipient) => + recipient.role !== RecipientRole.CC && recipient.role !== RecipientRole.ASSISTANT, + ); + + setSelectedSigner( + recipientsByRoleToDisplay.find((r) => r.sendStatus !== SendStatus.SENT) ?? + recipientsByRoleToDisplay[0], + ); }, [recipients]); const recipientsByRole = useMemo(() => { @@ -517,6 +525,7 @@ export const AddFieldsFormPartial = ({ VIEWER: [], SIGNER: [], APPROVER: [], + ASSISTANT: [], }; recipients.forEach((recipient) => { @@ -529,7 +538,12 @@ export const AddFieldsFormPartial = ({ const recipientsByRoleToDisplay = useMemo(() => { // eslint-disable-next-line @typescript-eslint/consistent-type-assertions return (Object.entries(recipientsByRole) as [RecipientRole, Recipient[]][]) - .filter(([role]) => role !== RecipientRole.CC && role !== RecipientRole.VIEWER) + .filter( + ([role]) => + role !== RecipientRole.CC && + role !== RecipientRole.VIEWER && + role !== RecipientRole.ASSISTANT, + ) .map( ([role, roleRecipients]) => // eslint-disable-next-line @typescript-eslint/consistent-type-assertions @@ -544,12 +558,6 @@ export const AddFieldsFormPartial = ({ ); }, [recipientsByRole]); - const isTypedSignatureEnabled = form.watch('typedSignatureEnabled'); - - const handleTypedSignatureChange = (value: boolean) => { - form.setValue('typedSignatureEnabled', value, { shouldDirty: true }); - }; - const handleAdvancedSettings = () => { setShowAdvancedSettings((prev) => !prev); }; @@ -687,9 +695,7 @@ export const AddFieldsFormPartial = ({ )} {!selectedSigner?.email && ( - - {selectedSigner?.email} - + {selectedSigner?.email} )} diff --git a/packages/ui/primitives/document-flow/add-signers.tsx b/packages/ui/primitives/document-flow/add-signers.tsx index 395ed6dcd..5ece17491 100644 --- a/packages/ui/primitives/document-flow/add-signers.tsx +++ b/packages/ui/primitives/document-flow/add-signers.tsx @@ -41,6 +41,7 @@ import { DocumentFlowFormContainerStep, } from './document-flow-root'; import { ShowFieldItem } from './show-field-item'; +import { SigningOrderConfirmation } from './signing-order-confirmation'; import type { DocumentFlowStep } from './types'; export type AddSignersFormProps = { @@ -123,6 +124,7 @@ export const AddSignersFormPartial = ({ }, [recipients, form]); const [showAdvancedSettings, setShowAdvancedSettings] = useState(alwaysShowAdvancedSettings); + const [showSigningOrderConfirmation, setShowSigningOrderConfirmation] = useState(false); const { setValue, @@ -134,6 +136,10 @@ export const AddSignersFormPartial = ({ const watchedSigners = watch('signers'); const isSigningOrderSequential = watch('signingOrder') === DocumentSigningOrder.SEQUENTIAL; + const hasAssistantRole = useMemo(() => { + return watchedSigners.some((signer) => signer.role === RecipientRole.ASSISTANT); + }, [watchedSigners]); + const normalizeSigningOrders = (signers: typeof watchedSigners) => { return signers .sort((a, b) => (a.signingOrder ?? 0) - (b.signingOrder ?? 0)) @@ -233,6 +239,7 @@ export const AddSignersFormPartial = ({ const items = Array.from(watchedSigners); const [reorderedSigner] = items.splice(result.source.index, 1); + // Find next valid position let insertIndex = result.destination.index; while (insertIndex < items.length && !canRecipientBeModified(items[insertIndex].nativeId)) { insertIndex++; @@ -240,126 +247,116 @@ export const AddSignersFormPartial = ({ items.splice(insertIndex, 0, reorderedSigner); - const updatedSigners = items.map((item, index) => ({ - ...item, - signingOrder: !canRecipientBeModified(item.nativeId) ? item.signingOrder : index + 1, + const updatedSigners = items.map((signer, index) => ({ + ...signer, + signingOrder: !canRecipientBeModified(signer.nativeId) ? signer.signingOrder : index + 1, })); - updatedSigners.forEach((item, index) => { - const keys: (keyof typeof item)[] = [ - 'formId', - 'nativeId', - 'email', - 'name', - 'role', - 'signingOrder', - 'actionAuth', - ]; - keys.forEach((key) => { - form.setValue(`signers.${index}.${key}` as const, item[key]); - }); - }); + form.setValue('signers', updatedSigners); - const currentLength = form.getValues('signers').length; - if (currentLength > updatedSigners.length) { - for (let i = updatedSigners.length; i < currentLength; i++) { - form.unregister(`signers.${i}`); - } + const lastSigner = updatedSigners[updatedSigners.length - 1]; + if (lastSigner.role === RecipientRole.ASSISTANT) { + toast({ + title: _(msg`Warning: Assistant as last signer`), + description: _( + msg`Having an assistant as the last signer means they will be unable to take any action as there are no subsequent signers to assist.`, + ), + }); } await form.trigger('signers'); }, - [form, canRecipientBeModified, watchedSigners], + [form, canRecipientBeModified, watchedSigners, toast], ); - const triggerDragAndDrop = useCallback( - (fromIndex: number, toIndex: number) => { - if (!$sensorApi.current) { + const handleRoleChange = useCallback( + (index: number, role: RecipientRole) => { + const currentSigners = form.getValues('signers'); + const signingOrder = form.getValues('signingOrder'); + + // Handle parallel to sequential conversion for assistants + if (role === RecipientRole.ASSISTANT && signingOrder === DocumentSigningOrder.PARALLEL) { + form.setValue('signingOrder', DocumentSigningOrder.SEQUENTIAL); + toast({ + title: _(msg`Signing order is enabled.`), + description: _(msg`You cannot add assistants when signing order is disabled.`), + variant: 'destructive', + }); return; } - const draggableId = signers[fromIndex].id; + const updatedSigners = currentSigners.map((signer, idx) => ({ + ...signer, + role: idx === index ? role : signer.role, + signingOrder: !canRecipientBeModified(signer.nativeId) ? signer.signingOrder : idx + 1, + })); - const preDrag = $sensorApi.current.tryGetLock(draggableId); + form.setValue('signers', updatedSigners); - if (!preDrag) { - return; + if (role === RecipientRole.ASSISTANT && index === updatedSigners.length - 1) { + toast({ + title: _(msg`Warning: Assistant as last signer`), + description: _( + msg`Having an assistant as the last signer means they will be unable to take any action as there are no subsequent signers to assist.`, + ), + }); } - - const drag = preDrag.snapLift(); - - setTimeout(() => { - // Move directly to the target index - if (fromIndex < toIndex) { - for (let i = fromIndex; i < toIndex; i++) { - drag.moveDown(); - } - } else { - for (let i = fromIndex; i > toIndex; i--) { - drag.moveUp(); - } - } - - setTimeout(() => { - drag.drop(); - }, 500); - }, 0); }, - [signers], - ); - - const updateSigningOrders = useCallback( - (newIndex: number, oldIndex: number) => { - const updatedSigners = form.getValues('signers').map((signer, index) => { - if (index === oldIndex) { - return { ...signer, signingOrder: newIndex + 1 }; - } else if (index >= newIndex && index < oldIndex) { - return { - ...signer, - signingOrder: !canRecipientBeModified(signer.nativeId) - ? signer.signingOrder - : (signer.signingOrder ?? index + 1) + 1, - }; - } else if (index <= newIndex && index > oldIndex) { - return { - ...signer, - signingOrder: !canRecipientBeModified(signer.nativeId) - ? signer.signingOrder - : Math.max(1, (signer.signingOrder ?? index + 1) - 1), - }; - } - return signer; - }); - - updatedSigners.forEach((signer, index) => { - form.setValue(`signers.${index}.signingOrder`, signer.signingOrder); - }); - }, - [form, canRecipientBeModified], + [form, toast, canRecipientBeModified], ); const handleSigningOrderChange = useCallback( (index: number, newOrderString: string) => { - const newOrder = parseInt(newOrderString, 10); - - if (!newOrderString.trim()) { + const trimmedOrderString = newOrderString.trim(); + if (!trimmedOrderString) { return; } - if (Number.isNaN(newOrder)) { - form.setValue(`signers.${index}.signingOrder`, index + 1); + const newOrder = Number(trimmedOrderString); + if (!Number.isInteger(newOrder) || newOrder < 1) { return; } - const newIndex = newOrder - 1; - if (index !== newIndex) { - updateSigningOrders(newIndex, index); - triggerDragAndDrop(index, newIndex); + const currentSigners = form.getValues('signers'); + const signer = currentSigners[index]; + + // Remove signer from current position and insert at new position + const remainingSigners = currentSigners.filter((_, idx) => idx !== index); + const newPosition = Math.min(Math.max(0, newOrder - 1), currentSigners.length - 1); + remainingSigners.splice(newPosition, 0, signer); + + const updatedSigners = remainingSigners.map((s, idx) => ({ + ...s, + signingOrder: !canRecipientBeModified(s.nativeId) ? s.signingOrder : idx + 1, + })); + + form.setValue('signers', updatedSigners); + + if (signer.role === RecipientRole.ASSISTANT && newPosition === remainingSigners.length - 1) { + toast({ + title: _(msg`Warning: Assistant as last signer`), + description: _( + msg`Having an assistant as the last signer means they will be unable to take any action as there are no subsequent signers to assist.`, + ), + }); } }, - [form, triggerDragAndDrop, updateSigningOrders], + [form, canRecipientBeModified, toast], ); + const handleSigningOrderDisable = useCallback(() => { + setShowSigningOrderConfirmation(false); + + const currentSigners = form.getValues('signers'); + const updatedSigners = currentSigners.map((signer) => ({ + ...signer, + role: signer.role === RecipientRole.ASSISTANT ? RecipientRole.SIGNER : signer.role, + })); + + form.setValue('signers', updatedSigners); + form.setValue('signingOrder', DocumentSigningOrder.PARALLEL); + }, [form]); + return ( <> + onCheckedChange={(checked) => { + if (!checked && hasAssistantRole) { + setShowSigningOrderConfirmation(true); + return; + } + field.onChange( checked ? DocumentSigningOrder.SEQUENTIAL : DocumentSigningOrder.PARALLEL, - ) - } + ); + }} disabled={isSubmitting || hasDocumentBeenSent} /> @@ -613,7 +615,11 @@ export const AddSignersFormPartial = ({ + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions + handleRoleChange(index, value as RecipientRole) + } disabled={ snapshot.isDragging || isSubmitting || @@ -710,6 +716,12 @@ export const AddSignersFormPartial = ({ )} + + diff --git a/packages/ui/primitives/document-flow/field-icon.tsx b/packages/ui/primitives/document-flow/field-icon.tsx index 43595c702..9ed662d57 100644 --- a/packages/ui/primitives/document-flow/field-icon.tsx +++ b/packages/ui/primitives/document-flow/field-icon.tsx @@ -59,10 +59,10 @@ export const FieldIcon = ({ if (fieldMeta && (type === 'TEXT' || type === 'NUMBER')) { if (type === 'TEXT' && 'text' in fieldMeta && fieldMeta.text && !fieldMeta.label) { label = - fieldMeta.text.length > 10 ? fieldMeta.text.substring(0, 10) + '...' : fieldMeta.text; + fieldMeta.text.length > 20 ? fieldMeta.text.substring(0, 20) + '...' : fieldMeta.text; } else if (fieldMeta.label) { label = - fieldMeta.label.length > 10 ? fieldMeta.label.substring(0, 10) + '...' : fieldMeta.label; + fieldMeta.label.length > 20 ? fieldMeta.label.substring(0, 20) + '...' : fieldMeta.label; } else { label = fieldIcons[type]?.label; } diff --git a/packages/ui/primitives/document-flow/signing-order-confirmation.tsx b/packages/ui/primitives/document-flow/signing-order-confirmation.tsx new file mode 100644 index 000000000..e127ec484 --- /dev/null +++ b/packages/ui/primitives/document-flow/signing-order-confirmation.tsx @@ -0,0 +1,40 @@ +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, +} from '@documenso/ui/primitives/alert-dialog'; + +export type SigningOrderConfirmationProps = { + open: boolean; + onOpenChange: (open: boolean) => void; + onConfirm: () => void; +}; + +export function SigningOrderConfirmation({ + open, + onOpenChange, + onConfirm, +}: SigningOrderConfirmationProps) { + return ( + + + + Warning + + You have an assistant role on the signers list, removing the signing order will change + the assistant role to signer. + + + + Cancel + Proceed + + + + ); +} diff --git a/packages/ui/primitives/radio-group.tsx b/packages/ui/primitives/radio-group.tsx index 1daa806e1..176c6f2f0 100644 --- a/packages/ui/primitives/radio-group.tsx +++ b/packages/ui/primitives/radio-group.tsx @@ -19,18 +19,18 @@ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName; const RadioGroupItem = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef ->(({ className, children: _children, ...props }, ref) => { +>(({ className, ...props }, ref) => { return ( - + ); diff --git a/packages/ui/primitives/recipient-role-icons.tsx b/packages/ui/primitives/recipient-role-icons.tsx index 5bc4f34b9..f6db9df9a 100644 --- a/packages/ui/primitives/recipient-role-icons.tsx +++ b/packages/ui/primitives/recipient-role-icons.tsx @@ -1,4 +1,4 @@ -import { BadgeCheck, Copy, Eye, PencilLine } from 'lucide-react'; +import { BadgeCheck, Copy, Eye, PencilLine, User } from 'lucide-react'; import type { RecipientRole } from '.prisma/client'; @@ -7,4 +7,5 @@ export const ROLE_ICONS: Record = { APPROVER: , CC: , VIEWER: , + ASSISTANT: , }; diff --git a/packages/ui/primitives/template-flow/add-template-fields.tsx b/packages/ui/primitives/template-flow/add-template-fields.tsx index c26c567e1..13d96b56a 100644 --- a/packages/ui/primitives/template-flow/add-template-fields.tsx +++ b/packages/ui/primitives/template-flow/add-template-fields.tsx @@ -32,7 +32,7 @@ import { import { nanoid } from '@documenso/lib/universal/id'; import { parseMessageDescriptor } from '@documenso/lib/utils/i18n'; import type { Field, Recipient } from '@documenso/prisma/client'; -import { FieldType, RecipientRole } from '@documenso/prisma/client'; +import { FieldType, RecipientRole, SendStatus } from '@documenso/prisma/client'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; import { Card, CardContent } from '@documenso/ui/primitives/card'; @@ -438,6 +438,7 @@ export const AddTemplateFieldsFormPartial = ({ VIEWER: [], SIGNER: [], APPROVER: [], + ASSISTANT: [], }; recipients.forEach((recipient) => { @@ -447,10 +448,25 @@ export const AddTemplateFieldsFormPartial = ({ return recipientsByRole; }, [recipients]); + useEffect(() => { + const recipientsByRoleToDisplay = recipients.filter( + (recipient) => + recipient.role !== RecipientRole.CC && recipient.role !== RecipientRole.ASSISTANT, + ); + + setSelectedSigner( + recipientsByRoleToDisplay.find((r) => r.sendStatus !== SendStatus.SENT) ?? + recipientsByRoleToDisplay[0], + ); + }, [recipients]); + const recipientsByRoleToDisplay = useMemo(() => { // eslint-disable-next-line @typescript-eslint/consistent-type-assertions return (Object.entries(recipientsByRole) as [RecipientRole, Recipient[]][]).filter( - ([role]) => role !== RecipientRole.CC && role !== RecipientRole.VIEWER, + ([role]) => + role !== RecipientRole.CC && + role !== RecipientRole.VIEWER && + role !== RecipientRole.ASSISTANT, ); }, [recipientsByRole]); diff --git a/packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx b/packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx index bf8dc0bd0..7312bf6ee 100644 --- a/packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +++ b/packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -29,6 +29,7 @@ import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; import { FormErrorMessage } from '@documenso/ui/primitives/form/form-error-message'; import { Input } from '@documenso/ui/primitives/input'; +import { toast } from '@documenso/ui/primitives/use-toast'; import { Checkbox } from '../checkbox'; import { @@ -39,6 +40,7 @@ import { DocumentFlowFormContainerStep, } from '../document-flow/document-flow-root'; import { ShowFieldItem } from '../document-flow/show-field-item'; +import { SigningOrderConfirmation } from '../document-flow/signing-order-confirmation'; import type { DocumentFlowStep } from '../document-flow/types'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '../form/form'; import { useStep } from '../stepper'; @@ -213,41 +215,30 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({ const items = Array.from(watchedSigners); const [reorderedSigner] = items.splice(result.source.index, 1); - const insertIndex = result.destination.index; items.splice(insertIndex, 0, reorderedSigner); - const updatedSigners = items.map((item, index) => ({ - ...item, + const updatedSigners = items.map((signer, index) => ({ + ...signer, signingOrder: index + 1, })); - updatedSigners.forEach((item, index) => { - const keys: (keyof typeof item)[] = [ - 'formId', - 'nativeId', - 'email', - 'name', - 'role', - 'signingOrder', - 'actionAuth', - ]; - keys.forEach((key) => { - form.setValue(`signers.${index}.${key}` as const, item[key]); - }); - }); + form.setValue('signers', updatedSigners); - const currentLength = form.getValues('signers').length; - if (currentLength > updatedSigners.length) { - for (let i = updatedSigners.length; i < currentLength; i++) { - form.unregister(`signers.${i}`); - } + const lastSigner = updatedSigners[updatedSigners.length - 1]; + if (lastSigner.role === RecipientRole.ASSISTANT) { + toast({ + title: _(msg`Warning: Assistant as last signer`), + description: _( + msg`Having an assistant as the last signer means they will be unable to take any action as there are no subsequent signers to assist.`, + ), + }); } await form.trigger('signers'); }, - [form, watchedSigners], + [form, watchedSigners, toast], ); const triggerDragAndDrop = useCallback( @@ -308,26 +299,94 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({ const handleSigningOrderChange = useCallback( (index: number, newOrderString: string) => { - const newOrder = parseInt(newOrderString, 10); - - if (!newOrderString.trim()) { + const trimmedOrderString = newOrderString.trim(); + if (!trimmedOrderString) { return; } - if (Number.isNaN(newOrder)) { - form.setValue(`signers.${index}.signingOrder`, index + 1); + const newOrder = Number(trimmedOrderString); + if (!Number.isInteger(newOrder) || newOrder < 1) { return; } - const newIndex = newOrder - 1; - if (index !== newIndex) { - updateSigningOrders(newIndex, index); - triggerDragAndDrop(index, newIndex); + const currentSigners = form.getValues('signers'); + const signer = currentSigners[index]; + + // Remove signer from current position and insert at new position + const remainingSigners = currentSigners.filter((_, idx) => idx !== index); + const newPosition = Math.min(Math.max(0, newOrder - 1), currentSigners.length - 1); + remainingSigners.splice(newPosition, 0, signer); + + const updatedSigners = remainingSigners.map((s, idx) => ({ + ...s, + signingOrder: idx + 1, + })); + + form.setValue('signers', updatedSigners); + + if (signer.role === RecipientRole.ASSISTANT && newPosition === remainingSigners.length - 1) { + toast({ + title: _(msg`Warning: Assistant as last signer`), + description: _( + msg`Having an assistant as the last signer means they will be unable to take any action as there are no subsequent signers to assist.`, + ), + }); } }, - [form, triggerDragAndDrop, updateSigningOrders], + [form, toast], ); + const handleRoleChange = useCallback( + (index: number, role: RecipientRole) => { + const currentSigners = form.getValues('signers'); + const signingOrder = form.getValues('signingOrder'); + + // Handle parallel to sequential conversion for assistants + if (role === RecipientRole.ASSISTANT && signingOrder === DocumentSigningOrder.PARALLEL) { + form.setValue('signingOrder', DocumentSigningOrder.SEQUENTIAL); + toast({ + title: _(msg`Signing order is enabled.`), + description: _(msg`You cannot add assistants when signing order is disabled.`), + variant: 'destructive', + }); + return; + } + + const updatedSigners = currentSigners.map((signer, idx) => ({ + ...signer, + role: idx === index ? role : signer.role, + signingOrder: idx + 1, + })); + + form.setValue('signers', updatedSigners); + + if (role === RecipientRole.ASSISTANT && index === updatedSigners.length - 1) { + toast({ + title: _(msg`Warning: Assistant as last signer`), + description: _( + msg`Having an assistant as the last signer means they will be unable to take any action as there are no subsequent signers to assist.`, + ), + }); + } + }, + [form, toast], + ); + + const [showSigningOrderConfirmation, setShowSigningOrderConfirmation] = useState(false); + + const handleSigningOrderDisable = useCallback(() => { + setShowSigningOrderConfirmation(false); + + const currentSigners = form.getValues('signers'); + const updatedSigners = currentSigners.map((signer) => ({ + ...signer, + role: signer.role === RecipientRole.ASSISTANT ? RecipientRole.SIGNER : signer.role, + })); + + form.setValue('signers', updatedSigners); + form.setValue('signingOrder', DocumentSigningOrder.PARALLEL); + }, [form]); + return ( <> + onCheckedChange={(checked) => { + if ( + !checked && + watchedSigners.some((s) => s.role === RecipientRole.ASSISTANT) + ) { + setShowSigningOrderConfirmation(true); + return; + } + field.onChange( checked ? DocumentSigningOrder.SEQUENTIAL : DocumentSigningOrder.PARALLEL, - ) - } + ); + }} disabled={isSubmitting} /> @@ -556,7 +623,10 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({ + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions + handleRoleChange(index, value as RecipientRole) + } disabled={isSubmitting} hideCCRecipients={isSignerDirectRecipient(signer)} /> @@ -677,6 +747,12 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({ onGoNextClick={() => void onFormSubmit()} /> + + ); };