mirror of
https://github.com/documenso/documenso.git
synced 2025-11-10 04:22:32 +10:00
Compare commits
29 Commits
v1.8.1-rc.
...
feat/delet
| Author | SHA1 | Date | |
|---|---|---|---|
| 5103477e7b | |||
| b19b57dbc9 | |||
| 2b3ab9a3b7 | |||
| cac262fcea | |||
| 0cd7c25718 | |||
| 79eec5f451 | |||
| 7ca0975650 | |||
| 870b3fb3d7 | |||
| 43ea76fae3 | |||
| 2dd122aed3 | |||
| d3872e86f1 | |||
| 171398ae2d | |||
| 492350612e | |||
| f9935adb57 | |||
| d2b99303f9 | |||
| d33bbe71e7 | |||
| 6bf62e0ecb | |||
| 16527f01e7 | |||
| 7f25508c3c | |||
| 754e9e6428 | |||
| 2837b178fb | |||
| 26ccdc1b23 | |||
| ea63b45a13 | |||
| feef4b1a12 | |||
| 1a55f4253b | |||
| 8311e0cc29 | |||
| a9adc36732 | |||
| 73e375938c | |||
| c6393b7a9e |
4
apps/marketing/process-env.d.ts
vendored
4
apps/marketing/process-env.d.ts
vendored
@ -2,8 +2,8 @@ declare namespace NodeJS {
|
||||
export interface ProcessEnv {
|
||||
NEXT_PUBLIC_WEBAPP_URL?: string;
|
||||
NEXT_PUBLIC_MARKETING_URL?: string;
|
||||
NEXT_PRIVATE_INTERNAL_WEBAPP_URL?:string;
|
||||
|
||||
NEXT_PRIVATE_INTERNAL_WEBAPP_URL?: string;
|
||||
|
||||
NEXT_PRIVATE_DATABASE_URL: string;
|
||||
|
||||
NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID: string;
|
||||
|
||||
2
apps/web/process-env.d.ts
vendored
2
apps/web/process-env.d.ts
vendored
@ -2,7 +2,7 @@ declare namespace NodeJS {
|
||||
export interface ProcessEnv {
|
||||
NEXT_PUBLIC_WEBAPP_URL?: string;
|
||||
NEXT_PUBLIC_MARKETING_URL?: string;
|
||||
NEXT_PRIVATE_INTERNAL_WEBAPP_URL?:string;
|
||||
NEXT_PRIVATE_INTERNAL_WEBAPP_URL?: string;
|
||||
|
||||
NEXT_PRIVATE_DATABASE_URL: string;
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ export const DocumentPageViewInformation = ({
|
||||
const { _, i18n } = useLingui();
|
||||
|
||||
const documentInformation = useMemo(() => {
|
||||
return [
|
||||
const info = [
|
||||
{
|
||||
description: msg`Uploaded by`,
|
||||
value: userId === document.userId ? _(msg`You`) : document.User.name ?? document.User.email,
|
||||
@ -44,8 +44,20 @@ export const DocumentPageViewInformation = ({
|
||||
.toRelative(),
|
||||
},
|
||||
];
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [isMounted, document, userId]);
|
||||
|
||||
if (document.deletedAt) {
|
||||
info.push({
|
||||
description: msg`Deleted`,
|
||||
value:
|
||||
document.deletedAt &&
|
||||
DateTime.fromJSDate(document.deletedAt)
|
||||
.setLocale(i18n.locales?.[0] || i18n.locale)
|
||||
.toFormat('MMMM d, yyyy'),
|
||||
});
|
||||
}
|
||||
|
||||
return info;
|
||||
}, [isMounted, document, i18n.locales?.[0] || i18n.locale, userId]);
|
||||
|
||||
return (
|
||||
<section className="dark:bg-background text-foreground border-border bg-widget flex flex-col rounded-xl border">
|
||||
|
||||
@ -221,7 +221,7 @@ export const DocumentPageView = async ({ params, team }: DocumentPageViewProps)
|
||||
<DocumentPageViewDropdown document={documentWithRecipients} team={team} />
|
||||
</div>
|
||||
|
||||
<p className="text-muted-foreground mt-2 px-4 text-sm ">
|
||||
<p className="text-muted-foreground mt-2 px-4 text-sm">
|
||||
{match(document.status)
|
||||
.with(DocumentStatus.COMPLETED, () => (
|
||||
<Trans>This document has been signed by all recipients</Trans>
|
||||
|
||||
@ -7,6 +7,7 @@ import Link from 'next/link';
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import {
|
||||
ArchiveRestore,
|
||||
CheckCircle,
|
||||
Copy,
|
||||
Download,
|
||||
@ -23,8 +24,8 @@ import { useSession } from 'next-auth/react';
|
||||
|
||||
import { downloadPDF } from '@documenso/lib/client-only/download-pdf';
|
||||
import { formatDocumentsPath } from '@documenso/lib/utils/teams';
|
||||
import { DocumentStatus, RecipientRole } from '@documenso/prisma/client';
|
||||
import type { Document, Recipient, Team, User } from '@documenso/prisma/client';
|
||||
import { DocumentStatus, RecipientRole } from '@documenso/prisma/client';
|
||||
import type { DocumentWithData } from '@documenso/prisma/types/document-with-data';
|
||||
import { trpc as trpcClient } from '@documenso/trpc/client';
|
||||
import { DocumentShareButton } from '@documenso/ui/components/document/document-share-button';
|
||||
@ -43,6 +44,7 @@ import { ResendDocumentActionItem } from './_action-items/resend-document';
|
||||
import { DeleteDocumentDialog } from './delete-document-dialog';
|
||||
import { DuplicateDocumentDialog } from './duplicate-document-dialog';
|
||||
import { MoveDocumentDialog } from './move-document-dialog';
|
||||
import { RestoreDocumentDialog } from './restore-document-dialog';
|
||||
|
||||
export type DataTableActionDropdownProps = {
|
||||
row: Document & {
|
||||
@ -61,6 +63,7 @@ export const DataTableActionDropdown = ({ row, team }: DataTableActionDropdownPr
|
||||
const [isDeleteDialogOpen, setDeleteDialogOpen] = useState(false);
|
||||
const [isDuplicateDialogOpen, setDuplicateDialogOpen] = useState(false);
|
||||
const [isMoveDialogOpen, setMoveDialogOpen] = useState(false);
|
||||
const [isRestoreDialogOpen, setRestoreDialogOpen] = useState(false);
|
||||
|
||||
if (!session) {
|
||||
return null;
|
||||
@ -76,6 +79,7 @@ export const DataTableActionDropdown = ({ row, team }: DataTableActionDropdownPr
|
||||
// const isSigned = recipient?.signingStatus === SigningStatus.SIGNED;
|
||||
const isCurrentTeamDocument = team && row.team?.url === team.url;
|
||||
const canManageDocument = Boolean(isOwner || isCurrentTeamDocument);
|
||||
const isDeletedDocument = row.deletedAt !== null;
|
||||
|
||||
const documentsPath = formatDocumentsPath(team?.url);
|
||||
|
||||
@ -181,13 +185,23 @@ export const DataTableActionDropdown = ({ row, team }: DataTableActionDropdownPr
|
||||
Void
|
||||
</DropdownMenuItem> */}
|
||||
|
||||
<DropdownMenuItem
|
||||
onClick={() => setDeleteDialogOpen(true)}
|
||||
disabled={Boolean(!canManageDocument && team?.teamEmail)}
|
||||
>
|
||||
<Trash2 className="mr-2 h-4 w-4" />
|
||||
{canManageDocument ? _(msg`Delete`) : _(msg`Hide`)}
|
||||
</DropdownMenuItem>
|
||||
{isDeletedDocument ? (
|
||||
<DropdownMenuItem
|
||||
onClick={() => setRestoreDialogOpen(true)}
|
||||
disabled={Boolean(!canManageDocument)}
|
||||
>
|
||||
<ArchiveRestore className="mr-2 h-4 w-4" />
|
||||
Restore
|
||||
</DropdownMenuItem>
|
||||
) : (
|
||||
<DropdownMenuItem
|
||||
onClick={() => setDeleteDialogOpen(true)}
|
||||
disabled={Boolean(!canManageDocument && team?.teamEmail)}
|
||||
>
|
||||
<Trash2 className="mr-2 h-4 w-4" />
|
||||
{canManageDocument ? 'Delete' : 'Hide'}
|
||||
</DropdownMenuItem>
|
||||
)}
|
||||
|
||||
<DropdownMenuLabel>
|
||||
<Trans>Share</Trans>
|
||||
@ -239,6 +253,16 @@ export const DataTableActionDropdown = ({ row, team }: DataTableActionDropdownPr
|
||||
onOpenChange={setMoveDialogOpen}
|
||||
/>
|
||||
|
||||
<RestoreDocumentDialog
|
||||
id={row.id}
|
||||
status={row.status}
|
||||
documentTitle={row.title}
|
||||
open={isRestoreDialogOpen}
|
||||
onOpenChange={setRestoreDialogOpen}
|
||||
teamId={team?.id}
|
||||
canManageDocument={canManageDocument}
|
||||
/>
|
||||
|
||||
{isDuplicateDialogOpen && (
|
||||
<DuplicateDocumentDialog
|
||||
id={row.id}
|
||||
|
||||
@ -4,10 +4,10 @@ import { Trans } from '@lingui/macro';
|
||||
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app';
|
||||
import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
|
||||
import { findDocuments } from '@documenso/lib/server-only/document/find-documents';
|
||||
import type { PeriodSelectorValue } from '@documenso/lib/server-only/document/find-documents';
|
||||
import type { GetStatsInput } from '@documenso/lib/server-only/document/get-stats';
|
||||
import { getStats } from '@documenso/lib/server-only/document/get-stats';
|
||||
import { findDocuments } from '@documenso/lib/server-only/document/find-documents';
|
||||
import type { GetStatsInput } from '@documenso/lib/server-only/document/get-stats-new';
|
||||
import { getStats } from '@documenso/lib/server-only/document/get-stats-new';
|
||||
import { parseToIntegerArray } from '@documenso/lib/utils/params';
|
||||
import { formatDocumentsPath } from '@documenso/lib/utils/teams';
|
||||
import type { Team, TeamEmail, TeamMemberRole } from '@documenso/prisma/client';
|
||||
@ -35,7 +35,7 @@ export interface DocumentsPageViewProps {
|
||||
senderIds?: string;
|
||||
search?: string;
|
||||
};
|
||||
team?: Team & { teamEmail?: TeamEmail | null } & { currentTeamMember?: { role: TeamMemberRole } };
|
||||
team?: Team & { teamEmail: TeamEmail | null } & { currentTeamMember?: { role: TeamMemberRole } };
|
||||
}
|
||||
|
||||
export const DocumentsPageView = async ({ searchParams = {}, team }: DocumentsPageViewProps) => {
|
||||
@ -50,25 +50,14 @@ export const DocumentsPageView = async ({ searchParams = {}, team }: DocumentsPa
|
||||
const currentTeam = team
|
||||
? { id: team.id, url: team.url, teamEmail: team.teamEmail?.email }
|
||||
: undefined;
|
||||
const currentTeamMemberRole = team?.currentTeamMember?.role;
|
||||
|
||||
const getStatOptions: GetStatsInput = {
|
||||
user,
|
||||
period,
|
||||
team,
|
||||
search,
|
||||
};
|
||||
|
||||
if (team) {
|
||||
getStatOptions.team = {
|
||||
teamId: team.id,
|
||||
teamEmail: team.teamEmail?.email,
|
||||
senderIds,
|
||||
currentTeamMemberRole,
|
||||
currentUserEmail: user.email,
|
||||
userId: user.id,
|
||||
};
|
||||
}
|
||||
|
||||
const stats = await getStats(getStatOptions);
|
||||
|
||||
const results = await findDocuments({
|
||||
@ -128,6 +117,7 @@ export const DocumentsPageView = async ({ searchParams = {}, team }: DocumentsPa
|
||||
ExtendedDocumentStatus.PENDING,
|
||||
ExtendedDocumentStatus.COMPLETED,
|
||||
ExtendedDocumentStatus.DRAFT,
|
||||
ExtendedDocumentStatus.BIN,
|
||||
ExtendedDocumentStatus.ALL,
|
||||
].map((value) => (
|
||||
<TabsTrigger
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { Bird, CheckCircle2 } from 'lucide-react';
|
||||
import { Bird, CheckCircle2, Trash } from 'lucide-react';
|
||||
import { match } from 'ts-pattern';
|
||||
|
||||
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
|
||||
@ -30,6 +30,11 @@ export const EmptyDocumentState = ({ status }: EmptyDocumentProps) => {
|
||||
message: msg`You have not yet created or received any documents. To create a document please upload one.`,
|
||||
icon: Bird,
|
||||
}))
|
||||
.with(ExtendedDocumentStatus.BIN, () => ({
|
||||
title: msg`No documents in the bin`,
|
||||
message: msg`There are no documents in the bin.`,
|
||||
icon: Trash,
|
||||
}))
|
||||
.otherwise(() => ({
|
||||
title: msg`Nothing to do`,
|
||||
message: msg`All documents have been processed. Any new documents that are sent or received will show here.`,
|
||||
@ -42,7 +47,6 @@ export const EmptyDocumentState = ({ status }: EmptyDocumentProps) => {
|
||||
data-testid="empty-document-state"
|
||||
>
|
||||
<Icon className="h-12 w-12" strokeWidth={1.5} />
|
||||
|
||||
<div className="text-center">
|
||||
<h3 className="text-lg font-semibold">{_(title)}</h3>
|
||||
|
||||
|
||||
@ -0,0 +1,90 @@
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
import type { DocumentStatus } from '@documenso/prisma/client';
|
||||
import { trpc as trpcReact } from '@documenso/trpc/react';
|
||||
import {
|
||||
AlertDialog,
|
||||
AlertDialogCancel,
|
||||
AlertDialogContent,
|
||||
AlertDialogDescription,
|
||||
AlertDialogFooter,
|
||||
AlertDialogHeader,
|
||||
AlertDialogTitle,
|
||||
} from '@documenso/ui/primitives/alert-dialog';
|
||||
import { Button } from '@documenso/ui/primitives/button';
|
||||
import { useToast } from '@documenso/ui/primitives/use-toast';
|
||||
|
||||
type RestoreDocumentDialogProps = {
|
||||
id: number;
|
||||
open: boolean;
|
||||
onOpenChange: (_open: boolean) => void;
|
||||
status: DocumentStatus;
|
||||
documentTitle: string;
|
||||
teamId?: number;
|
||||
canManageDocument: boolean;
|
||||
};
|
||||
|
||||
export function RestoreDocumentDialog({
|
||||
id,
|
||||
teamId,
|
||||
open,
|
||||
onOpenChange,
|
||||
documentTitle,
|
||||
canManageDocument,
|
||||
}: RestoreDocumentDialogProps) {
|
||||
const router = useRouter();
|
||||
const { toast } = useToast();
|
||||
|
||||
const { mutateAsync: restoreDocument, isLoading } =
|
||||
trpcReact.document.restoreDocument.useMutation({
|
||||
onSuccess: () => {
|
||||
router.refresh();
|
||||
|
||||
toast({
|
||||
title: 'Document restored',
|
||||
description: `"${documentTitle}" has been successfully restored`,
|
||||
duration: 5000,
|
||||
});
|
||||
|
||||
onOpenChange(false);
|
||||
},
|
||||
});
|
||||
|
||||
const onRestore = async () => {
|
||||
try {
|
||||
await restoreDocument({ id, teamId });
|
||||
} catch {
|
||||
toast({
|
||||
title: 'Something went wrong',
|
||||
description: 'This document could not be restored at this time. Please try again.',
|
||||
variant: 'destructive',
|
||||
duration: 7500,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<AlertDialog open={open} onOpenChange={(value) => !isLoading && onOpenChange(value)}>
|
||||
<AlertDialogContent>
|
||||
<AlertDialogHeader>
|
||||
<AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
|
||||
<AlertDialogDescription>
|
||||
You are about to restore the document <strong>"{documentTitle}"</strong>
|
||||
</AlertDialogDescription>
|
||||
</AlertDialogHeader>
|
||||
<AlertDialogFooter>
|
||||
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
||||
|
||||
<Button
|
||||
type="button"
|
||||
loading={isLoading}
|
||||
onClick={onRestore}
|
||||
disabled={!canManageDocument}
|
||||
>
|
||||
Restore
|
||||
</Button>
|
||||
</AlertDialogFooter>
|
||||
</AlertDialogContent>
|
||||
</AlertDialog>
|
||||
);
|
||||
}
|
||||
@ -167,6 +167,7 @@ export const DocumentHistorySheet = ({
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_CREATED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_COMPLETED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_DELETED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RESTORED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_COMPLETED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED },
|
||||
|
||||
@ -3,7 +3,7 @@ import type { HTMLAttributes } from 'react';
|
||||
import type { MessageDescriptor } from '@lingui/core';
|
||||
import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { CheckCircle2, Clock, File } from 'lucide-react';
|
||||
import { CheckCircle2, Clock, File, TrashIcon } from 'lucide-react';
|
||||
import type { LucideIcon } from 'lucide-react/dist/lucide-react';
|
||||
|
||||
import type { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
|
||||
@ -47,6 +47,12 @@ export const FRIENDLY_STATUS_MAP: Record<ExtendedDocumentStatus, FriendlyStatus>
|
||||
labelExtended: msg`Document All`,
|
||||
color: 'text-muted-foreground',
|
||||
},
|
||||
BIN: {
|
||||
label: msg`Bin`,
|
||||
labelExtended: msg`Document Bin`,
|
||||
icon: TrashIcon,
|
||||
color: 'text-red-500 dark:text-red-200',
|
||||
},
|
||||
};
|
||||
|
||||
export type DocumentStatusProps = HTMLAttributes<HTMLSpanElement> & {
|
||||
|
||||
@ -128,7 +128,7 @@ export const SEAL_DOCUMENT_JOB_DEFINITION = {
|
||||
|
||||
const pdfData = await getFile(documentData);
|
||||
const certificateData =
|
||||
document.team?.teamGlobalSettings?.includeSigningCertificate ?? true
|
||||
(document.team?.teamGlobalSettings?.includeSigningCertificate ?? true)
|
||||
? await getCertificatePdf({
|
||||
documentId,
|
||||
language: document.documentMeta?.language,
|
||||
|
||||
@ -13,6 +13,7 @@ export const getDocumentStats = async () => {
|
||||
[ExtendedDocumentStatus.DRAFT]: 0,
|
||||
[ExtendedDocumentStatus.PENDING]: 0,
|
||||
[ExtendedDocumentStatus.COMPLETED]: 0,
|
||||
[ExtendedDocumentStatus.BIN]: 0,
|
||||
[ExtendedDocumentStatus.ALL]: 0,
|
||||
};
|
||||
|
||||
|
||||
@ -158,6 +158,16 @@ const handleDocumentOwnerDelete = async ({
|
||||
}),
|
||||
});
|
||||
|
||||
// Soft delete for document recipients since the owner is deleting it
|
||||
await tx.recipient.updateMany({
|
||||
where: {
|
||||
documentId: document.id,
|
||||
},
|
||||
data: {
|
||||
documentDeletedAt: new Date().toISOString(),
|
||||
},
|
||||
});
|
||||
|
||||
return await tx.document.update({
|
||||
where: {
|
||||
id: document.id,
|
||||
|
||||
@ -64,6 +64,7 @@ export const findDocumentAuditLogs = async ({
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_COMPLETED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_CREATED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_DELETED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RESTORED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_COMPLETED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED,
|
||||
|
||||
@ -2,15 +2,8 @@ import { DateTime } from 'luxon';
|
||||
import { P, match } from 'ts-pattern';
|
||||
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { RecipientRole, SigningStatus, TeamMemberRole } from '@documenso/prisma/client';
|
||||
import type {
|
||||
Document,
|
||||
DocumentSource,
|
||||
Prisma,
|
||||
Team,
|
||||
TeamEmail,
|
||||
User,
|
||||
} from '@documenso/prisma/client';
|
||||
import type { Document, DocumentSource, Team, TeamEmail, User } from '@documenso/prisma/client';
|
||||
import { Prisma, RecipientRole, SigningStatus, TeamMemberRole } from '@documenso/prisma/client';
|
||||
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
|
||||
|
||||
import { DocumentVisibility } from '../../types/document-visibility';
|
||||
@ -88,14 +81,12 @@ export const findDocuments = async ({
|
||||
const teamMemberRole = team?.members[0].role ?? null;
|
||||
|
||||
const termFilters = match(term)
|
||||
.with(P.string.minLength(1), () => {
|
||||
return {
|
||||
title: {
|
||||
contains: term,
|
||||
mode: 'insensitive',
|
||||
},
|
||||
} as const;
|
||||
})
|
||||
.with(P.string.minLength(1), () => ({
|
||||
title: {
|
||||
contains: term,
|
||||
mode: Prisma.QueryMode.insensitive,
|
||||
},
|
||||
}))
|
||||
.otherwise(() => undefined);
|
||||
|
||||
const searchFilter: Prisma.DocumentWhereInput = {
|
||||
@ -141,6 +132,8 @@ export const findDocuments = async ({
|
||||
|
||||
let filters: Prisma.DocumentWhereInput | null = findDocumentsFilter(status, user);
|
||||
|
||||
console.log('find documets team', team);
|
||||
|
||||
if (team) {
|
||||
filters = findTeamDocumentsFilter(status, team, visibilityFilters);
|
||||
}
|
||||
@ -293,19 +286,21 @@ export const findDocuments = async ({
|
||||
} satisfies FindResultSet<typeof data>;
|
||||
};
|
||||
|
||||
const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
export const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
return match<ExtendedDocumentStatus, Prisma.DocumentWhereInput>(status)
|
||||
.with(ExtendedDocumentStatus.ALL, () => ({
|
||||
OR: [
|
||||
{
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -314,6 +309,7 @@ const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -330,6 +326,7 @@ const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
role: {
|
||||
not: RecipientRole.CC,
|
||||
},
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
}))
|
||||
@ -344,6 +341,7 @@ const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
@ -354,6 +352,7 @@ const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
role: {
|
||||
not: RecipientRole.CC,
|
||||
},
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -365,12 +364,49 @@ const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}))
|
||||
.with(ExtendedDocumentStatus.BIN, () => ({
|
||||
OR: [
|
||||
{
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
deletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
documentDeletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
documentDeletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -408,7 +444,7 @@ const findDocumentsFilter = (status: ExtendedDocumentStatus, user: User) => {
|
||||
* @param team The team to find the documents for.
|
||||
* @returns A filter which can be applied to the Prisma Document schema.
|
||||
*/
|
||||
const findTeamDocumentsFilter = (
|
||||
export const findTeamDocumentsFilter = (
|
||||
status: ExtendedDocumentStatus,
|
||||
team: Team & { teamEmail: TeamEmail | null },
|
||||
visibilityFilters: Prisma.DocumentWhereInput[],
|
||||
@ -418,17 +454,16 @@ const findTeamDocumentsFilter = (
|
||||
return match<ExtendedDocumentStatus, Prisma.DocumentWhereInput | null>(status)
|
||||
.with(ExtendedDocumentStatus.ALL, () => {
|
||||
const filter: Prisma.DocumentWhereInput = {
|
||||
// Filter to display all documents that belong to the team.
|
||||
OR: [
|
||||
{
|
||||
teamId: team.id,
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
if (teamEmail && filter.OR) {
|
||||
// Filter to display all documents received by the team email that are not draft.
|
||||
filter.OR.push({
|
||||
status: {
|
||||
not: ExtendedDocumentStatus.DRAFT,
|
||||
@ -438,14 +473,15 @@ const findTeamDocumentsFilter = (
|
||||
email: teamEmail,
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
});
|
||||
|
||||
// Filter to display all documents that have been sent by the team email.
|
||||
filter.OR.push({
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
});
|
||||
}
|
||||
@ -453,7 +489,6 @@ const findTeamDocumentsFilter = (
|
||||
return filter;
|
||||
})
|
||||
.with(ExtendedDocumentStatus.INBOX, () => {
|
||||
// Return a filter that will return nothing.
|
||||
if (!teamEmail) {
|
||||
return null;
|
||||
}
|
||||
@ -471,6 +506,7 @@ const findTeamDocumentsFilter = (
|
||||
},
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
};
|
||||
})
|
||||
@ -480,6 +516,7 @@ const findTeamDocumentsFilter = (
|
||||
{
|
||||
teamId: team.id,
|
||||
status: ExtendedDocumentStatus.DRAFT,
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
],
|
||||
@ -491,6 +528,7 @@ const findTeamDocumentsFilter = (
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
});
|
||||
}
|
||||
@ -503,6 +541,7 @@ const findTeamDocumentsFilter = (
|
||||
{
|
||||
teamId: team.id,
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
],
|
||||
@ -531,6 +570,7 @@ const findTeamDocumentsFilter = (
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
],
|
||||
deletedAt: null,
|
||||
});
|
||||
}
|
||||
|
||||
@ -539,6 +579,7 @@ const findTeamDocumentsFilter = (
|
||||
.with(ExtendedDocumentStatus.COMPLETED, () => {
|
||||
const filter: Prisma.DocumentWhereInput = {
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
deletedAt: null,
|
||||
OR: [
|
||||
{
|
||||
teamId: team.id,
|
||||
@ -568,5 +609,42 @@ const findTeamDocumentsFilter = (
|
||||
|
||||
return filter;
|
||||
})
|
||||
.with(ExtendedDocumentStatus.BIN, () => {
|
||||
const filters: Prisma.DocumentWhereInput[] = [
|
||||
{
|
||||
teamId: team.id,
|
||||
deletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
if (teamEmail) {
|
||||
filters.push(
|
||||
{
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
deletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
{
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
documentDeletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return {
|
||||
OR: filters,
|
||||
};
|
||||
})
|
||||
.exhaustive();
|
||||
};
|
||||
|
||||
118
packages/lib/server-only/document/get-stats-new.tsx
Normal file
118
packages/lib/server-only/document/get-stats-new.tsx
Normal file
@ -0,0 +1,118 @@
|
||||
import { DateTime } from 'luxon';
|
||||
import { match } from 'ts-pattern';
|
||||
|
||||
import {
|
||||
type PeriodSelectorValue,
|
||||
findDocumentsFilter,
|
||||
findTeamDocumentsFilter,
|
||||
} from '@documenso/lib/server-only/document/find-documents';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { Prisma, Team, TeamEmail, User } from '@documenso/prisma/client';
|
||||
import { DocumentVisibility, TeamMemberRole } from '@documenso/prisma/client';
|
||||
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
|
||||
|
||||
export type GetStatsInput = {
|
||||
user: User;
|
||||
team?: Team & { teamEmail: TeamEmail | null } & { currentTeamMember?: { role: TeamMemberRole } };
|
||||
period?: PeriodSelectorValue;
|
||||
search?: string;
|
||||
};
|
||||
|
||||
export const getStats = async ({ user, period, search, ...options }: GetStatsInput) => {
|
||||
let createdAt: Prisma.DocumentWhereInput['createdAt'];
|
||||
|
||||
if (period) {
|
||||
const daysAgo = parseInt(period.replace(/d$/, ''), 10);
|
||||
|
||||
const startOfPeriod = DateTime.now().minus({ days: daysAgo }).startOf('day');
|
||||
|
||||
createdAt = {
|
||||
gte: startOfPeriod.toJSDate(),
|
||||
};
|
||||
}
|
||||
|
||||
const stats: Record<ExtendedDocumentStatus, number> = {
|
||||
[ExtendedDocumentStatus.DRAFT]: 0,
|
||||
[ExtendedDocumentStatus.PENDING]: 0,
|
||||
[ExtendedDocumentStatus.COMPLETED]: 0,
|
||||
[ExtendedDocumentStatus.INBOX]: 0,
|
||||
[ExtendedDocumentStatus.ALL]: 0,
|
||||
[ExtendedDocumentStatus.BIN]: 0,
|
||||
};
|
||||
|
||||
const searchFilter: Prisma.DocumentWhereInput = search
|
||||
? {
|
||||
OR: [
|
||||
{ title: { contains: search, mode: 'insensitive' } },
|
||||
{ Recipient: { some: { name: { contains: search, mode: 'insensitive' } } } },
|
||||
{ Recipient: { some: { email: { contains: search, mode: 'insensitive' } } } },
|
||||
],
|
||||
}
|
||||
: {};
|
||||
|
||||
const visibilityFilters = [
|
||||
match(options.team?.currentTeamMember?.role)
|
||||
.with(TeamMemberRole.ADMIN, () => ({
|
||||
visibility: {
|
||||
in: [
|
||||
DocumentVisibility.EVERYONE,
|
||||
DocumentVisibility.MANAGER_AND_ABOVE,
|
||||
DocumentVisibility.ADMIN,
|
||||
],
|
||||
},
|
||||
}))
|
||||
.with(TeamMemberRole.MANAGER, () => ({
|
||||
visibility: {
|
||||
in: [DocumentVisibility.EVERYONE, DocumentVisibility.MANAGER_AND_ABOVE],
|
||||
},
|
||||
}))
|
||||
.otherwise(() => ({ visibility: DocumentVisibility.EVERYONE })),
|
||||
];
|
||||
|
||||
const statusCounts = await Promise.all(
|
||||
Object.values(ExtendedDocumentStatus).map(async (status) => {
|
||||
if (status === ExtendedDocumentStatus.ALL) {
|
||||
return;
|
||||
}
|
||||
|
||||
const filter = options.team
|
||||
? findTeamDocumentsFilter(status, options.team, visibilityFilters)
|
||||
: findDocumentsFilter(status, user);
|
||||
|
||||
if (filter === null) {
|
||||
return { status, count: 0 };
|
||||
}
|
||||
|
||||
const whereClause = {
|
||||
...filter,
|
||||
...(createdAt && { createdAt }),
|
||||
...searchFilter,
|
||||
};
|
||||
|
||||
const count = await prisma.document.count({
|
||||
where: whereClause,
|
||||
});
|
||||
|
||||
return { status, count };
|
||||
}),
|
||||
);
|
||||
|
||||
statusCounts.forEach((result) => {
|
||||
if (result) {
|
||||
stats[result.status] = result.count;
|
||||
if (
|
||||
result.status !== ExtendedDocumentStatus.BIN &&
|
||||
[
|
||||
ExtendedDocumentStatus.DRAFT,
|
||||
ExtendedDocumentStatus.PENDING,
|
||||
ExtendedDocumentStatus.COMPLETED,
|
||||
ExtendedDocumentStatus.INBOX,
|
||||
].includes(result.status)
|
||||
) {
|
||||
stats[ExtendedDocumentStatus.ALL] += result.count;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return stats;
|
||||
};
|
||||
@ -1,12 +1,16 @@
|
||||
import { DateTime } from 'luxon';
|
||||
import { match } from 'ts-pattern';
|
||||
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
import type { PeriodSelectorValue } from '@documenso/lib/server-only/document/find-documents';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { TeamMemberRole } from '@documenso/prisma/client';
|
||||
import type { Prisma, User } from '@documenso/prisma/client';
|
||||
import { SigningStatus } from '@documenso/prisma/client';
|
||||
import { DocumentVisibility } from '@documenso/prisma/client';
|
||||
import {
|
||||
DocumentVisibility,
|
||||
RecipientRole,
|
||||
SigningStatus,
|
||||
TeamMemberRole,
|
||||
} from '@documenso/prisma/client';
|
||||
import { isExtendedDocumentStatus } from '@documenso/prisma/guards/is-extended-document-status';
|
||||
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
|
||||
|
||||
@ -30,7 +34,7 @@ export const getStats = async ({ user, period, search, ...options }: GetStatsInp
|
||||
};
|
||||
}
|
||||
|
||||
const [ownerCounts, notSignedCounts, hasSignedCounts] = await (options.team
|
||||
const [ownerCounts, notSignedCounts, hasSignedCounts, deletedCounts] = await (options.team
|
||||
? getTeamCounts({
|
||||
...options.team,
|
||||
createdAt,
|
||||
@ -46,6 +50,7 @@ export const getStats = async ({ user, period, search, ...options }: GetStatsInp
|
||||
[ExtendedDocumentStatus.COMPLETED]: 0,
|
||||
[ExtendedDocumentStatus.INBOX]: 0,
|
||||
[ExtendedDocumentStatus.ALL]: 0,
|
||||
[ExtendedDocumentStatus.BIN]: 0,
|
||||
};
|
||||
|
||||
ownerCounts.forEach((stat) => {
|
||||
@ -66,6 +71,10 @@ export const getStats = async ({ user, period, search, ...options }: GetStatsInp
|
||||
}
|
||||
});
|
||||
|
||||
deletedCounts.forEach((stat) => {
|
||||
stats[ExtendedDocumentStatus.BIN] += stat._count._all;
|
||||
});
|
||||
|
||||
Object.keys(stats).forEach((key) => {
|
||||
if (key !== ExtendedDocumentStatus.ALL && isExtendedDocumentStatus(key)) {
|
||||
stats[ExtendedDocumentStatus.ALL] += stats[key];
|
||||
@ -98,25 +107,45 @@ const getCounts = async ({ user, createdAt, search }: GetCountsOption) => {
|
||||
_all: true,
|
||||
},
|
||||
where: {
|
||||
userId: user.id,
|
||||
OR: [
|
||||
{
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: {
|
||||
not: ExtendedDocumentStatus.DRAFT,
|
||||
},
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
createdAt,
|
||||
teamId: null,
|
||||
deletedAt: null,
|
||||
AND: [searchFilter],
|
||||
},
|
||||
}),
|
||||
// Not signed counts.
|
||||
// Not signed counts (Inbox).
|
||||
prisma.document.groupBy({
|
||||
by: ['status'],
|
||||
_count: {
|
||||
_all: true,
|
||||
},
|
||||
where: {
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
status: {
|
||||
not: ExtendedDocumentStatus.DRAFT,
|
||||
},
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
signingStatus: SigningStatus.NOT_SIGNED,
|
||||
role: {
|
||||
not: RecipientRole.CC,
|
||||
},
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
@ -131,30 +160,81 @@ const getCounts = async ({ user, createdAt, search }: GetCountsOption) => {
|
||||
_all: true,
|
||||
},
|
||||
where: {
|
||||
createdAt,
|
||||
User: {
|
||||
email: {
|
||||
not: user.email,
|
||||
},
|
||||
},
|
||||
OR: [
|
||||
{
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
role: {
|
||||
not: RecipientRole.CC,
|
||||
},
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
createdAt,
|
||||
AND: [searchFilter],
|
||||
},
|
||||
}),
|
||||
// Deleted counts.
|
||||
prisma.document.groupBy({
|
||||
by: ['status'],
|
||||
_count: {
|
||||
_all: true,
|
||||
},
|
||||
where: {
|
||||
OR: [
|
||||
{
|
||||
userId: user.id,
|
||||
teamId: null,
|
||||
deletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
documentDeletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: user.email,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
documentDeletedAt: null,
|
||||
documentDeletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -177,9 +257,7 @@ type GetTeamCountsOption = {
|
||||
};
|
||||
|
||||
const getTeamCounts = async (options: GetTeamCountsOption) => {
|
||||
const { createdAt, teamId, teamEmail } = options;
|
||||
|
||||
const senderIds = options.senderIds ?? [];
|
||||
const { createdAt, teamId, teamEmail, senderIds = [], currentTeamMemberRole, search } = options;
|
||||
|
||||
const userIdWhereClause: Prisma.DocumentWhereInput['userId'] =
|
||||
senderIds.length > 0
|
||||
@ -188,148 +266,226 @@ const getTeamCounts = async (options: GetTeamCountsOption) => {
|
||||
}
|
||||
: undefined;
|
||||
|
||||
const searchFilter: Prisma.DocumentWhereInput = {
|
||||
OR: [
|
||||
{ title: { contains: options.search, mode: 'insensitive' } },
|
||||
{ Recipient: { some: { name: { contains: options.search, mode: 'insensitive' } } } },
|
||||
{ Recipient: { some: { email: { contains: options.search, mode: 'insensitive' } } } },
|
||||
],
|
||||
};
|
||||
|
||||
let ownerCountsWhereInput: Prisma.DocumentWhereInput = {
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
teamId,
|
||||
deletedAt: null,
|
||||
};
|
||||
|
||||
let notSignedCountsGroupByArgs = null;
|
||||
let hasSignedCountsGroupByArgs = null;
|
||||
|
||||
const visibilityFiltersWhereInput: Prisma.DocumentWhereInput = {
|
||||
AND: [
|
||||
{ deletedAt: null },
|
||||
{
|
||||
const searchFilter: Prisma.DocumentWhereInput = search
|
||||
? {
|
||||
OR: [
|
||||
match(options.currentTeamMemberRole)
|
||||
.with(TeamMemberRole.ADMIN, () => ({
|
||||
visibility: {
|
||||
in: [
|
||||
DocumentVisibility.EVERYONE,
|
||||
DocumentVisibility.MANAGER_AND_ABOVE,
|
||||
DocumentVisibility.ADMIN,
|
||||
],
|
||||
},
|
||||
}))
|
||||
.with(TeamMemberRole.MANAGER, () => ({
|
||||
visibility: {
|
||||
in: [DocumentVisibility.EVERYONE, DocumentVisibility.MANAGER_AND_ABOVE],
|
||||
},
|
||||
}))
|
||||
.otherwise(() => ({
|
||||
visibility: {
|
||||
equals: DocumentVisibility.EVERYONE,
|
||||
},
|
||||
})),
|
||||
{
|
||||
OR: [
|
||||
{ userId: options.userId },
|
||||
{ Recipient: { some: { email: options.currentUserEmail } } },
|
||||
],
|
||||
},
|
||||
{ title: { contains: search, mode: 'insensitive' } },
|
||||
{ Recipient: { some: { name: { contains: search, mode: 'insensitive' } } } },
|
||||
{ Recipient: { some: { email: { contains: search, mode: 'insensitive' } } } },
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
: {};
|
||||
|
||||
ownerCountsWhereInput = {
|
||||
...ownerCountsWhereInput,
|
||||
...visibilityFiltersWhereInput,
|
||||
...searchFilter,
|
||||
};
|
||||
|
||||
if (teamEmail) {
|
||||
ownerCountsWhereInput = {
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
OR: [
|
||||
{
|
||||
teamId,
|
||||
const visibilityFilters = [
|
||||
match(currentTeamMemberRole)
|
||||
.with(TeamMemberRole.ADMIN, () => ({
|
||||
visibility: {
|
||||
in: [
|
||||
DocumentVisibility.EVERYONE,
|
||||
DocumentVisibility.MANAGER_AND_ABOVE,
|
||||
DocumentVisibility.ADMIN,
|
||||
],
|
||||
},
|
||||
{
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
}))
|
||||
.with(TeamMemberRole.MANAGER, () => ({
|
||||
visibility: {
|
||||
in: [DocumentVisibility.EVERYONE, DocumentVisibility.MANAGER_AND_ABOVE],
|
||||
},
|
||||
],
|
||||
deletedAt: null,
|
||||
};
|
||||
|
||||
notSignedCountsGroupByArgs = {
|
||||
by: ['status'],
|
||||
_count: {
|
||||
_all: true,
|
||||
},
|
||||
where: {
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
signingStatus: SigningStatus.NOT_SIGNED,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
},
|
||||
} satisfies Prisma.DocumentGroupByArgs;
|
||||
|
||||
hasSignedCountsGroupByArgs = {
|
||||
by: ['status'],
|
||||
_count: {
|
||||
_all: true,
|
||||
},
|
||||
where: {
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
OR: [
|
||||
{
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
},
|
||||
],
|
||||
},
|
||||
} satisfies Prisma.DocumentGroupByArgs;
|
||||
}
|
||||
}))
|
||||
.otherwise(() => ({ visibility: DocumentVisibility.EVERYONE })),
|
||||
];
|
||||
|
||||
return Promise.all([
|
||||
// Owner counts (ALL)
|
||||
prisma.document.groupBy({
|
||||
by: ['status'],
|
||||
_count: {
|
||||
_all: true,
|
||||
_count: { _all: true },
|
||||
where: {
|
||||
OR: [
|
||||
{
|
||||
teamId,
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
...(teamEmail
|
||||
? [
|
||||
{
|
||||
status: {
|
||||
not: ExtendedDocumentStatus.DRAFT,
|
||||
},
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
{
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
]
|
||||
: []),
|
||||
],
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
...searchFilter,
|
||||
},
|
||||
}),
|
||||
|
||||
// Not signed counts (INBOX)
|
||||
prisma.document.groupBy({
|
||||
by: ['status'],
|
||||
_count: { _all: true },
|
||||
where: teamEmail
|
||||
? {
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
status: {
|
||||
not: ExtendedDocumentStatus.DRAFT,
|
||||
},
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
signingStatus: SigningStatus.NOT_SIGNED,
|
||||
role: {
|
||||
not: RecipientRole.CC,
|
||||
},
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
...searchFilter,
|
||||
}
|
||||
: {
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
AND: [
|
||||
{
|
||||
OR: [{ id: -1 }], // Empty set if no team email
|
||||
},
|
||||
searchFilter,
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Has signed counts (PENDING + COMPLETED)
|
||||
prisma.document.groupBy({
|
||||
by: ['status'],
|
||||
_count: { _all: true },
|
||||
where: {
|
||||
userId: userIdWhereClause,
|
||||
createdAt,
|
||||
OR: [
|
||||
{
|
||||
teamId,
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
{
|
||||
teamId,
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
deletedAt: null,
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
...(teamEmail
|
||||
? [
|
||||
{
|
||||
status: ExtendedDocumentStatus.PENDING,
|
||||
OR: [
|
||||
{
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
signingStatus: SigningStatus.SIGNED,
|
||||
role: {
|
||||
not: RecipientRole.CC,
|
||||
},
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
{
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
],
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
status: ExtendedDocumentStatus.COMPLETED,
|
||||
OR: [
|
||||
{
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
},
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
{
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
OR: visibilityFilters,
|
||||
},
|
||||
],
|
||||
deletedAt: null,
|
||||
},
|
||||
]
|
||||
: []),
|
||||
],
|
||||
...searchFilter,
|
||||
},
|
||||
}),
|
||||
|
||||
// Deleted counts (BIN)
|
||||
prisma.document.groupBy({
|
||||
by: ['status'],
|
||||
_count: { _all: true },
|
||||
where: {
|
||||
OR: [
|
||||
{
|
||||
teamId,
|
||||
deletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
...(teamEmail
|
||||
? [
|
||||
{
|
||||
User: {
|
||||
email: teamEmail,
|
||||
},
|
||||
deletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
{
|
||||
Recipient: {
|
||||
some: {
|
||||
email: teamEmail,
|
||||
documentDeletedAt: {
|
||||
gte: DateTime.now().minus({ days: 30 }).startOf('day').toJSDate(),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
]
|
||||
: []),
|
||||
],
|
||||
...searchFilter,
|
||||
},
|
||||
where: ownerCountsWhereInput,
|
||||
}),
|
||||
notSignedCountsGroupByArgs ? prisma.document.groupBy(notSignedCountsGroupByArgs) : [],
|
||||
hasSignedCountsGroupByArgs ? prisma.document.groupBy(hasSignedCountsGroupByArgs) : [],
|
||||
]);
|
||||
};
|
||||
|
||||
149
packages/lib/server-only/document/restore-document.ts
Normal file
149
packages/lib/server-only/document/restore-document.ts
Normal file
@ -0,0 +1,149 @@
|
||||
'use server';
|
||||
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { Document, DocumentMeta, Recipient, User } from '@documenso/prisma/client';
|
||||
|
||||
import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs';
|
||||
import type { RequestMetadata } from '../../universal/extract-request-metadata';
|
||||
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
|
||||
|
||||
export type RestoreDocumentOptions = {
|
||||
id: number;
|
||||
userId: number;
|
||||
teamId?: number;
|
||||
requestMetadata?: RequestMetadata;
|
||||
};
|
||||
|
||||
export const restoreDocument = async ({
|
||||
id,
|
||||
userId,
|
||||
teamId,
|
||||
requestMetadata,
|
||||
}: RestoreDocumentOptions) => {
|
||||
const user = await prisma.user.findUnique({
|
||||
where: {
|
||||
id: userId,
|
||||
},
|
||||
});
|
||||
|
||||
if (!user) {
|
||||
throw new Error('User not found');
|
||||
}
|
||||
|
||||
const document = await prisma.document.findUnique({
|
||||
where: {
|
||||
id,
|
||||
},
|
||||
include: {
|
||||
Recipient: true,
|
||||
documentMeta: true,
|
||||
team: {
|
||||
select: {
|
||||
members: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (!document || (teamId !== undefined && teamId !== document.teamId)) {
|
||||
throw new Error('Document not found');
|
||||
}
|
||||
|
||||
const isUserOwner = document.userId === userId;
|
||||
const isUserTeamMember = document.team?.members.some((member) => member.userId === userId);
|
||||
const userRecipient = document.Recipient.find((recipient) => recipient.email === user.email);
|
||||
|
||||
if (!isUserOwner && !isUserTeamMember && !userRecipient) {
|
||||
throw new Error('Not allowed');
|
||||
}
|
||||
|
||||
// Handle restoring the actual document if user has permission.
|
||||
if (isUserOwner || isUserTeamMember) {
|
||||
await handleDocumentOwnerRestore({
|
||||
document,
|
||||
user,
|
||||
requestMetadata,
|
||||
});
|
||||
}
|
||||
|
||||
// Continue to show the document to the user if they are a recipient.
|
||||
if (userRecipient?.documentDeletedAt !== null) {
|
||||
await prisma.recipient
|
||||
.update({
|
||||
where: {
|
||||
id: userRecipient?.id,
|
||||
},
|
||||
data: {
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
})
|
||||
.catch(() => {
|
||||
// Do nothing.
|
||||
});
|
||||
}
|
||||
|
||||
// Return partial document for API v1 response.
|
||||
return {
|
||||
id: document.id,
|
||||
userId: document.userId,
|
||||
teamId: document.teamId,
|
||||
title: document.title,
|
||||
status: document.status,
|
||||
documentDataId: document.documentDataId,
|
||||
createdAt: document.createdAt,
|
||||
updatedAt: document.updatedAt,
|
||||
completedAt: document.completedAt,
|
||||
};
|
||||
};
|
||||
|
||||
type HandleDocumentOwnerRestoreOptions = {
|
||||
document: Document & {
|
||||
Recipient: Recipient[];
|
||||
documentMeta: DocumentMeta | null;
|
||||
};
|
||||
user: User;
|
||||
requestMetadata?: RequestMetadata;
|
||||
};
|
||||
|
||||
const handleDocumentOwnerRestore = async ({
|
||||
document,
|
||||
user,
|
||||
requestMetadata,
|
||||
}: HandleDocumentOwnerRestoreOptions) => {
|
||||
if (!document.deletedAt) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Restore soft-deleted documents.
|
||||
return await prisma.$transaction(async (tx) => {
|
||||
await tx.documentAuditLog.create({
|
||||
data: createDocumentAuditLogData({
|
||||
documentId: document.id,
|
||||
type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RESTORED,
|
||||
user,
|
||||
requestMetadata,
|
||||
data: {
|
||||
type: 'RESTORE',
|
||||
},
|
||||
}),
|
||||
});
|
||||
|
||||
await tx.recipient.updateMany({
|
||||
where: {
|
||||
documentId: document.id,
|
||||
},
|
||||
data: {
|
||||
documentDeletedAt: null,
|
||||
},
|
||||
});
|
||||
|
||||
return await tx.document.update({
|
||||
where: {
|
||||
id: document.id,
|
||||
},
|
||||
data: {
|
||||
deletedAt: null,
|
||||
},
|
||||
});
|
||||
});
|
||||
};
|
||||
@ -101,7 +101,7 @@ export const sealDocument = async ({
|
||||
const pdfData = await getFile(documentData);
|
||||
|
||||
const certificateData =
|
||||
document.team?.teamGlobalSettings?.includeSigningCertificate ?? true
|
||||
(document.team?.teamGlobalSettings?.includeSigningCertificate ?? true)
|
||||
? await getCertificatePdf({
|
||||
documentId,
|
||||
language: document.documentMeta?.language,
|
||||
|
||||
@ -5,7 +5,11 @@ import { getToken } from 'next-auth/jwt';
|
||||
import { LOCAL_FEATURE_FLAGS } from '@documenso/lib/constants/feature-flags';
|
||||
import PostHogServerClient from '@documenso/lib/server-only/feature-flags/get-post-hog-server-client';
|
||||
|
||||
import { NEXT_PUBLIC_MARKETING_URL, NEXT_PUBLIC_WEBAPP_URL, NEXT_PRIVATE_INTERNAL_WEBAPP_URL } from '../../constants/app';
|
||||
import {
|
||||
NEXT_PRIVATE_INTERNAL_WEBAPP_URL,
|
||||
NEXT_PUBLIC_MARKETING_URL,
|
||||
NEXT_PUBLIC_WEBAPP_URL,
|
||||
} from '../../constants/app';
|
||||
import { extractDistinctUserId, mapJwtToFlagProperties } from './get';
|
||||
|
||||
/**
|
||||
|
||||
@ -7,7 +7,11 @@ import { getToken } from 'next-auth/jwt';
|
||||
import { LOCAL_FEATURE_FLAGS, extractPostHogConfig } from '@documenso/lib/constants/feature-flags';
|
||||
import PostHogServerClient from '@documenso/lib/server-only/feature-flags/get-post-hog-server-client';
|
||||
|
||||
import { NEXT_PUBLIC_MARKETING_URL, NEXT_PUBLIC_WEBAPP_URL, NEXT_PRIVATE_INTERNAL_WEBAPP_URL } from '../../constants/app';
|
||||
import {
|
||||
NEXT_PRIVATE_INTERNAL_WEBAPP_URL,
|
||||
NEXT_PUBLIC_MARKETING_URL,
|
||||
NEXT_PUBLIC_WEBAPP_URL,
|
||||
} from '../../constants/app';
|
||||
|
||||
/**
|
||||
* Evaluate a single feature flag based on the current user if possible.
|
||||
@ -67,7 +71,7 @@ export default async function handleFeatureFlagGet(req: Request) {
|
||||
if (origin.startsWith(NEXT_PUBLIC_MARKETING_URL() ?? 'http://localhost:3001')) {
|
||||
res.headers.set('Access-Control-Allow-Origin', origin);
|
||||
}
|
||||
|
||||
|
||||
if (origin.startsWith(NEXT_PRIVATE_INTERNAL_WEBAPP_URL ?? 'http://localhost:3000')) {
|
||||
res.headers.set('Access-Control-Allow-Origin', origin);
|
||||
}
|
||||
|
||||
@ -135,11 +135,11 @@ msgstr "{prefix} hat das Dokument erstellt"
|
||||
msgid "{prefix} deleted the document"
|
||||
msgstr "{prefix} hat das Dokument gelöscht"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
#: packages/lib/utils/document-audit-logs.ts:339
|
||||
msgid "{prefix} moved the document to team"
|
||||
msgstr "{prefix} hat das Dokument ins Team verschoben"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
msgid "{prefix} opened the document"
|
||||
msgstr "{prefix} hat das Dokument geöffnet"
|
||||
|
||||
@ -151,23 +151,27 @@ msgstr "{prefix} hat ein Feld entfernt"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} hat einen Empfänger entfernt"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} hat eine E-Mail an {0} erneut gesendet"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
msgid "{prefix} restored the document"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} hat eine E-Mail an {0} gesendet"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
msgid "{prefix} sent the document"
|
||||
msgstr "{prefix} hat das Dokument gesendet"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
msgid "{prefix} signed a field"
|
||||
msgstr "{prefix} hat ein Feld unterschrieben"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
msgid "{prefix} unsigned a field"
|
||||
msgstr "{prefix} hat ein Feld ungültig gemacht"
|
||||
|
||||
@ -179,27 +183,27 @@ msgstr "{prefix} hat ein Feld aktualisiert"
|
||||
msgid "{prefix} updated a recipient"
|
||||
msgstr "{prefix} hat einen Empfänger aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
msgid "{prefix} updated the document"
|
||||
msgstr "{prefix} hat das Dokument aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
msgid "{prefix} updated the document access auth requirements"
|
||||
msgstr "{prefix} hat die Anforderungen an die Dokumentenzugriffsautorisierung aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
msgid "{prefix} updated the document external ID"
|
||||
msgstr "{prefix} hat die externe ID des Dokuments aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
msgid "{prefix} updated the document signing auth requirements"
|
||||
msgstr "{prefix} hat die Authentifizierungsanforderungen für die Dokumentenunterzeichnung aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
msgid "{prefix} updated the document title"
|
||||
msgstr "{prefix} hat den Titel des Dokuments aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} hat die Sichtbarkeit des Dokuments aktualisiert"
|
||||
|
||||
@ -227,27 +231,27 @@ msgstr "{teamName} hat Sie eingeladen, {action} {documentName}"
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "Anfrage zur Übertragung des Eigentums von {teamName}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:343
|
||||
#: packages/lib/utils/document-audit-logs.ts:347
|
||||
msgid "{userName} approved the document"
|
||||
msgstr "{userName} hat das Dokument genehmigt"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:344
|
||||
#: packages/lib/utils/document-audit-logs.ts:348
|
||||
msgid "{userName} CC'd the document"
|
||||
msgstr "{userName} hat das Dokument in CC gesetzt"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
#: packages/lib/utils/document-audit-logs.ts:349
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} hat ihre Aufgabe abgeschlossen"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} hat das Dokument abgelehnt"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} hat das Dokument unterschrieben"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:346
|
||||
msgid "{userName} viewed the document"
|
||||
msgstr "{userName} hat das Dokument angesehen"
|
||||
|
||||
@ -688,17 +692,17 @@ msgstr "Dokument \"{0}\" - Ablehnung Bestätigt"
|
||||
msgid "Document access"
|
||||
msgstr "Dokumentenzugriff"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
msgid "Document access auth updated"
|
||||
msgstr "Die Authentifizierung für den Dokumentenzugriff wurde aktualisiert"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/delete-document.ts:256
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Dokument storniert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
#: packages/lib/utils/document-audit-logs.ts:373
|
||||
#: packages/lib/utils/document-audit-logs.ts:374
|
||||
msgid "Document completed"
|
||||
msgstr "Dokument abgeschlossen"
|
||||
|
||||
@ -736,15 +740,15 @@ msgstr "Dokument gelöscht!"
|
||||
msgid "Document Distribution Method"
|
||||
msgstr "Verteilungsmethode für Dokumente"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document external ID updated"
|
||||
msgstr "Externe ID des Dokuments aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
msgid "Document moved to team"
|
||||
msgstr "Dokument ins Team verschoben"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
msgid "Document opened"
|
||||
msgstr "Dokument geöffnet"
|
||||
|
||||
@ -759,23 +763,27 @@ msgstr "Dokument Abgelehnt"
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
msgid "Document restored"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
msgid "Document sent"
|
||||
msgstr "Dokument gesendet"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
msgid "Document signing auth updated"
|
||||
msgstr "Dokument unterzeichnen Authentifizierung aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document title updated"
|
||||
msgstr "Dokumenttitel aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
msgid "Document updated"
|
||||
msgstr "Dokument aktualisiert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Sichtbarkeit des Dokuments aktualisiert"
|
||||
|
||||
@ -821,11 +829,11 @@ msgstr "E-Mail ist erforderlich"
|
||||
msgid "Email Options"
|
||||
msgstr "E-Mail-Optionen"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email resent"
|
||||
msgstr "E-Mail erneut gesendet"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email sent"
|
||||
msgstr "E-Mail gesendet"
|
||||
|
||||
@ -890,11 +898,11 @@ msgstr "Feldbeschriftung"
|
||||
msgid "Field placeholder"
|
||||
msgstr "Feldplatzhalter"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
msgid "Field signed"
|
||||
msgstr "Feld unterschrieben"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
msgid "Field unsigned"
|
||||
msgstr "Feld nicht unterschrieben"
|
||||
|
||||
@ -1199,8 +1207,8 @@ msgstr "Grund für die Ablehnung: {rejectionReason}"
|
||||
msgid "Receives copy"
|
||||
msgstr "Erhält Kopie"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:357
|
||||
msgid "Recipient"
|
||||
msgstr "Empfänger"
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ msgstr ""
|
||||
"X-Crowdin-File: web.po\n"
|
||||
"X-Crowdin-File-ID: 8\n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
|
||||
|
||||
@ -42,7 +42,7 @@ msgstr "\"{documentTitle}\" wurde erfolgreich gelöscht"
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
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."
|
||||
|
||||
@ -50,15 +50,15 @@ msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispi
|
||||
#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
#~ msgstr "\"{teamUrl}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:83
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) hat dich eingeladen, dieses Dokument zu genehmigen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) hat dich eingeladen, dieses Dokument zu unterzeichnen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) hat dich eingeladen, dieses Dokument zu betrachten"
|
||||
|
||||
@ -71,7 +71,7 @@ msgstr "{0, plural, one {(1 Zeichen über dem Limit)} other {(# Zeichen über de
|
||||
msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}"
|
||||
msgstr "{0, plural, one {# Zeichen über dem Limit} other {# Zeichen über dem Limit}}"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:82
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:84
|
||||
msgid "{0, plural, one {# recipient} other {# recipients}}"
|
||||
msgstr "{0, plural, one {# Empfänger} other {# Empfänger}}"
|
||||
|
||||
@ -88,11 +88,11 @@ msgstr "{0, plural, one {<0>Du hast <1>1</1> ausstehende Team-Einladung</0>} oth
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 passendes Feld} other {# passende Felder}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
#: 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 Empfänger} other {# Empfänger}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:238
|
||||
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
|
||||
msgstr "{0, plural, one {Warte auf 1 Empfänger} other {Warte auf # Empfänger}}"
|
||||
|
||||
@ -116,7 +116,7 @@ msgstr "{0} direkte Signaturvorlagen"
|
||||
msgid "{0} of {1} documents remaining this month."
|
||||
msgstr "{0} von {1} Dokumenten verbleibend in diesem Monat."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
|
||||
msgid "{0} Recipient(s)"
|
||||
msgstr "{0} Empfänger(in)"
|
||||
|
||||
@ -157,6 +157,18 @@ msgstr "<0>\"{0}\"</0> steht nicht mehr zur Unterschrift zur Verfügung"
|
||||
msgid "<0>Sender:</0> All"
|
||||
msgstr "<0>Absender:</0> Alle"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:104
|
||||
msgid "<0>You are about to complete approving <1>\"{documentTitle}\"</1>.</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:90
|
||||
msgid "<0>You are about to complete signing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:76
|
||||
msgid "<0>You are about to complete viewing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
|
||||
msgid "1 month"
|
||||
msgstr "1 Monat"
|
||||
@ -279,7 +291,7 @@ msgstr "Bestätigung"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:127
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
|
||||
@ -401,7 +413,7 @@ msgstr "Alle"
|
||||
msgid "All documents"
|
||||
msgstr "Alle Dokumente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:40
|
||||
msgid "All documents have been processed. Any new documents that are sent or received will show here."
|
||||
msgstr "Alle Dokumente wurden verarbeitet. Alle neuen Dokumente, die gesendet oder empfangen werden, werden hier angezeigt."
|
||||
|
||||
@ -504,7 +516,7 @@ msgstr "Ein Fehler ist aufgetreten, während das direkte Links-Signieren deaktiv
|
||||
#: 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/data-table-action-dropdown.tsx:111
|
||||
msgid "An error occurred while downloading your document."
|
||||
msgstr "Ein Fehler ist aufgetreten, während dein Dokument heruntergeladen wurde."
|
||||
|
||||
@ -664,8 +676,8 @@ msgstr "App-Version"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142
|
||||
msgid "Approve"
|
||||
msgstr "Genehmigen"
|
||||
|
||||
@ -772,6 +784,10 @@ msgstr "Basisdetails"
|
||||
msgid "Billing"
|
||||
msgstr "Abrechnung"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:51
|
||||
msgid "Bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr "Markenpräferenzen"
|
||||
@ -835,7 +851,7 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si
|
||||
#: 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]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:130
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -947,22 +963,22 @@ msgstr "Klicken Sie, um das Feld einzufügen"
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Vollständig"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:70
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
msgid "Complete Approval"
|
||||
msgstr "Genehmigung abschließen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
msgid "Complete Signing"
|
||||
msgstr "Unterzeichnung abschließen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:67
|
||||
msgid "Complete Viewing"
|
||||
msgstr "Betrachten abschließen"
|
||||
|
||||
@ -1048,23 +1064,23 @@ msgstr "Fortfahren"
|
||||
msgid "Continue to login"
|
||||
msgstr "Weiter zum Login"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:185
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Steuert die Standardsprache eines hochgeladenen Dokuments. Diese wird als Sprache in der E-Mail-Kommunikation mit den Empfängern verwendet."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Steuert die Standard-sichtbarkeit eines hochgeladenen Dokuments."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx: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 "Steuert das Format der Nachricht, die gesendet wird, wenn ein Empfänger eingeladen wird, ein Dokument zu unterschreiben. Wenn eine benutzerdefinierte Nachricht beim Konfigurieren des Dokuments bereitgestellt wurde, wird diese stattdessen verwendet."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
|
||||
#: 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 ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
|
||||
#: 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 ""
|
||||
|
||||
@ -1185,7 +1201,7 @@ msgstr "Webhook erstellen"
|
||||
msgid "Create Webhook"
|
||||
msgstr "Webhook erstellen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:215
|
||||
#: 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 "Erstellen Sie Ihr Konto und beginnen Sie mit dem modernen Dokumentensignieren."
|
||||
|
||||
@ -1258,11 +1274,11 @@ msgstr "Ablehnen"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Team-Einladung abgelehnt"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:165
|
||||
msgid "Default Document Language"
|
||||
msgstr "Standardsprache des Dokuments"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:129
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Standard Sichtbarkeit des Dokuments"
|
||||
|
||||
@ -1271,7 +1287,6 @@ msgid "delete"
|
||||
msgstr "löschen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/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
|
||||
@ -1349,6 +1364,7 @@ msgid "Delete your account and all its contents, including completed documents.
|
||||
msgstr "Löschen Sie Ihr Konto und alle Inhalte, einschließlich abgeschlossener Dokumente. Diese Aktion ist irreversibel und führt zur Kündigung Ihres Abonnements, seien Sie also vorsichtig."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:50
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
|
||||
msgid "Deleted"
|
||||
msgstr "Gelöscht"
|
||||
@ -1461,10 +1477,14 @@ msgstr "Dokument"
|
||||
msgid "Document All"
|
||||
msgstr "Dokument Alle"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:134
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Approved"
|
||||
msgstr "Dokument genehmigt"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:52
|
||||
msgid "Document Bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Dokument abgebrochen"
|
||||
@ -1490,7 +1510,7 @@ msgid "Document created using a <0>direct link</0>"
|
||||
msgstr "Dokument erstellt mit einem <0>direkten Link</0>"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:181
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Dokument gelöscht"
|
||||
@ -1503,7 +1523,7 @@ msgstr "Dokument-Entwurf"
|
||||
msgid "Document Duplicated"
|
||||
msgstr "Dokument dupliziert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:192
|
||||
#: apps/web/src/components/document/document-history-sheet.tsx:104
|
||||
msgid "Document history"
|
||||
msgstr "Dokumentverlauf"
|
||||
@ -1529,7 +1549,7 @@ msgstr "Dokumentmetrik"
|
||||
msgid "Document moved"
|
||||
msgstr "Dokument verschoben"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:158
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:156
|
||||
msgid "Document no longer available to sign"
|
||||
msgstr "Dokument steht nicht mehr zur Unterschrift zur Verfügung"
|
||||
|
||||
@ -1561,7 +1581,7 @@ msgstr "Dokument gesendet"
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:130
|
||||
msgid "Document Signed"
|
||||
msgstr "Dokument signiert"
|
||||
|
||||
@ -1585,7 +1605,7 @@ msgstr "Dokumenten-Upload deaktiviert aufgrund unbezahlter Rechnungen"
|
||||
msgid "Document uploaded"
|
||||
msgstr "Dokument hochgeladen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:131
|
||||
msgid "Document Viewed"
|
||||
msgstr "Dokument angesehen"
|
||||
|
||||
@ -1599,7 +1619,7 @@ msgstr "Dokument wird dauerhaft gelöscht"
|
||||
#: 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/(dashboard)/documents/documents-page-view.tsx:108
|
||||
#: 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
|
||||
@ -1609,7 +1629,7 @@ msgstr "Dokument wird dauerhaft gelöscht"
|
||||
msgid "Documents"
|
||||
msgstr "Dokumente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197
|
||||
msgid "Documents created from template"
|
||||
msgstr "Dokumente erstellt aus Vorlage"
|
||||
|
||||
@ -1629,7 +1649,7 @@ msgstr "Haben Sie kein Konto? <0>Registrieren</0>"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:166
|
||||
#: 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
|
||||
@ -1670,7 +1690,7 @@ msgid "Due to an unpaid invoice, your team has been restricted. Please settle th
|
||||
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:136
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:171
|
||||
#: 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
|
||||
@ -1681,7 +1701,7 @@ msgstr "Duplizieren"
|
||||
#: 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/data-table-action-dropdown.tsx:160
|
||||
#: 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
|
||||
@ -1690,7 +1710,7 @@ msgstr "Duplizieren"
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117
|
||||
msgid "Edit Template"
|
||||
msgstr "Vorlage bearbeiten"
|
||||
|
||||
@ -1778,7 +1798,7 @@ msgstr "Direktlinksignierung aktivieren"
|
||||
msgid "Enable Direct Link Signing"
|
||||
msgstr "Direktlinksignierung aktivieren"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:248
|
||||
msgid "Enable Typed Signature"
|
||||
msgstr ""
|
||||
|
||||
@ -1866,15 +1886,15 @@ msgstr "Fehler"
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:140
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Jeder kann auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:140
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Alle haben unterschrieben"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:166
|
||||
#: 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 "Alle haben unterschrieben! Sie werden eine E-Mail-Kopie des unterzeichneten Dokuments erhalten."
|
||||
|
||||
@ -1963,7 +1983,7 @@ msgstr "Zurück"
|
||||
msgid "Go back home"
|
||||
msgstr "Zurück nach Hause"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:226
|
||||
#: 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 "Zurück nach Hause"
|
||||
@ -2000,7 +2020,6 @@ msgstr "So funktioniert es:"
|
||||
msgid "Hey I’m Timur"
|
||||
msgstr "Hey, ich bin Timur"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
|
||||
msgid "Hide"
|
||||
@ -2047,11 +2066,11 @@ msgstr "Posteingang Dokumente"
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:278
|
||||
msgid "Include the Signing Certificate in the Document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
@ -2267,7 +2286,7 @@ msgstr "Verwalten Sie das Profil von {0}"
|
||||
msgid "Manage all teams you are currently associated with."
|
||||
msgstr "Verwalten Sie alle Teams, mit denen Sie derzeit verbunden sind."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161
|
||||
msgid "Manage and view template"
|
||||
msgstr "Vorlage verwalten und anzeigen"
|
||||
|
||||
@ -2331,7 +2350,7 @@ msgstr "Verwalten Sie Ihre Passkeys."
|
||||
msgid "Manage your site settings here"
|
||||
msgstr "Verwalten Sie hier Ihre Seiteneinstellungen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:123
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:140
|
||||
msgid "Mark as Viewed"
|
||||
msgstr "Als angesehen markieren"
|
||||
|
||||
@ -2384,7 +2403,7 @@ msgstr "Dokument in Team verschieben"
|
||||
msgid "Move Template to Team"
|
||||
msgstr "Vorlage in Team verschieben"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
|
||||
msgid "Move to Team"
|
||||
msgstr "In Team verschieben"
|
||||
@ -2413,7 +2432,7 @@ msgstr "Meine Vorlagen"
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:211
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:209
|
||||
msgid "Need to sign documents?"
|
||||
msgstr "Müssen Dokumente signieren?"
|
||||
|
||||
@ -2440,7 +2459,7 @@ msgstr "Neue Vorlage"
|
||||
msgid "Next"
|
||||
msgstr "Nächster"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
msgid "Next field"
|
||||
msgstr "Nächstes Feld"
|
||||
|
||||
@ -2448,6 +2467,10 @@ msgstr "Nächstes Feld"
|
||||
msgid "No active drafts"
|
||||
msgstr "Keine aktiven Entwürfe"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
msgid "No documents in the bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "Es sind derzeit keine weiteren Maßnahmen Ihrerseits erforderlich."
|
||||
@ -2504,7 +2527,7 @@ msgid "Not supported"
|
||||
msgstr "Nicht unterstützt"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:19
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:39
|
||||
msgid "Nothing to do"
|
||||
msgstr "Nichts zu tun"
|
||||
|
||||
@ -2542,11 +2565,11 @@ msgstr "Sobald dies bestätigt ist, wird Folgendes geschehen:"
|
||||
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
|
||||
msgstr "Sobald Sie den QR-Code gescannt oder den Code manuell eingegeben haben, geben Sie den von Ihrer Authentifizierungs-App bereitgestellten Code unten ein."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:146
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Nur Administratoren können auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:143
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr "Nur Manager und darüber können auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
@ -2792,7 +2815,7 @@ msgstr "Bitte geben Sie <0>{0}</0> ein, um zu bestätigen."
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
@ -3078,7 +3101,7 @@ msgstr "Rollen"
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:305
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
@ -3153,7 +3176,7 @@ msgstr "Bestätigungs-E-Mail senden"
|
||||
msgid "Send document"
|
||||
msgstr "Dokument senden"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
#: 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"
|
||||
|
||||
@ -3194,12 +3217,12 @@ msgid "Setup"
|
||||
msgstr "Einrichten"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:207
|
||||
msgid "Share"
|
||||
msgstr "Teilen"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:233
|
||||
msgid "Share Signing Card"
|
||||
msgstr "Signaturkarte teilen"
|
||||
|
||||
@ -3221,12 +3244,12 @@ msgstr "Vorlagen in Ihrem Team-Öffentliches Profil anzeigen, damit Ihre Zielgru
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:143
|
||||
#: 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]/sign-dialog.tsx:124
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:141
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: apps/web/src/components/ui/user-profile-skeleton.tsx:75
|
||||
#: apps/web/src/components/ui/user-profile-timur.tsx:81
|
||||
@ -3317,7 +3340,7 @@ msgstr "Signatur-ID"
|
||||
msgid "Signatures Collected"
|
||||
msgstr "Gesammelte Unterschriften"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:200
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:198
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Unterschriften erscheinen, sobald das Dokument abgeschlossen ist"
|
||||
|
||||
@ -3345,7 +3368,7 @@ msgid "Signing in..."
|
||||
msgstr "Anmeldung..."
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:217
|
||||
msgid "Signing Links"
|
||||
msgstr "Signierlinks"
|
||||
|
||||
@ -3376,7 +3399,7 @@ msgstr "Website Einstellungen"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:110
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
@ -3649,7 +3672,7 @@ msgstr "Teams beschränkt"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148
|
||||
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
|
||||
msgid "Template"
|
||||
@ -3861,6 +3884,10 @@ msgstr "Es gibt derzeit keine aktiven Entwürfe. Sie können ein Dokument hochla
|
||||
msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed."
|
||||
msgstr "Es gibt noch keine abgeschlossenen Dokumente. Dokumente, die Sie erstellt oder erhalten haben, werden hier angezeigt, sobald sie abgeschlossen sind."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
msgid "There are no documents in the bin."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70
|
||||
msgid "They have permission on your behalf to:"
|
||||
msgstr "Sie haben in Ihrem Namen die Erlaubnis, zu:"
|
||||
@ -3883,7 +3910,7 @@ msgstr "Dieses Dokument konnte derzeit nicht dupliziert werden. Bitte versuche e
|
||||
msgid "This document could not be re-sent at this time. Please try again."
|
||||
msgstr "Dieses Dokument konnte zu diesem Zeitpunkt nicht erneut gesendet werden. Bitte versuchen Sie es erneut."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:180
|
||||
#: 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 "Dieses Dokument wurde vom Eigentümer storniert und steht anderen nicht mehr zur Unterzeichnung zur Verfügung."
|
||||
|
||||
@ -3891,11 +3918,11 @@ msgstr "Dieses Dokument wurde vom Eigentümer storniert und steht anderen nicht
|
||||
msgid "This document has been cancelled by the owner."
|
||||
msgstr "Dieses Dokument wurde vom Eigentümer storniert."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
msgid "This document has been signed by all recipients"
|
||||
msgstr "Dieses Dokument wurde von allen Empfängern unterschrieben"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
|
||||
msgid "This document is currently a draft and has not been sent"
|
||||
msgstr "Dieses Dokument ist momentan ein Entwurf und wurde nicht gesendet"
|
||||
|
||||
@ -4346,7 +4373,7 @@ msgstr "Die hochgeladene Datei ist zu klein"
|
||||
msgid "Uploaded file not an allowed file type"
|
||||
msgstr "Die hochgeladene Datei ist kein zulässiger Dateityp"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172
|
||||
msgid "Use"
|
||||
msgstr "Verwenden"
|
||||
|
||||
@ -4420,7 +4447,7 @@ msgstr "Versionsverlauf"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:136
|
||||
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
|
||||
msgid "View"
|
||||
@ -4488,7 +4515,7 @@ msgstr "Angesehen"
|
||||
msgid "Waiting"
|
||||
msgstr "Warten"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:148
|
||||
msgid "Waiting for others to sign"
|
||||
msgstr "Warten auf andere, um zu unterschreiben"
|
||||
|
||||
@ -4806,16 +4833,16 @@ msgid "You"
|
||||
msgstr "Sie"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:93
|
||||
msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Sie stehen kurz davor, die Genehmigung für \"{truncatedTitle}\" abzuschließen.<0/> Sind Sie sicher?"
|
||||
#~ msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Sie stehen kurz davor, die Genehmigung für \"{truncatedTitle}\" abzuschließen.<0/> Sind Sie sicher?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:85
|
||||
msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Sie stehen kurz davor, \"{truncatedTitle}\" zu unterzeichnen.<0/> Sind Sie sicher?"
|
||||
#~ msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Sie stehen kurz davor, \"{truncatedTitle}\" zu unterzeichnen.<0/> Sind Sie sicher?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:77
|
||||
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Sie stehen kurz davor, \"{truncatedTitle}\" anzusehen.<0/> Sind Sie sicher?"
|
||||
#~ msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Sie stehen kurz davor, \"{truncatedTitle}\" anzusehen.<0/> Sind Sie sicher?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
@ -5015,7 +5042,7 @@ msgstr "Sie werden benachrichtigt und können Ihr Documenso öffentliches Profil
|
||||
msgid "You will now be required to enter a code from your authenticator app when signing in."
|
||||
msgstr "Sie müssen bei der Anmeldung jetzt einen Code von Ihrer Authenticator-App eingeben."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:173
|
||||
#: 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 "Sie erhalten eine E-Mail-Kopie des unterzeichneten Dokuments, sobald alle unterschrieben haben."
|
||||
|
||||
|
||||
@ -130,11 +130,11 @@ msgstr "{prefix} created the document"
|
||||
msgid "{prefix} deleted the document"
|
||||
msgstr "{prefix} deleted the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
#: packages/lib/utils/document-audit-logs.ts:339
|
||||
msgid "{prefix} moved the document to team"
|
||||
msgstr "{prefix} moved the document to team"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
msgid "{prefix} opened the document"
|
||||
msgstr "{prefix} opened the document"
|
||||
|
||||
@ -146,23 +146,27 @@ msgstr "{prefix} removed a field"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} removed a recipient"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} resent an email to {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
msgid "{prefix} restored the document"
|
||||
msgstr "{prefix} restored the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} sent an email to {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
msgid "{prefix} sent the document"
|
||||
msgstr "{prefix} sent the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
msgid "{prefix} signed a field"
|
||||
msgstr "{prefix} signed a field"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
msgid "{prefix} unsigned a field"
|
||||
msgstr "{prefix} unsigned a field"
|
||||
|
||||
@ -174,27 +178,27 @@ msgstr "{prefix} updated a field"
|
||||
msgid "{prefix} updated a recipient"
|
||||
msgstr "{prefix} updated a recipient"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
msgid "{prefix} updated the document"
|
||||
msgstr "{prefix} updated the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
msgid "{prefix} updated the document access auth requirements"
|
||||
msgstr "{prefix} updated the document access auth requirements"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
msgid "{prefix} updated the document external ID"
|
||||
msgstr "{prefix} updated the document external ID"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
msgid "{prefix} updated the document signing auth requirements"
|
||||
msgstr "{prefix} updated the document signing auth requirements"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
msgid "{prefix} updated the document title"
|
||||
msgstr "{prefix} updated the document title"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} updated the document visibility"
|
||||
|
||||
@ -222,27 +226,27 @@ msgstr "{teamName} has invited you to {action} {documentName}"
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "{teamName} ownership transfer request"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:343
|
||||
#: packages/lib/utils/document-audit-logs.ts:347
|
||||
msgid "{userName} approved the document"
|
||||
msgstr "{userName} approved the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:344
|
||||
#: packages/lib/utils/document-audit-logs.ts:348
|
||||
msgid "{userName} CC'd the document"
|
||||
msgstr "{userName} CC'd the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
#: packages/lib/utils/document-audit-logs.ts:349
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} completed their task"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} rejected the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} signed the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:346
|
||||
msgid "{userName} viewed the document"
|
||||
msgstr "{userName} viewed the document"
|
||||
|
||||
@ -683,17 +687,17 @@ msgstr "Document \"{0}\" - Rejection Confirmed"
|
||||
msgid "Document access"
|
||||
msgstr "Document access"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
msgid "Document access auth updated"
|
||||
msgstr "Document access auth updated"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/delete-document.ts:256
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Cancelled"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
#: packages/lib/utils/document-audit-logs.ts:373
|
||||
#: packages/lib/utils/document-audit-logs.ts:374
|
||||
msgid "Document completed"
|
||||
msgstr "Document completed"
|
||||
|
||||
@ -731,15 +735,15 @@ msgstr "Document Deleted!"
|
||||
msgid "Document Distribution Method"
|
||||
msgstr "Document Distribution Method"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document external ID updated"
|
||||
msgstr "Document external ID updated"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
msgid "Document moved to team"
|
||||
msgstr "Document moved to team"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
msgid "Document opened"
|
||||
msgstr "Document opened"
|
||||
|
||||
@ -754,23 +758,27 @@ msgstr "Document Rejected"
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
msgid "Document restored"
|
||||
msgstr "Document restored"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
msgid "Document sent"
|
||||
msgstr "Document sent"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
msgid "Document signing auth updated"
|
||||
msgstr "Document signing auth updated"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document title updated"
|
||||
msgstr "Document title updated"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
msgid "Document updated"
|
||||
msgstr "Document updated"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Document visibility updated"
|
||||
|
||||
@ -816,11 +824,11 @@ msgstr "Email is required"
|
||||
msgid "Email Options"
|
||||
msgstr "Email Options"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email resent"
|
||||
msgstr "Email resent"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email sent"
|
||||
msgstr "Email sent"
|
||||
|
||||
@ -885,11 +893,11 @@ msgstr "Field label"
|
||||
msgid "Field placeholder"
|
||||
msgstr "Field placeholder"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
msgid "Field signed"
|
||||
msgstr "Field signed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
msgid "Field unsigned"
|
||||
msgstr "Field unsigned"
|
||||
|
||||
@ -1194,8 +1202,8 @@ msgstr "Reason for rejection: {rejectionReason}"
|
||||
msgid "Receives copy"
|
||||
msgstr "Receives copy"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:357
|
||||
msgid "Recipient"
|
||||
msgstr "Recipient"
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ msgstr ""
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{0}\" has invited you to sign \"example document\"."
|
||||
|
||||
@ -37,7 +37,7 @@ msgstr "\"{documentTitle}\" has been successfully deleted"
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
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\"."
|
||||
|
||||
@ -45,15 +45,15 @@ msgstr "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"ex
|
||||
#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
#~ msgstr "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:83
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) has invited you to approve this document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) has invited you to sign this document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) has invited you to view this document"
|
||||
|
||||
@ -66,7 +66,7 @@ msgstr "{0, plural, one {(1 character over)} other {(# characters over)}}"
|
||||
msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}"
|
||||
msgstr "{0, plural, one {# character over the limit} other {# characters over the limit}}"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:82
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:84
|
||||
msgid "{0, plural, one {# recipient} other {# recipients}}"
|
||||
msgstr "{0, plural, one {# recipient} other {# recipients}}"
|
||||
|
||||
@ -83,11 +83,11 @@ msgstr "{0, plural, one {<0>You have <1>1</1> pending team invitation</0>} other
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
#: 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 Recipient} other {# Recipients}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:238
|
||||
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
|
||||
msgstr "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
|
||||
|
||||
@ -111,7 +111,7 @@ msgstr "{0} direct signing templates"
|
||||
msgid "{0} of {1} documents remaining this month."
|
||||
msgstr "{0} of {1} documents remaining this month."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
|
||||
msgid "{0} Recipient(s)"
|
||||
msgstr "{0} Recipient(s)"
|
||||
|
||||
@ -152,6 +152,18 @@ msgstr "<0>\"{0}\"</0>is no longer available to sign"
|
||||
msgid "<0>Sender:</0> All"
|
||||
msgstr "<0>Sender:</0> All"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:104
|
||||
msgid "<0>You are about to complete approving <1>\"{documentTitle}\"</1>.</0><2/> Are you sure?"
|
||||
msgstr "<0>You are about to complete approving <1>\"{documentTitle}\"</1>.</0><2/> Are you sure?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:90
|
||||
msgid "<0>You are about to complete signing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr "<0>You are about to complete signing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:76
|
||||
msgid "<0>You are about to complete viewing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr "<0>You are about to complete viewing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
|
||||
msgid "1 month"
|
||||
msgstr "1 month"
|
||||
@ -274,7 +286,7 @@ msgstr "Acknowledgment"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:127
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
|
||||
@ -396,7 +408,7 @@ msgstr "All"
|
||||
msgid "All documents"
|
||||
msgstr "All documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:40
|
||||
msgid "All documents have been processed. Any new documents that are sent or received will show here."
|
||||
msgstr "All documents have been processed. Any new documents that are sent or received will show here."
|
||||
|
||||
@ -499,7 +511,7 @@ msgstr "An error occurred while disabling direct link signing."
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:64
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx: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/data-table-action-dropdown.tsx:111
|
||||
msgid "An error occurred while downloading your document."
|
||||
msgstr "An error occurred while downloading your document."
|
||||
|
||||
@ -659,8 +671,8 @@ msgstr "App Version"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142
|
||||
msgid "Approve"
|
||||
msgstr "Approve"
|
||||
|
||||
@ -767,6 +779,10 @@ msgstr "Basic details"
|
||||
msgid "Billing"
|
||||
msgstr "Billing"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:51
|
||||
msgid "Bin"
|
||||
msgstr "Bin"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr "Branding Preferences"
|
||||
@ -830,7 +846,7 @@ msgstr "By using the electronic signature feature, you are consenting to conduct
|
||||
#: 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]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:130
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -942,22 +958,22 @@ msgstr "Click to insert field"
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Complete"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:70
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
msgid "Complete Approval"
|
||||
msgstr "Complete Approval"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
msgid "Complete Signing"
|
||||
msgstr "Complete Signing"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:67
|
||||
msgid "Complete Viewing"
|
||||
msgstr "Complete Viewing"
|
||||
|
||||
@ -1043,23 +1059,23 @@ msgstr "Continue"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continue to login"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:185
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Controls the default visibility of an uploaded document."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx: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 "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
|
||||
#: 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 "Controls whether the recipients can sign the documents using a typed signature. Enable or disable the typed signature globally."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
|
||||
#: 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 "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."
|
||||
|
||||
@ -1180,7 +1196,7 @@ msgstr "Create webhook"
|
||||
msgid "Create Webhook"
|
||||
msgstr "Create Webhook"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:215
|
||||
#: 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 "Create your account and start using state-of-the-art document signing."
|
||||
|
||||
@ -1253,11 +1269,11 @@ msgstr "Decline"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Declined team invitation"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:165
|
||||
msgid "Default Document Language"
|
||||
msgstr "Default Document Language"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:129
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Default Document Visibility"
|
||||
|
||||
@ -1266,7 +1282,6 @@ msgid "delete"
|
||||
msgstr "delete"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/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
|
||||
@ -1344,6 +1359,7 @@ msgid "Delete your account and all its contents, including completed documents.
|
||||
msgstr "Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:50
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
|
||||
msgid "Deleted"
|
||||
msgstr "Deleted"
|
||||
@ -1456,10 +1472,14 @@ msgstr "Document"
|
||||
msgid "Document All"
|
||||
msgstr "Document All"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:134
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Approved"
|
||||
msgstr "Document Approved"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:52
|
||||
msgid "Document Bin"
|
||||
msgstr "Document Bin"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Cancelled"
|
||||
@ -1485,7 +1505,7 @@ msgid "Document created using a <0>direct link</0>"
|
||||
msgstr "Document created using a <0>direct link</0>"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:181
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Document deleted"
|
||||
@ -1498,7 +1518,7 @@ msgstr "Document draft"
|
||||
msgid "Document Duplicated"
|
||||
msgstr "Document Duplicated"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:192
|
||||
#: apps/web/src/components/document/document-history-sheet.tsx:104
|
||||
msgid "Document history"
|
||||
msgstr "Document history"
|
||||
@ -1524,7 +1544,7 @@ msgstr "Document metrics"
|
||||
msgid "Document moved"
|
||||
msgstr "Document moved"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:158
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:156
|
||||
msgid "Document no longer available to sign"
|
||||
msgstr "Document no longer available to sign"
|
||||
|
||||
@ -1556,7 +1576,7 @@ msgstr "Document sent"
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:130
|
||||
msgid "Document Signed"
|
||||
msgstr "Document Signed"
|
||||
|
||||
@ -1580,7 +1600,7 @@ msgstr "Document upload disabled due to unpaid invoices"
|
||||
msgid "Document uploaded"
|
||||
msgstr "Document uploaded"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:131
|
||||
msgid "Document Viewed"
|
||||
msgstr "Document Viewed"
|
||||
|
||||
@ -1594,7 +1614,7 @@ msgstr "Document will be permanently deleted"
|
||||
#: 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/(dashboard)/documents/documents-page-view.tsx:108
|
||||
#: 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
|
||||
@ -1604,7 +1624,7 @@ msgstr "Document will be permanently deleted"
|
||||
msgid "Documents"
|
||||
msgstr "Documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197
|
||||
msgid "Documents created from template"
|
||||
msgstr "Documents created from template"
|
||||
|
||||
@ -1624,7 +1644,7 @@ msgstr "Don't have an account? <0>Sign up</0>"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:166
|
||||
#: 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
|
||||
@ -1665,7 +1685,7 @@ msgid "Due to an unpaid invoice, your team has been restricted. Please settle th
|
||||
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:136
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:171
|
||||
#: 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
|
||||
@ -1676,7 +1696,7 @@ msgstr "Duplicate"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:104
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx: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/data-table-action-dropdown.tsx:160
|
||||
#: 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
|
||||
@ -1685,7 +1705,7 @@ msgstr "Duplicate"
|
||||
msgid "Edit"
|
||||
msgstr "Edit"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117
|
||||
msgid "Edit Template"
|
||||
msgstr "Edit Template"
|
||||
|
||||
@ -1773,7 +1793,7 @@ msgstr "Enable direct link signing"
|
||||
msgid "Enable Direct Link Signing"
|
||||
msgstr "Enable Direct Link Signing"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:248
|
||||
msgid "Enable Typed Signature"
|
||||
msgstr "Enable Typed Signature"
|
||||
|
||||
@ -1861,15 +1881,15 @@ msgstr "Error"
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:140
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Everyone can access and view the document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:140
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Everyone has signed"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:166
|
||||
#: 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 "Everyone has signed! You will receive an Email copy of the signed document."
|
||||
|
||||
@ -1958,7 +1978,7 @@ msgstr "Go Back"
|
||||
msgid "Go back home"
|
||||
msgstr "Go back home"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:226
|
||||
#: 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 "Go Back Home"
|
||||
@ -1995,7 +2015,6 @@ msgstr "Here's how it works:"
|
||||
msgid "Hey I’m Timur"
|
||||
msgstr "Hey I’m Timur"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx: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
|
||||
msgid "Hide"
|
||||
@ -2042,11 +2061,11 @@ msgstr "Inbox documents"
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:278
|
||||
msgid "Include the Signing Certificate in the Document"
|
||||
msgstr "Include the Signing Certificate in the Document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
@ -2262,7 +2281,7 @@ msgstr "Manage {0}'s profile"
|
||||
msgid "Manage all teams you are currently associated with."
|
||||
msgstr "Manage all teams you are currently associated with."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161
|
||||
msgid "Manage and view template"
|
||||
msgstr "Manage and view template"
|
||||
|
||||
@ -2326,7 +2345,7 @@ msgstr "Manage your passkeys."
|
||||
msgid "Manage your site settings here"
|
||||
msgstr "Manage your site settings here"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:123
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:140
|
||||
msgid "Mark as Viewed"
|
||||
msgstr "Mark as Viewed"
|
||||
|
||||
@ -2379,7 +2398,7 @@ msgstr "Move Document to Team"
|
||||
msgid "Move Template to Team"
|
||||
msgstr "Move Template to Team"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
|
||||
msgid "Move to Team"
|
||||
msgstr "Move to Team"
|
||||
@ -2408,7 +2427,7 @@ msgstr "My templates"
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:211
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:209
|
||||
msgid "Need to sign documents?"
|
||||
msgstr "Need to sign documents?"
|
||||
|
||||
@ -2435,7 +2454,7 @@ msgstr "New Template"
|
||||
msgid "Next"
|
||||
msgstr "Next"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
msgid "Next field"
|
||||
msgstr "Next field"
|
||||
|
||||
@ -2443,6 +2462,10 @@ msgstr "Next field"
|
||||
msgid "No active drafts"
|
||||
msgstr "No active drafts"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
msgid "No documents in the bin"
|
||||
msgstr "No documents in the bin"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "No further action is required from you at this time."
|
||||
@ -2499,7 +2522,7 @@ msgid "Not supported"
|
||||
msgstr "Not supported"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:19
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:39
|
||||
msgid "Nothing to do"
|
||||
msgstr "Nothing to do"
|
||||
|
||||
@ -2537,11 +2560,11 @@ msgstr "Once confirmed, the following will occur:"
|
||||
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
|
||||
msgstr "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:146
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Only admins can access and view the document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:143
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr "Only managers and above can access and view the document"
|
||||
|
||||
@ -2787,7 +2810,7 @@ msgstr "Please type <0>{0}</0> to confirm."
|
||||
msgid "Preferences"
|
||||
msgstr "Preferences"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
msgid "Preview"
|
||||
msgstr "Preview"
|
||||
|
||||
@ -3073,7 +3096,7 @@ msgstr "Roles"
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:305
|
||||
msgid "Save"
|
||||
msgstr "Save"
|
||||
|
||||
@ -3148,7 +3171,7 @@ msgstr "Send confirmation email"
|
||||
msgid "Send document"
|
||||
msgstr "Send document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:200
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr "Send on Behalf of Team"
|
||||
|
||||
@ -3189,12 +3212,12 @@ msgid "Setup"
|
||||
msgstr "Setup"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:207
|
||||
msgid "Share"
|
||||
msgstr "Share"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:233
|
||||
msgid "Share Signing Card"
|
||||
msgstr "Share Signing Card"
|
||||
|
||||
@ -3216,12 +3239,12 @@ msgstr "Show templates in your team public profile for your audience to sign and
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:83
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:143
|
||||
#: 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]/sign-dialog.tsx:124
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:141
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: apps/web/src/components/ui/user-profile-skeleton.tsx:75
|
||||
#: apps/web/src/components/ui/user-profile-timur.tsx:81
|
||||
@ -3312,7 +3335,7 @@ msgstr "Signature ID"
|
||||
msgid "Signatures Collected"
|
||||
msgstr "Signatures Collected"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:200
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:198
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Signatures will appear once the document has been completed"
|
||||
|
||||
@ -3340,7 +3363,7 @@ msgid "Signing in..."
|
||||
msgstr "Signing in..."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:217
|
||||
msgid "Signing Links"
|
||||
msgstr "Signing Links"
|
||||
|
||||
@ -3371,7 +3394,7 @@ msgstr "Site Settings"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:110
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
@ -3644,7 +3667,7 @@ msgstr "Teams restricted"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148
|
||||
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
|
||||
msgid "Template"
|
||||
@ -3856,6 +3879,10 @@ msgstr "There are no active drafts at the current moment. You can upload a docum
|
||||
msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed."
|
||||
msgstr "There are no completed documents yet. Documents that you have created or received will appear here once completed."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
msgid "There are no documents in the bin."
|
||||
msgstr "There are no documents in the bin."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70
|
||||
msgid "They have permission on your behalf to:"
|
||||
msgstr "They have permission on your behalf to:"
|
||||
@ -3878,7 +3905,7 @@ msgstr "This document could not be duplicated at this time. Please try again."
|
||||
msgid "This document could not be re-sent at this time. Please try again."
|
||||
msgstr "This document could not be re-sent at this time. Please try again."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:180
|
||||
#: 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 "This document has been cancelled by the owner and is no longer available for others to sign."
|
||||
|
||||
@ -3886,11 +3913,11 @@ msgstr "This document has been cancelled by the owner and is no longer available
|
||||
msgid "This document has been cancelled by the owner."
|
||||
msgstr "This document has been cancelled by the owner."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
msgid "This document has been signed by all recipients"
|
||||
msgstr "This document has been signed by all recipients"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
|
||||
msgid "This document is currently a draft and has not been sent"
|
||||
msgstr "This document is currently a draft and has not been sent"
|
||||
|
||||
@ -4341,7 +4368,7 @@ msgstr "Uploaded file is too small"
|
||||
msgid "Uploaded file not an allowed file type"
|
||||
msgstr "Uploaded file not an allowed file type"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172
|
||||
msgid "Use"
|
||||
msgstr "Use"
|
||||
|
||||
@ -4415,7 +4442,7 @@ msgstr "Version History"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:136
|
||||
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
|
||||
msgid "View"
|
||||
@ -4483,7 +4510,7 @@ msgstr "Viewed"
|
||||
msgid "Waiting"
|
||||
msgstr "Waiting"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:148
|
||||
msgid "Waiting for others to sign"
|
||||
msgstr "Waiting for others to sign"
|
||||
|
||||
@ -4801,16 +4828,16 @@ msgid "You"
|
||||
msgstr "You"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:93
|
||||
msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:85
|
||||
msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:77
|
||||
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
@ -5010,7 +5037,7 @@ msgstr "You will get notified & be able to set up your documenso public profile
|
||||
msgid "You will now be required to enter a code from your authenticator app when signing in."
|
||||
msgstr "You will now be required to enter a code from your authenticator app when signing in."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:173
|
||||
#: 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 "You will receive an Email copy of the signed document once everyone has signed."
|
||||
|
||||
|
||||
@ -135,11 +135,11 @@ msgstr "{prefix} creó el documento"
|
||||
msgid "{prefix} deleted the document"
|
||||
msgstr "{prefix} eliminó el documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
#: packages/lib/utils/document-audit-logs.ts:339
|
||||
msgid "{prefix} moved the document to team"
|
||||
msgstr "{prefix} movió el documento al equipo"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
msgid "{prefix} opened the document"
|
||||
msgstr "{prefix} abrió el documento"
|
||||
|
||||
@ -151,23 +151,27 @@ msgstr "{prefix} eliminó un campo"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} eliminó un destinatario"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} reenviaron un correo electrónico a {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
msgid "{prefix} restored the document"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} envió un correo electrónico a {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
msgid "{prefix} sent the document"
|
||||
msgstr "{prefix} envió el documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
msgid "{prefix} signed a field"
|
||||
msgstr "{prefix} firmó un campo"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
msgid "{prefix} unsigned a field"
|
||||
msgstr "{prefix} no firmó un campo"
|
||||
|
||||
@ -179,27 +183,27 @@ msgstr "{prefix} actualizó un campo"
|
||||
msgid "{prefix} updated a recipient"
|
||||
msgstr "{prefix} actualizó un destinatario"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
msgid "{prefix} updated the document"
|
||||
msgstr "{prefix} actualizó el documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
msgid "{prefix} updated the document access auth requirements"
|
||||
msgstr "{prefix} actualizó los requisitos de autorización de acceso al documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
msgid "{prefix} updated the document external ID"
|
||||
msgstr "{prefix} actualizó el ID externo del documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
msgid "{prefix} updated the document signing auth requirements"
|
||||
msgstr "{prefix} actualizó los requisitos de autenticación para la firma del documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
msgid "{prefix} updated the document title"
|
||||
msgstr "{prefix} actualizó el título del documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} actualizó la visibilidad del documento"
|
||||
|
||||
@ -227,27 +231,27 @@ msgstr "{teamName} te ha invitado a {action} {documentName}"
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "solicitud de transferencia de propiedad de {teamName}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:343
|
||||
#: packages/lib/utils/document-audit-logs.ts:347
|
||||
msgid "{userName} approved the document"
|
||||
msgstr "{userName} aprobó el documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:344
|
||||
#: packages/lib/utils/document-audit-logs.ts:348
|
||||
msgid "{userName} CC'd the document"
|
||||
msgstr "{userName} envió una copia del documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
#: packages/lib/utils/document-audit-logs.ts:349
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} completó su tarea"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} rechazó el documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} firmó el documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:346
|
||||
msgid "{userName} viewed the document"
|
||||
msgstr "{userName} vio el documento"
|
||||
|
||||
@ -688,17 +692,17 @@ msgstr "Documento \"{0}\" - Rechazo confirmado"
|
||||
msgid "Document access"
|
||||
msgstr "Acceso al documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
msgid "Document access auth updated"
|
||||
msgstr "Se actualizó la autenticación de acceso al documento"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/delete-document.ts:256
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Documento cancelado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
#: packages/lib/utils/document-audit-logs.ts:373
|
||||
#: packages/lib/utils/document-audit-logs.ts:374
|
||||
msgid "Document completed"
|
||||
msgstr "Documento completado"
|
||||
|
||||
@ -736,15 +740,15 @@ msgstr "¡Documento eliminado!"
|
||||
msgid "Document Distribution Method"
|
||||
msgstr "Método de distribución de documentos"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document external ID updated"
|
||||
msgstr "ID externo del documento actualizado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
msgid "Document moved to team"
|
||||
msgstr "Documento movido al equipo"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
msgid "Document opened"
|
||||
msgstr "Documento abierto"
|
||||
|
||||
@ -759,23 +763,27 @@ msgstr "Documento Rechazado"
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
msgid "Document restored"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
msgid "Document sent"
|
||||
msgstr "Documento enviado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
msgid "Document signing auth updated"
|
||||
msgstr "Se actualizó la autenticación de firma del documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document title updated"
|
||||
msgstr "Título del documento actualizado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
msgid "Document updated"
|
||||
msgstr "Documento actualizado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Visibilidad del documento actualizada"
|
||||
|
||||
@ -821,11 +829,11 @@ msgstr "Se requiere email"
|
||||
msgid "Email Options"
|
||||
msgstr "Opciones de correo electrónico"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email resent"
|
||||
msgstr "Correo electrónico reeenviado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email sent"
|
||||
msgstr "Correo electrónico enviado"
|
||||
|
||||
@ -890,11 +898,11 @@ msgstr "Etiqueta de campo"
|
||||
msgid "Field placeholder"
|
||||
msgstr "Marcador de posición de campo"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
msgid "Field signed"
|
||||
msgstr "Campo firmado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
msgid "Field unsigned"
|
||||
msgstr "Campo no firmado"
|
||||
|
||||
@ -1199,8 +1207,8 @@ msgstr "Razón del rechazo: {rejectionReason}"
|
||||
msgid "Receives copy"
|
||||
msgstr "Recibe copia"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:357
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatario"
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ msgstr ""
|
||||
"X-Crowdin-File: web.po\n"
|
||||
"X-Crowdin-File-ID: 8\n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{0}\" te ha invitado a firmar \"ejemplo de documento\"."
|
||||
|
||||
@ -42,7 +42,7 @@ msgstr "\"{documentTitle}\" ha sido eliminado con éxito"
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
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\"."
|
||||
|
||||
@ -50,15 +50,15 @@ msgstr "\"{placeholderEmail}\" en nombre de \"{0}\" te ha invitado a firmar \"do
|
||||
#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
#~ msgstr "\"{teamUrl}\" te ha invitado a firmar \"ejemplo de documento\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:83
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) te ha invitado a aprobar este documento"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) te ha invitado a firmar este documento"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) te ha invitado a ver este documento"
|
||||
|
||||
@ -71,7 +71,7 @@ msgstr "{0, plural, one {(1 carácter excedido)} other {(# caracteres excedidos)
|
||||
msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}"
|
||||
msgstr "{0, plural, one {# carácter sobre el límite} other {# caracteres sobre el límite}}"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:82
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:84
|
||||
msgid "{0, plural, one {# recipient} other {# recipients}}"
|
||||
msgstr "{0, plural, one {# destinatario} other {# destinatarios}}"
|
||||
|
||||
@ -88,11 +88,11 @@ msgstr "{0, plural, one {<0>Tienes <1>1</1> invitación de equipo pendiente</0>}
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 campo que coincide} other {# campos que coinciden}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
#: 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 {# Destinatarios}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:238
|
||||
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
|
||||
msgstr "{0, plural, one {Esperando 1 destinatario} other {Esperando # destinatarios}}"
|
||||
|
||||
@ -116,7 +116,7 @@ msgstr "{0} plantillas de firma directa"
|
||||
msgid "{0} of {1} documents remaining this month."
|
||||
msgstr "{0} de {1} documentos restantes este mes."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
|
||||
msgid "{0} Recipient(s)"
|
||||
msgstr "{0} Destinatario(s)"
|
||||
|
||||
@ -157,6 +157,18 @@ msgstr "<0>\"{0}\"</0> ya no está disponible para firmar"
|
||||
msgid "<0>Sender:</0> All"
|
||||
msgstr "<0>Remitente:</0> Todos"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:104
|
||||
msgid "<0>You are about to complete approving <1>\"{documentTitle}\"</1>.</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:90
|
||||
msgid "<0>You are about to complete signing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:76
|
||||
msgid "<0>You are about to complete viewing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
|
||||
msgid "1 month"
|
||||
msgstr "1 mes"
|
||||
@ -279,7 +291,7 @@ msgstr "Reconocimiento"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:127
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
|
||||
@ -401,7 +413,7 @@ msgstr "Todos"
|
||||
msgid "All documents"
|
||||
msgstr "Todos los documentos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:40
|
||||
msgid "All documents have been processed. Any new documents that are sent or received will show here."
|
||||
msgstr "Todos los documentos han sido procesados. Cualquier nuevo documento que se envíe o reciba aparecerá aquí."
|
||||
|
||||
@ -504,7 +516,7 @@ msgstr "Ocurrió un error al desactivar la firma de enlace directo."
|
||||
#: 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/data-table-action-dropdown.tsx:111
|
||||
msgid "An error occurred while downloading your document."
|
||||
msgstr "Ocurrió un error al descargar tu documento."
|
||||
|
||||
@ -664,8 +676,8 @@ msgstr "Versión de la Aplicación"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142
|
||||
msgid "Approve"
|
||||
msgstr "Aprobar"
|
||||
|
||||
@ -772,6 +784,10 @@ msgstr "Detalles básicos"
|
||||
msgid "Billing"
|
||||
msgstr "Facturación"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:51
|
||||
msgid "Bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr "Preferencias de marca"
|
||||
@ -835,7 +851,7 @@ msgstr "Al utilizar la función de firma electrónica, usted está consintiendo
|
||||
#: 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]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:130
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -947,22 +963,22 @@ msgstr "Haga clic para insertar campo"
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Completo"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:70
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
msgid "Complete Approval"
|
||||
msgstr "Completar Aprobación"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
msgid "Complete Signing"
|
||||
msgstr "Completar Firmado"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:67
|
||||
msgid "Complete Viewing"
|
||||
msgstr "Completar Visualización"
|
||||
|
||||
@ -1048,23 +1064,23 @@ msgstr "Continuar"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continuar con el inicio de sesión"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:185
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Controla el idioma predeterminado de un documento cargado. Este se utilizará como el idioma en las comunicaciones por correo electrónico con los destinatarios."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Controla la visibilidad predeterminada de un documento cargado."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx: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 "Controla el formato del mensaje que se enviará al invitar a un destinatario a firmar un documento. Si se ha proporcionado un mensaje personalizado al configurar el documento, se usará en su lugar."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
|
||||
#: 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 ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
|
||||
#: 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 ""
|
||||
|
||||
@ -1185,7 +1201,7 @@ msgstr "Crear webhook"
|
||||
msgid "Create Webhook"
|
||||
msgstr "Crear Webhook"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:215
|
||||
#: 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 tu cuenta y comienza a utilizar la firma de documentos de última generación."
|
||||
|
||||
@ -1258,11 +1274,11 @@ msgstr "Rechazar"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Invitación de equipo rechazada"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:165
|
||||
msgid "Default Document Language"
|
||||
msgstr "Idioma predeterminado del documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:129
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Visibilidad predeterminada del documento"
|
||||
|
||||
@ -1271,7 +1287,6 @@ msgid "delete"
|
||||
msgstr "eliminar"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/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
|
||||
@ -1349,6 +1364,7 @@ msgid "Delete your account and all its contents, including completed documents.
|
||||
msgstr "Eliminar su cuenta y todo su contenido, incluidos documentos completados. Esta acción es irreversible y cancelará su suscripción, así que proceda con cuidado."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:50
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
|
||||
msgid "Deleted"
|
||||
msgstr "Eliminado"
|
||||
@ -1461,10 +1477,14 @@ msgstr "Documento"
|
||||
msgid "Document All"
|
||||
msgstr "Documentar Todo"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:134
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Approved"
|
||||
msgstr "Documento Aprobado"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:52
|
||||
msgid "Document Bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Documento Cancelado"
|
||||
@ -1490,7 +1510,7 @@ msgid "Document created using a <0>direct link</0>"
|
||||
msgstr "Documento creado usando un <0>enlace directo</0>"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:181
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Documento eliminado"
|
||||
@ -1503,7 +1523,7 @@ msgstr "Borrador de documento"
|
||||
msgid "Document Duplicated"
|
||||
msgstr "Documento duplicado"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:192
|
||||
#: apps/web/src/components/document/document-history-sheet.tsx:104
|
||||
msgid "Document history"
|
||||
msgstr "Historial de documentos"
|
||||
@ -1529,7 +1549,7 @@ msgstr "Métricas de documento"
|
||||
msgid "Document moved"
|
||||
msgstr "Documento movido"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:158
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:156
|
||||
msgid "Document no longer available to sign"
|
||||
msgstr "El documento ya no está disponible para firmar"
|
||||
|
||||
@ -1561,7 +1581,7 @@ msgstr "Documento enviado"
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:130
|
||||
msgid "Document Signed"
|
||||
msgstr "Documento firmado"
|
||||
|
||||
@ -1585,7 +1605,7 @@ msgstr "La carga de documentos está deshabilitada debido a facturas impagadas"
|
||||
msgid "Document uploaded"
|
||||
msgstr "Documento subido"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:131
|
||||
msgid "Document Viewed"
|
||||
msgstr "Documento visto"
|
||||
|
||||
@ -1599,7 +1619,7 @@ msgstr "El documento será eliminado permanentemente"
|
||||
#: 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/(dashboard)/documents/documents-page-view.tsx:108
|
||||
#: 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
|
||||
@ -1609,7 +1629,7 @@ msgstr "El documento será eliminado permanentemente"
|
||||
msgid "Documents"
|
||||
msgstr "Documentos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197
|
||||
msgid "Documents created from template"
|
||||
msgstr "Documentos creados a partir de la plantilla"
|
||||
|
||||
@ -1629,7 +1649,7 @@ msgstr "¿No tienes una cuenta? <0>Regístrate</0>"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:166
|
||||
#: 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
|
||||
@ -1670,7 +1690,7 @@ msgid "Due to an unpaid invoice, your team has been restricted. Please settle th
|
||||
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:136
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:171
|
||||
#: 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
|
||||
@ -1681,7 +1701,7 @@ msgstr "Duplicar"
|
||||
#: 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/data-table-action-dropdown.tsx:160
|
||||
#: 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
|
||||
@ -1690,7 +1710,7 @@ msgstr "Duplicar"
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117
|
||||
msgid "Edit Template"
|
||||
msgstr "Editar plantilla"
|
||||
|
||||
@ -1778,7 +1798,7 @@ msgstr "Habilitar firma de enlace directo"
|
||||
msgid "Enable Direct Link Signing"
|
||||
msgstr "Habilitar firma de enlace directo"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:248
|
||||
msgid "Enable Typed Signature"
|
||||
msgstr ""
|
||||
|
||||
@ -1866,15 +1886,15 @@ msgstr "Error"
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:140
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Todos pueden acceder y ver el documento"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:140
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Todos han firmado"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:166
|
||||
#: 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 "¡Todos han firmado! Recibirás una copia por correo electrónico del documento firmado."
|
||||
|
||||
@ -1963,7 +1983,7 @@ msgstr "Regresar"
|
||||
msgid "Go back home"
|
||||
msgstr "Regresar a casa"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:226
|
||||
#: 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 "Regresar a casa"
|
||||
@ -2000,7 +2020,6 @@ msgstr "Así es como funciona:"
|
||||
msgid "Hey I’m Timur"
|
||||
msgstr "Hola, soy Timur"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
|
||||
msgid "Hide"
|
||||
@ -2047,11 +2066,11 @@ msgstr "Documentos en bandeja de entrada"
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:278
|
||||
msgid "Include the Signing Certificate in the Document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
msgid "Information"
|
||||
msgstr "Información"
|
||||
@ -2267,7 +2286,7 @@ msgstr "Gestionar el perfil de {0}"
|
||||
msgid "Manage all teams you are currently associated with."
|
||||
msgstr "Gestionar todos los equipos con los que estás asociado actualmente."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161
|
||||
msgid "Manage and view template"
|
||||
msgstr "Gestionar y ver plantilla"
|
||||
|
||||
@ -2331,7 +2350,7 @@ msgstr "Gestionar tus claves de acceso."
|
||||
msgid "Manage your site settings here"
|
||||
msgstr "Gestionar la configuración de tu sitio aquí"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:123
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:140
|
||||
msgid "Mark as Viewed"
|
||||
msgstr "Marcar como visto"
|
||||
|
||||
@ -2384,7 +2403,7 @@ msgstr "Mover documento al equipo"
|
||||
msgid "Move Template to Team"
|
||||
msgstr "Mover plantilla al equipo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:174
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
|
||||
msgid "Move to Team"
|
||||
msgstr "Mover al equipo"
|
||||
@ -2413,7 +2432,7 @@ msgstr "Mis plantillas"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:211
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:209
|
||||
msgid "Need to sign documents?"
|
||||
msgstr "¿Necesitas firmar documentos?"
|
||||
|
||||
@ -2440,7 +2459,7 @@ msgstr "Nueva plantilla"
|
||||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
msgid "Next field"
|
||||
msgstr "Siguiente campo"
|
||||
|
||||
@ -2448,6 +2467,10 @@ msgstr "Siguiente campo"
|
||||
msgid "No active drafts"
|
||||
msgstr "No hay borradores activos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
msgid "No documents in the bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "No further action is required from you at this time."
|
||||
@ -2504,7 +2527,7 @@ msgid "Not supported"
|
||||
msgstr "No soportado"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:19
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:39
|
||||
msgid "Nothing to do"
|
||||
msgstr "Nada que hacer"
|
||||
|
||||
@ -2542,11 +2565,11 @@ msgstr "Una vez confirmado, ocurrirá lo siguiente:"
|
||||
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
|
||||
msgstr "Una vez que hayas escaneado el código QR o ingresado el código manualmente, ingresa el código proporcionado por tu aplicación de autenticación a continuación."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:146
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Solo los administradores pueden acceder y ver el documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:143
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr "Solo los gerentes y superiores pueden acceder y ver el documento"
|
||||
|
||||
@ -2792,7 +2815,7 @@ msgstr "Por favor, escribe <0>{0}</0> para confirmar."
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
msgid "Preview"
|
||||
msgstr "Vista previa"
|
||||
|
||||
@ -3078,7 +3101,7 @@ msgstr "Roles"
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:305
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
@ -3153,7 +3176,7 @@ msgstr "Enviar correo de confirmación"
|
||||
msgid "Send document"
|
||||
msgstr "Enviar documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
#: 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"
|
||||
|
||||
@ -3194,12 +3217,12 @@ msgid "Setup"
|
||||
msgstr "Configuración"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:207
|
||||
msgid "Share"
|
||||
msgstr "Compartir"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:233
|
||||
msgid "Share Signing Card"
|
||||
msgstr "Compartir tarjeta de firma"
|
||||
|
||||
@ -3221,12 +3244,12 @@ msgstr "Mostrar plantillas en el perfil público de tu equipo para que tu audien
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:143
|
||||
#: 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]/sign-dialog.tsx:124
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:141
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: apps/web/src/components/ui/user-profile-skeleton.tsx:75
|
||||
#: apps/web/src/components/ui/user-profile-timur.tsx:81
|
||||
@ -3317,7 +3340,7 @@ msgstr "ID de Firma"
|
||||
msgid "Signatures Collected"
|
||||
msgstr "Firmas recolectadas"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:200
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:198
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Las firmas aparecerán una vez que el documento se haya completado"
|
||||
|
||||
@ -3345,7 +3368,7 @@ msgid "Signing in..."
|
||||
msgstr "Iniciando sesión..."
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:217
|
||||
msgid "Signing Links"
|
||||
msgstr "Enlaces de firma"
|
||||
|
||||
@ -3376,7 +3399,7 @@ msgstr "Configuraciones del sitio"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:110
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
@ -3649,7 +3672,7 @@ msgstr "Equipos restringidos"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148
|
||||
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
|
||||
msgid "Template"
|
||||
@ -3861,6 +3884,10 @@ msgstr "No hay borradores activos en este momento. Puedes subir un documento par
|
||||
msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed."
|
||||
msgstr "Aún no hay documentos completados. Los documentos que hayas creado o recibido aparecerán aquí una vez completados."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
msgid "There are no documents in the bin."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70
|
||||
msgid "They have permission on your behalf to:"
|
||||
msgstr "Tienen permiso en tu nombre para:"
|
||||
@ -3883,7 +3910,7 @@ msgstr "Este documento no se pudo duplicar en este momento. Por favor, inténtal
|
||||
msgid "This document could not be re-sent at this time. Please try again."
|
||||
msgstr "Este documento no se pudo reenviar en este momento. Por favor, inténtalo de nuevo."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:180
|
||||
#: 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 "Este documento ha sido cancelado por el propietario y ya no está disponible para que otros lo firmen."
|
||||
|
||||
@ -3891,11 +3918,11 @@ msgstr "Este documento ha sido cancelado por el propietario y ya no está dispon
|
||||
msgid "This document has been cancelled by the owner."
|
||||
msgstr "Este documento ha sido cancelado por el propietario."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
msgid "This document has been signed by all recipients"
|
||||
msgstr "Este documento ha sido firmado por todos los destinatarios"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
|
||||
msgid "This document is currently a draft and has not been sent"
|
||||
msgstr "Este documento es actualmente un borrador y no ha sido enviado"
|
||||
|
||||
@ -4346,7 +4373,7 @@ msgstr "El archivo subido es demasiado pequeño"
|
||||
msgid "Uploaded file not an allowed file type"
|
||||
msgstr "El archivo subido no es un tipo de archivo permitido"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172
|
||||
msgid "Use"
|
||||
msgstr "Usar"
|
||||
|
||||
@ -4420,7 +4447,7 @@ msgstr "Historial de Versiones"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:136
|
||||
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
|
||||
msgid "View"
|
||||
@ -4488,7 +4515,7 @@ msgstr "Visto"
|
||||
msgid "Waiting"
|
||||
msgstr "Esperando"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:148
|
||||
msgid "Waiting for others to sign"
|
||||
msgstr "Esperando a que otros firmen"
|
||||
|
||||
@ -4806,16 +4833,16 @@ msgid "You"
|
||||
msgstr "Tú"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:93
|
||||
msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Estás a punto de completar la aprobación de \"{truncatedTitle}\".<0/> ¿Estás seguro?"
|
||||
#~ msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Estás a punto de completar la aprobación de \"{truncatedTitle}\".<0/> ¿Estás seguro?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:85
|
||||
msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Estás a punto de completar la firma de \"{truncatedTitle}\".<0/> ¿Estás seguro?"
|
||||
#~ msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Estás a punto de completar la firma de \"{truncatedTitle}\".<0/> ¿Estás seguro?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:77
|
||||
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Estás a punto de completar la visualización de \"{truncatedTitle}\".<0/> ¿Estás seguro?"
|
||||
#~ msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Estás a punto de completar la visualización de \"{truncatedTitle}\".<0/> ¿Estás seguro?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
@ -5015,7 +5042,7 @@ msgstr "Recibirás una notificación y podrás configurar tu perfil público de
|
||||
msgid "You will now be required to enter a code from your authenticator app when signing in."
|
||||
msgstr "Ahora se te pedirá que ingreses un código de tu aplicación de autenticador al iniciar sesión."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:173
|
||||
#: 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 "Recibirás una copia por correo electrónico del documento firmado una vez que todos hayan firmado."
|
||||
|
||||
|
||||
@ -135,11 +135,11 @@ msgstr "{prefix} a créé le document"
|
||||
msgid "{prefix} deleted the document"
|
||||
msgstr "{prefix} a supprimé le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
#: packages/lib/utils/document-audit-logs.ts:339
|
||||
msgid "{prefix} moved the document to team"
|
||||
msgstr "{prefix} a déplacé le document vers l'équipe"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
msgid "{prefix} opened the document"
|
||||
msgstr "{prefix} a ouvert le document"
|
||||
|
||||
@ -151,23 +151,27 @@ msgstr "{prefix} a supprimé un champ"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} a supprimé un destinataire"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} a renvoyé un e-mail à {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
msgid "{prefix} restored the document"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} a envoyé un email à {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
#: packages/lib/utils/document-audit-logs.ts:335
|
||||
msgid "{prefix} sent the document"
|
||||
msgstr "{prefix} a envoyé le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:295
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
msgid "{prefix} signed a field"
|
||||
msgstr "{prefix} a signé un champ"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:299
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
msgid "{prefix} unsigned a field"
|
||||
msgstr "{prefix} n'a pas signé un champ"
|
||||
|
||||
@ -179,27 +183,27 @@ msgstr "{prefix} a mis à jour un champ"
|
||||
msgid "{prefix} updated a recipient"
|
||||
msgstr "{prefix} a mis à jour un destinataire"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
#: packages/lib/utils/document-audit-logs.ts:319
|
||||
msgid "{prefix} updated the document"
|
||||
msgstr "{prefix} a mis à jour le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
msgid "{prefix} updated the document access auth requirements"
|
||||
msgstr "{prefix} a mis à jour les exigences d'authentification d'accès au document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
#: packages/lib/utils/document-audit-logs.ts:331
|
||||
msgid "{prefix} updated the document external ID"
|
||||
msgstr "{prefix} a mis à jour l'ID externe du document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:311
|
||||
#: packages/lib/utils/document-audit-logs.ts:315
|
||||
msgid "{prefix} updated the document signing auth requirements"
|
||||
msgstr "{prefix} a mis à jour les exigences d'authentification pour la signature du document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:323
|
||||
#: packages/lib/utils/document-audit-logs.ts:327
|
||||
msgid "{prefix} updated the document title"
|
||||
msgstr "{prefix} a mis à jour le titre du document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:303
|
||||
#: packages/lib/utils/document-audit-logs.ts:307
|
||||
msgid "{prefix} updated the document visibility"
|
||||
msgstr "{prefix} a mis à jour la visibilité du document"
|
||||
|
||||
@ -227,27 +231,27 @@ msgstr "{teamName} vous a invité à {action} {documentName}"
|
||||
msgid "{teamName} ownership transfer request"
|
||||
msgstr "Demande de transfert de propriété de {teamName}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:343
|
||||
#: packages/lib/utils/document-audit-logs.ts:347
|
||||
msgid "{userName} approved the document"
|
||||
msgstr "{userName} a approuvé le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:344
|
||||
#: packages/lib/utils/document-audit-logs.ts:348
|
||||
msgid "{userName} CC'd the document"
|
||||
msgstr "{userName} a mis en copie le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
#: packages/lib/utils/document-audit-logs.ts:349
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} a complété sa tâche"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} a rejeté le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
#: packages/lib/utils/document-audit-logs.ts:345
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} a signé le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:346
|
||||
msgid "{userName} viewed the document"
|
||||
msgstr "{userName} a consulté le document"
|
||||
|
||||
@ -688,17 +692,17 @@ msgstr "Document \"{0}\" - Rejet Confirmé"
|
||||
msgid "Document access"
|
||||
msgstr "Accès au document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
msgid "Document access auth updated"
|
||||
msgstr "L'authentification d'accès au document a été mise à jour"
|
||||
|
||||
#: packages/lib/server-only/document/delete-document.ts:246
|
||||
#: packages/lib/server-only/document/delete-document.ts:256
|
||||
#: packages/lib/server-only/document/super-delete-document.ts:98
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Annulé"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
#: packages/lib/utils/document-audit-logs.ts:373
|
||||
#: packages/lib/utils/document-audit-logs.ts:374
|
||||
msgid "Document completed"
|
||||
msgstr "Document terminé"
|
||||
|
||||
@ -736,15 +740,15 @@ msgstr "Document Supprimé !"
|
||||
msgid "Document Distribution Method"
|
||||
msgstr "Méthode de distribution du document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document external ID updated"
|
||||
msgstr "ID externe du document mis à jour"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
msgid "Document moved to team"
|
||||
msgstr "Document déplacé vers l'équipe"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
msgid "Document opened"
|
||||
msgstr "Document ouvert"
|
||||
|
||||
@ -759,23 +763,27 @@ msgstr "Document Rejeté"
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
msgid "Document restored"
|
||||
msgstr ""
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:334
|
||||
msgid "Document sent"
|
||||
msgstr "Document envoyé"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:310
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
msgid "Document signing auth updated"
|
||||
msgstr "Authentification de signature de document mise à jour"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:322
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document title updated"
|
||||
msgstr "Titre du document mis à jour"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:314
|
||||
#: packages/lib/utils/document-audit-logs.ts:318
|
||||
msgid "Document updated"
|
||||
msgstr "Document mis à jour"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
#: packages/lib/utils/document-audit-logs.ts:306
|
||||
msgid "Document visibility updated"
|
||||
msgstr "Visibilité du document mise à jour"
|
||||
|
||||
@ -821,11 +829,11 @@ msgstr "L'email est requis"
|
||||
msgid "Email Options"
|
||||
msgstr "Options d'email"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email resent"
|
||||
msgstr "Email renvoyé"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
#: packages/lib/utils/document-audit-logs.ts:367
|
||||
msgid "Email sent"
|
||||
msgstr "Email envoyé"
|
||||
|
||||
@ -890,11 +898,11 @@ msgstr "Étiquette du champ"
|
||||
msgid "Field placeholder"
|
||||
msgstr "Espace réservé du champ"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:294
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
msgid "Field signed"
|
||||
msgstr "Champ signé"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:298
|
||||
#: packages/lib/utils/document-audit-logs.ts:302
|
||||
msgid "Field unsigned"
|
||||
msgstr "Champ non signé"
|
||||
|
||||
@ -1199,8 +1207,8 @@ msgstr "Raison du rejet : {rejectionReason}"
|
||||
msgid "Receives copy"
|
||||
msgstr "Recevoir une copie"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:342
|
||||
#: packages/lib/utils/document-audit-logs.ts:357
|
||||
msgid "Recipient"
|
||||
msgstr "Destinataire"
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ msgstr ""
|
||||
"X-Crowdin-File: web.po\n"
|
||||
"X-Crowdin-File-ID: 8\n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:231
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{0}\" vous a invité à signer \"example document\"."
|
||||
|
||||
@ -42,7 +42,7 @@ msgstr "\"{documentTitle}\" a été supprimé avec succès"
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:226
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
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\"."
|
||||
|
||||
@ -50,15 +50,15 @@ msgstr "\"{placeholderEmail}\" au nom de \"{0}\" vous a invité à signer \"exem
|
||||
#~ msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
#~ msgstr "\"{teamUrl}\" vous a invité à signer \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:83
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) vous a invité à approuver ce document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) vous a invité à signer ce document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) vous a invité à consulter ce document"
|
||||
|
||||
@ -71,7 +71,7 @@ msgstr "{0, plural, one {(1 caractère de trop)} other {(# caractères de trop)}
|
||||
msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}"
|
||||
msgstr "{0, plural, one {# caractère au-dessus de la limite} other {# caractères au-dessus de la limite}}"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:82
|
||||
#: apps/web/src/app/(recipient)/d/[token]/page.tsx:84
|
||||
msgid "{0, plural, one {# recipient} other {# recipients}}"
|
||||
msgstr "{0, plural, one {# destinataire} other {# destinataires}}"
|
||||
|
||||
@ -88,11 +88,11 @@ msgstr "{0, plural, one {<0>Vous avez <1>1</1> invitation d'équipe en attente</
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 champ correspondant} other {# champs correspondants}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
#: 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 Destinataire} other {# Destinataires}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:235
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:238
|
||||
msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}"
|
||||
msgstr "{0, plural, one {En attente d'1 destinataire} other {En attente de # destinataires}}"
|
||||
|
||||
@ -116,7 +116,7 @@ msgstr "{0} modèles de signature directe"
|
||||
msgid "{0} of {1} documents remaining this month."
|
||||
msgstr "{0} des {1} documents restants ce mois-ci."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:170
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173
|
||||
msgid "{0} Recipient(s)"
|
||||
msgstr "{0} Destinataire(s)"
|
||||
|
||||
@ -157,6 +157,18 @@ msgstr "<0>\"{0}\"</0> n'est plus disponible pour signer"
|
||||
msgid "<0>Sender:</0> All"
|
||||
msgstr "<0>Expéditeur :</0> Tous"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:104
|
||||
msgid "<0>You are about to complete approving <1>\"{documentTitle}\"</1>.</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:90
|
||||
msgid "<0>You are about to complete signing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:76
|
||||
msgid "<0>You are about to complete viewing \"<1>{documentTitle}</1>\".</0><2/> Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5
|
||||
msgid "1 month"
|
||||
msgstr "1 mois"
|
||||
@ -279,7 +291,7 @@ msgstr "Reconnaissance"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:108
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:100
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:127
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:46
|
||||
@ -401,7 +413,7 @@ msgstr "Tout"
|
||||
msgid "All documents"
|
||||
msgstr "Tous les documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:40
|
||||
msgid "All documents have been processed. Any new documents that are sent or received will show here."
|
||||
msgstr "Tous les documents ont été traités. Tous nouveaux documents envoyés ou reçus s'afficheront ici."
|
||||
|
||||
@ -504,7 +516,7 @@ msgstr "Une erreur est survenue lors de la désactivation de la signature par li
|
||||
#: 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/data-table-action-dropdown.tsx:111
|
||||
msgid "An error occurred while downloading your document."
|
||||
msgstr "Une erreur est survenue lors du téléchargement de votre document."
|
||||
|
||||
@ -664,8 +676,8 @@ msgstr "Version de l'application"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:89
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:120
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:146
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:125
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:142
|
||||
msgid "Approve"
|
||||
msgstr "Approuver"
|
||||
|
||||
@ -772,6 +784,10 @@ msgstr "Détails de base"
|
||||
msgid "Billing"
|
||||
msgstr "Facturation"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:51
|
||||
msgid "Bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr "Préférences de branding"
|
||||
@ -835,7 +851,7 @@ msgstr "En utilisant la fonctionnalité de signature électronique, vous consent
|
||||
#: 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]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:130
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:305
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
@ -947,22 +963,22 @@ msgstr "Cliquez pour insérer le champ"
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:446
|
||||
#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:325
|
||||
#: apps/web/src/components/forms/v2/signup.tsx:534
|
||||
msgid "Complete"
|
||||
msgstr "Compléter"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:70
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
msgid "Complete Approval"
|
||||
msgstr "Compléter l'approbation"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:69
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
msgid "Complete Signing"
|
||||
msgstr "Compléter la signature"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:68
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:67
|
||||
msgid "Complete Viewing"
|
||||
msgstr "Compléter la visualisation"
|
||||
|
||||
@ -1048,23 +1064,23 @@ msgstr "Continuer"
|
||||
msgid "Continue to login"
|
||||
msgstr "Continuer vers la connexion"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:185
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr "Contrôle la langue par défaut d'un document téléchargé. Cela sera utilisé comme langue dans les communications par e-mail avec les destinataires."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:154
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Contrôle la visibilité par défaut d'un document téléchargé."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:237
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx: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 "Contrôle le formatage du message qui sera envoyé lors de l'invitation d'un destinataire à signer un document. Si un message personnalisé a été fourni lors de la configuration du document, il sera utilisé à la place."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:270
|
||||
#: 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 ""
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:301
|
||||
#: 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 ""
|
||||
|
||||
@ -1185,7 +1201,7 @@ msgstr "Créer un webhook"
|
||||
msgid "Create Webhook"
|
||||
msgstr "Créer un Webhook"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:215
|
||||
#: 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 "Créez votre compte et commencez à utiliser la signature de documents à la pointe de la technologie."
|
||||
|
||||
@ -1258,11 +1274,11 @@ msgstr "Décliner"
|
||||
msgid "Declined team invitation"
|
||||
msgstr "Invitation d'équipe refusée"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:168
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:165
|
||||
msgid "Default Document Language"
|
||||
msgstr "Langue par défaut du document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:129
|
||||
msgid "Default Document Visibility"
|
||||
msgstr "Visibilité par défaut du document"
|
||||
|
||||
@ -1271,7 +1287,6 @@ msgid "delete"
|
||||
msgstr "supprimer"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:144
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/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
|
||||
@ -1349,6 +1364,7 @@ msgid "Delete your account and all its contents, including completed documents.
|
||||
msgstr "Supprimez votre compte et tout son contenu, y compris les documents complétés. Cette action est irréversible et annulera votre abonnement, alors procédez avec prudence."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:41
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:50
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:97
|
||||
msgid "Deleted"
|
||||
msgstr "Supprimé"
|
||||
@ -1461,10 +1477,14 @@ msgstr "Document"
|
||||
msgid "Document All"
|
||||
msgstr "Document Tout"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:134
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Approved"
|
||||
msgstr "Document Approuvé"
|
||||
|
||||
#: apps/web/src/components/formatter/document-status.tsx:52
|
||||
msgid "Document Bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:40
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Annulé"
|
||||
@ -1490,7 +1510,7 @@ msgid "Document created using a <0>direct link</0>"
|
||||
msgstr "Document créé en utilisant un <0>lien direct</0>"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:181
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:61
|
||||
msgid "Document deleted"
|
||||
msgstr "Document supprimé"
|
||||
@ -1503,7 +1523,7 @@ msgstr "Brouillon de document"
|
||||
msgid "Document Duplicated"
|
||||
msgstr "Document dupliqué"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:192
|
||||
#: apps/web/src/components/document/document-history-sheet.tsx:104
|
||||
msgid "Document history"
|
||||
msgstr "Historique du document"
|
||||
@ -1529,7 +1549,7 @@ msgstr "Métriques du document"
|
||||
msgid "Document moved"
|
||||
msgstr "Document déplacé"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:158
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:156
|
||||
msgid "Document no longer available to sign"
|
||||
msgstr "Document non disponible pour signature"
|
||||
|
||||
@ -1561,7 +1581,7 @@ msgstr "Document envoyé"
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:130
|
||||
msgid "Document Signed"
|
||||
msgstr "Document signé"
|
||||
|
||||
@ -1585,7 +1605,7 @@ msgstr "Téléchargement du document désactivé en raison de factures impayées
|
||||
msgid "Document uploaded"
|
||||
msgstr "Document téléchargé"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:133
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:131
|
||||
msgid "Document Viewed"
|
||||
msgstr "Document consulté"
|
||||
|
||||
@ -1599,7 +1619,7 @@ msgstr "Le document sera supprimé de manière permanente"
|
||||
#: 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/(dashboard)/documents/documents-page-view.tsx:108
|
||||
#: 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
|
||||
@ -1609,7 +1629,7 @@ msgstr "Le document sera supprimé de manière permanente"
|
||||
msgid "Documents"
|
||||
msgstr "Documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:194
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:197
|
||||
msgid "Documents created from template"
|
||||
msgstr "Documents créés à partir du modèle"
|
||||
|
||||
@ -1629,7 +1649,7 @@ msgstr "Vous n'avez pas de compte? <0>Inscrivez-vous</0>"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:123
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:166
|
||||
#: 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
|
||||
@ -1670,7 +1690,7 @@ msgid "Due to an unpaid invoice, your team has been restricted. Please settle th
|
||||
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:136
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:167
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:171
|
||||
#: 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
|
||||
@ -1681,7 +1701,7 @@ msgstr "Dupliquer"
|
||||
#: 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/data-table-action-dropdown.tsx:160
|
||||
#: 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
|
||||
@ -1690,7 +1710,7 @@ msgstr "Dupliquer"
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:117
|
||||
msgid "Edit Template"
|
||||
msgstr "Modifier le modèle"
|
||||
|
||||
@ -1778,7 +1798,7 @@ msgstr "Activer la signature par lien direct"
|
||||
msgid "Enable Direct Link Signing"
|
||||
msgstr "Activer la signature par lien direct"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:255
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:248
|
||||
msgid "Enable Typed Signature"
|
||||
msgstr ""
|
||||
|
||||
@ -1866,15 +1886,15 @@ msgstr "Erreur"
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:140
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr "Tout le monde peut accéder et voir le document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:140
|
||||
msgid "Everyone has signed"
|
||||
msgstr "Tout le monde a signé"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:166
|
||||
#: 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 "Tout le monde a signé ! Vous recevrez une copie par email du document signé."
|
||||
|
||||
@ -1963,7 +1983,7 @@ msgstr "Retourner"
|
||||
msgid "Go back home"
|
||||
msgstr "Retourner à la maison"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:226
|
||||
#: 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 "Retourner à la maison"
|
||||
@ -2000,7 +2020,6 @@ msgstr "Voici comment cela fonctionne :"
|
||||
msgid "Hey I’m Timur"
|
||||
msgstr "Salut, je suis Timur"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:189
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:202
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:155
|
||||
msgid "Hide"
|
||||
@ -2047,11 +2066,11 @@ msgstr "Documents de la boîte de réception"
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:286
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:278
|
||||
msgid "Include the Signing Certificate in the Document"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
@ -2267,7 +2286,7 @@ msgstr "Gérer le profil de {0}"
|
||||
msgid "Manage all teams you are currently associated with."
|
||||
msgstr "Gérer toutes les équipes avec lesquelles vous êtes actuellement associé."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:158
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:161
|
||||
msgid "Manage and view template"
|
||||
msgstr "Gérer et afficher le modèle"
|
||||
|
||||
@ -2331,7 +2350,7 @@ msgstr "Gérer vos clés d'accès."
|
||||
msgid "Manage your site settings here"
|
||||
msgstr "Gérer les paramètres de votre site ici"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:123
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:140
|
||||
msgid "Mark as Viewed"
|
||||
msgstr "Marquer comme vu"
|
||||
|
||||
@ -2384,7 +2403,7 @@ msgstr "Déplacer le document vers l'équipe"
|
||||
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:174
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:178
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85
|
||||
msgid "Move to Team"
|
||||
msgstr "Déplacer vers l'équipe"
|
||||
@ -2413,7 +2432,7 @@ msgstr "Mes modèles"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:211
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:209
|
||||
msgid "Need to sign documents?"
|
||||
msgstr "Besoin de signer des documents ?"
|
||||
|
||||
@ -2440,7 +2459,7 @@ msgstr "Nouveau modèle"
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:60
|
||||
msgid "Next field"
|
||||
msgstr "Champ suivant"
|
||||
|
||||
@ -2448,6 +2467,10 @@ msgstr "Champ suivant"
|
||||
msgid "No active drafts"
|
||||
msgstr "Pas de brouillons actifs"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
msgid "No documents in the bin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "Aucune autre action n'est requise de votre part pour le moment."
|
||||
@ -2504,7 +2527,7 @@ msgid "Not supported"
|
||||
msgstr "Non pris en charge"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:19
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:34
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:39
|
||||
msgid "Nothing to do"
|
||||
msgstr "Rien à faire"
|
||||
|
||||
@ -2542,11 +2565,11 @@ msgstr "Une fois confirmé, les éléments suivants se produiront :"
|
||||
msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below."
|
||||
msgstr "Une fois que vous avez scanné le code QR ou saisi le code manuellement, entrez le code fourni par votre application d'authentification ci-dessous."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:147
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:146
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr "Seules les administrateurs peuvent accéder et voir le document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:144
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:143
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr "Seuls les responsables et au-dessus peuvent accéder et voir le document"
|
||||
|
||||
@ -2792,7 +2815,7 @@ msgstr "Veuillez taper <0>{0}</0> pour confirmer."
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:221
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
msgid "Preview"
|
||||
msgstr "Aperçu"
|
||||
|
||||
@ -3078,7 +3101,7 @@ msgstr "Rôles"
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:313
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:305
|
||||
msgid "Save"
|
||||
msgstr "Sauvegarder"
|
||||
|
||||
@ -3153,7 +3176,7 @@ msgstr "Envoyer l'e-mail de confirmation"
|
||||
msgid "Send document"
|
||||
msgstr "Envoyer le document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:205
|
||||
#: 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"
|
||||
|
||||
@ -3194,12 +3217,12 @@ msgid "Setup"
|
||||
msgstr "Configuration"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:207
|
||||
msgid "Share"
|
||||
msgstr "Partager"
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:233
|
||||
msgid "Share Signing Card"
|
||||
msgstr "Partager la carte de signature"
|
||||
|
||||
@ -3221,12 +3244,12 @@ msgstr "Afficher des modèles dans le profil public de votre équipe pour que vo
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:143
|
||||
#: 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]/sign-dialog.tsx:124
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:141
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:313
|
||||
#: apps/web/src/components/ui/user-profile-skeleton.tsx:75
|
||||
#: apps/web/src/components/ui/user-profile-timur.tsx:81
|
||||
@ -3317,7 +3340,7 @@ msgstr "ID de signature"
|
||||
msgid "Signatures Collected"
|
||||
msgstr "Signatures collectées"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:200
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:198
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Les signatures apparaîtront une fois le document complété"
|
||||
|
||||
@ -3345,7 +3368,7 @@ msgid "Signing in..."
|
||||
msgstr "Connexion en cours..."
|
||||
|
||||
#: 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/data-table-action-dropdown.tsx:217
|
||||
msgid "Signing Links"
|
||||
msgstr "Liens de signature"
|
||||
|
||||
@ -3376,7 +3399,7 @@ msgstr "Paramètres du site"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:110
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:82
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
@ -3649,7 +3672,7 @@ msgstr "Équipes restreintes"
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:145
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:148
|
||||
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:271
|
||||
msgid "Template"
|
||||
@ -3861,6 +3884,10 @@ msgstr "Il n'y a pas de brouillons actifs pour le moment. Vous pouvez téléchar
|
||||
msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed."
|
||||
msgstr "Il n'y a pas encore de documents complétés. Les documents que vous avez créés ou reçus apparaîtront ici une fois complétés."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:35
|
||||
msgid "There are no documents in the bin."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70
|
||||
msgid "They have permission on your behalf to:"
|
||||
msgstr "Ils ont la permission en votre nom de:"
|
||||
@ -3883,7 +3910,7 @@ msgstr "Ce document n'a pas pu être dupliqué pour le moment. Veuillez réessay
|
||||
msgid "This document could not be re-sent at this time. Please try again."
|
||||
msgstr "Ce document n'a pas pu être renvoyé pour le moment. Veuillez réessayer."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:180
|
||||
#: 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 "Ce document a été annulé par le propriétaire et n'est plus disponible pour d'autres à signer."
|
||||
|
||||
@ -3891,11 +3918,11 @@ msgstr "Ce document a été annulé par le propriétaire et n'est plus disponibl
|
||||
msgid "This document has been cancelled by the owner."
|
||||
msgstr "Ce document a été annulé par le propriétaire."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:224
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
msgid "This document has been signed by all recipients"
|
||||
msgstr "Ce document a été signé par tous les destinataires"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:227
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:230
|
||||
msgid "This document is currently a draft and has not been sent"
|
||||
msgstr "Ce document est actuellement un brouillon et n'a pas été envoyé"
|
||||
|
||||
@ -4346,7 +4373,7 @@ msgstr "Le fichier téléchargé est trop petit"
|
||||
msgid "Uploaded file not an allowed file type"
|
||||
msgstr "Le fichier téléchargé n'est pas un type de fichier autorisé"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:169
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:172
|
||||
msgid "Use"
|
||||
msgstr "Utiliser"
|
||||
|
||||
@ -4420,7 +4447,7 @@ msgstr "Historique des versions"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:95
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:132
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:136
|
||||
#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168
|
||||
msgid "View"
|
||||
@ -4488,7 +4515,7 @@ msgstr "Vu"
|
||||
msgid "Waiting"
|
||||
msgstr "En attente"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:150
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:148
|
||||
msgid "Waiting for others to sign"
|
||||
msgstr "En attente que d'autres signent"
|
||||
|
||||
@ -4806,16 +4833,16 @@ msgid "You"
|
||||
msgstr "Vous"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:93
|
||||
msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Vous êtes sur le point de terminer l'approbation de \"{truncatedTitle}\".<0/> Êtes-vous sûr?"
|
||||
#~ msgid "You are about to complete approving \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Vous êtes sur le point de terminer l'approbation de \"{truncatedTitle}\".<0/> Êtes-vous sûr?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:85
|
||||
msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Vous êtes sur le point de terminer la signature de \"{truncatedTitle}\".<0/> Êtes-vous sûr?"
|
||||
#~ msgid "You are about to complete signing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Vous êtes sur le point de terminer la signature de \"{truncatedTitle}\".<0/> Êtes-vous sûr?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:77
|
||||
msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
msgstr "Vous êtes sur le point de terminer la visualisation de \"{truncatedTitle}\".<0/> Êtes-vous sûr?"
|
||||
#~ msgid "You are about to complete viewing \"{truncatedTitle}\".<0/> Are you sure?"
|
||||
#~ msgstr "Vous êtes sur le point de terminer la visualisation de \"{truncatedTitle}\".<0/> Êtes-vous sûr?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:105
|
||||
msgid "You are about to delete <0>\"{documentTitle}\"</0>"
|
||||
@ -5015,7 +5042,7 @@ msgstr "Vous serez notifié et pourrez configurer votre profil public Documenso
|
||||
msgid "You will now be required to enter a code from your authenticator app when signing in."
|
||||
msgstr "Vous devrez maintenant entrer un code de votre application d'authentification lors de la connexion."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:173
|
||||
#: 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 "Vous recevrez une copie par e-mail du document signé une fois que tout le monde aura signé."
|
||||
|
||||
|
||||
@ -26,6 +26,7 @@ export const ZDocumentAuditLogTypeSchema = z.enum([
|
||||
'DOCUMENT_COMPLETED', // When the document is sealed and fully completed.
|
||||
'DOCUMENT_CREATED', // When the document is created.
|
||||
'DOCUMENT_DELETED', // When the document is soft deleted.
|
||||
'DOCUMENT_RESTORED', // When the document is restored.
|
||||
'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_VISIBILITY_UPDATED', // When the document visibility scope is updated
|
||||
@ -225,6 +226,16 @@ export const ZDocumentAuditLogEventDocumentDeletedSchema = z.object({
|
||||
}),
|
||||
});
|
||||
|
||||
/**
|
||||
* Event: Document restored.
|
||||
*/
|
||||
export const ZDocumentAuditLogEventDocumentRestoredSchema = z.object({
|
||||
type: z.literal(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RESTORED),
|
||||
data: z.object({
|
||||
type: z.enum(['RESTORE']),
|
||||
}),
|
||||
});
|
||||
|
||||
/**
|
||||
* Event: Document field inserted.
|
||||
*/
|
||||
@ -490,6 +501,7 @@ export const ZDocumentAuditLogSchema = ZDocumentAuditLogBaseSchema.and(
|
||||
ZDocumentAuditLogEventDocumentCreatedSchema,
|
||||
ZDocumentAuditLogEventDocumentDeletedSchema,
|
||||
ZDocumentAuditLogEventDocumentMovedToTeamSchema,
|
||||
ZDocumentAuditLogEventDocumentRestoredSchema,
|
||||
ZDocumentAuditLogEventDocumentFieldInsertedSchema,
|
||||
ZDocumentAuditLogEventDocumentFieldUninsertedSchema,
|
||||
ZDocumentAuditLogEventDocumentVisibilitySchema,
|
||||
|
||||
@ -290,6 +290,10 @@ export const formatDocumentAuditLogAction = (
|
||||
anonymous: msg`Document deleted`,
|
||||
identified: msg`${prefix} deleted the document`,
|
||||
}))
|
||||
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RESTORED }, () => ({
|
||||
anonymous: msg`Document restored`,
|
||||
identified: msg`${prefix} restored the document`,
|
||||
}))
|
||||
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELD_INSERTED }, () => ({
|
||||
anonymous: msg`Field signed`,
|
||||
identified: msg`${prefix} signed a field`,
|
||||
|
||||
@ -4,6 +4,7 @@ export const ExtendedDocumentStatus = {
|
||||
...DocumentStatus,
|
||||
INBOX: 'INBOX',
|
||||
ALL: 'ALL',
|
||||
BIN: 'BIN',
|
||||
} as const;
|
||||
|
||||
export type ExtendedDocumentStatus =
|
||||
|
||||
@ -17,6 +17,7 @@ import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document
|
||||
import { getDocumentWithDetailsById } from '@documenso/lib/server-only/document/get-document-with-details-by-id';
|
||||
import { moveDocumentToTeam } from '@documenso/lib/server-only/document/move-document-to-team';
|
||||
import { resendDocument } from '@documenso/lib/server-only/document/resend-document';
|
||||
import { restoreDocument } from '@documenso/lib/server-only/document/restore-document';
|
||||
import { searchDocumentsWithKeyword } from '@documenso/lib/server-only/document/search-documents-with-keyword';
|
||||
import { sendDocument } from '@documenso/lib/server-only/document/send-document';
|
||||
import { updateDocumentSettings } from '@documenso/lib/server-only/document/update-document-settings';
|
||||
@ -38,6 +39,7 @@ import {
|
||||
ZGetDocumentWithDetailsByIdQuerySchema,
|
||||
ZMoveDocumentsToTeamSchema,
|
||||
ZResendDocumentMutationSchema,
|
||||
ZRestoreDocumentMutationSchema,
|
||||
ZSearchDocumentsMutationSchema,
|
||||
ZSendDocumentMutationSchema,
|
||||
ZSetPasswordForDocumentMutationSchema,
|
||||
@ -223,6 +225,32 @@ export const documentRouter = router({
|
||||
}
|
||||
}),
|
||||
|
||||
restoreDocument: authenticatedProcedure
|
||||
.input(ZRestoreDocumentMutationSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
try {
|
||||
const { id, teamId } = input;
|
||||
|
||||
const userId = ctx.user.id;
|
||||
|
||||
const restoredDocument = await restoreDocument({
|
||||
id,
|
||||
userId,
|
||||
teamId,
|
||||
requestMetadata: extractNextApiRequestMetadata(ctx.req),
|
||||
});
|
||||
|
||||
return restoredDocument;
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
|
||||
throw new TRPCError({
|
||||
code: 'BAD_REQUEST',
|
||||
message: 'We were unable to restore this document. Please try again later.',
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
findDocumentAuditLogs: authenticatedProcedure
|
||||
.input(ZFindDocumentAuditLogsQuerySchema)
|
||||
.query(async ({ input, ctx }) => {
|
||||
|
||||
@ -211,6 +211,11 @@ export const ZDeleteDraftDocumentMutationSchema = z.object({
|
||||
teamId: z.number().min(1).optional(),
|
||||
});
|
||||
|
||||
export const ZRestoreDocumentMutationSchema = z.object({
|
||||
id: z.number().min(1),
|
||||
teamId: z.number().min(1).optional(),
|
||||
});
|
||||
|
||||
export type TDeleteDraftDocumentMutationSchema = z.infer<typeof ZDeleteDraftDocumentMutationSchema>;
|
||||
|
||||
export const ZSearchDocumentsMutationSchema = z.object({
|
||||
|
||||
Reference in New Issue
Block a user